Code:
Code: Select all
#include <ze_vip>
#include <ze_unstuck>
native ze_open_knife_menu(id)
// Keys
const OFFSET_CSMENUCODE = 205
const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
public plugin_init()
{
register_plugin("[ZE] Main Menu", ZE_VERSION, AUTHORS)
// Commands
register_clcmd("chooseteam", "Cmd_ChooseTeam")
register_clcmd("say /zemenu", "Cmd_ChooseTeam")
register_clcmd("say_team /zemenu", "Cmd_ChooseTeam")
// Register Menus
register_menu("Main Menu", KEYSMENU, "Main_Menu")
}
public Cmd_ChooseTeam(id)
{
if (get_member(id, m_iTeam) != TEAM_SPECTATOR)
{
Show_Menu_Main(id)
return PLUGIN_HANDLED // Kill the Choose Team Command
}
// Player in Spec? Allow him to open choose team menu so he can join
return PLUGIN_CONTINUE
}
// Main Menu
public Show_Menu_Main(id)
{
static szMenu[250]
new iLen
// Title
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w[\rBraZZerS \y| \rZombie \y| \rEscape\w]^n", id, "MAIN_MENU_TITLE")
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w[\rUPDATE\w] \y==> \rWinter Special\y.^n^n", id, "MAIN_MENU_TITLE")
// 1. Buy Weapons
if (is_user_alive(id))
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w[\r1\w].\y %L^n", id, "MENU_WEAPONBUY")
}
else
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[1].\y %L^n", id, "MENU_WEAPONBUY")
}
// 2. Extra Items
if (is_user_alive(id))
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w[\r2\w].\y %L^n", id, "MENU_EXTRABUY")
}
else
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[2].\y %L^n", id, "MENU_EXTRABUY")
}
// 3. Unstuck
if (is_user_alive(id))
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w[\r3\w].\y Unstuck^n")
}
else
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[3].\y Unstuck^n")
}
// 4. Camera View
if (is_user_alive(id))
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w[\r4\w].\y Camera View^n")
}
else
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[4].\y Camera View^n")
}
// 5. Knife Menu
if (ze_get_vip_flags(id) & VIP_A)
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\w[\r5\w].\y Knife Menu \w[\rVIP\w]^n^n")
}
else
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[5].\y Knife Menu \d[\rVIP\d]^n^n")
}
// 0. Exit
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n^n\w[\r0\w].\y %L", id, "EXIT")
// Fix for AMXX custom menus
set_pdata_int(id, OFFSET_CSMENUCODE, 0)
show_menu(id, KEYSMENU, szMenu, -1, "Main Menu")
}
// Main Menu
public Main_Menu(id, key)
{
// Player disconnected?
if (!is_user_connected(id))
return PLUGIN_HANDLED
switch (key)
{
case 0: // Buy Weapons
{
client_cmd(id, "guns")
}
case 1: // Extra Items
{
if (is_user_alive(id))
{
ze_show_items_menu(id)
}
else
{
ze_colored_print(id, "%L", id, "DEAD_CANT_BUY_WEAPON")
}
}
case 2: // Unstuck
{
if (is_user_alive(id))
{
client_cmd(id, "say /unstuck")
}
else
{
ze_colored_print(id, "!tYou can't use !gUnstuck !tyourself while you are dead!y!")
}
}
case 3: // Camera View
{
client_cmd(id, "say /cam")
}
case 4:
{
if (ze_get_vip_flags(id))
ze_open_knife_menu(id)
else
ze_colored_print(id, "!gKnife menu!y, !tallowed only for !gVIPs!y!")
}
}
return PLUGIN_HANDLED
}