Re: Helps Menu
Quote:
Originally Posted by good_live
(Post 2442708)
Sourcecode?
|
Not the original one, but very close :
PHP Code:
#include <sourcemod> #include <adminmenu>
Handle g_CvarDescMode; int Item;
public Plugin myinfo = { name = "Simple Help Menu", description = "Help", author = "PHHAKE", version = "1.3", url = "" };
public void OnPluginStart() { RegConsoleCmd("sm_helps", HelpsMenu_Func); RegAdminCmd("sm_showhelps", ShowHelps, ADMFLAG_CHAT); g_CvarDescMode = CreateConVar("sm_helps_descmode", "0", "Set to 0 if you want Help to be show on a menu ,and 1 if you want it to show on chat ."); }
public Action HelpsMenu_Func(int client, int args) { CreateHelpsMenu(client, 0); PrintToChat(client, "\x04[Helps] \x03You Have \x01succefully openned \x03Helps Menu!"); return Plugin_Handled; }
public Action ShowHelps(int client, int args) { Handle PlayersMenu = CreateMenu(HelpsMenuHandler); SetMenuTitle(PlayersMenu, "Send Helps To Player"); SetMenuExitButton(PlayersMenu, true); AddTargetsToMenu2(PlayersMenu, client, 36); DisplayMenu(PlayersMenu, client, 15); return Plugin_Handled; }
public int CreateHelpsMenu(int client, int item) { Handle HelpsMenu = CreateMenu(HelpsMenuHandler); SetMenuTitle(HelpsMenu, "Help Menu"); Handle kv = CreateKeyValues("Helps", "", ""); FileToKeyValues(kv, "addons/sourcemod/configs/helps.cfg"); if (!KvGotoFirstSubKey(kv, true)) { //Handle error here return 0; } char HelpNumber[64]; char HelpName[256]; do { KvGetSectionName(kv, HelpNumber, 64); KvGetString(kv, "help", HelpName, 255, ""); AddMenuItem(HelpsMenu, HelpNumber, HelpName, 0); } while (KvGotoNextKey(kv, true)); CloseHandle(kv); DisplayMenuAtItem(HelpsMenu, client, item, 15); return 0; }
public int HandlerBackToMenu(Handle menu, MenuAction action, int param1, int param2) { if (action == MenuAction_End) { CreateHelpsMenu(param1, Item); } else { if (action == MenuAction_DrawItem) { PrintToServer("", param1, param2); } if (action == MenuAction_Cancel) { CloseHandle(menu); } } return 0; }
public int HelpsMenuHandler(Handle menu, MenuAction action, int param1, int param2) { if (action == MenuAction_Select) { Handle kv = CreateKeyValues("Helps", "", ""); FileToKeyValues(kv, "addons/sourcemod/configs/helps.cfg"); if (!KvGotoFirstSubKey(kv, true)) { return 0; } char buffer[256]; char choice[256]; GetMenuItem(menu, param2, choice, 255); do { KvGetSectionName(kv, buffer, 255); if (StrEqual(buffer, choice, true)) { char HelpName[256]; char HelpDescription[256]; KvGetString(kv, "help", HelpName, 255, ""); KvGetString(kv, "info", HelpDescription, 255, ""); if (GetConVarInt(g_CvarDescMode)) { PrintToChat(param1, "\x04[Helps] \x03%s : \x01%s", HelpName, HelpDescription); Item = GetMenuSelectionPosition(); CreateHelpsMenu(param1, Item); } else { char Help[256]; char Desc[256]; Format(Help, 255, "%s", HelpName); Format(Desc, 255, "%s", HelpDescription); Item = GetMenuSelectionPosition(); Handle DescriptionPanel = CreatePanel(); SetPanelTitle(DescriptionPanel, Help, false); DrawPanelText(DescriptionPanel, " "); DrawPanelText(DescriptionPanel, Desc); DrawPanelText(DescriptionPanel, " "); DrawPanelItem(DescriptionPanel, "Back", 0); SendPanelToClient(DescriptionPanel, param1, HandlerBackToMenu, 15); } } } while (KvGotoNextKey(kv, true)); CloseHandle(kv); } else { if (action == MenuAction_DrawItem) { PrintToServer("", param1, param2); } if (action == MenuAction_Cancel) { CloseHandle(menu); } } return 0; }
public Action ShowHelpsHandler(Handle menu, MenuAction action, int param1, int param2) { if (action == MenuAction_Select) { char UserId[64]; GetMenuItem(menu, param2, UserId, 64); int i_UserId = StringToInt(UserId, 10); int client = GetClientOfUserId(i_UserId); CreateHelpsMenu(client, 1); } else { if (action == MenuAction_DrawItem) { PrintToServer("", param1, param2); } if (action == MenuAction_Cancel) { CloseHandle(menu); } } return Plugin_Continue; }
|