plugins/adminmenu.sp
branchsourcemod-1.1.0
changeset 1782 aa53ee1d9db1
parent 1632 3ebff7c63316
child 1823 150b81fe27d6
     1.1 --- a/plugins/adminmenu.sp	Fri Nov 23 05:27:58 2007 +0000
     1.2 +++ b/plugins/adminmenu.sp	Mon Dec 10 21:02:00 2007 +0000
     1.3 @@ -45,6 +45,8 @@
     1.4  	url = "http://www.sourcemod.net/"
     1.5  };
     1.6  
     1.7 +new g_maxPlayers;
     1.8 +
     1.9  /* Forwards */
    1.10  new Handle:hOnAdminMenuReady = INVALID_HANDLE;
    1.11  new Handle:hOnAdminMenuCreated = INVALID_HANDLE;
    1.12 @@ -57,6 +59,8 @@
    1.13  new TopMenuObject:obj_servercmds = INVALID_TOPMENUOBJECT;
    1.14  new TopMenuObject:obj_votingcmds = INVALID_TOPMENUOBJECT;
    1.15  
    1.16 +#include "adminmenu/dynamicmenu.sp"
    1.17 +
    1.18  public bool:AskPluginLoad(Handle:myself, bool:late, String:error[], err_max)
    1.19  {
    1.20  	CreateNative("GetAdminTopMenu", __GetAdminTopMenu);
    1.21 @@ -81,7 +85,7 @@
    1.22  	decl String:path[PLATFORM_MAX_PATH];
    1.23  	decl String:error[256];
    1.24  	
    1.25 -	BuildPath(Path_SM, path, sizeof(path), "configs/adminmenu_sorting.txt");
    1.26 +	BuildPath(Path_SM, path, sizeof(path), "configs/dynamicmenu/adminmenu_sorting.txt");
    1.27  	
    1.28  	if (!LoadTopMenuConfig(hAdminMenu, path, error, sizeof(error)))
    1.29  	{
    1.30 @@ -90,27 +94,36 @@
    1.31  	}
    1.32  }
    1.33  
    1.34 +public OnMapStart()
    1.35 +{
    1.36 +	g_maxPlayers = GetMaxClients();
    1.37 +	
    1.38 +	ParseConfigs();
    1.39 +}
    1.40 +
    1.41  public OnAllPluginsLoaded()
    1.42  {
    1.43 -	hAdminMenu = CreateTopMenu(CategoryHandler);
    1.44 +	hAdminMenu = CreateTopMenu(DefaultCategoryHandler);
    1.45  	
    1.46  	obj_playercmds = AddToTopMenu(hAdminMenu, 
    1.47  		"PlayerCommands",
    1.48  		TopMenuObject_Category,
    1.49 -		CategoryHandler,
    1.50 +		DefaultCategoryHandler,
    1.51  		INVALID_TOPMENUOBJECT);
    1.52  
    1.53  	obj_servercmds = AddToTopMenu(hAdminMenu,
    1.54  		"ServerCommands",
    1.55  		TopMenuObject_Category,
    1.56 -		CategoryHandler,
    1.57 +		DefaultCategoryHandler,
    1.58  		INVALID_TOPMENUOBJECT);
    1.59  
    1.60  	obj_votingcmds = AddToTopMenu(hAdminMenu,
    1.61  		"VotingCommands",
    1.62  		TopMenuObject_Category,
    1.63 -		CategoryHandler,
    1.64 +		DefaultCategoryHandler,
    1.65  		INVALID_TOPMENUOBJECT);
    1.66 +		
    1.67 +	BuildDynamicMenu();
    1.68  	
    1.69  	Call_StartForward(hOnAdminMenuCreated);
    1.70  	Call_PushCell(hAdminMenu);
    1.71 @@ -121,7 +134,7 @@
    1.72  	Call_Finish();
    1.73  }
    1.74  
    1.75 -public CategoryHandler(Handle:topmenu, 
    1.76 +public DefaultCategoryHandler(Handle:topmenu, 
    1.77  						TopMenuAction:action,
    1.78  						TopMenuObject:object_id,
    1.79  						param,