Ola Rapaziada Hoje estou aki pedindo ajuda pra voces arrumarei algumas sma's pra min !!
Entao vamo la Primeiro e botando limite de compras nesse plugin da vida extra..
:
Segundo plugin essa da bomba de anti. se alguem puder dexa ela igual da bomba de infecçao
Tipo a bomba de anti e bugada . tipo eu vo la e compro todas as bombas de anti derrepente um outro player vai la
e pode compra mais ai fica foda
Última edição por Systemplayer em 10/12/2013, 6:25 pm, editado 2 vez(es)
Entao vamo la Primeiro e botando limite de compras nesse plugin da vida extra..
Código:
#include <amxmodx>
#include < fun >
#include <zombieplague>
#include <cstrike>
new const item_name[] = "Vida extra"
new g_itemid_buyhp
new hpamount_z, hpamount_h
new g_fire
new const heal_effect[] = "cso/zm_heal.wav"
new const human_buy[] = "cso/hm_heal.wav"
public plugin_precache()
{
g_fire = precache_model("sprites/cso_heal.spr")
precache_sound(heal_effect)
precache_sound(human_buy)
}
public plugin_init()
{
register_plugin("Vida extra", "1.0", "Extra Vida")
hpamount_z = register_cvar("zp_buyhp_zombie", "1000")
hpamount_h = register_cvar("zp_buyhp_human", "350")
g_itemid_buyhp = zp_register_extra_item(item_name,20, ZP_TEAM_HUMAN & ZP_TEAM_ZOMBIE)
}
public onHealth()
{
new victim=read_data(2)
new CsTeams:team=cs_get_user_team(victim)
if(team==CS_TEAM_T)
{
set_task(3.0,"fire",victim)
}
}
fire_zombie(origin[3])
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(TE_SPRITE)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2]+=30)
write_short(g_fire)
write_byte(8)
write_byte(255)
message_end()
}
public fire(victim)
{
new origin[3]
get_user_origin(victim,origin)
fire_zombie(origin)
}
public zp_extra_item_selected(id,itemid)
{
if (!is_user_alive(id))
return PLUGIN_HANDLED;
if (itemid==g_itemid_buyhp)
{
if (zp_get_user_ammo_packs(id) < 5)
{
client_print(id, print_chat,"[ZP] Voce nao tem Ammo Packs Suficiente !!");
return PLUGIN_HANDLED;
}
if (zp_get_user_zombie(id))
{
set_user_health(id,get_user_health(id)+get_pcvar_num(hpamount_z));
client_print(id, print_chat,"[ZP] Voce comprou 1.000 de HP !");
emit_sound(id, CHAN_ITEM, heal_effect, 0.6, ATTN_NORM, 0, PITCH_NORM)
fire(id);
}
if (!zp_get_user_zombie(id))
{
set_user_health(id,get_user_health(id)+get_pcvar_num(hpamount_h));
client_print(id, print_chat,"[ZP] Voce comprou 350 de HP !");
emit_sound(id, CHAN_ITEM, human_buy, 0.6, ATTN_NORM, 0, PITCH_NORM)
}
}
return PLUGIN_CONTINUE;
}
:
Segundo plugin essa da bomba de anti. se alguem puder dexa ela igual da bomba de infecçao
Tipo a bomba de anti e bugada . tipo eu vo la e compro todas as bombas de anti derrepente um outro player vai la
e pode compra mais ai fica foda
Código:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <zombieplague>
#include <hamsandwich>
#include <fakemeta_util>
#define PLUGIN "Nowy Plugin"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"
new const NADE_TYPE_ANTIDOTEBOMB = 6969
new const Float:RADIUS = 240.0
new const sprite_grenade_trail[] = "sprites/laserbeam.spr"
new const sprite_grenade_ring[] = "sprites/shockwave.spr"
new const item_cost = 70
new const item_name[] = "Bomba antidoto"
new const model_grenade_infect[] = "models/zombie_plague/v_grenade_infect.mdl"
new item_id
new has_bomb[33]
new cvar_enabled, cvar_fragsinfect, cvar_ammoinfect, cvar_humanbonushp, cvar_flaregrenades
new g_trailSpr, g_exploSpr, g_msgScoreInfo, g_msgDeathMsg, g_msgScoreAttrib
new bought_limit[33], cvar_limit_bought
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Think, "grenade", "fw_ThinkGrenade")
RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
register_forward(FM_SetModel, "fw_SetModel")
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
register_message(get_user_msgid("CurWeapon"), "message_cur_weapon")
cvar_enabled = register_cvar("zp_antidote_bomb","1")
cvar_fragsinfect = get_cvar_pointer("zp_zombie_frags_for_infect")
cvar_ammoinfect = get_cvar_pointer("zp_zombie_infect_reward")
cvar_humanbonushp = register_cvar("zp_antidote_bomb_extra_hp","50")
cvar_flaregrenades = get_cvar_pointer("zp_flare_grenades")
cvar_limit_bought = register_cvar("zp_antidote_bomb_limit", "3")
g_msgScoreInfo = get_user_msgid("ScoreInfo")
g_msgDeathMsg = get_user_msgid("DeathMsg")
g_msgScoreAttrib = get_user_msgid("ScoreAttrib")
}
public event_round_start()
{
for(new id = 1; id <= get_maxplayers(); id++)
{
bought_limit[id] = 0
}
}
public plugin_precache()
{
g_trailSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_trail)
g_exploSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_ring)
engfunc(EngFunc_PrecacheModel, model_grenade_infect)
item_id = zp_register_extra_item(item_name,item_cost,ZP_TEAM_HUMAN)
}
public client_disconnect(id)
{
has_bomb[id] = 0
}
public zp_extra_item_selected(player, itemid)
{
if(itemid == item_id)
{
if(bought_limit[player] >= get_pcvar_num(cvar_limit_bought))
{
client_print(player, print_chat, "[ZP] Ja tacaram muitas bombas antidotos e nao podera atacar mais ")
zp_set_user_ammo_packs(player, zp_get_user_ammo_packs(player) + item_cost)
return;
}
else
{
has_bomb[player] = 1
bought_limit[player]++
fm_strip_user_gun(player,9)
fm_give_item(player,"weapon_smokegrenade")
}
}
}
public fw_PlayerKilled(victim, attacker, shouldgib)
{
has_bomb[victim] = 0
}
public fw_ThinkGrenade(entity)
{
static Float:dmgtime
pev(entity, pev_dmgtime, dmgtime)
if (dmgtime > get_gametime())
return HAM_IGNORED
if(pev(entity, pev_flTimeStepSound) == NADE_TYPE_ANTIDOTEBOMB)
antidote_explode(entity)
return HAM_SUPERCEDE
}
public fw_SetModel(entity, const model[])
{
if(!get_pcvar_num(cvar_enabled))
return
static Float:dmgtime
pev(entity, pev_dmgtime, dmgtime)
if (dmgtime == 0.0)
return
if (equal(model[7], "w_sm", 4))
{
new owner = pev(entity, pev_owner)
if(!zp_get_user_zombie(owner) && has_bomb[owner])
{
set_pcvar_num(cvar_flaregrenades,0)
fm_set_rendering(entity, kRenderFxGlowShell, 255, 128, 0, kRenderNormal, 16)
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_BEAMFOLLOW) // TE id
write_short(entity) // entity
write_short(g_trailSpr) // sprite
write_byte(10) // life
write_byte(10) // width
write_byte(255) // r
write_byte(128) // g
write_byte(0) // b
write_byte(200) // brightness
message_end()
set_pev(entity, pev_flTimeStepSound, NADE_TYPE_ANTIDOTEBOMB)
}
}
}
public antidote_explode(ent)
{
if (!zp_has_round_started()) return
set_pcvar_num(cvar_flaregrenades,1)
static Float:originF[3]
pev(ent, pev_origin, originF)
create_blast(originF)
//engfunc(EngFunc_EmitSound, ent, CHAN_WEAPON, grenade_infect[random_num(0, sizeof grenade_infect - 1)], 1.0, ATTN_NORM, 0, PITCH_NORM)
static attacker
attacker = pev(ent, pev_owner)
has_bomb[attacker] = 0
static victim
victim = -1
while ((victim = engfunc(EngFunc_FindEntityInSphere, victim, originF, RADIUS)) != 0)
{
if (!is_user_alive(victim) || !zp_get_user_zombie(victim) || zp_get_user_nemesis(victim) || zp_get_user_first_zombie(victim) || zp_get_user_last_zombie(victim))
continue
SendDeathMsg(attacker, victim)
FixDeadAttrib(victim)
UpdateFrags(attacker, victim, get_pcvar_num(cvar_fragsinfect), 1, 1)
zp_disinfect_user(victim)
zp_set_user_ammo_packs(attacker,zp_get_user_ammo_packs(attacker) + get_pcvar_num(cvar_ammoinfect))
fm_set_user_health(attacker, pev(attacker, pev_health)+get_pcvar_num(cvar_humanbonushp))
}
engfunc(EngFunc_RemoveEntity, ent)
}
public create_blast(const Float:originF[3])
{
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
write_byte(TE_BEAMCYLINDER) // TE id
engfunc(EngFunc_WriteCoord, originF[0]) // x
engfunc(EngFunc_WriteCoord, originF[1]) // y
engfunc(EngFunc_WriteCoord, originF[2]) // z
engfunc(EngFunc_WriteCoord, originF[0]) // x axis
engfunc(EngFunc_WriteCoord, originF[1]) // y axis
engfunc(EngFunc_WriteCoord, originF[2]+385.0) // z axis
write_short(g_exploSpr) // sprite
write_byte(0) // startframe
write_byte(0) // framerate
write_byte(4) // life
write_byte(60) // width
write_byte(0) // noise
write_byte(255) // red
write_byte(128) // green
write_byte(0) // blue
write_byte(200) // brightness
write_byte(0) // speed
message_end()
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
write_byte(TE_BEAMCYLINDER) // TE id
engfunc(EngFunc_WriteCoord, originF[0]) // x
engfunc(EngFunc_WriteCoord, originF[1]) // y
engfunc(EngFunc_WriteCoord, originF[2]) // z
engfunc(EngFunc_WriteCoord, originF[0]) // x axis
engfunc(EngFunc_WriteCoord, originF[1]) // y axis
engfunc(EngFunc_WriteCoord, originF[2]+470.0) // z axis
write_short(g_exploSpr) // sprite
write_byte(0) // startframe
write_byte(0) // framerate
write_byte(4) // life
write_byte(60) // width
write_byte(0) // noise
write_byte(255) // red
write_byte(164) // green
write_byte(0) // blue
write_byte(200) // brightness
write_byte(0) // speed
message_end()
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
write_byte(TE_BEAMCYLINDER) // TE id
engfunc(EngFunc_WriteCoord, originF[0]) // x
engfunc(EngFunc_WriteCoord, originF[1]) // y
engfunc(EngFunc_WriteCoord, originF[2]) // z
engfunc(EngFunc_WriteCoord, originF[0]) // x axis
engfunc(EngFunc_WriteCoord, originF[1]) // y axis
engfunc(EngFunc_WriteCoord, originF[2]+555.0) // z axis
write_short(g_exploSpr) // sprite
write_byte(0) // startframe
write_byte(0) // framerate
write_byte(4) // life
write_byte(60) // width
write_byte(0) // noise
write_byte(255) // red
write_byte(200) // green
write_byte(0) // blue
write_byte(200) // brightness
write_byte(0) // speed
message_end()
}
public UpdateFrags(attacker, victim, frags, deaths, scoreboard)
{
set_pev(attacker, pev_frags, float(pev(attacker, pev_frags) + frags))
fm_set_user_deaths(victim, fm_get_user_deaths(victim) + deaths)
if (scoreboard)
{
message_begin(MSG_BROADCAST, g_msgScoreInfo)
write_byte(attacker) // id
write_short(pev(attacker, pev_frags)) // frags
write_short(fm_get_user_deaths(attacker)) // deaths
write_short(0) // class?
write_short(fm_get_user_team(attacker)) // team
message_end()
message_begin(MSG_BROADCAST, g_msgScoreInfo)
write_byte(victim) // id
write_short(pev(victim, pev_frags)) // frags
write_short(fm_get_user_deaths(victim)) // deaths
write_short(0) // class?
write_short(fm_get_user_team(victim)) // team
message_end()
}
}
stock fm_set_user_deaths(id, value)
{
set_pdata_int(id, 444, value, 5)
}
stock fm_get_user_deaths(id)
{
return get_pdata_int(id, 444, 5)
}
stock fm_get_user_team(id)
{
return get_pdata_int(id, 114, 5)
}
public SendDeathMsg(attacker, victim)
{
message_begin(MSG_BROADCAST, g_msgDeathMsg)
write_byte(attacker) // killer
write_byte(victim) // victim
write_byte(1) // headshot flag
write_string("grenade") // killer's weapon
message_end()
}
public FixDeadAttrib(id)
{
message_begin(MSG_BROADCAST, g_msgScoreAttrib)
write_byte(id) // id
write_byte(0) // attrib
message_end()
}
public replace_models(id)
{
if (!is_user_alive(id))
return
if(get_user_weapon(id) == CSW_SMOKEGRENADE && has_bomb[id])
{
set_pev(id, pev_viewmodel2, model_grenade_infect)
}
}
public message_cur_weapon(msg_id, msg_dest, msg_entity)
{
replace_models(msg_entity)
}
Última edição por Systemplayer em 10/12/2013, 6:25 pm, editado 2 vez(es)