Teszteld:
Kód:
#include <amxmodx>
#include <cstrike>
#include <hamsandwich>
#include <fun>
#define PLUGIN "Admin Spectator + Menu"
#define AUTHOR "Kiki33"
#define VERSION "1.0"
#define ADMINJOG ADMIN_BAN
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /adminspec", "spechandler")
register_clcmd("say_team /adminspec", "spechandler")
}
public spechandler(id)
{
if(get_user_flags(id) & ADMINJOG)
{
new nev[32]
get_user_name(id, nev, charsmax(nev))
if( equal(nev, "Neved") ) //Itt állíthatod be a neved, ami a játékban az!
{
addmenu(id)
}
else
{
client_print(id, print_chat, "Te nem hasznalhatod ezt a parancsot!")
}
}
else client_print(id, print_chat, "Neked nincs meg a megfelelo admin jogosultsagot, igy a parancsot nem hasznalhatod!")
}
public addmenu(id)
{
new menu = menu_create("\rAdmin Spec Menu", "mhandler")
menu_additem(menu, "\wAdminspec Adas", "m1")
menu_additem(menu, "\wAdmispec Elvetel", "m2")
menu_additem(menu, "\wWeapon Menu", "m3")
menu_display(id, menu, 0)
}
public adasmeenu(id)
{
new menu = menu_create("\rValassz jatekost:", "mhandler")
new players[32], pnum, tempid, newtempid[32];
new szName[32], szTempid[10];
new const karakter[] = "a";
get_players(players, pnum)
for( new i; i<pnum; i++ )
{
tempid = players[i];
get_user_name(tempid, szName, charsmax(szName));
num_to_str(tempid, szTempid, charsmax(szTempid));
formatex(newtempid, charsmax(newtempid), karakter, szTempid)
menu_additem(menu, szName, newtempid, 0);
}
menu_display(id, menu, 0)
}
public elvevesmenu(id)
{
new menu = menu_create("\rValassz jatekost:", "mhandler")
new players[32], pnum, tempid, newtempid[32];
new szName[32], szTempid[10];
new const karakter[] = "c";
get_players(players, pnum)
for( new i; i<pnum; i++ )
{
tempid = players[i];
get_user_name(tempid, szName, charsmax(szName));
num_to_str(tempid, szTempid, charsmax(szTempid));
formatex(newtempid, charsmax(newtempid), karakter, szTempid)
menu_additem(menu, szName, newtempid, 0);
}
menu_display(id, menu, 0)
}
public menu_handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu)
return PLUGIN_HANDLED;
}
new data[6], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data[1]);
switch(data[0])
{
case 'm':
{
switch( key )
{
case 1:
{
adasmeenu(id)
}
case 2:
{
elvevesmenu(id)
}
case 3:
{
client_cmd(id, "weaponmenu");
}
}
}
case 'a':
{
new tempid = str_to_num(data);
if(is_user_connected(tempid))
{
new nev[33];
get_user_name(tempid, nev, charsmax(nev))
cs_set_user_team(id,CS_TEAM_SPECTATOR)
ExecuteHamB(Ham_CS_RoundRespawn, tempid)
set_user_godmode(tempid, 1)
set_user_noclip(tempid, 1)
set_user_footsteps(tempid,1)
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0)
client_print(id, print_chat, "Admin Spec jogot adtal %s-nek", nev)
client_print(tempid, print_chat, "Admin spec jogot kaptal!")
}
}
case 'c':
{
new tempid = str_to_num(data);
if(is_user_connected(tempid))
{
switch(random_num(1,2))
{
case 1: cs_set_user_team(tempid,CS_TEAM_T)
case 2: cs_set_user_team(tempid,CS_TEAM_CT)
}
new nev[33];
get_user_name(tempid, nev, charsmax(nev))
ExecuteHamB(Ham_CS_RoundRespawn, tempid)
set_user_godmode(tempid, 0)
set_user_noclip(tempid, 0)
set_user_footsteps(tempid,0)
set_user_rendering(tempid,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,255)
client_print(id, print_chat, "Elvetted az admin spec jogot %s-tol", nev)
client_print(tempid, print_chat, "Az admin spec jogot elveve!")
}
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
S írj hogyha valami hibát dob, persze loggal együtt!