#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>
#define PLUGIN "[ZP] Addons: Replacement Sprites"
#define VERSION "2.0"
#define AUTHOR "pach2580"
#define weaponlist_hegrenade "weapon_firegrenade_pach2580"
#define weaponlist_flashbang "weapon_frostgrenade_pach2580"
#define weaponlist_smokegrenade "weapon_flaregrenade_pach2580"
#define weaponlist_he_original "weapon_hegrenade"
#define weaponlist_flash_original "weapon_flashbang"
#define weaponlist_smoke_original "weapon_smokegrenade"
new const spr[][] =
{
"sprites/pach2580_cso/640hud41pz.spr",
"sprites/pach2580_cso/640hud36pz.spr",
"sprites/pach2580_cso/640hud7pz.spr"
}
new Msg_Weaponlist
public plugin_precache()
{
precache_generic(weaponlist_hegrenade)
precache_generic(weaponlist_flashbang)
precache_generic(weaponlist_smokegrenade)
for(new i = 0; i < sizeof(spr); i++)
{
precache_generic(spr[i])
}
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Item_AddToPlayer, weaponlist_he_original, "WeaponList_HE", .Post = true)
RegisterHam(Ham_Item_AddToPlayer, weaponlist_flash_original, "WeaponList_FLASH", .Post = true)
RegisterHam(Ham_Item_AddToPlayer, weaponlist_smoke_original, "WeaponList_SMOKE", .Post = true)
register_clcmd(weaponlist_hegrenade, "Hook_FireGrenade")
register_clcmd(weaponlist_flashbang, "Hook_FrostGrenade")
register_clcmd(weaponlist_smokegrenade, "Hook_FlareGrenade")
Msg_Weaponlist = get_user_msgid("WeaponList")
}
public Hook_FireGrenade(id) engclient_cmd(id, weaponlist_he_original)
public Hook_FrostGrenade(id) engclient_cmd(id, weaponlist_flash_original)
public Hook_FlareGrenade(id) engclient_cmd(id, weaponlist_smoke_original)
public WeaponList_HE(ent, id)
{
if(!pev_valid(ent))return HAM_IGNORED; message_begin(MSG_ONE_UNRELIABLE, Msg_Weaponlist, _, id);
write_string(zp_get_user_zombie(id)? weaponlist_he_original : weaponlist_hegrenade); write_byte(12); write_byte(1); write_byte(-1);
write_byte(-1); write_byte(3); write_byte(1) ;write_byte(CSW_HEGRENADE); write_byte(24); message_end(); return HAM_HANDLED
}
public WeaponList_FLASH(ent, id)
{
if(!pev_valid(ent))return HAM_IGNORED; message_begin(MSG_ONE_UNRELIABLE, Msg_Weaponlist, _, id); write_string(weaponlist_flashbang);
write_byte(11); write_byte(2); write_byte(-1); write_byte(-1); write_byte(3); write_byte(2); write_byte(CSW_FLASHBANG); write_byte(24);
message_end(); return HAM_HANDLED
}
public WeaponList_SMOKE(ent, id)
{
if(!pev_valid(ent))return HAM_IGNORED; message_begin(MSG_ONE_UNRELIABLE, Msg_Weaponlist, _, id); write_string(weaponlist_smokegrenade);
write_byte(13); write_byte(1); write_byte(-1); write_byte(-1); write_byte(3); write_byte(3); write_byte(CSW_SMOKEGRENADE); write_byte(24);
message_end(); return HAM_HANDLED
}