Senior Member
Join Date: Apr 2014
Location: somewhere in universe
|
![Old](images/statusicon/post_old.svg)
10-08-2014
, 07:38
Re: [Help] Add limit each player 1 item per map
|
#3
|
Quote:
Originally Posted by zmd94
Just try below:
PHP Code:
#include <amxmodx> #include <fakemeta> #include <cstrike> #include <zombie_plague_advance>
#define PLUGIN "[ZP] Pack Assasin,Survivor,Nemesis,Sniper" #define VERSION "2.1" #define AUTHOR "Ghost95V"
#define ZP_TEAM_HUMAN (1<<1) new const g_item_nem_name[] = "Buy Nemesis" new const g_item_sur_name[] = "Buy Survivor" new const g_costnemesis = 140 new const g_costsurvivor = 200
new g_maxplayers, g_msgSayText new g_nemesis, g_survivor new g_endround new has_nemesis[33], has_survivor[33]
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("HLTV", "event_round_start", "a", "1=0", "2=0") register_logevent("logevent_round_end", 2, "1=Round_End") g_nemesis = zp_register_extra_item(g_item_nem_name, g_costnemesis, ZP_TEAM_HUMAN) g_survivor = zp_register_extra_item(g_item_sur_name, g_costsurvivor, ZP_TEAM_HUMAN)
g_maxplayers = get_maxplayers() g_msgSayText = get_user_msgid("SayText") }
public zp_extra_item_selected(player, itemid) { if (zp_has_round_started() == 1 || g_endround) { zp_colored_print(player, "^x04[ZP]^x01 This item can only be bought before the round mode starts") return ZP_PLUGIN_HANDLED; } new name[32] get_user_name(player, name, charsmax(name))
if(itemid == g_nemesis) { if (has_nemesis[id]) { zp_colored_print(player, "^x04[ZP]^x01 You only can^x04 buy this item^x01 once for a map") return ZP_PLUGIN_HANDLED; } zp_make_user_nemesis(player) zp_colored_print(0, "^x04[StreetZM]^x03 %s^x01 has bought ^x04 Nemesis", name) has_nemesis[id] = true } else if(itemid == g_survivor) { if (has_survivor[id]) { zp_colored_print(player, "^x04[ZP]^x01 You only can^x04 buy this item^x01 once for a map") return ZP_PLUGIN_HANDLED; } zp_make_user_survivor(player) zp_colored_print(0, "^x04[StreetZM]^x03 %s^x01 has bought ^x04 Survivor", name)
has_survivor[id] = true } return PLUGIN_CONTINUE }
public event_round_start() g_endround = false
public logevent_round_end() g_endround = true zp_colored_print(target, const message[], any:...) { static buffer[512], i, argscount argscount = numargs() // Send to everyone if (!target) { static player for (player = 1; player <= g_maxplayers; player++) { // Not connected if (!is_user_connected(player)) continue; // Remember changed arguments static changed[5], changedcount // [5] = max LANG_PLAYER occurencies changedcount = 0 // Replace LANG_PLAYER with player id for (i = 2; i < argscount; i++) { if (getarg(i) == LANG_PLAYER) { setarg(i, 0, player) changed[changedcount] = i changedcount++ } } // Format message for player vformat(buffer, charsmax(buffer), message, 3) // Send it message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, player) write_byte(player) write_string(buffer) message_end() // Replace back player id's with LANG_PLAYER for (i = 0; i < changedcount; i++) setarg(changed[i], 0, LANG_PLAYER) } } // Send to specific target else { // Format message for player vformat(buffer, charsmax(buffer), message, 3) // Send it message_begin(MSG_ONE, g_msgSayText, _, target) write_byte(target) write_string(buffer) message_end() } }
|
thank you ![Smile](images/smilies/smile.gif) .... but , this is for each player ? or blocks buy for all player, if 1 player has already bought that item in that map. ( i wana to make, for that player, that has bought 1 time , that item in map , hee will cant buy again)
__________________
Last edited by ghost95v; 10-08-2014 at 07:41.
|
|