| anakin_cstrike |
02-20-2009 03:54 |
Re: Correct or Not? I have do my best
Here
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) { switch(get_pcvar_num(amx_pcvar_0)) { case 1: client_print(victim, print_chat, "[Grenade]: Re-Spwan Enable") case 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 didn't looked at the rest of the code.
The major problem that caused the errors was:
You forgot 2 braces.</span></span>
And then, you can't use a pointer for get_pcvar_num wich is used as public for a task.
|