- register_native("CoinsMenu","native_CoinsMenu",1)
I have converted this Plugin To Zombie Escape V1.4
Description:
This Plugins Only For Admins Access "ADMIN_PASSWORD (k)"
Instructions:
- You Can Use /ecmenu OR ecmenu in console
- Or You Can Use the Native
- #include <zombie_escape>
- #include <colorchat>
- enum _:PlayerData
- {
- g_szName[32],
- g_szSteamID[32],
- g_iOption,
- g_iPlayer,
- g_iChoosen
- }
- new g_PlayerInfo[33][PlayerData] /* [0 - 32], [0 - 4]*/
- new const g_szCoinsMenuItems[][] =
- {
- "\yGive Coins",
- "\yTake Coins",
- "\ySet Coins^n",
- "\yReload Coins"
- }
- public plugin_init()
- {
- register_plugin("Admin Menu", "1.0", "Luxurious")
- register_concmd("say /ecmenu", "CoinsMenu", ADMIN_PASSWORD)
- register_concmd("ecmenu", "CoinsMenu", ADMIN_PASSWORD)
- register_concmd("ENTER_Coins_NUMBER", "CoinsEntered")
- register_concmd("ENTER_Coins_Reset", "CoinsReset")
- }
- public client_authorized(id)
- {
- get_user_name(id, g_PlayerInfo[id][g_szName], charsmax(g_PlayerInfo[][g_szName]))
- get_user_authid(id, g_PlayerInfo[id][g_szSteamID], charsmax(g_PlayerInfo[][g_szSteamID]))
- }
- public plugin_natives()
- {
- register_native("CoinsMenu","native_CoinsMenu",1)
- }
- public native_CoinsMenu(id)
- {
- CoinsMenu(id)
- }
- public CoinsMenu(id)
- {
- new iMenuID = menu_create("\rCoins Menu \w:", "CoinsMenuHandle")
- for(new i=0; i<sizeof(g_szCoinsMenuItems); i++) menu_additem(iMenuID, g_szCoinsMenuItems[i])
- menu_display(id, iMenuID)
- }
- public CoinsMenuHandle(id, iMenuID, iItem)
- {
- switch(iItem)
- {
- case 0, 1, 2:
- {
- g_PlayerInfo[id][g_iOption] = iItem+1
- ChooseCoinsPlayer(id)
- }
- case 3:
- {
- client_cmd(id, "messagemode ENTER_COINS_Reset")
- }
- }
- menu_destroy(iMenuID)
- return 0
- }
- public ChooseCoinsPlayer(id)
- {
- new szItem[64], szName[33], iMenuID = menu_create("\rChoose Target \w:", "ChooseCoinsPlayerHandle")
- for(new i=0, n=0; i<=32; i++)
- {
- if(!is_user_connected(i)) continue
- g_PlayerInfo[n++][g_iPlayer] = i
- get_user_name(i, szName, charsmax(szName))
- formatex(szItem, charsmax(szItem), "\y%s - \d[\r%d\d]", szName, ze_get_escape_coins(i))
- menu_additem(iMenuID, szItem, "0", 0)
- }
- menu_display(id, iMenuID)
- }
- public ChooseCoinsPlayerHandle(id, iMenuID, iItem)
- {
- if (!is_user_connected(id))
- return 1
- if ((!(iItem >= 0 && iItem <= 32)) || (!(g_iChoosen >= 0 && iItem <= 4)) ||
- (!(g_iPlayer >= 0 && g_iPlayer <= 4)))
- {
- return 1
- }
- g_PlayerInfo[id][g_iChoosen] = g_PlayerInfo[iItem][g_iPlayer]
- if(!is_user_connected(g_PlayerInfo[id][g_iChoosen]))
- {
- ColorChat(id, TEAM_COLOR, "^4[Admin Menu] ^1Target Not Founded In The Server.")
- return 1
- }
- client_cmd(id, "messagemode ENTER_Coins_NUMBER")
- menu_destroy(iMenuID)
- return 0
- }
- public CoinsEntered(id)
- {
- new szNumber[32], iNumber, g_aName[33]
- get_user_name(id, g_aName, 32)
- read_argv(1, szNumber, charsmax(szNumber))
- iNumber = str_to_num(szNumber)
- if(!iNumber) return 1
- if(!is_user_connected(g_PlayerInfo[id][g_iChoosen]))
- {
- ColorChat(id, TEAM_COLOR, "^4[Admin Menu] ^1Target Not Founded In The Server.")
- return 1
- }
- switch(g_PlayerInfo[id][g_iOption])
- {
- case 1:
- {
- ze_set_escape_coins(g_PlayerInfo[id][g_iChoosen], ze_get_escape_coins(g_PlayerInfo[id][g_iChoosen]) + iNumber)
- ColorChat(0, TEAM_COLOR, "^4[Admin Menu] ^1Admin ^3%s ^1have Gaved ^4%i ^1Escape Coins To ^3%s.", g_aName, iNumber, g_PlayerInfo[g_PlayerInfo[id][g_iChoosen]][g_szName])
- ze_log("ADMIN %s Gaved %i Coins To %s", g_aName, iNumber, g_PlayerInfo[g_PlayerInfo[id][g_iChoosen]][g_szName])
- }
- case 2:
- {
- ze_set_escape_coins(g_PlayerInfo[id][g_iChoosen], ze_get_escape_coins(g_PlayerInfo[id][g_iChoosen]) - iNumber)
- ColorChat(0, TEAM_COLOR, "^4[Admin Menu] ^1Admin ^3%s ^1have Taked ^4%i ^1Escape Coins From ^3%s.", g_aName, iNumber, g_PlayerInfo[g_PlayerInfo[id][g_iChoosen]][g_szName])
- ze_log("ADMIN %s Taked %i Coins From %s", g_aName, iNumber, g_PlayerInfo[g_PlayerInfo[id][g_iChoosen]][g_szName])
- }
- case 3:
- {
- ze_set_escape_coins(g_PlayerInfo[id][g_iChoosen], iNumber)
- ColorChat(0, TEAM_COLOR, "^4[Admin Menu] ^1Admin ^3%s ^1have Set Coins Of ^3%s ^1To ^4%i ^1Escape Coins.", g_aName, g_PlayerInfo[g_PlayerInfo[id][g_iChoosen]][g_szName], iNumber)
- ze_log("ADMIN %s Have Set Coins Of %s To %i", g_aName, g_PlayerInfo[g_PlayerInfo[id][g_iChoosen]][g_szName], iNumber)
- }
- }
- return 0
- }
- public CoinsReset(id)
- {
- new szNumber[32], iNumber, g_aName[33]
- get_user_name(id, g_aName, 32)
- read_argv(1, szNumber, charsmax(szNumber))
- iNumber = str_to_num(szNumber)
- if(!iNumber) return 1
- new iPlayers[32], iPlayerCount, i, player
- get_players(iPlayers, iPlayerCount, "a")
- for(i = 0; i < iPlayerCount; i++)
- {
- player = iPlayers[i]
- if(ze_get_escape_coins(player) >= iNumber)
- continue
- ze_set_escape_coins(player, iNumber)
- }
- ColorChat(0, TEAM_COLOR, "^4[Admin Menu] ^1Admin ^3%s ^1have Reset Coins To ^3^%i ^4Escape Coins.", g_aName, iNumber)
- ze_log("ADMIN %s Have Set Coins To %i Escape Coins", g_aName, iNumber)
- return 0
- }
- stock ze_log(const message_fmt[], any:...)
- {
- static message[256], filename[32]
- vformat(message, charsmax(message), message_fmt, 2)
- formatex(filename, charsmax(filename), "ze_Adminmenu.log")
- log_to_file(filename, "%s", message)
- }