#include <amxmodx>
#include <amxmisc>
#include <ColorChat>
#include <fakemeta>
#include <hamsandwich>
new const gNazwaPluginu[] = "Interp Menu";
new const gWersjaPluginu[] = "0.5";
new const gAutorPluginu[] = "MisieQ";
#define ADMIN_UPRAWNIENIA ADMIN_BAN
#define MAX_PLAYERS 32
#define SetUserReversed(%1) g_bMigraineux |= 1<<(%1 & 31)
#define ClearUserReversed(%1) g_bMigraineux &= ~( 1<<(%1 & 31) )
#define HasUserMigraine(%1) g_bMigraineux & 1<<(%1 & 31)
new bool:wybral_interp[33];
new bool:dostal_kare[33];
new const interp[][] = { "^x03 wybral interp^x04 0.01", "^x03 wybral interp^x04 0.02", "^x03 wybral interp^x04 0.03", "^x03 wybiera interp..." }
new Map[32], Name[32];
new g_bMigraineux
public plugin_init()
{
register_plugin(gNazwaPluginu, gWersjaPluginu, gAutorPluginu);
RegisterHam(Ham_Spawn, "player", "fwSpawn", 1);
register_concmd("amx_interp", "ustaw", ADMIN_UPRAWNIENIA, "<Nazwa Gracza>");
get_mapname(Map,sizeof Map - 1);
}
public client_authorized(id)
{
wybral_interp[id] = false
dostal_kare[id] = false
ClearUserReversed(id)
}
public client_disconnect(id)
{
wybral_interp[id] = false
dostal_kare[id] = false
ClearUserReversed(id)
}
public fwSpawn(id)
{
if (!is_user_alive(id))
return HAM_IGNORED;
if(!wybral_interp[id])
{
menu_interpu(id);
}
return HAM_IGNORED;
}
public menu_interpu(id)
{
new menu = menu_create("\wWybor \yInterpu:", "menu_interpu_1");
menu_additem(menu, "\w0.01", "0", 0);
menu_addblank(menu,0)
menu_additem(menu, "\y0.02", "1", 0);
menu_addblank(menu,0)
menu_additem(menu, "\r0.03", "2", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id,menu,0);
return PLUGIN_CONTINUE;
}
public menu_interpu_1(id, menu, item)
{
new data[6], iName[64], acces, callback;
menu_item_getinfo(menu, item, acces, data,sizeof data - 1, iName, sizeof iName - 1, callback);
get_user_name(id, Name, sizeof Name - 1);
new key = str_to_num(data);
switch(key)
{
case 0:
{
client_cmd(id,"ex_interp 0.01")
wybral_interp[id] = true;
informacja(id, 0);
menu_destroy(menu);
}
case 1:
{
client_cmd(id,"ex_interp 0.02")
wybral_interp[id] = true;
informacja(id, 1);
menu_destroy(menu);
}
case 2:
{
client_cmd(id,"ex_interp 0.03")
wybral_interp[id] = true;
informacja(id, 2);
menu_destroy(menu);
}
}
return PLUGIN_HANDLED;
}
public informacja(id,itp)
{
get_user_name(id, Name, sizeof Name - 1);
ColorChat(0, GREEN, "[^x03 %s^x04 ]^x03 Gracz^x04 %s %s",Map, Name, interp[itp]);
}
public ustaw(id,level,cid)
{
if (!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED;
read_argv(1, Name, sizeof Name - 1);
new player = cmd_target(id, Name, 0);
if (!player)
{
console_print(id, "Przepraszamy, gracz %s nie moze zostac zlokalizowany!", Name);
return PLUGIN_HANDLED;
}
else
{
ColorChat(0, GREEN, "[^x03 %s^x04 ]^x03 Admin wymusil ponowny wybor interpu dla gracza^x04 %s", Map, Name);
wybral_interp[player] = false
}
return PLUGIN_CONTINUE;
}
Wyjścia z menu nie da się raczej usunąć zrobiłem tak aby nie było kary. I jeżeli nie wybierze się interpu to on się sam ustawi.


Dodatki SourceMod




Moja zawartość
Mężczyzna


Napisane przez