Приветствую всех форумчан собственно нужно сделать что-бы оружейка работала со 2-го раунда допустим когда админы вводят /weaponmenu писало типо: Оружейка доступна со 2-го раунда помогите дописать эту функцию )
Код:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <fakemeta_util>
new givingweapon[33], givepack[33]
new pistols[7] = {CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_GALIL, CSW_USP, CSW_GLOCK18, CSW_DEAGLE}
new weapons[18] = {CSW_AWP, CSW_SCOUT, CSW_MP5NAVY, CSW_XM1014, CSW_MAC10, CSW_AUG, CSW_UMP45, CSW_SG550, CSW_GALIL, CSW_FAMAS, CSW_M249, CSW_M3, CSW_M4A1, CSW_TMP, CSW_G3SG1, CSW_SG552, CSW_AK47, CSW_P90}
new all[25] = {CSW_AWP, CSW_SCOUT, CSW_MP5NAVY, CSW_XM1014, CSW_MAC10, CSW_AUG, CSW_UMP45, CSW_SG550, CSW_GALIL, CSW_FAMAS, CSW_M249, CSW_M3, CSW_M4A1, CSW_TMP, CSW_G3SG1, CSW_SG552, CSW_AK47, CSW_P90, CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_GALIL, CSW_USP, CSW_GLOCK18, CSW_DEAGLE}
new CurrentRound
public plugin_init()
{
register_plugin("Weaponmenu administrators only", "2.0", "B_adidase")
register_clcmd("say /weaponmenu", "cmdmenu")
register_event("TextMsg","Event_RoundRestart","a","2&#Game_w")
register_event("TextMsg","Event_RoundRestart","a","2&#Game_C")
register_event("HLTV", "LogEvent_RoundStart", "a", "1=0", "2=0")
}
public strip_all(id)
{
for(new i = 0; i < 25; i++)
{
fm_strip_user_gun(id, all[i])
}
}
public strip_weapons(id)
{
for(new i = 0; i < 18; i++)
{
fm_strip_user_gun(id, weapons[i])
}
}
public strip_pistols(id)
{
for(new i = 0; i < 7; i++)
{
fm_strip_user_gun(id, pistols[i])
}
}
public cmdmenu(id)
{
if(!(get_user_flags(id) & ADMIN_BAN)) return PLUGIN_HANDLED
givingweapon[id] = 0
new menu = menu_create("\yОружейка\w \d[\rProStrike\d]\w", "g_menu_handler")
menu_additem(menu, "Пистолеты", "1")
menu_additem(menu, "Автоматы", "2")
menu_additem(menu, "Винтовки", "3")
menu_additem(menu, "Снаряжение", "4")
menu_additem(menu, "Комплекты оружия", "5")
menu_setprop(menu, MPROP_EXITNAME, "\yВыход")
menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
public g_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 Key = str_to_num(s_Data)
switch(Key)
{
case 1: cmdpistols(id)
case 2: cmdautom(id)
case 3: cmdrifles(id)
case 4: cmdsecond(id)
case 5: cmdpack(id)
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public cmdpistols(id)
{
new menu = menu_create("\rВыберите оружие", "pi_menu_handler")
menu_additem(menu, "Glock 18", "1")
menu_additem(menu, "USP", "2")
menu_additem(menu, "P228", "3")
menu_additem(menu, "Deagle", "4")
menu_additem(menu, "FiveSeven", "5")
menu_additem(menu, "Elite", "6")
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_display(id, menu, 0)
}
public pi_menu_handler(id, menu, item)
{
if (item == MENU_EXIT)
{
//cmdmenu(id)
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 Key = str_to_num(s_Data)
switch(Key)
{
case 1: cmdgivepist(id, 17)
case 2: cmdgivepist(id, 16)
case 3: cmdgivepist(id, 1)
case 4: cmdgivepist(id, 26)
case 5: cmdgivepist(id, 11)
case 6: cmdgivepist(id, 10)
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public cmdgivepist(id, weapon)
{
givingweapon[id] = weapon
if(is_user_alive(id))
{
strip_pistols(id)
switch(givingweapon[id])
{
case 17:
{
cs_set_user_bpammo(id, weapon, 120)
give_item(id, "weapon_glock18")
}
case 16:
{
cs_set_user_bpammo(id, weapon, 100)
give_item(id, "weapon_usp")
}
case 1:
{
cs_set_user_bpammo(id, weapon, 52)
give_item(id, "weapon_p228")
}
case 26:
{
cs_set_user_bpammo(id, weapon, 35)
give_item(id, "weapon_deagle")
}
case 11:
{
cs_set_user_bpammo(id, weapon, 100)
give_item(id, "weapon_fiveseven")
}
case 10:
{
cs_set_user_bpammo(id, weapon, 120)
give_item(id, "weapon_elite")
}
}
}
}
public cmdautom(id)
{
if(CurrentRound >= 2)
{
new menu = menu_create("\rВыберите оружие", "aut_menu_handler")
menu_additem(menu, "Benelli M3 Super", "1")
menu_additem(menu, "Benelli XM1014", "2")
menu_additem(menu, "Ingram MAC-10", "3")
menu_additem(menu, "Steyr TMP", "4")
menu_additem(menu, "HK MP5", "5")
menu_additem(menu, "HK UMP 45", "6")
menu_additem(menu, "FN P90", "7")
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_display(id, menu, 0)
}else{
color_print(id, "!g[!tProStrike!g] !tАвтоматы !gдоступны со !t2-го !gраунда.")
client_cmd(id,"spk buttons/blip1.wav")
}
return PLUGIN_CONTINUE
}
public aut_menu_handler(id, menu, item)
{
if (item == MENU_EXIT)
{
//cmdmenu(id)
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 Key = str_to_num(s_Data)
switch(Key)
{
case 1: cmdgiveautom(id, 21)
case 2: cmdgiveautom(id, 5)
case 3: cmdgiveautom(id, 7)
case 4: cmdgiveautom(id, 23)
case 5: cmdgiveautom(id, 19)
case 6: cmdgiveautom(id, 12)
case 7: cmdgiveautom(id, 30)
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public cmdgiveautom(id, weapon)
{
givingweapon[id] = weapon
if(is_user_alive(id))
{
strip_weapons(id)
switch(givingweapon[id])
{
case 21:
{
cs_set_user_bpammo(id, weapon, 32)
give_item(id, "weapon_m3")
}
case 5:
{
cs_set_user_bpammo(id, weapon, 32)
give_item(id, "weapon_xm1014")
}
case 7:
{
cs_set_user_bpammo(id, weapon, 100)
give_item(id, "weapon_mac10")
}
case 23:
{
cs_set_user_bpammo(id, weapon, 120)
give_item(id, "weapon_tmp")
}
case 19:
{
cs_set_user_bpammo(id, weapon, 120)
give_item(id, "weapon_mp5navy")
}
case 12:
{
cs_set_user_bpammo(id, weapon, 100)
give_item(id, "weapon_ump45")
}
case 30:
{
cs_set_user_bpammo(id, weapon, 100)
give_item(id, "weapon_p90")
}
}
}
}
public cmdrifles(id)
{
if(CurrentRound >= 2)
{
new menu = menu_create("\rВыберите оружие", "r_menu_handler")
menu_additem(menu, "M4A1", "1")
menu_additem(menu, "AK47", "2")
menu_additem(menu, "AWP", "3")
menu_additem(menu, "AUG", "4")
menu_additem(menu, "SG552", "5")
menu_additem(menu, "Famas", "6")
menu_additem(menu, "Galil", "7")
menu_additem(menu, "Scout", "8")
menu_additem(menu, "G3SG1", "9")
menu_additem(menu, "SG550", "10")
menu_setprop(menu, MPROP_NEXTNAME, "Далее")
menu_setprop(menu, MPROP_BACKNAME, "Назад")
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_display(id, menu, 0)
}else{
color_print(id, "!g[!tProStrike!g] !tВинтовки !gдоступны со !t2-го !gраунда.")
client_cmd(id,"spk buttons/blip1.wav")
}
return PLUGIN_CONTINUE
}
public r_menu_handler(id, menu, item)
{
if (item == MENU_EXIT)
{
//cmdmenu(id)
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 Key = str_to_num(s_Data)
switch(Key)
{
case 1: cmdgiverifle(id, 22, 0)
case 2: cmdgiverifle(id, 28, 0)
case 3: cmdgiverifle(id, 18, 0)
case 4: cmdgiverifle(id, 8, 0)
case 5: cmdgiverifle(id, 27, 0)
case 6: cmdgiverifle(id, 15, 0)
case 7: cmdgiverifle(id, 14, 0)
case 8: cmdgiverifle(id, 3, 0)
case 9: cmdgiverifle(id, 24, 0)
case 10: cmdgiverifle(id, 13, 0)
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public cmdgiverifle(id, weapon, pack)
{
givingweapon[id] = weapon
givepack[id] = pack
if(is_user_alive(id))
{
strip_weapons(id)
cs_set_user_bpammo(id, weapon, 90)
switch(givingweapon[id])
{
case 22: give_item(id, "weapon_m4a1")
case 28: give_item(id, "weapon_ak47")
case 18: give_item(id, "weapon_awp")
case 8: give_item(id, "weapon_aug")
case 27: give_item(id, "weapon_sg552")
case 15: give_item(id, "weapon_famas")
case 14: give_item(id, "weapon_galil")
case 3: give_item(id, "weapon_scout")
case 24: give_item(id, "weapon_g3sg1")
case 13: give_item(id, "weapon_sg550")
}
if(givepack[id])
{
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_smokegrenade")
if(cs_get_user_team(id) == CS_TEAM_CT)
cs_set_user_defuse(id, 1)
cs_set_user_armor(id, 100, CsArmorType:2)
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id, "weapon_deagle")
}
}
}
public cmdsecond(id)
{
new menu = menu_create("\rВыберите предмет", "se_menu_handler")
menu_additem(menu, "Кусачки", "1")
menu_additem(menu, "Щит", "2")
menu_additem(menu, "Все гранаты", "3")
menu_additem(menu, "Бронежилет", "4")
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_display(id, menu, 0)
}
public se_menu_handler(id, menu, item)
{
if (item == MENU_EXIT)
{
//cmdmenu(id)
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 Key = str_to_num(s_Data)
switch(Key)
{
case 1: cmdgivesec(id, 1)
case 2: cmdgivesec(id, 2)
case 3: cmdgivesec(id, 3)
case 4: cmdgivesec(id, 4)
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public cmdgivesec(id, item)
{
givingweapon[id] = item
if(is_user_alive(id))
{
switch(givingweapon[id])
{
case 1: cs_set_user_defuse(id, 1)
case 2: give_item(id, "weapon_shield")
case 3:
{
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_smokegrenade")
}
case 4: cs_set_user_armor(id, 100, CsArmorType:2)
}
}
}
public cmdpack(id)
{
if(CurrentRound >= 3)
{
new menu = menu_create("\rВыберите оружие", "pa_menu_handler")
menu_additem(menu, "M4A1 + Pack", "1")
menu_additem(menu, "AK47 + Pack", "2")
menu_additem(menu, "AWP + Pack", "3")
menu_additem(menu, "AUG + Pack", "4")
menu_additem(menu, "SG552 + Pack", "5")
menu_additem(menu, "Famas + Pack", "6")
menu_additem(menu, "Galil + Pack", "7")
menu_additem(menu, "Scout + Pack", "8")
menu_additem(menu, "G3SG1 + Pack", "9")
menu_additem(menu, "SG550 + Pack", "10")
menu_setprop(menu, MPROP_NEXTNAME, "Далее")
menu_setprop(menu, MPROP_BACKNAME, "Назад")
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_display(id, menu, 0)
}else{
color_print(id, "!g[!tProStrike!g] !tКомплекты оружий !gдоступны с !t3-го !gраунда.")
client_cmd(id,"spk buttons/blip1.wav")
}
return PLUGIN_CONTINUE
}
public pa_menu_handler(id, menu, item)
{
if (item == MENU_EXIT)
{
//cmdmenu(id)
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 Key = str_to_num(s_Data)
switch(Key)
{
case 1: cmdgiverifle(id, 22, 1)
case 2: cmdgiverifle(id, 28, 1)
case 3: cmdgiverifle(id, 18, 1)
case 4: cmdgiverifle(id, 8, 1)
case 5: cmdgiverifle(id, 27, 1)
case 6: cmdgiverifle(id, 15, 1)
case 7: cmdgiverifle(id, 14, 1)
case 8: cmdgiverifle(id, 3, 1)
case 9: cmdgiverifle(id, 24, 1)
case 10: cmdgiverifle(id, 13, 1)
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public LogEvent_RoundStart()
{
CurrentRound++
}
public Event_RoundRestart()
{
CurrentRound=0
}
stock color_print(const id, const input[], any:...)
{
new count = 1, players[32];
static msg[191];
vformat(msg, 190, input, 3);
replace_all(msg, 190, "!g", "^x04"); // Green Color
replace_all(msg, 190, "!n", "^x01"); // Default Color
replace_all(msg, 190, "!t", "^x03"); // 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();
}
}
}
}
| ! |
| Предупреждение: Выбирайте правильный раздел для своих тем. Не первую вашу тему перемещаю. За новые темы в не том разделе последуют %. Перемещено. |
Отредактировал: Bloo, - 28.5.2014, 10:37