Descarcare:
Code: Select all
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>
#define MAX_PLAYERS 32
#define XTRA_OFS_WEAPON 4
#define m_pPlayer 41
#define m_fInReload 54
#define XTRA_OFS_PLAYER 5
#define m_flNextAttack 83
new weapons[][]=
{
"weapon_p228",
"weapon_scout",
"weapon_xm1014",
"weapon_mac10",
"weapon_aug",
"weapon_elite",
"weapon_fiveseven",
"weapon_ump45",
"weapon_sg550",
"weapon_galil",
"weapon_famas",
"weapon_usp",
"weapon_glock18",
"weapon_awp",
"weapon_mp5navy",
"weapon_m249",
"weapon_m3",
"weapon_m4a1",
"weapon_tmp",
"weapon_g3sg1",
"weapon_deagle",
"weapon_sg552",
"weapon_ak47",
"weapon_p90"
}
new g_iSendAudio
const NOCLIP_WPN_BS = ((1<<2)|(1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE)|(1<<CSW_C4))
const SHOTGUNS_BS = ((1<<CSW_M3)|(1<<CSW_XM1014))
new g_pCvarRadioDelay,audio_cvar
new Float:g_flNextRadioGameTime[MAX_PLAYERS+1]
new g_szLocation[MAX_PLAYERS+1][32]
static sprite[33][16]
new users_character[33]
new male_sounds[][] =
{
"zombie_plague/zpcspower/reload.wav",
"zombie_plague/zpcspower/reload1.wav",
"zombie_plague/zpcspower/reload2.wav",
"zombie_plague/zpcspower/reload3.wav",
"zombie_plague/zpcspower/reload4.wav",
"zombie_plague/zpcspower/reload5.wav",
"zombie_plague/zpcspower/reload6.wav",
"zombie_plague/zpcspower/reload7.wav",
"zombie_plague/zpcspower/reload8.wav",
"zombie_plague/zpcspower/reload9.wav",
"zombie_plague/zpcspower/reload11.wav",
"zombie_plague/zpcspower/reload12.wav",
"zombie_plague/zpcspower/reload13.wav",
"zombie_plague/zpcspower/reload14.wav",
"zombie_plague/zpcspower/reload15.wav"
}
public plugin_init()
{
register_plugin("L4D Reloading Sounds", "2.9", "One/Connor")
/* Delay between reloads*/
g_pCvarRadioDelay = register_cvar("reload_radio_delay", "5")
/* Reload Hook event*/
for(new i = 0 ; i< sizeof weapons; i++)
{
RegisterHam(Ham_Weapon_Reload, weapons[i], "Weapon_Reload", 1)
}
register_event("CurWeapon", "ev_CheckWeapon", "be", "1=1")
register_event("ResetHUD","resethud","be")
new szModName[7]
get_modname(szModName, charsmax(szModName))
if(equal(szModName, "czero"))
{
register_event("Location", "Event_Location", "be")
}
audio_cvar = register_cvar("amx_reload_sound","1") //Enables Reloadsounds
g_iSendAudio = get_user_msgid("SendAudio")
}
public ev_CheckWeapon(id)
{
if(zp_get_user_zombie(id))
return PLUGIN_HANDLED
new clip, ammo
static iwpn
iwpn = get_user_weapon(id, clip, ammo)
switch(iwpn)
{
case CSW_P228: sprite[id]="d_p228"
case CSW_SCOUT: sprite[id]="d_scout"
case CSW_HEGRENADE: sprite[id]="d_grenade"
case CSW_XM1014: sprite[id]="d_xm1014"
case CSW_MAC10: sprite[id]="d_mac10"
case CSW_AUG: sprite[id]="d_aug"
case CSW_SMOKEGRENADE: sprite[id]="d_flashbang"
case CSW_ELITE: sprite[id]="d_elite"
case CSW_FIVESEVEN: sprite[id]="d_fiveseven"
case CSW_UMP45: sprite[id]="d_ump45"
case CSW_SG550: sprite[id]="d_sg550"
case CSW_GALIL: sprite[id]="d_galil"
case CSW_FAMAS: sprite[id]="d_famas"
case CSW_USP: sprite[id]="d_usp"
case CSW_MP5NAVY: sprite[id]="d_mp5navy"
case CSW_M249: sprite[id]="d_m249"
case CSW_M3: sprite[id]="d_m3"
case CSW_M4A1: sprite[id]="d_m4a1"
case CSW_TMP: sprite[id]="d_tmp"
case CSW_G3SG1: sprite[id]="d_g3sg1"
case CSW_FLASHBANG: sprite[id]="d_flashbang"
case CSW_DEAGLE: sprite[id]="d_deagle"
case CSW_SG552: sprite[id]="d_sg552"
case CSW_AK47: sprite[id]="d_ak47"
case CSW_KNIFE: sprite[id]="d_knife"
case CSW_P90: sprite[id]="d_p90"
case CSW_GLOCK18: sprite[id]="d_glock18"
case CSW_AWP: sprite[id]="d_awp"
}
return PLUGIN_HANDLED
}
public resethud(id)
{
if(zp_get_user_zombie(id))
return PLUGIN_HANDLED
users_character[id] = 1 //male
return PLUGIN_HANDLED
}
public plugin_precache()
{
for( new i; i < sizeof male_sounds; i++ )
{
precache_sound(male_sounds[i])
}
}
public Event_Location( id )
{
if(zp_get_user_zombie(id))
return PLUGIN_HANDLED
if( read_data(1) == id )
{
read_data(2, g_szLocation[id], charsmax(g_szLocation[]))
}
return PLUGIN_HANDLED
}
Reload_Inform( id )
{
if(zp_get_user_zombie(id))
return PLUGIN_HANDLED
new Float:flGameTime = get_gametime()
if( flGameTime > g_flNextRadioGameTime[id] )
{
g_flNextRadioGameTime[id] + get_pcvar_float(g_pCvarRadioDelay)
new iPlayers[MAX_PLAYERS], iNum, iPlayer
new CsTeams:iTeam = cs_get_user_team(id)
new male = random_num( 0, sizeof male_sounds-1 )
new szId[4]
num_to_str(id, szId, charsmax(szId))
new szName[32]
get_user_name(id, szName, charsmax(szName))
new szLocation[32]
szLocation = g_szLocation[id]
get_players(iPlayers, iNum, "ch")
for(new i; i<iNum; i++)
{
iPlayer = iPlayers[i]
if( iPlayer == id || cs_get_user_team(iPlayer) == iTeam )
{
if(get_pcvar_num(audio_cvar))
{
if(users_character[id] == 1)
{
Send_SendAudio(id, iPlayer, male_sounds[male])
}
}
}
}
}
return PLUGIN_HANDLED
}
public Weapon_Reload( iEnt )
{
if( get_pdata_int(iEnt, m_fInReload, XTRA_OFS_WEAPON) )
{
new id = get_pdata_cbase(iEnt, m_pPlayer, XTRA_OFS_WEAPON)
Reload_Inform(id)
}
}
Send_SendAudio(const iSender, const iReceiver, const szSound[], const iPitch = 100)
{
message_begin(MSG_ONE_UNRELIABLE, g_iSendAudio, .player=iReceiver)
write_byte(iSender)
write_string(szSound)
write_short(iPitch)
message_end()
}
Versiune: 2.9
Link oficial: cspower / thexforce
Instalare:
1. Fisierul Reload_Sounds_ZP.sma il puneti in addons/amxmodx/scripting
2. Fisierul Reload_Sounds_ZP.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:
Code: Select all
Reload_Sounds_ZP.amxx
Cvar-uri (se adauga in fisierul amxmodx\configs\amxx.cfg):
Code: Select all
reload_radio_delay