Skocz do zawartości

Rekomendowane odpowiedzi

Siemka, szukam pluginu który będzie pokazywał opis/komendy serwera (!komendy/!opis).

Dodatkowo szukam pluginów które urozmaicą serwer ffa Only mirage/Only dust/Only cache. 

 

odwdziecze sie repkami na forum. Z gory dzieki 🙂 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Trzymaj ten plugin na komendy.

Na dole w plikach masz skompilowany, surowy oraz plik cfg do wpisywania.

#define PLUGIN_AUTHOR "PyNiO"
#define PLUGIN_VERSION "1.00"

#include <sourcemod>
#include <sdktools>

Menu g_CommandMenu;

public Plugin myinfo = 
{
	name = "Command List", 
	author = PLUGIN_AUTHOR, 
	description = "", 
	version = PLUGIN_VERSION, 
	url = ""
};

public void OnPluginStart()
{
	RegConsoleCmd("sm_komendy", CMD_Commands);
	RegConsoleCmd("sm_commands", CMD_Commands);
	RegConsoleCmd("sm_help", CMD_Commands);
}

public Action CMD_Commands(int client, int args)
{
	if (IsValidPlayer(client))
	{
		BuildMenuCommand();
		g_CommandMenu.Display(client, MENU_TIME_FOREVER);
		return Plugin_Handled;
	}
	else
		return Plugin_Handled;
}

void BuildMenuCommand()
{
	g_CommandMenu = new Menu(CommandMenu_Handler);
	g_CommandMenu.SetTitle("Komendy na serwerze", MENU_ACTIONS_ALL);
	
	char path[256];
	BuildPath(Path_SM, path, sizeof(path), "configs/commands.cfg");
	
	KeyValues keyValues = new KeyValues("commands");
	keyValues.ImportFromFile(path);
	
	if (!keyValues.GotoFirstSubKey()) {
		PrintToServer("*** I had a problem while building a menu :/ Check configs/commands.cfg ***");
		delete keyValues;
		return;
	}
	
	char command[64], itemName[64], desc[64];
	do {
		keyValues.GetString("command", command, sizeof(command));
		keyValues.GetString("description", itemName, sizeof(itemName));
		
		Format(desc, sizeof(desc), "%s - %s", command, itemName);
		
		g_CommandMenu.AddItem(command, desc);
	} while (keyValues.GotoNextKey());
	
	delete keyValues;
}

public int CommandMenu_Handler(Menu menu, MenuAction action, int param1, int param2)
{
	switch (action)
	{
		case MenuAction_Select:
		{
			char info[64];
			menu.GetItem(param2, info, sizeof(info));
			
			PrintToChat(param1, "Komenda: %s", info);
		}
	}
}

stock bool IsValidPlayer(client)
{
	if (client >= 1 && client <= MaxClients && IsClientConnected(client) && !IsFakeClient(client) && IsClientInGame(client))
		return true;
	
	return false;
} 

 

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

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ę...