Re: [ZE] Admin Coins Menu
Posted: 29 Jul 2019, 13:32
@Luxurious, idk why he facing that problem, working fine
Zombie Escape Mod for Counter-Strike 1.6
https://escapers-zone.net/
updated !Raheem wrote: ↑4 years ago You can use client_print_color() as @tmv said because our Mod works only on AMXMODX 1.9
@tmv, try this:
#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) }
Read the following message.Raheem wrote: ↑4 years ago You can use client_print_color() as @tmv said because our Mod works only on AMXMODX 1.9
@tmv, try this:
#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) }
can fix it, i click on set and add coins nothing happenes not give coinslizoumapper wrote: ↑4 years ago if you use AMX Mod X v1.9.0
i edit for AMX Mod X v1.9.0
now work without include ColorChat
#include <zombie_escape> enum _:PlayerData { g_szName[32], g_szSteamID[32], g_iOption, g_iPlayer, g_iChoosen } new g_PlayerInfo[33][PlayerData] /* [0 - 32], [0 - 4]*/ // Prefix new Prefix[] = "^4[ZE]^1" 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])) { client_print_color(id, print_chat, "%s Target Not Founded In The Server.", Prefix) 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])) { client_print_color(id, print_chat, "%s Target Not Founded In The Server.", Prefix) 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) client_print_color(id, print_chat, "%s Admin ^3%s ^1have Gaved ^4%i ^1Escape Coins To ^3%s.", Prefix, 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) client_print_color(id, print_chat, "%s Admin ^3%s ^1have Taked ^4%i ^1Escape Coins From ^3%s.", Prefix, 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) client_print_color(id, print_chat, "%s Admin ^3%s ^1have Set Coins Of ^3%s ^1To ^4%i ^1Escape Coins.", Prefix, 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) } client_print_color(id, print_chat, "%s Admin ^3%s ^1have Reset Coins To ^3^%i ^4Escape Coins.", Prefix, 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) }