Quote:
Originally Posted by hoboman
this plugin completely doesn't work, as I get slapped everytime I buy a single nade and I cannot see what I did wrong
|
I fix this problem. try this:
Code:
/*http://forums.alliedmods.net/showthread.php?t=67320*/
#include <amxmodx>
#include <cstrike>
// Plugin Info
new const PLUGIN[] = "No Extra Nades"
new const VERSION[] = "0.1"
new const AUTHOR[] = "forums.alliedmods.net"
new oldNades[33], grenBought[33]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("HLTV", "event_new_round", "a", "1=0", "2=0");
register_event("Money", "event_money", "be")
register_cvar("amx_themax","1")
register_cvar("amx_cthemax","1")
return PLUGIN_CONTINUE
}
public event_new_round()
{
new players[32], numPlayerCount, idxPlayer
get_players(players, numPlayerCount)
//reset the nades bought for all players to 0
for(idxPlayer = 0; idxPlayer < numPlayerCount; idxPlayer++)
{
grenBought[players[idxPlayer]] = 0
}
return PLUGIN_CONTINUE
}
public client_command(id)
{
static arg[13]
read_argv( 0, arg , 12 )
if ( equal("buy", arg) || equal("autobuy", arg) || equal("rebuy", arg) )
{
oldNades[id]=cs_get_user_bpammo(id, CSW_HEGRENADE) //get current nades before player buys something
}
return PLUGIN_CONTINUE
}
public event_money(id)
{
new team=cs_get_user_team(id)
new newNade=grenBought[id]
new moneyback
new ct_HECount_, t_HECount_
//difference of nades before money event and after the money event
grenBought[id] += ( cs_get_user_bpammo(id, CSW_HEGRENADE) - oldNades[id] )
oldNades[id] = 0
newNade = grenBought[id] - newNade
t_HECount_ = get_cvar_num("amx_themax")
ct_HECount_ = get_cvar_num("amx_cthemax")
//if a T players has bought more than x nades...
if( ( grenBought[id] > t_HECount_ ) && team==1 && newNade>0)
{
//user_slap( id, 10) // bad boy!
client_print( id ,print_chat, "You are only allowed %d HE Nades per round.", t_HECount_ )
cs_set_user_bpammo ( id, 4, 0 )
client_cmd(id, "lastinv")
moneyback=cs_get_user_money(id)+300
cs_set_user_money(id, moneyback) // get my money back!
}
//if a CT players has bought more than x nades...
if( ( grenBought[id] > ct_HECount_) && team==2 && newNade>0 )
{
//user_slap( id, 10) // bad boy!
client_print( id ,print_chat, "You are only allowed %d HE Nades per round.", ct_HECount_ )
cs_set_user_bpammo ( id, 4, 0 )
client_cmd(id, "lastinv")
moneyback=cs_get_user_money(id)+300
cs_set_user_money(id, moneyback) // get my money back!
}
newNade=0
return PLUGIN_CONTINUE
}