AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Antidone Bomb (https://forums.alliedmods.net/showthread.php?t=99157)

Mr.Noobie 08-02-2009 06:12

Antidone Bomb
 
Few days i found a bug on this plugin, it affect the gameplay the He Grenade doesn't explosion when this plugin is on. Can someone fix it for me when i on this plugin the He Grenade still can explosion.

PHP Code:

/* Plugin generated by AMXX-Studio */
#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 250.0
new const sprite_grenade_trail[] = "sprites/laserbeam.spr"
new const sprite_grenade_ring[] = "sprites/shockwave.spr"
new const item_cost 35
new const item_name[] = "Antidone Bomb"
new const model_grenade_infect[] = "models/zombie_plague/v_grenade_infect.mdl"
new item_id
new has_bomb[33]
new 
cvar_enabledcvar_fragsinfectcvar_ammoinfectcvar_humanbonushpcvar_flaregrenades
new g_trailSprg_exploSprg_msgScoreInfog_msgDeathMsgg_msgScoreAttrib
public plugin_init() 
{
 
register_plugin(PLUGINVERSIONAUTHOR)
 
 
RegisterHam(Ham_Think"grenade""fw_ThinkGrenade")
 
RegisterHam(Ham_Killed"player""fw_PlayerKilled")
 
 
register_forward(FM_SetModel"fw_SetModel"
 
 
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","10"
 
cvar_flaregrenades get_cvar_pointer("zp_flare_grenades")
 
 
g_msgScoreInfo get_user_msgid("ScoreInfo")
 
g_msgDeathMsg get_user_msgid("DeathMsg")
 
g_msgScoreAttrib get_user_msgid("ScoreAttrib")
}
public 
plugin_precache()
{
 
g_trailSpr engfunc(EngFunc_PrecacheModelsprite_grenade_trail)
 
g_exploSpr engfunc(EngFunc_PrecacheModelsprite_grenade_ring)
 
 
engfunc(EngFunc_PrecacheModelmodel_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(playeritemid)
{
 if(
itemid == item_id)
 {
  
has_bomb[player] = 
  fm_strip_user_gun
(player,9)
  
fm_give_item(player,"weapon_smokegrenade")
 }
 
}
public 
fw_PlayerKilled(victimattackershouldgib)
{
 
has_bomb[victim] = 
}
public 
fw_ThinkGrenade(entity)

 if(!
pev_valid(entity))
  return 
HAM_IGNORED
  
 
static Float:dmgtime 
 pev
(entitypev_dmgtimedmgtime)
 
 if (
dmgtime get_gametime())
  return 
HAM_IGNORED 
 
 
if(pev(entitypev_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
(entitypev_dmgtimedmgtime)
 
 if (
dmgtime == 0.0)
  return
 
 if (
equal(model[7], "w_sm"4))
 {  
  new 
owner pev(entitypev_owner)  
  
  if(!
zp_get_user_zombie(owner) && has_bomb[owner]) 
  {
   
set_pcvar_num(cvar_flaregrenades,0)   
   
   
fm_set_rendering(entitykRenderFxGlowShell2551280kRenderNormal16)
   
   
message_begin(MSG_BROADCASTSVC_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(entitypev_flTimeStepSoundNADE_TYPE_ANTIDOTEBOMB)
  }
 }
 
}

public 
antidote_explode(ent)
{
 if (!
zp_has_round_started()) return
 
 
set_pcvar_num(cvar_flaregrenades,1)
 
 static 
Float:originF[3]
 
pev(entpev_originoriginF)
 
 
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(entpev_owner)
 
 
has_bomb[attacker] = 0
 
 
static victim
 victim 
= -1
 
while ((victim engfunc(EngFunc_FindEntityInSpherevictimoriginFRADIUS)) != 0)
 {
  if (!
is_user_alive(victim) || !zp_get_user_zombie(victim) || zp_get_user_nemesis(victim) || zp_get_user_first_zombie(victim))
   continue
  
  
SendDeathMsg(attackervictim)
  
FixDeadAttrib(victim)
  
UpdateFrags(attackervictimget_pcvar_num(cvar_fragsinfect), 11)
  
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(attackerpev(attackerpev_health)+get_pcvar_num(cvar_humanbonushp))
  
 }
 
 
engfunc(EngFunc_RemoveEntityent)
}
public 
create_blast(const Float:originF[3])
{
 
engfunc(EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYoriginF0)
 
write_byte(TE_BEAMCYLINDER// TE id
 
engfunc(EngFunc_WriteCoordoriginF[0]) // x
 
engfunc(EngFunc_WriteCoordoriginF[1]) // y
 
engfunc(EngFunc_WriteCoordoriginF[2]) // z
 
engfunc(EngFunc_WriteCoordoriginF[0]) // x axis
 
engfunc(EngFunc_WriteCoordoriginF[1]) // y axis
 
engfunc(EngFunc_WriteCoordoriginF[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_MessageBeginMSG_PVSSVC_TEMPENTITYoriginF0)
 
write_byte(TE_BEAMCYLINDER// TE id
 
engfunc(EngFunc_WriteCoordoriginF[0]) // x
 
engfunc(EngFunc_WriteCoordoriginF[1]) // y
 
engfunc(EngFunc_WriteCoordoriginF[2]) // z
 
engfunc(EngFunc_WriteCoordoriginF[0]) // x axis
 
engfunc(EngFunc_WriteCoordoriginF[1]) // y axis
 
engfunc(EngFunc_WriteCoordoriginF[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_MessageBeginMSG_PVSSVC_TEMPENTITYoriginF0)
 
write_byte(TE_BEAMCYLINDER// TE id
 
engfunc(EngFunc_WriteCoordoriginF[0]) // x
 
engfunc(EngFunc_WriteCoordoriginF[1]) // y
 
engfunc(EngFunc_WriteCoordoriginF[2]) // z
 
engfunc(EngFunc_WriteCoordoriginF[0]) // x axis
 
engfunc(EngFunc_WriteCoordoriginF[1]) // y axis
 
engfunc(EngFunc_WriteCoordoriginF[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(attackervictimfragsdeathsscoreboard)
{
 
set_pev(attackerpev_fragsfloat(pev(attackerpev_frags) + frags))
 
 
fm_set_user_deaths(victimfm_get_user_deaths(victim) + deaths)
 
 if (
scoreboard)
 { 
  
message_begin(MSG_BROADCASTg_msgScoreInfo)
  
write_byte(attacker// id
  
write_short(pev(attackerpev_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_BROADCASTg_msgScoreInfo)
  
write_byte(victim// id
  
write_short(pev(victimpev_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(idvalue)
{
 
set_pdata_int(id444value5)
}
stock fm_get_user_deaths(id)
{
 return 
get_pdata_int(id4445)
}

stock fm_get_user_team(id)
{
 return 
get_pdata_int(id1145)
}
public 
SendDeathMsg(attackervictim)
{
 
message_begin(MSG_BROADCASTg_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_BROADCASTg_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(idpev_viewmodel2model_grenade_infect)
  
 }
}
public 
message_cur_weapon(msg_idmsg_destmsg_entity)
{
 
replace_models(msg_entity)



crazyeffect 08-02-2009 06:17

Re: Antidone Bomb
 
Maybe post this in the Plugins Topic? So the author can fix the plugin? :O

Mr.Noobie 08-02-2009 06:49

Re: Antidone Bomb
 
I did, no answer.

There is no threads like this it just a person post the sma only


All times are GMT -4. The time now is 18:29.

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