Skocz do zawartości
Master

[CS:GO] Menu Komend

Rekomendowane odpowiedzi

Plugin dodaje menu, które możemy edytować w pliku konfiguracyjnym.

 

Kod

Spoiler

#pragma semicolon 1
#pragma newdecls required

#define NAME "Commands Menu"
#define AUTHOR "Master"
#define VERSION "1.0"
#define URL "https://cswild.pl/"

public Plugin myinfo =
{
	name	= NAME,
	author	= AUTHOR,
	version	= VERSION,
	url		= URL
};

Menu g_GlobalMenu;

public void OnPluginStart()
{
	g_GlobalMenu = new Menu(Global_Menu_Handler);

	RegConsoleCmd("sm_komendy", CMD_Menu);
}

public Action CMD_Menu(int client, int args)
{
	g_GlobalMenu.Display(client, 0);
	return Plugin_Handled;
}

public void OnConfigsExecuted()
{
	g_GlobalMenu.RemoveAllItems();

	char sBuffer[256];
	BuildPath(Path_SM, sBuffer, sizeof(sBuffer), "configs/komendy.cfg");

	KeyValues kv = new KeyValues("Config");

	if(!kv.ImportFromFile(sBuffer))
	{
		LogError("Brak pliku konfiguracyjnego %s", sBuffer);
		return;
	}

	kv.GetString("Menu_Title", sBuffer, sizeof(sBuffer), "");
	g_GlobalMenu.SetTitle(sBuffer);

	char sCommand[64];

	if(kv.GotoFirstSubKey())
	{
		do
		{
			kv.GetString("opis", sBuffer, sizeof(sBuffer), "");

			kv.GetString("komenda", sCommand, sizeof(sCommand), "");
	
			g_GlobalMenu.AddItem(sCommand, sBuffer, StrEqual(sBuffer, "<DISABLED>") ? ITEMDRAW_DISABLED : StrEqual(sBuffer, "<SPACER>") ? ITEMDRAW_SPACER : ITEMDRAW_DEFAULT);

		} while(kv.GotoNextKey());
	}

	delete kv;
}

public int Global_Menu_Handler(Menu menu, MenuAction action, int client, int item)
{
	switch(action)
	{
		case MenuAction_Select:
		{
			char sCommand[64];
			menu.GetItem(item, sCommand, sizeof(sCommand));
			FakeClientCommand(client, sCommand);
		}
	}
}

 

 

Przykładowy config:

 

Spoiler

"Config"
{
    "Menu_Title"    "Testowy"

    "1"
    {
        "opis"      "Twoj opis"
        "komenda"   "sm_admin"
    }
    "2"
    {
        "opis"      "<DISABLED>" // Wyłączony
        "komenda"   "sm_admin"
    }
    "3"
    {
        "opis"      "<SPACER>" // Spacer
        "komenda"   "sm_admin"
    }
}

 

 

Master_Commands_Menu.sp
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

Master_Commands.cfg
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

Edytowane przez Master

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić obrazków. Dodaj lub załącz obrazki z adresu URL.


×
×
  • Dodaj nową pozycję...