#include <amxmodx>
#define AUTHOR "aSior - amxx.pl/user/60210-asior/"
new bool:MenuShowed[33]; // Zmienna logiczna okreslajaca czy gracz z konkretnym indeksem *widział* menu.
public plugin_init()
{
register_plugin("x", "v0.1", AUTHOR);
register_clcmd("say /bronie", "ShowMenu");
register_logevent("Poczatek_Rundy", 2, "1=Round_Start"); // Event poczatku rundy (freezetime end)
}
public Poczatek_Rundy()
for(new i=1; i <= 32; i++)
MenuShowed[i] = false; // Kazdemu graczowi z osobna (a raczej kazdemu indeksowi) ustawiamy 'false' na "blokade menu".
public ShowMenu(index)
{
if(MenuShowed[index]) // Menu zostalo juz wykorzystane w tej rundzie, wiec blokujemy dalszy dostep.
{
ColorChat(index, NORMAL, "W tej rundzie wykorzystales juz jednokrotna mozliwosc uzycia tego menu.");
return PLUGIN_HANDLED;
} // Warunek "else" nie jest potrzebny ze wzgledu na returna. Dlatego tez zwyczajnie kontynuujemy tworzenie menu.
new MenuIndex;
MenuIndex = menu_create("Menu broni", "ShowMenu_handler");
menu_additem(MenuIndex, "Jakis item");
menu_display(id, MenuIndex);
return PLUGIN_HANDLED;
}
public ShowMenu_handler(index, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
MenuShowed[index] = true; // Menu zostalo uzyte (uzyte = wybrana opcja nie byla wyjsciem z menu) - blokujemy dostep do menu dla gracza on indeksie 'index'.
return PLUGIN_HANDLED;
}
https://amxx.pl/topic/1680-eventy/