Raised This Month: $ Target: $400
 0% 

Help zombie plague buy mode


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
csblackangelscom
Member
Join Date: Jul 2013
Location: Romania
Old 06-22-2015 , 16:46   Re: Help zombie plague buy mode
Reply With Quote #3

Sorry, posted sma ..modification
Quote:
/*============================================ ====================================
- Cvars -

1. zp_buy_classes_delay 2 // Delay (in rounds) before the items will
be buyable again after being selected
============================================= ===================================*/

#include <amxmodx>
#include <zombie_plague_advance>

#define LOG_FILE "ZP64_extra_buy_mode.log"

#define IP_SERVER_LICENTIAT "89.40.233.177"

new g_item_survivor, g_item_sniper, g_item_nemesis, g_item_assassin, g_maxplayers, g_msgSayText

const g_item_surv_cost = 250
const g_item_sniper_cost = 200
const g_item_nem_cost = 150
const g_item_assassin_cost = 180

new g_buyable, g_endround, RoundCount, cvar_delay
new g_MsgSync

public plugin_init()
{
register_plugin("[GameLife] Extra: Buy Mode", "1.0", "GAMELIFE Team")

g_item_survivor = zp_register_extra_item("Cumpara Survivor", g_item_surv_cost, ZP_TEAM_HUMAN)
g_item_sniper = zp_register_extra_item("Cumpara Sniper", g_item_sniper_cost, ZP_TEAM_HUMAN)
g_item_nemesis = zp_register_extra_item("Cumpara Nemesis", g_item_nem_cost, ZP_TEAM_HUMAN)
g_item_assassin = zp_register_extra_item("Cumpara Assassin", g_item_assassin_cost, ZP_TEAM_HUMAN)

register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
register_logevent("logevent_round_end", 2, "1=Round_End")

g_maxplayers = get_maxplayers()
g_msgSayText = get_user_msgid("SayText")
g_MsgSync = CreateHudSyncObj()

g_buyable = true
RoundCount = 0

new IP_LICENTIAT[20];
get_user_ip(0, IP_LICENTIAT, 21, 1);

if(!equal(IP_LICENTIAT, IP_SERVER_LICENTIAT))
{
server_print("Pluginul zp64_extra_buy_mode nu ruleaza.")
pause("ade");
}
else
{
server_print("Pluginul zp64_extra_buy_mode functioneaza!")
}
}

public plugin_precache()
{
cvar_delay = register_cvar("zp_buy_classes_delay", "2")
}

public zp_extra_item_selected(id, itemid)
{
if (itemid != g_item_survivor && itemid != g_item_sniper && itemid != g_item_nemesis && itemid != g_item_assassin)
return PLUGIN_CONTINUE;

if (!g_buyable)
{
if (RoundCount == get_pcvar_num(cvar_delay))
zp_colored_print(id, "^x04[Zombie Plague]^x01 You have to wait one more round before you can buy this item")
else
zp_colored_print(id, "^x04[Zombie Plague]^x01 You have to wait %d rounds until you can buy this item", get_pcvar_num(cvar_delay) - RoundCount + 1)

return ZP_PLUGIN_HANDLED;
}

if (zp_has_round_started() == 1 || g_endround)
{
zp_colored_print(id, "^x04[Zombie Plague]^x01 This item can only be bought before the round mode starts")
return ZP_PLUGIN_HANDLED;
}

new name[32]
get_user_name(id, name, 31)

if (itemid == g_item_survivor)
{
zp_make_user_survivor(id)
zp_colored_print(0, "^x04[Zombie Plague]^x03 %s^x01 bought^x04 Survivor", name)
set_hudmessage(255, 0, 0, -1.0, 0.7, 1, 0.0, 5.0, 1.0, 1.0, -1)
ShowSyncHudMsg(0, g_MsgSync, "%s bought Survivor !!", name)
log_to_file( LOG_FILE, "%s bought .::SURVIVOR::.", name)
}
else if (itemid == g_item_sniper)
{
zp_make_user_sniper(id)
zp_colored_print(0, "^x04[Zombie Plague]^x03 %s^x01 bought^x04 Sniper", name)
set_hudmessage(255, 0, 0, -1.0, 0.7, 1, 0.0, 5.0, 1.0, 1.0, -1)
ShowSyncHudMsg(0, g_MsgSync, "%s bought Sniper !!", name)
log_to_file( LOG_FILE, "%s bought .::SNIPER::.", name)
}
else if (itemid == g_item_nemesis)
{
zp_make_user_nemesis(id)
zp_colored_print(0, "^x04[Zombie Plague]^x03 %s^x01 bought^x04 Nemesis", name)
set_hudmessage(255, 0, 0, -1.0, 0.7, 1, 0.0, 5.0, 1.0, 1.0, -1)
ShowSyncHudMsg(0, g_MsgSync, "%s bought Nemesis !!", name)
log_to_file( LOG_FILE, "%s bought .::NEMESIS::.", name)
}
else if (itemid == g_item_assassin)
{
zp_make_user_assassin(id)
zp_colored_print(0, "^x04[Zombie Plague]^x03 %s^x01 bought^x04 Assassin", name)
set_hudmessage(255, 0, 0, -1.0, 0.7, 1, 0.0, 5.0, 1.0, 1.0, -1)
ShowSyncHudMsg(0, g_MsgSync, "%s bought Assassin !!", name)
log_to_file( LOG_FILE, "%s bought .::ASSASSIN::.", name)
}

g_buyable = false

return PLUGIN_CONTINUE;
}

public event_round_start()
g_endround = false

public logevent_round_end()
{
g_endround = true

if (g_buyable)
return;

if (RoundCount < get_pcvar_num(cvar_delay))
RoundCount++
else if (RoundCount >= get_pcvar_num(cvar_delay))
{
g_buyable = true
RoundCount = 0
}
}

// Colored chat print by MeRcyLeZZ
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()
}
}

Last edited by csblackangelscom; 06-22-2015 at 16:46. Reason: sma
csblackangelscom is offline
Send a message via Yahoo to csblackangelscom Send a message via Skype™ to csblackangelscom
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 02:51.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode