Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Полезные ссылки

Изменить плагин Админ меню для ZM

Статус пользователя DANDY
сообщение 11.4.2016, 22:16
Сообщение #1
Стаж: 15 лет

Сообщений: 270
Благодарностей: 38
Полезность: 120

Есть плагин vip_menu_admin_menu.sma.

В Админ меню нужно изменить, чтобы при нажатии на пункты 1/2/3 (сделать первым зомби/немезидой/выжившим), появлялось еще одно меню с выбором игрока, которому, собственно, и давать выбранного героя.
Также в меню не работает Массовое заражение (стоит команда zp_multi, в начале раунда команда отправляется, но массовое заражение не делается, а в чат пишет, мол ты сделал массовое заражение).

Ищу человека, который сможет справиться с данной задачей.



vip_menu_admin_menu.sma

Код:

#include <amxmodx>
#include <fakemeta_util>
#include <zombieplague>

native give_jet_pack(id)

new bool:g_iPlayerAmmo[33]
new g_iPlayerHealth[33]
new g_iPlayerArmor[33]

public plugin_init()
{
register_plugin("[ZP] Admin & Vip Menu", "1.0", "heka / di.alyabev")
register_clcmd("/admin_menu", "Show_AdminMenu")
register_clcmd("/vip_menu", "Show_VipMenu")
register_event( "HLTV" , "EventRoundStart" , "a" , "1=0" , "2=0" )
}

public EventRoundStart()
{
for(new i = 0; i < 33; i++)
{
if(!is_user_connected(i))
continue;
if(g_iPlayerHealth[i] >0) g_iPlayerHealth[i]--
if(g_iPlayerArmor[i] >0) g_iPlayerArmor[i]--
}
}

public Show_AdminMenu(id)
{
if(zp_get_user_survivor(id) || zp_get_user_nemesis(id))
{
PrintChatColor(id, "!g[ZP] !yВыживший и Немезида не могут использовать !gАдмин меню!y!")
return;
}

new menu = menu_create("Админ меню", "Handler_AdminMenu")
if(get_user_flags(id) & ADMIN_RESERVATION)
{
menu_additem(menu, "Стать зомби", "1")
menu_additem(menu, "Стать Немезидой", "2")
menu_additem(menu, "Стать Выжившим", "3")
menu_additem(menu, "Сделать Массовое заражение", "4")
if(zp_get_user_ammo_packs(id)>= 50 && !zp_get_user_zombie(id))
menu_additem(menu, "Купить Джетпак \y[50 Аммо]", "5")
else
menu_additem(menu, "\dКупить Джетпак [50 Аммо]", "5")
if(!g_iPlayerAmmo[id])
menu_additem(menu, "Взять \yАммо \r[+50]", "6")
else
menu_additem(menu, "\dВзять Аммо [+50]", "6")
menu_additem(menu, "Управление AMXMODMENU", "7")
}
else
{
menu_additem(menu, "\dСделать зомби", "1")
menu_additem(menu, "\dСделать Немезидой", "2")
menu_additem(menu, "\dСделать Выжившим", "3")
menu_additem(menu, "\dСделать Массовое заражение", "4")
menu_additem(menu, "\dКупить Джетпак [50 аммо]", "5")
menu_additem(menu, "\dВзять Аммо [+50]", "6")
menu_additem(menu, "\dУправление AMXMODMENU^n^n\yВы не \rАдмин\y!^n\wДля покупки пишите в \rSkype: \ydandyzp ^n\wили в \rВК\w: \yvk.com/zombieplay", "7")
}
menu_setprop(menu, MPROP_EXITNAME , "Выход")
menu_setprop(menu, MPROP_EXIT , MEXIT_ALL)
menu_display(id , menu, 0)
}

public Handler_AdminMenu(id , menu, items)
{
if(items == MENU_EXIT)
{
menu_destroy(menu)
return;
}
if(!(get_user_flags(id) & ADMIN_RESERVATION))
{
PrintChatColor(id, "!g[ZP] !yУ Вас нет прав на использование !gАдмин меню!y!")
Show_AdminMenu(id)
return;
}

new pData[6], pName[64], pAccess, pCallback, pName2[32]
menu_item_getinfo(menu , items , pAccess , pData , charsmax(pData) , pName , charsmax(pName) , pCallback)
get_user_name(id, pName2, charsmax(pName2))
new pKey = str_to_num(pData)

switch(pKey)
{
case 1:
{
if(zp_has_round_started())
{
PrintChatColor(id, "!g[ZP] !yДелать себя !gзомби !yможно только в начале раунда!")
Show_AdminMenu(id)
return;
}
client_cmd(id, "zp_zombie %s", pName2)
PrintChatColor(id, "!g[ZP] !yТы сделал себя !gзомби!y!")
Show_AdminMenu(id)
}
case 2:
{
if(zp_has_round_started())
{
PrintChatColor(id, "!g[ZP] !yДелать себя !gнемезидой !yможно только в начале раунда!")
Show_AdminMenu(id)
return;
}
client_cmd(id, "zp_nemesis %s", pName2)
PrintChatColor(id, "!g[ZP] !yТы сделал себя !gнемезидой!y!")
Show_AdminMenu(id)
}
case 3:
{
if(zp_has_round_started())
{
PrintChatColor(id, "!g[ZP] !yДелать себя !gвыжившим !yможно только в начале раунда!")
Show_AdminMenu(id)
return;
}
client_cmd(id, "zp_survivor %s", pName2)
PrintChatColor(id, "!g[ZP] !yТы сделал себя !gвыжившим!y!")
Show_AdminMenu(id)
}
case 4:
{
if(zp_has_round_started())
{
PrintChatColor(id, "!g[ZP] !yДелать !gмассовое заражение !yможно только в начале раунда!")
Show_AdminMenu(id)
return;
}
client_cmd(id, "zp_multi")
PrintChatColor(id, "!g[ZP] !yТы сделал !gмассовое заражение!y!")
Show_AdminMenu(id)
}
case 5:
{
if(zp_get_user_ammo_packs(id) <50)
{
PrintChatColor(id, "!g[ZP] !yНедостаточно Аммо для покупки !gДжетпака!y!")
Show_VipMenu(id)
return;
}
if(zp_get_user_zombie(id))
{
PrintChatColor(id, "!g[ZP] !yЗомби не могут покупать !gДжетпак!y!")
Show_VipMenu(id)
return;
}
zp_set_user_ammo_packs(id , zp_get_user_ammo_packs(id) - 50)
give_jet_pack(id)
Show_AdminMenu(id)
}
case 6:
{
if(g_iPlayerAmmo[id])
{
PrintChatColor(id, "!g[ZP] !yНа этой карте ты уже брал !gАммо!y!")
Show_AdminMenu(id)
return;
}
zp_set_user_ammo_packs(id , zp_get_user_ammo_packs(id) + 50)
PrintChatColor(id, "!g[ZP] !yТы взял !gАммо!y!")
g_iPlayerAmmo[id] = true
Show_AdminMenu(id)
}
case 7:
{
client_cmd(id , "amxmodmenu")
menu_destroy(menu)
return
}
}
menu_destroy(menu)
}

public Show_VipMenu(id)
{
if(zp_get_user_survivor(id) || zp_get_user_nemesis(id))
{
PrintChatColor(id, "!g[ZP] !yВыживший и Немезида не могут использовать !gВип меню!y!")
return;
}

new menu = menu_create("Вип меню", "Handler_VipMenu")
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
if(zp_get_user_ammo_packs(id)>= 50 && !zp_get_user_zombie(id))
menu_additem(menu, "Купить Джетпак \y[50 аммо]", "1")
else
menu_additem(menu, "\dКупить Джетпак [50 аммо]", "1")
if(!g_iPlayerAmmo[id])
menu_additem(menu, "Взять \yАммо \r[+50]", "2")
else
menu_additem(menu, "\dВзять Аммо [+50]", "2")
if(g_iPlayerHealth[id] <= 0)
menu_additem(menu, "Взять \yЖизни \r[+100]", "3")
else
menu_additem(menu, "\dВзять Жизни [+100]", "3")
if(g_iPlayerArmor[id] <= 0)
menu_additem(menu, "Взять \yБроню \r[+200]", "4")
else
menu_additem(menu, "\dВзять Броню [+200]", "4")
}
else
{
menu_additem(menu, "\dКупить Джетпак [50 аммо]", "1")
menu_additem(menu, "\dВзять Аммо [+50]", "2")
menu_additem(menu, "\dВзять Жизни [+100]", "3")
menu_additem(menu, "\dВзять Броню [+200]^n^n\yВы не \rВип\y!^n\wДля покупки пишите в \rSkype: \ydandyzp ^n\wили в \rВК\w: \yvk.com/zombieplay", "4")
}
menu_setprop(menu, MPROP_EXITNAME , "Выход")
menu_setprop(menu, MPROP_EXIT , MEXIT_ALL)
menu_display(id , menu, 0)
}

public Handler_VipMenu(id , menu, items)
{
if(items == MENU_EXIT)
{
menu_destroy(menu)
return;
}
if(!(get_user_flags(id) & ADMIN_LEVEL_H))
{
PrintChatColor(id, "!g[ZP] !yУ Вас нет прав на использование !gВип меню!y!")
Show_VipMenu(id)
return;
}

new pData[6], pName[64], pAccess, pCallback, pName2[32]
menu_item_getinfo(menu , items , pAccess , pData , charsmax(pData) , pName , charsmax(pName) , pCallback)
get_user_name(id, pName2, charsmax(pName2))
new pKey = str_to_num(pData)

switch(pKey)
{
case 1:
{
if(zp_get_user_ammo_packs(id) <50)
{
PrintChatColor(id, "!g[ZP] !yНедостаточно Аммо для покупки !gджетпака!y!")
Show_VipMenu(id)
return;
}
if(zp_get_user_zombie(id))
{
PrintChatColor(id, "!g[ZP] !yЗомби не могут покупать !gджетпак!y!")
Show_VipMenu(id)
return;
}
zp_set_user_ammo_packs(id , zp_get_user_ammo_packs(id) - 50)
give_jet_pack(id)
Show_VipMenu(id)
}
case 2:
{
if(g_iPlayerAmmo[id])
{
PrintChatColor(id, "!g[ZP] !yНа этой карте ты уже брал !gАммо!y!")
Show_VipMenu(id)
return;
}
zp_set_user_ammo_packs(id , zp_get_user_ammo_packs(id) + 50)
PrintChatColor(id, "!g[ZP] !yТы взял !gАммо!y!")
g_iPlayerAmmo[id] = true
Show_VipMenu(id)
}
case 3:
{
if(g_iPlayerHealth[id] > 0)
{
PrintChatColor(id, "!g[ZP] !yБрать !gжизни !yможно 1 раз в 2 раунда!")
Show_VipMenu(id)
return;
}
PrintChatColor(id, "!g[ZP] !yТы взял !gжизни!y!")
g_iPlayerHealth[id] = 2
fm_set_user_health(id, fm_get_user_health(id) + 100)
Show_VipMenu(id)
}
case 4:
{
if(g_iPlayerArmor[id] > 0)
{
PrintChatColor(id, "!g[ZP] !yБрать !gброню !yможно 1 раз в 2 раунда!")
Show_VipMenu(id)
return;
}
PrintChatColor(id, "!g[ZP] !yТы взял !gброню!y!")
g_iPlayerArmor[id] = 2
set_pev(id, pev_armorvalue, 200.0);
Show_VipMenu(id)
}
}
menu_destroy(menu)
}

stock fm_get_user_health(id)
{
return pev(id, pev_health)
}

stock PrintChatColor(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();
}
}
}
}



Отредактировал: DANDY, - 11.4.2016, 22:16
Прикрепленные файлы:
Прикрепленный файл  vip_menu_admin_menu.rar ( 2,24 килобайт ) Кол-во скачиваний: 126
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Podarok
сообщение 11.4.2016, 22:43
Сообщение #2
Стаж: 14 лет

Сообщений: 47
Благодарностей: 3
Полезность: 51

Напиши в скайп - leoalex777
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: