AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   cant get emitsound to work.... (https://forums.alliedmods.net/showthread.php?t=87595)

roadrage 03-14-2009 06:04

cant get emitsound to work....
 
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)
}


iNspiratioN 03-14-2009 06:22

Re: Sound not working..need help
 
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"

// 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_enabledcvar_fragsinfectcvar_ammoinfectcvar_humanbonushpcvar_flaregrenades
new g_trailSprg_exploSprg_msgScoreInfog_flameSprg_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_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_PrecacheModelsprite_grenade_trail)
    
g_exploSpr engfunc(EngFunc_PrecacheModelsprite_grenade_ring)
    
g_flameSpr engfunc(EngFunc_PrecacheModelsprite_grenade_fire)
    
    new 
i
    
    engfunc
(EngFunc_PrecacheModelmodel_grenade_infect)
    
    for (
0sizeof grenade_firei++)
        
engfunc(EngFunc_PrecacheSoundgrenade_fire[i])
    
    
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] = 1    
        fm_strip_user_gun
(player,9)
        
fm_give_item(player,"weapon_smokegrenade")
    }
    
}

public 
fw_PlayerKilled(victimattackershouldgib)
{
    
has_bomb[victim] = 0    
}

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_KILLBOMB)
        
kill_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_KILLBOMB)
        }
    }
    
}


public 
kill_explode(ent)
{
    if (!
zp_has_round_started()) return
    
    
set_pcvar_num(cvar_flaregrenades,1)
    
    static 
Float:originF[3]
    
pev(entpev_originoriginF)
    
    
create_blast(originF)    
    
    static 
attacker
    attacker 
pev(entpev_owner)
    
    
has_bomb[attacker] = 0
    
    engfunc
(EngFunc_EmitSoundentCHAN_WEAPONgrenade_fireATTN_NORM0PITCH_NORM)
    
    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))
            continue
        
        
SendDeathMsg(attackervictim)
        
FixDeadAttrib(victim)
        
UpdateFrags(attackervictimget_pcvar_num(cvar_fragsinfect), 11)
        
user_kill(victim0)
        
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)
    
}

// Napalm Grenade
public create_blast(const Float:originF[3])
{
    
engfunc(EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYoriginF0)
    
write_byte(TE_SPRITE// TE id
    
engfunc(EngFunc_WriteCoordoriginF[0]) // x
    
engfunc(EngFunc_WriteCoordoriginF[1]) // y
    
engfunc(EngFunc_WriteCoordoriginF[2]+270.0// z
    
write_short(g_flameSpr// sprite
    
write_byte(40// scale
    
write_byte(200// brightness
    
message_end()
    
    
// Smallest ring
    
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()
    
    
// Medium ring
    
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()
    
    
// Largest ring
    
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);


I think now it should work :)

roadrage 03-14-2009 13:42

Re: Sound not working..need help
 
will test it....thanks!!

roadrage 03-14-2009 13:58

Re: Sound not working..need help
 
still no sound... just curious what is the file size limit for this?


All times are GMT -4. The time now is 08:53.

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