Raised This Month: $ Target: $400
 0% 

Footsteps doesn't play.


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
Excalibur.007
Veteran Member
Join Date: Sep 2009
Location: Singapore
Old 11-29-2010 , 06:27   Footsteps doesn't play.
Reply With Quote #1

FULL CODE:
PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <orpheu>
#include <orpheu_stocks>

new const VERSION[] = "1.0"

new const footsteps_sound_snow[][] =
{
    
"player/pl_snow1.wav",
    
"player/pl_snow2.wav",
    
"player/pl_snow3.wav",
    
"player/pl_snow4.wav",
    
"player/pl_snow5.wav",
    
"player/pl_snow6.wav"
}

new 
bool:IsUserAlive[33]

new 
OrpheuHook:PM_PlaySoundHook
new OrpheuStruct:g_ppmove

public plugin_init()
{
    
RegisterHam(Ham_Spawn"player""fw_PlayerSpawnKilled"1)
    
RegisterHam(Ham_Killed"player""fw_PlayerSpawnKilled"1)
    
    
OrpheuRegisterHook(OrpheuGetDLLFunction("pfnPM_Move""PM_Move"), "OnPM_Move")
    
    new 
OrpheuFunction:PM_PlayStepSound OrpheuGetFunction("PM_PlayStepSound")
    
OrpheuRegisterHook(PM_PlayStepSound"OnPM_PlayStepSound")
    
OrpheuRegisterHook(PM_PlayStepSound"OnPM_PlayStepSoundPost"OrpheuHookPost)
}

public 
plugin_precache()
{
    
register_plugin("Snow"VERSION"eXcalibur.007")
    
    
engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"env_snow"))
    
    
server_cmd("sv_skyname snow")
    
    for(new 
sizeof footsteps_sound_snowi++)
        
precache_sound(footsteps_sound_snow[i])
}

public 
client_putinserver(id)
{
    
client_cmd(id"cl_weather 1")
}

public 
client_disconnect(id)
{
    
IsUserAlive[id] = false
}

public 
fw_PlayerSpawnKilled(id)
{
    
IsUserAlive[id] = bool:is_user_alive(id)
}

public 
OnPM_Move(OrpheuStruct:ppmoveserver)
{
    
g_ppmove ppmove
}

public 
OnPM_PlayStepSound(stepFloat:vol)
{
    new 
PM_PlaySoundAddress OrpheuGetParamStructMember(1"PM_PlaySound")
    
    new 
OrpheuFunction:PM_PlaySound OrpheuCreateFunction(PM_PlaySoundAddress"PM_PlaySound")
    
    
PM_PlaySoundHook OrpheuRegisterHook(PM_PlaySound"OnPM_PlaySoundHook")
}

public 
OnPM_PlaySoundHook(channelsample[], Float:volumeFloat:attenuationflagspitch)
{
    new 
id OrpheuGetStructMember(g_ppmove"player_index") + 1
    
    
if(is_user_outside(id))
    {
        
OrpheuSetParam(2footsteps_sound_snow[random(sizeof footsteps_sound_snow)])
    }
}

public 
OnPM_PlayStepSoundPost(stepFloat:vol)
{
    
OrpheuUnregisterHook(PM_PlaySoundHook)
}

stock Float:is_user_outside(id)
{
    new 
Float:origin[3], Float:fDist
    pev
(idpev_originorigin)
    
    
fDist origin[2]
    
    while(
engfunc(EngFunc_PointContentsorigin) == CONTENTS_EMPTY)
    {
        
origin[2] += 5.0
    
}
    
    if(
engfunc(EngFunc_PointContentsorigin) == CONTENTS_SKY)
    {
        return(
origin[2] - fDist)
    }
    
    return 
0.0

Not original sounds the snow footsteps sound doesn't play.

EDIT: After some searching in the forums, I see a probability of disappointment . Some posts has replies that sounds cannot be blocked(Footsteps).
If this is true, please close this thread.

Last edited by Excalibur.007; 12-02-2010 at 06:19.
Excalibur.007 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 11:18.


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