Подарочное меню админа когда даю деньги игроку, мне пишет
Администратор дал вам 8000денег, можно ли ее убрать? и написать только кто получил деньги, ну и остальное тоже жизни и т.д
Код:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <engine>
#include <cstrike>
#include <fun>
#include <fakemeta>
#define PLUGIN "AdminMenu"
#define VERSION "4.1"
#define AUTHOR "Nonamer % remake atyraYYY"
new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_0
new keys2 = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_0
new PlayerSpawn[33]
new PlayerGrav[33]
new PlayerSpeed[33]
new PlayerHp[33]
new PlayerMoney[33]
new Spawn[33],Grava[33], Speed[33], GodMode[33], Spead[33], szTwoJump[33], szTwoJumpNum[33], szDoTwoJump[33], Noclip[33]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_menu("Menu 1", keys, "func_menu")
register_menu("Menu 2", keys2, "func_menu2")
register_clcmd("adminmenu", "AdminMenu")
register_clcmd("givemenu", "GiveAdmin")
RegisterHam(Ham_Spawn, "player", "PlayerSpawns",1)
register_forward(FM_PlayerPreThink, "TwoJump")
register_forward(FM_PlayerPostThink, "PostTwoJump")
register_event("CurWeapon", "WeaponChange", "be", "1=1")
register_event("HLTV", "RoundNew", "a", "1=0", "2=0")
}
public PlayerSpawns()
{
for(new id = 1;id <= get_maxplayers(); id++)
{
Grava[id] = false
Speed[id] = false
GodMode[id] = false
Spead[id] = false
szTwoJump[id] = false
}
}
public RoundNew()
{
for(new id = 1;id <= get_maxplayers(); id++)
{
Spawn[id] = 10
PlayerSpawn[id] = 5
PlayerGrav[id] = 10
PlayerSpeed[id] = 10
PlayerHp[id] = 10
PlayerMoney[id] = 10
}
}
public AdminMenu(id)
{
static menu[650], Len
Len = 0
Len = formatex(menu[Len], charsmax(menu) - Len, "\wАдмин меню:\w^n^n");
if(get_user_flags(id) & ADMIN_LEVEL_A)
{
if(Spawn[id] == 0)
{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[1]. \wВоскреснуть \y[%d]^n", Spawn[id])
keys &= ~MENU_KEY_1
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[1]. \wВоскреснуть \y[%d]^n", Spawn[id])
keys |= MENU_KEY_1
}
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, " ^n")
keys &= ~MENU_KEY_1
}
if(get_user_flags(id) & ADMIN_LEVEL_A)
{
if(GodMode[id])
{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[2]. \wБессмертие: \y[Вкл]^n")
keys |= MENU_KEY_2
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[2]. \wБессмертие: \y[Выкл]^n")
keys |= MENU_KEY_2
}
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, " ^n")
keys &= ~MENU_KEY_2
}
if(get_user_flags(id) & ADMIN_LEVEL_A)
{
if(Noclip[id])
{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[3]. \wНоклип: \y[Вкл]^n")
keys |= MENU_KEY_3
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[3]. \wНоклип: \y[Выкл]^n")
keys |= MENU_KEY_3
}
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, " ^n")
keys &= ~MENU_KEY_3
}
if(get_user_flags(id) & ADMIN_LEVEL_A)
{
switch(get_user_team(id))
{
case 1:
{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[4]. \wКоманда: \y[Террорист]^n")
keys |= MENU_KEY_4
}
case 2:
{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[4]. \wКоманда: \y[CT]^n")
keys |= MENU_KEY_4
}
case 3:
{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[4]. \wКоманда: \y[Наблюдатель]^n")
keys |= MENU_KEY_4
}
}
}else{
switch(get_user_team(id))
{
case 1:
{
Len += formatex(menu[Len], charsmax(menu) - Len, " ^n")
keys &= ~MENU_KEY_4
}
case 2:
{
Len += formatex(menu[Len], charsmax(menu) - Len, " ^n")
keys &= ~MENU_KEY_4
}
case 3:
{
Len += formatex(menu[Len], charsmax(menu) - Len, " ^n")
keys &= ~MENU_KEY_4
}
}
}
if(get_user_flags(id) & ADMIN_LEVEL_A)
{
if(Grava[id])
{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[5]. \wГравитация: \y[Вкл]^n")
keys |= MENU_KEY_5
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[5]. \wГравитация: \y[Выкл]^n")
keys |= MENU_KEY_5
}
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, " ^n")
keys &= ~MENU_KEY_5
}
if(get_user_flags(id) & ADMIN_LEVEL_A)
{
if(Speed[id])
{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[6]. \wСкорость: \y[Вкл]^n")
keys |= MENU_KEY_6
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[6]. \wСкорость: \y[Выкл]^n")
keys |= MENU_KEY_6
}
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, " ^n")
keys &= ~MENU_KEY_6
}
if(get_user_flags(id) & ADMIN_LEVEL_A)
{
if(szTwoJump[id])
{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[7]. \wДвойной прыжок: \y[Вкл]^n")
keys |= MENU_KEY_7
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[7]. \wДвойной прыжок: \y[Выкл]^n")
keys |= MENU_KEY_7
}
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[Данное меню для Вас недоступно!]^n")
keys &= ~MENU_KEY_7
}
Len += formatex(menu[Len], charsmax(menu) - Len, "^n^n\y[0]. \wВыход")
keys |= MENU_KEY_0
show_menu(id, keys, menu, -1, "Menu 1");
return PLUGIN_HANDLED
}
public func_menu(id, key)
{
switch(key)
{
case 0:
{
if(Spawn[id] == 0)
{
return PLUGIN_CONTINUE
}else{
Spawn[id] = Spawn[id] -1
ExecuteHam(Ham_CS_RoundRespawn, id)
AdminMenu(id)
}
}
case 1:
{
if(!GodMode[id])
{
GodMode[id] = true
set_user_godmode(id,1)
}
else
{
GodMode[id] = false
set_user_godmode(id,0)
}
AdminMenu(id)
}
case 2:
{
if(!Noclip[id])
{
Noclip[id] = true
set_user_noclip(id,1)
}
else
{
Noclip[id] = false
set_user_noclip(id,0)
}
AdminMenu(id)
}
case 3:
{
switch (get_user_team(id))
{
case 1:
{
cs_set_user_team(id, 2)
}
case 2:
{
cs_set_user_team(id, 3)
}
case 3:
{
if(get_user_flags(id) & ADMIN_BAN)
{
cs_set_user_team(id, 1)
}
else
{
cs_set_user_team(id, 2)
}
}
}
AdminMenu(id)
}
case 4:
{
if(!Grava[id])
{
Grava[id] = true
set_user_gravity(id, 0.5)
}else{
Grava[id] = false
set_user_gravity(id, 0.0)
}
AdminMenu(id)
}
case 5:
{
if(!Speed[id])
{
Speed[id] = true
Spead[id] = true
set_user_maxspeed(id,400.0)
}
else
{
Speed[id] = false
Spead[id] = false
set_user_maxspeed(id,250.0)
}
AdminMenu(id)
}
case 6:
{
if(!szTwoJump[id])
{
szTwoJump[id] = true
}
else
{
szTwoJump[id] = false
}
AdminMenu(id)
}
}
return PLUGIN_HANDLED
}
public OnOff(id)
{
if(!szTwoJump[id])
{
szTwoJump[id] = true
}else{
szTwoJump[id] = false
}
}
public TwoJump(id)
{
if(szTwoJump[id])
{
new szButton = pev(id, pev_button)
new szOldButton = pev(id, pev_oldbuttons)
if((szButton & IN_JUMP) && !(pev(id, pev_flags) & FL_ONGROUND) && !(szOldButton & IN_JUMP))
{
if(szTwoJumpNum[id] < 1)
{
szDoTwoJump[id] = true
szTwoJumpNum[id]++
return PLUGIN_CONTINUE
}
}
if((szButton & IN_JUMP) && (pev(id, pev_flags) & FL_ONGROUND))
{
szTwoJumpNum[id] = 0
}
}
return PLUGIN_CONTINUE
}
public PostTwoJump(id)
{
if(szTwoJump[id])
{
if(!is_user_alive(id))
return PLUGIN_CONTINUE
if(szDoTwoJump[id])
{
new Float:szVelocity[3]
pev(id, pev_velocity, szVelocity)
szVelocity[2] = random_float(295.0,305.0)
set_pev(id, pev_velocity, szVelocity)
szDoTwoJump[id] = false
return PLUGIN_CONTINUE
}
}
return PLUGIN_CONTINUE
}
public WeaponChange(id)
{
if(Spead[id])
{
set_user_maxspeed(id, 400.0)
}
}
public GiveAdmin(id)
{
static menu[650], Len
Len = 0
Len = formatex(menu[Len], charsmax(menu) - Len, "\wПодарочное меню:\w^n^n");
if(get_user_flags(id) & ADMIN_LEVEL_F)
{
if(PlayerSpawn[id] == 0)
{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[1]. \wВозродить игрока \y[%d]^n", PlayerSpawn[id])
keys2 &= ~MENU_KEY_1
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[1]. \wВозродить игрока \y[%d]^n", PlayerSpawn[id])
keys2|= MENU_KEY_1
}
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, " ^n")
keys2 &= ~MENU_KEY_1
}
if(get_user_flags(id) & ADMIN_LEVEL_F)
{
if(PlayerGrav[id] == 0)
{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[2]. \wДать гравитацию \y[%d]^n", PlayerGrav[id])
keys2 &= ~MENU_KEY_2
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[2]. \wДать гравитацию \y[%d]^n", PlayerGrav[id])
keys2|= MENU_KEY_2
}
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, " ^n")
keys2 &= ~MENU_KEY_2
}
if(get_user_flags(id) & ADMIN_LEVEL_F)
{
if(PlayerSpeed[id] == 0)
{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[3]. \wДать скорость \y[%d]^n", PlayerSpeed[id])
keys2 &= ~MENU_KEY_3
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[3]. \wДать скорость \y[%d]^n", PlayerSpeed[id])
keys2|= MENU_KEY_3
}
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, " ^n")
keys2 &= ~MENU_KEY_3
}
if(get_user_flags(id) & ADMIN_LEVEL_F)
{
if(PlayerHp[id] == 0)
{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[4]. \wДать жизни \y[%d]^n", PlayerHp[id])
keys2 &= ~MENU_KEY_4
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[4]. \wДать жизни \y[%d]^n", PlayerHp[id])
keys2|= MENU_KEY_4
}
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, " ^n")
keys2 &= ~MENU_KEY_4
}
if(get_user_flags(id) & ADMIN_LEVEL_F)
{
if(PlayerMoney[id] == 0)
{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[5]. \wДать денег \y[%d]^n", PlayerMoney[id])
keys2 &= ~MENU_KEY_5
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[5]. \wДать денег \y[%d]^n", PlayerMoney[id])
keys2|= MENU_KEY_5
}
}else{
Len += formatex(menu[Len], charsmax(menu) - Len, "\y[Данное меню для Вас недоступно!]^n")
keys2 &= ~MENU_KEY_5
}
Len += formatex(menu[Len], charsmax(menu) - Len, "^n^n\y[0]. \wВыход")
keys2 |= MENU_KEY_0
show_menu(id, keys2, menu, -1, "Menu 2");
return PLUGIN_HANDLED
}
public func_menu2(id, key)
{
switch(key)
{
case 0:
{
if(PlayerSpawn[id] == 0)
{
return PLUGIN_CONTINUE
}else{
PlayerSpawn[id] = PlayerSpawn[id] -1
SpawnPlayer(id)
}
}
case 1:
{
if(PlayerGrav[id] == 0)
{
return PLUGIN_CONTINUE
}else{
PlayerGrav[id] = PlayerGrav[id] -1
GravPlayer(id)
}
}
case 2:
{
if(PlayerSpeed[id] == 0)
{
return PLUGIN_CONTINUE
}else{
PlayerSpeed[id] = PlayerSpeed[id] -1
SpeedPlayer(id)
}
}
case 3:
{
if(PlayerHp[id] == 0)
{
return PLUGIN_CONTINUE
}else{
PlayerHp[id] = PlayerHp[id] -1
HpPlayer(id)
}
}
case 4:
{
if(PlayerMoney[id] == 0)
{
return PLUGIN_CONTINUE
}else{
PlayerMoney[id] = PlayerMoney[id] -1
MoneyPlayer(id)
}
}
}
return PLUGIN_HANDLED
}
public SpawnPlayer(id)
{
new i_Menu = menu_create("\wВыберите игрока:\w", "menu_handler")
new s_Players[32], i_Num, i_Player, msg[222]
new s_Name[32], s_Player[10]
get_players(s_Players, i_Num)
for (new i; i < i_Num; i++)
{
i_Player = s_Players[i]
get_user_name(i_Player, s_Name, charsmax(s_Name))
num_to_str(i_Player, s_Player, charsmax(s_Player))
if(is_user_alive(i_Player))
{
formatex(msg, charsmax(msg), "\w%s \y(Жив)", s_Name)
menu_additem(i_Menu, msg, s_Player, 0)
}
else
{
formatex(msg, charsmax(msg), "%s", s_Name)
menu_additem(i_Menu, msg, s_Player, 0)
}
menu_setprop(i_Menu, MPROP_NUMBER_COLOR,"\y")
menu_setprop(i_Menu, MPROP_NEXTNAME, "Дальше...")
menu_setprop(i_Menu, MPROP_BACKNAME, "Назад")
menu_setprop(i_Menu, MPROP_EXITNAME, "Выход")
}
menu_display(id, i_Menu, 0)
}
public menu_handler(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new s_Data[6], s_Name[64], i_Access, i_Callback
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
new i_Player = str_to_num(s_Data)
new name[32]
new name2[32]
get_user_name(id, name, 31)
get_user_name(i_Player, name2, 31)
if(id == i_Player)
{
SpawnPlayer(id)
}
else
{
ExecuteHam(Ham_CS_RoundRespawn, i_Player)
ChatColor(0, "^4[АдминМеню]^1Администратор возродил вас")
GiveAdmin(id)
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public GravPlayer(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
new menu = menu_create( "\wВыберите игрока:\w", "GravaPlayer" )
new players[32], pnum, tempid
new szName[32], szTempid[10]
cs_get_user_team(id)
get_players(players, pnum)
for(new i; i<pnum; i++)
{
cs_get_user_team(players[i])
tempid = players[i]
if(!is_user_alive(tempid))
{
}
else if(get_user_gravity(tempid) > 0.35)
{
get_user_name(tempid, szName, 31)
num_to_str(tempid, szTempid, 9)
menu_additem(menu, szName, szTempid, 0)
}
}
menu_setprop( menu, MPROP_NUMBER_COLOR,"\y")
menu_setprop( menu, MPROP_NEXTNAME, "Дальше...")
menu_setprop( menu, MPROP_BACKNAME, "Назад")
menu_setprop( menu, MPROP_EXITNAME, "Выход")
//menu_setprop( menu, MPROP_PERPAGE, 0)
menu_display(id, menu, 0)
}
return PLUGIN_HANDLED
}
public GravaPlayer(id, menu, item)
{
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], iName[64], playername[33], playername2[33]
new access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new tempid = str_to_num(data)
cs_get_user_team(tempid)
get_user_name(id, playername, 32)
get_user_name(tempid, playername2, 32)
set_user_gravity(tempid, 0.5)
ChatColor(0, "^4[АдминМеню]^1Администратор дал вам гравитацию")
GiveAdmin(id)
}
GiveAdmin(id)
return PLUGIN_HANDLED
}
public SpeedPlayer(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_F)
{
new menu = menu_create( "\wВыберите игрока:\w", "menu_speed" )
new players[32], pnum, tempid
new szName[32], szTempid[10]
cs_get_user_team(id)
get_players(players, pnum)
for(new i; i<pnum; i++)
{
cs_get_user_team(players[i])
tempid = players[i]
if(!is_user_alive(tempid))
{
}
else if(get_user_maxspeed(tempid) < 700)
{
get_user_name(tempid, szName, 31)
num_to_str(tempid, szTempid, 9)
menu_additem(menu, szName, szTempid, 0)
}
}
menu_setprop(menu, MPROP_NUMBER_COLOR,"\y")
menu_setprop(menu, MPROP_NEXTNAME, "Дальше...")
menu_setprop(menu, MPROP_BACKNAME, "Назад")
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_display(id, menu, 0)
}
return PLUGIN_HANDLED
}
public menu_speed(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], iName[64], playername[33], playername2[33]
new access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new tempid = str_to_num(data)
cs_get_user_team(tempid)
get_user_name(id, playername, 32)
get_user_name(tempid, playername2, 32)
set_user_maxspeed(tempid, 700.0)
ChatColor(0, "^4[АдминМеню]^1Администратор дал вам скорость")
client_cmd(id,"speed_menu")
Spead[id] = true
GiveAdmin(id)
return PLUGIN_HANDLED
}
public HpPlayer(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
new menu = menu_create( "\wВыберите игрока:\w", "menu_health" )
new players[32], pnum, tempid
new szName[32], szTempid[10]
cs_get_user_team(id)
get_players(players, pnum)
for(new i; i<pnum; i++)
{
cs_get_user_team(players[i])
tempid = players[i]
if(!is_user_alive(tempid))
{
}
else if(get_user_health(tempid) < 250)
{
get_user_name(tempid, szName, 31)
num_to_str(tempid, szTempid, 9)
menu_additem(menu, szName, szTempid, 0)
}
}
menu_setprop(menu, MPROP_NUMBER_COLOR,"\y")
menu_setprop(menu, MPROP_NEXTNAME, "Дальше...")
menu_setprop(menu, MPROP_BACKNAME, "Назад")
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_display(id, menu, 0)
}
return PLUGIN_HANDLED
}
public menu_health(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], iName[64], playername[33], playername2[33]
new access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new tempid = str_to_num(data)
cs_get_user_team(tempid)
get_user_name(id, playername, 32)
get_user_name(tempid, playername2, 32)
set_user_health(tempid, 150)
ChatColor(0, "^4[АдминМеню]^1Администратор дал вам ^4150 HP")
client_cmd(id,"health_menu")
GiveAdmin(id)
return PLUGIN_HANDLED
}
public MoneyPlayer(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
new menu = menu_create( "\wВыберите игрока:\w", "menu_money" )
new players[32], pnum, tempid
new szName[32], szTempid[10]
cs_get_user_team(id)
get_players(players, pnum)
for(new i; i<pnum; i++)
{
cs_get_user_team(players[i])
tempid = players[i]
if(!is_user_alive(tempid))
{
}
else if(cs_get_user_money(tempid) < 16000)
{
get_user_name(tempid, szName, 31)
num_to_str(tempid, szTempid, 9)
menu_additem(menu, szName, szTempid, 0)
}
}
menu_setprop(menu, MPROP_NUMBER_COLOR,"\y")
menu_setprop(menu, MPROP_NEXTNAME, "Дальше...")
menu_setprop(menu, MPROP_BACKNAME, "Назад")
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_display(id, menu, 0)
}
return PLUGIN_HANDLED
}
public menu_money(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], iName[64], playername[33], playername2[33]
new access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new tempid = str_to_num(data)
cs_get_user_team(tempid)
get_user_name(id, playername, 32)
get_user_name(tempid, playername2, 32)
cs_set_user_money(tempid, 8000)
ChatColor(0, "^4[АдминМеню]^1Администратор дал вам ^4$8000")
client_cmd(id,"money_menu")
GiveAdmin(id)
return PLUGIN_HANDLED
}
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
Отредактировал: XyLiGaN, - 20.1.2015, 17:39