Raised This Month: $ Target: $400
 0% 

cant get emitsound to work....


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
roadrage
Senior Member
Join Date: Dec 2008
Old 03-14-2009 , 06:04   cant get emitsound to work....
Reply With Quote #1

I tried to add a new sprite to snowy's plugin "kill bomb" and got it to work and also tried to add sound but it wont work. Can someone please help me fix this? Thanks

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"
// Explosion sounds
new const grenade_fire[][] = { "zombie_plague/killbomb.wav" }
new const NADE_TYPE_KILLBOMB = 7000
new const Float:RADIUS = 240.0
// Grenade sprites
new const sprite_grenade_trail[] = "sprites/laserbeam.spr"
new const sprite_grenade_ring[] = "sprites/shockwave.spr"
new const sprite_grenade_fire[] = "sprites/killbomb.spr"
new const item_cost = 40
new const item_name[] = "Kill Bomb"
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_flameSpr, g_msgDeathMsg, g_msgScoreAttrib
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_message(get_user_msgid("CurWeapon"), "message_cur_weapon")
 
 cvar_enabled = register_cvar("zp_kill_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_kill_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_PrecacheModel, sprite_grenade_trail)
 g_exploSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_ring)
 g_flameSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_fire)
 engfunc(EngFunc_PrecacheModel, model_grenade_infect)
 precache_sound("zombie_plague/killbomb.wav")
 
 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)
 {
  has_bomb[player] = 1 
  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)
{ 
 if(!pev_valid(entity))
  return HAM_IGNORED
 
 static Float:dmgtime 
 pev(entity, pev_dmgtime, dmgtime)
 
 if (dmgtime > get_gametime())
  return HAM_IGNORED 
 
 if(pev(entity, pev_flTimeStepSound) == NADE_TYPE_KILLBOMB)
  kill_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_KILLBOMB)
  }
 }
 
}
 
public kill_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) 
 
 static attacker
 attacker = pev(ent, pev_owner)
 
 has_bomb[attacker] = 0
 
 engfunc(EngFunc_EmitSound, ent, CHAN_WEAPON, grenade_fire, ATTN_NORM, 0, PITCH_NORM)
 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))
   continue
 
  SendDeathMsg(attacker, victim)
  FixDeadAttrib(victim)
  UpdateFrags(attacker, victim, get_pcvar_num(cvar_fragsinfect), 1, 1)
  user_kill(victim, 0)
  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)
 
}
// Napalm Grenade
public create_blast(const Float:originF[3])
{
 engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
 write_byte(TE_SPRITE) // TE id
 engfunc(EngFunc_WriteCoord, originF[0]) // x
 engfunc(EngFunc_WriteCoord, originF[1]) // y
 engfunc(EngFunc_WriteCoord, originF[2]+270.0) // z
 write_short(g_flameSpr) // sprite
 write_byte(40) // scale
 write_byte(200) // brightness
 message_end()
 
 // Smallest ring
 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()
 
 // Medium ring
 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()
 
 // Largest ring
 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)
}

Last edited by roadrage; 03-15-2009 at 01:49.
roadrage is offline
 



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 08:53.


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