I have try... seems can't compile after i add function "public spwn_cmd (victim);"
PHP Code:
/*
I'm hurt! HE make me can't listen for while!
Extra stuff for Grenade Enhancer by anakin_cstrike
This plugins will play sound when HE throw and player get
damage from HE. Hurt Sound will be played.
More real style HE damage like Half-Life 2 and Call of Duty 4
Download: http://forums.alliedmods.net/showthread.php?p=651536
© Copyright 2008 ANiME clan.
Visit: http://ilham92-cc-sakura.webs/
Under License GNU
English help by: [ANiME|ADMiN][5hp-Evolution]
Created by: [ANiME|ADMiN][Ilham Sakura] aka ilham92-cc-sakura
Scripting Help: SnoW (Damage Event)
Scripting Help: Tuty (Stock)
*/
#include <amxmodx>
#include <fakemeta>
#include <csx>
#define SND1 "player/player_listen.wav"
#define SND2 "player/breathe1noloop.wav"
#define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))
new amx_pcvar_0;
new const g_soundName[2][16];
new const g_soundDir[2][32];
new g_num;
public plugin_init()
{
register_plugin("HE Player Damage Snd", "1.0","ilham92-cc-sakura");
amx_pcvar_0 = register_cvar("he_hit_respawn","1");
register_clcmd("say /spwn","spwn_cmd");
register_clcmd("say_team /spwn", "spwn_cmd");
}
public plugin_precache()
{
new szFile[64];
add(szFile, charsmax(szFile), "/hesnd.ini");
if(!file_exists(szFile))
{
write_file(szFile, "; HE Damage Sound Configuration File", -1);
write_file(szFile, "; ----------------------------------", -1);
write_file(szFile, "; Do not start path with ^"sound/^"", -1);
write_file(szFile, "; SND1 for Sound Event 1", -1);
write_file(szFile, "; SND2 for Sound Event 2", -1);
write_file(szFile, "; Be sure sound file with [*.wav] file extension!", -1);
write_file(szFile, "; ----------------------------------", -1);
}
new szBuffer[128], iLen, iLine;
while(read_file(szFile, iLine++, szBuffer, sizeof szBuffer - 1, iLen))
{
if(!iLen || szBuffer[0] == ';')
continue;
parse(szBuffer, g_soundName[g_num], sizeof g_soundName[] - 1, g_soundDir[g_num], sizeof g_soundDir[] - 1);
engfunc(EngFunc_PrecacheSound, g_soundDir[g_num]);
if(g_num >= 2)
break;
}
}
public client_damage(attacker,victim,damage,wpnindex,hitplace,TA)
{
if(get_pcvar_num(amx_pcvar_0) != 0 && wpnindex != CSW_HEGRENADE)
return PLUGIN_HANDLED;
new sound1[129];
copy(sound1,128,SND1);
if(contain(sound1,".wav"))
{
replace(sound1,128,".wav","");
client_cmd(victim, "spk %s",sound1);
}
new sound2[131];
copy(sound2,130,SND2);
if(contain(sound2,".wav"))
{
replace(sound1,130,".wav","");
client_cmd(victim, "spk %s",sound2);
}
new pl_name[32];
get_user_name(victim,pl_name, 31);
client_print(0, print_chat, "[Grenade]: %s get hit by HE Grenade",pl_name);
if(get_user_team(victim) == 1)
{
fm_give_item(victim, "weapon_knife");
fm_give_item(victim, "weapon_mp5navy");
fm_give_item(victim, "item_kevlar");
fm_give_item(victim, "ammo_9mm");
fm_give_item(victim, "ammo_9mm");
fm_give_item(victim, "ammo_9mm");
fm_give_item(victim, "ammo_9mm");
}
if is_user_alive(victim)
{
set_task(0.6,"respawnagain",victim);
client_print(0, print_chat, "[Grenade]: HE kill %s and respwan.",pl_name);
}
return PLUGIN_CONTINUE;
}
public spwn_cmd (victim)
{
if(get_pcvar_num(respawnagain) != 1)
client_print(victim, print_chat, "[Grenade]: Re-Spwan Enable")
else(get_pcvar_num(respawnagain) != 0)
client_print(victim, print_chat, "[Grenade]: Re-Spwan Disable")
}
public respawnagain(victim)
{
fm_cs_user_spawn(victim);
}
stock fm_cs_user_spawn(index)
{
set_pev(index, pev_deadflag, DEAD_RESPAWNABLE);
dllfunc(DLLFunc_Spawn, index);
set_pev(index, pev_iuser1, 0);
return 1;
}
stock fm_give_item(index, const item[])
{
if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
return 0;
new ent = fm_create_entity(item);
if (!pev_valid(ent))
return 0;
new Float:origin[3];
pev(index, pev_origin, origin);
set_pev(ent, pev_origin, origin);
set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN);
dllfunc(DLLFunc_Spawn, ent);
new save = pev(ent, pev_solid);
dllfunc(DLLFunc_Touch, ent, index);
if (pev(ent, pev_solid) != save)
return ent;
engfunc(EngFunc_RemoveEntity, ent);
return -1;
}
i wanna make say /spwn (enable/disable spwan after HE Hit) and *.ini file.
seems not work.