Modificare death efect.

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
CaPy`#
Membru, skill +1
Membru, skill +1
Posts: 455
Joined: 24 Jun 2014, 18:24
Detinator Steam: Da
Detinator server CS: Furien. Ecila .Ro
SteamID: megbegeb_hi
Fond eXtream: 0
Location: Drobeta Turnu Severin
Has thanked: 10 times
Been thanked: 3 times
Contact:

02 Jul 2014, 14:05

Vreau să imi scoateți si mie sunetele și dhud din acest plugin, să rămână doar efectele, sprites.
| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>
#include <dhudmessage>

new knife_kill, grenade_kill, headshot, normal_kill

new level[32]
new bool:kills[32]

new one_kill
new two_kill
new three_kill
new four_kill
new five_kill
new six_kill
new seven_kill
new eight_kill
new more_than_eight_kill
new g_lastkill
new g_firstblood

public plugin_precache()
{
        headshot = precache_model("sprites/headshot.spr")
        knife_kill = precache_model("sprites/knife_kill.spr")
        grenade_kill = precache_model("sprites/grenade_kill.spr")
        one_kill = precache_model("sprites/1_kill.spr")
        two_kill = precache_model("sprites/2_kill.spr")
        three_kill = precache_model("sprites/3_kill.spr")
        four_kill = precache_model("sprites/4_kill.spr")
        five_kill = precache_model("sprites/5_kill.spr")
        six_kill = precache_model("sprites/6_kill.spr")
        seven_kill = precache_model("sprites/7_kill.spr")
        eight_kill = precache_model("sprites/8_kill.spr")
        more_than_eight_kill = precache_model("sprites/more_than_8_kill.spr")
        normal_kill = precache_model("sprites/normal_kill.spr")
	precache_sound("misc/headshot.wav")
        precache_sound("misc/knife_kill.wav")
        precache_sound("misc/grenade_kill.wav")
        precache_sound("misc/wallshot.wav")
        precache_sound("misc/1_kill.wav")
        precache_sound("misc/2_kill.wav")
        precache_sound("misc/3_kill.wav")
        precache_sound("misc/4_kill.wav")
        precache_sound("misc/5_kill.wav")
        precache_sound("misc/6_kill.wav")
        precache_sound("misc/7_kill.wav")
        precache_sound("misc/8_kill.wav")
        precache_sound("misc/firstblood.wav")
        precache_sound("misc/last_kill.wav")
        precache_sound("misc/unstoppable.wav")
}

public plugin_init()
{
	register_plugin("Death Sprite Effect","1.5","RaZzoR")
        register_event("DeathMsg","onDeath","a")
        register_event("DeathMsg","onDeath_level","a")
        register_event("TextMsg", "eRestart", "a", "2&#Game_C", "2&#Game_w")
	register_event("SendAudio", "eEndRound", "a", "2&%!MRAD_terwin", "2&%!MRAD_ctwin", "2&%!MRAD_rounddraw")
	register_event("RoundTime", "eNewRound", "bc")
}


public eRestart()
{
	eEndRound()
	g_firstblood = 1
}

public eEndRound()
{

}

public client_disconnect(id)
{
	level[id]= 0
}
public client_putinserver(id)
{
	level[id]= 0
}

public onDeath()
{
        new name_attacker[32]
	new name_victim[32]
        new wpn[3]
        new hs = read_data(3)
        new attacker = read_data(1)
        new victim = read_data(2)

        get_user_name(attacker, name_attacker, 31)
	get_user_name(victim, name_victim, 31)
        read_data(4,wpn,2)
    
        if (wpn[0] != 'k' && wpn[1] != 'r' && !can_see_fm(attacker, victim)) 
	{
		if (hs)
                {
                  set_dhudmessage(255, 0, 0, -1.0, 0.20, 0, 6.0, 3.0, 0.1, 1.5) 
	          show_dhudmessage(attacker, "FALON AT FEJLOVES!^n-|IGEN! :D|-")
                  client_cmd(attacker,"spk misc/headshot")
                }
	}
        else if (hs && wpn[0] != 'k' && wpn[1] != 'r')
	{
		show_sprite(victim, headshot)
                client_cmd(attacker,"spk misc/headshot")   
	}
        else if (wpn[0] == 'k')
        {
	        show_sprite(victim, knife_kill)
                client_cmd(attacker,"spk misc/knife_kill")
        }
        else if (wpn[1] == 'r')
        {
	        show_sprite(victim, grenade_kill)
                client_cmd(attacker,"spk misc/grenade_kill")
        }

        return PLUGIN_CONTINUE
}

public onDeath_level()
{
        new players_ct[32], players_t[32], ict, ite
	get_players(players_ct,ict,"ae","CT")   
	get_players(players_t,ite,"ae","TERRORIST")
	if (ict == 0 || ite == 0) g_lastkill = 1
        
        new attacker = read_data(1)
        new victim = read_data(2)
        new name_attacker[32]
	new name_victim[32]

        level[attacker] += 1
	level[victim]= 0

        get_user_name(attacker, name_attacker, 31)
	get_user_name(victim, name_victim, 31)

        if((victim == attacker) || (get_user_team(attacker) == get_user_team(victim)) || !victim || !attacker)
			return PLUGIN_CONTINUE
       


        if (g_firstblood && attacker!=victim && attacker>0) 
	{	
                 g_firstblood = 0			
		 set_dhudmessage(255, 105, 180, -1.0, 0.35, 0, 6.0, 3.0, 0.1, 1.5) 
		 show_dhudmessage(0, "ELSO OLES: ^n %s megolte %s-t!", name_attacker, name_victim)
		 client_cmd(0, "speak misc/firstblood")
	}
        if (g_lastkill == 1)
	{
		g_lastkill = 0
                set_dhudmessage(255, 215, 0, -1.0, 0.30, 0, 6.0, 3.0, 0.1, 1.5) 
		show_dhudmessage(0, "UTOLSO OLES: ^n %s megolte %s-t!", name_attacker, name_victim)
		client_cmd(0, "speak misc/last_kill")
	}  
        if (level[attacker] == 1)
        {
	        show_sprite(victim, one_kill)
                kills[victim] = true
                client_cmd(attacker,"spk misc/1_kill")	
		
	}
        if (level[attacker] == 2)
        {
	        show_sprite(victim, two_kill)
                kills[victim] = true
                client_cmd(attacker,"spk misc/2_kill")		
		
	}
        if (level[attacker] == 3)
        {
	        show_sprite(victim, three_kill)
                kills[victim] = true
                client_cmd(attacker,"spk misc/3_kill")		
		
	}
        if (level[attacker] == 4)
        {
	        show_sprite(victim, four_kill)
                kills[victim] = true
                client_cmd(attacker,"spk misc/4_kill")		
		
	}
        if (level[attacker] == 5)
        {
	        show_sprite(victim, five_kill)
                kills[victim] = true
                client_cmd(attacker,"spk misc/5_kill")	 	
		
	}
        if (level[attacker] == 6)
        {
	        show_sprite(victim, six_kill)
                kills[victim] = true
                client_cmd(attacker,"spk misc/6_kill")	 	
		
	}
        if (level[attacker] == 7)
        {
	        show_sprite(victim, seven_kill)
                kills[victim] = true
                client_cmd(attacker,"spk misc/7_kill")	 	
		
	}
        if (level[attacker] == 8)
        {
	        show_sprite(victim, eight_kill)
                kills[victim] = true
                client_cmd(attacker,"spk misc/8_kill")		
		
	}
        if (level[attacker] > 8)
        {
	        show_sprite(victim, more_than_eight_kill)
                kills[victim] = true
                client_cmd(attacker,"spk misc/unstoppable")		
		
	}
         
        return PLUGIN_CONTINUE
}

public show_sprite(attacker, sprite)
{	
        if(!is_user_connected(attacker))
		return PLUGIN_CONTINUE



	static origin[3]
	get_user_origin(attacker, origin)
	
        message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
	write_byte(TE_SPRITE)
	write_coord(origin[0])
	write_coord(origin[1])
	write_coord(origin[2]+65)
	write_short(sprite)
	write_byte(10)
	write_byte(250)
	message_end()
        
        return PLUGIN_CONTINUE
}

public podesi_boolove(id)
{	
	kills[id] = false
}

bool:can_see_fm(entindex1, entindex2)
{
	if (!entindex1 || !entindex2)
		return false

	if (pev_valid(entindex1) && pev_valid(entindex1))
	{
		new flags = pev(entindex1, pev_flags)
		if (flags & EF_NODRAW || flags & FL_NOTARGET)
		{
			return false
		}

		new Float:lookerOrig[3]
		new Float:targetBaseOrig[3]
		new Float:targetOrig[3]
		new Float:temp[3]

		pev(entindex1, pev_origin, lookerOrig)
		pev(entindex1, pev_view_ofs, temp)
		lookerOrig[0] += temp[0]
		lookerOrig[1] += temp[1]
		lookerOrig[2] += temp[2]

		pev(entindex2, pev_origin, targetBaseOrig)
		pev(entindex2, pev_view_ofs, temp)
		targetOrig[0] = targetBaseOrig [0] + temp[0]
		targetOrig[1] = targetBaseOrig [1] + temp[1]
		targetOrig[2] = targetBaseOrig [2] + temp[2]

		engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the had of seen player
		if (get_tr2(0, TraceResult:TR_InOpen) && get_tr2(0, TraceResult:TR_InWater))
		{
			return false
		} 
		else 
		{
			new Float:flFraction
			get_tr2(0, TraceResult:TR_flFraction, flFraction)
			if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
			{
				return true
			}
			else
			{
				targetOrig[0] = targetBaseOrig [0]
				targetOrig[1] = targetBaseOrig [1]
				targetOrig[2] = targetBaseOrig [2]
				engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the body of seen player
				get_tr2(0, TraceResult:TR_flFraction, flFraction)
				if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
				{
					return true
				}
				else
				{
					targetOrig[0] = targetBaseOrig [0]
					targetOrig[1] = targetBaseOrig [1]
					targetOrig[2] = targetBaseOrig [2] - 17.0
					engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the legs of seen player
					get_tr2(0, TraceResult:TR_flFraction, flFraction)
					if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
					{
						return true
					}
				}
			}
		}
	}
	return false
}
Mulțumesc.
Image
contact skype: capy_furien
contact facebook: www.facebool.com/capyfurien
RoyalServer 2
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

02 Jul 2014, 18:38

| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>

new knife_kill, grenade_kill, headshot, normal_kill

new level[32]
new bool:kills[32]

new one_kill
new two_kill
new three_kill
new four_kill
new five_kill
new six_kill
new seven_kill
new eight_kill
new more_than_eight_kill
new g_lastkill
new g_firstblood

public plugin_precache()
{
        headshot = precache_model("sprites/headshot.spr")
        knife_kill = precache_model("sprites/knife_kill.spr")
        grenade_kill = precache_model("sprites/grenade_kill.spr")
        one_kill = precache_model("sprites/1_kill.spr")
        two_kill = precache_model("sprites/2_kill.spr")
        three_kill = precache_model("sprites/3_kill.spr")
        four_kill = precache_model("sprites/4_kill.spr")
        five_kill = precache_model("sprites/5_kill.spr")
        six_kill = precache_model("sprites/6_kill.spr")
        seven_kill = precache_model("sprites/7_kill.spr")
        eight_kill = precache_model("sprites/8_kill.spr")
        more_than_eight_kill = precache_model("sprites/more_than_8_kill.spr")
        normal_kill = precache_model("sprites/normal_kill.spr")
}

public plugin_init()
{
	register_plugin("Death Sprite Effect","1.5","RaZzoR")
        register_event("DeathMsg","onDeath","a")
        register_event("DeathMsg","onDeath_level","a")
        register_event("TextMsg", "eRestart", "a", "2&#Game_C", "2&#Game_w")
	register_event("SendAudio", "eEndRound", "a", "2&%!MRAD_terwin", "2&%!MRAD_ctwin", "2&%!MRAD_rounddraw")
	register_event("RoundTime", "eNewRound", "bc")
}


public eRestart()
{
	eEndRound()
	g_firstblood = 1
}

public eEndRound()
{

}

public client_disconnect(id)
{
	level[id]= 0
}
public client_putinserver(id)
{
	level[id]= 0
}

public onDeath()
{
        new name_attacker[32]
	new name_victim[32]
        new wpn[3]
        new hs = read_data(3)
        new attacker = read_data(1)
        new victim = read_data(2)

        get_user_name(attacker, name_attacker, 31)
	get_user_name(victim, name_victim, 31)
        read_data(4,wpn,2)
    
        if (wpn[0] != 'k' && wpn[1] != 'r' && !can_see_fm(attacker, victim)) 
	{
		if (hs)
                {
			show_sprite(victim, normal_kill)
                }
	}
        else if (hs && wpn[0] != 'k' && wpn[1] != 'r')
	{
		show_sprite(victim, headshot)
	}
        else if (wpn[0] == 'k')
        {
	        show_sprite(victim, knife_kill)
        }
        else if (wpn[1] == 'r')
        {
	        show_sprite(victim, grenade_kill)
        }

        return PLUGIN_CONTINUE
}

public onDeath_level()
{
        new players_ct[32], players_t[32], ict, ite
	get_players(players_ct,ict,"ae","CT")   
	get_players(players_t,ite,"ae","TERRORIST")
	if (ict == 0 || ite == 0) g_lastkill = 1
        
        new attacker = read_data(1)
        new victim = read_data(2)
        new name_attacker[32]
	new name_victim[32]

        level[attacker] += 1
	level[victim]= 0

        get_user_name(attacker, name_attacker, 31)
	get_user_name(victim, name_victim, 31)

        if((victim == attacker) || (get_user_team(attacker) == get_user_team(victim)) || !victim || !attacker)
			return PLUGIN_CONTINUE
       


        if (g_firstblood && attacker!=victim && attacker>0) 
	{	
                 g_firstblood = 0			
	}
        if (g_lastkill == 1)
	{
		g_lastkill = 0
	}  
        if (level[attacker] == 1)
        {
	        show_sprite(victim, one_kill)
                kills[victim] = true
	}
        if (level[attacker] == 2)
        {
	        show_sprite(victim, two_kill)
                kills[victim] = true	
	}
        if (level[attacker] == 3)
        {
	        show_sprite(victim, three_kill)
                kills[victim] = true	
	}
        if (level[attacker] == 4)
        {
	        show_sprite(victim, four_kill)
                kills[victim] = true	
	}
        if (level[attacker] == 5)
        {
	        show_sprite(victim, five_kill)
                kills[victim] = true	
	}
        if (level[attacker] == 6)
        {
	        show_sprite(victim, six_kill)
                kills[victim] = true 	
	}
        if (level[attacker] == 7)
        {
	        show_sprite(victim, seven_kill)
                kills[victim] = true 	
	}
        if (level[attacker] == 8)
        {
	        show_sprite(victim, eight_kill)
                kills[victim] = true	
	}
        if (level[attacker] > 8)
        {
	        show_sprite(victim, more_than_eight_kill)
                kills[victim] = true		
	}
         
        return PLUGIN_CONTINUE
}

public show_sprite(attacker, sprite)
{	
        if(!is_user_connected(attacker))
		return PLUGIN_CONTINUE



	static origin[3]
	get_user_origin(attacker, origin)
	
        message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
	write_byte(TE_SPRITE)
	write_coord(origin[0])
	write_coord(origin[1])
	write_coord(origin[2]+65)
	write_short(sprite)
	write_byte(10)
	write_byte(250)
	message_end()
        
        return PLUGIN_CONTINUE
}

public podesi_boolove(id)
{	
	kills[id] = false
}

bool:can_see_fm(entindex1, entindex2)
{
	if (!entindex1 || !entindex2)
		return false

	if (pev_valid(entindex1) && pev_valid(entindex1))
	{
		new flags = pev(entindex1, pev_flags)
		if (flags & EF_NODRAW || flags & FL_NOTARGET)
		{
			return false
		}

		new Float:lookerOrig[3]
		new Float:targetBaseOrig[3]
		new Float:targetOrig[3]
		new Float:temp[3]

		pev(entindex1, pev_origin, lookerOrig)
		pev(entindex1, pev_view_ofs, temp)
		lookerOrig[0] += temp[0]
		lookerOrig[1] += temp[1]
		lookerOrig[2] += temp[2]

		pev(entindex2, pev_origin, targetBaseOrig)
		pev(entindex2, pev_view_ofs, temp)
		targetOrig[0] = targetBaseOrig [0] + temp[0]
		targetOrig[1] = targetBaseOrig [1] + temp[1]
		targetOrig[2] = targetBaseOrig [2] + temp[2]

		engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the had of seen player
		if (get_tr2(0, TraceResult:TR_InOpen) && get_tr2(0, TraceResult:TR_InWater))
		{
			return false
		} 
		else 
		{
			new Float:flFraction
			get_tr2(0, TraceResult:TR_flFraction, flFraction)
			if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
			{
				return true
			}
			else
			{
				targetOrig[0] = targetBaseOrig [0]
				targetOrig[1] = targetBaseOrig [1]
				targetOrig[2] = targetBaseOrig [2]
				engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the body of seen player
				get_tr2(0, TraceResult:TR_flFraction, flFraction)
				if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
				{
					return true
				}
				else
				{
					targetOrig[0] = targetBaseOrig [0]
					targetOrig[1] = targetBaseOrig [1]
					targetOrig[2] = targetBaseOrig [2] - 17.0
					engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the legs of seen player
					get_tr2(0, TraceResult:TR_flFraction, flFraction)
					if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
					{
						return true
					}
				}
			}
		}
	}
	return false
}
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
User avatar
CaPy`#
Membru, skill +1
Membru, skill +1
Posts: 455
Joined: 24 Jun 2014, 18:24
Detinator Steam: Da
Detinator server CS: Furien. Ecila .Ro
SteamID: megbegeb_hi
Fond eXtream: 0
Location: Drobeta Turnu Severin
Has thanked: 10 times
Been thanked: 3 times
Contact:

02 Jul 2014, 21:16

îmi dă multe erori.. :
| Afiseaza codul
L 07/02/2014 - 20:56:51: Info (map "de_kabul_32") (file "addons/amxmodx/logs/error_20140702.log")
L 07/02/2014 - 20:56:51: Function "eNewRound" was not found
L 07/02/2014 - 20:56:51: [AMXX] Run time error 19 (plugin "deatheffect.amxx") - debug not enabled!
L 07/02/2014 - 20:56:51: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 07/02/2014 - 20:58:22: [AMXX] Run time error 4 (plugin "deatheffect.amxx") - debug not enabled!
L 07/02/2014 - 20:58:22: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 07/02/2014 - 20:59:31: [AMXX] Run time error 4 (plugin "deatheffect.amxx") - debug not enabled!
L 07/02/2014 - 20:59:31: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 07/02/2014 - 20:59:39: [AMXX] Run time error 4 (plugin "deatheffect.amxx") - debug not enabled!
L 07/02/2014 - 20:59:39: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 07/02/2014 - 21:00:49: [AMXX] Run time error 4 (plugin "deatheffect.amxx") - debug not enabled!
L 07/02/2014 - 21:00:49: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 07/02/2014 - 21:01:29: [AMXX] Run time error 4 (plugin "deatheffect.amxx") - debug not enabled!
L 07/02/2014 - 21:01:29: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 07/02/2014 - 21:01:30: Start of error session.
L 07/02/2014 - 21:01:30: Info (map "de_kabul_32") (file "addons/amxmodx/logs/error_20140702.log")
L 07/02/2014 - 21:01:30: Function "eNewRound" was not found
L 07/02/2014 - 21:01:30: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 21:01:30: [AMXX] Run time error 19: function not found 
L 07/02/2014 - 21:01:30: [AMXX]    [0] deatheffect.sma::plugin_init (line 47)
L 07/02/2014 - 21:01:43: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 21:01:43: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 21:01:43: [AMXX]    [0] deatheffect.sma::client_putinserver (line 68)
L 07/02/2014 - 21:02:03: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 21:02:03: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 21:02:03: [AMXX]    [0] deatheffect.sma::onDeath_level (line 119)
L 07/02/2014 - 21:02:04: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 21:02:04: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 21:02:04: [AMXX]    [0] deatheffect.sma::onDeath_level (line 120)
L 07/02/2014 - 21:02:29: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 21:02:29: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 21:02:29: [AMXX]    [0] deatheffect.sma::onDeath_level (line 119)
Image
contact skype: capy_furien
contact facebook: www.facebool.com/capyfurien
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

02 Jul 2014, 22:46

| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>

new knife_kill, grenade_kill, headshot, normal_kill

new level[32]
new bool:kills[32]

new one_kill
new two_kill
new three_kill
new four_kill
new five_kill
new six_kill
new seven_kill
new eight_kill
new more_than_eight_kill
new g_lastkill
new g_firstblood

public plugin_precache()
{
        headshot = precache_model("sprites/headshot.spr")
        knife_kill = precache_model("sprites/knife_kill.spr")
        grenade_kill = precache_model("sprites/grenade_kill.spr")
        one_kill = precache_model("sprites/1_kill.spr")
        two_kill = precache_model("sprites/2_kill.spr")
        three_kill = precache_model("sprites/3_kill.spr")
        four_kill = precache_model("sprites/4_kill.spr")
        five_kill = precache_model("sprites/5_kill.spr")
        six_kill = precache_model("sprites/6_kill.spr")
        seven_kill = precache_model("sprites/7_kill.spr")
        eight_kill = precache_model("sprites/8_kill.spr")
        more_than_eight_kill = precache_model("sprites/more_than_8_kill.spr")
        normal_kill = precache_model("sprites/normal_kill.spr")
}

public plugin_init()
{
	register_plugin("Death Sprite Effect","1.5","RaZzoR")
        register_event("DeathMsg","onDeath","a")
        register_event("DeathMsg","onDeath_level","a")
        register_event("TextMsg", "eRestart", "a", "2&#Game_C", "2&#Game_w")
	register_event("SendAudio", "eEndRound", "a", "2&%!MRAD_terwin", "2&%!MRAD_ctwin", "2&%!MRAD_rounddraw")
}

public eRestart()
{
	eEndRound()
	g_firstblood = 1
}

public eEndRound()
{

}

public client_disconnect(id)
{
	level[id]= 0
}

public client_putinserver(id)
{
	level[id]= 0
}

public onDeath()
{
        new name_attacker[32]
	new name_victim[32]
        new wpn[3]
        new hs = read_data(3)
        new attacker = read_data(1)
        new victim = read_data(2)

        get_user_name(attacker, name_attacker, 31)
	get_user_name(victim, name_victim, 31)
        read_data(4,wpn,2)

	if( is_user_connected( victim ) && is_user_connected( attacker ) )
	{
		return PLUGIN_CONTINUE;
	}
    
        if (wpn[0] != 'k' && wpn[1] != 'r' && !can_see_fm(attacker, victim)) 
	{
		if (hs)
                {
			show_sprite(victim, normal_kill)
                }
	}
        else if (hs && wpn[0] != 'k' && wpn[1] != 'r')
	{
		show_sprite(victim, headshot)
	}
        else if (wpn[0] == 'k')
        {
	        show_sprite(victim, knife_kill)
        }
        else if (wpn[1] == 'r')
        {
	        show_sprite(victim, grenade_kill)
        }

        return PLUGIN_CONTINUE
}

public onDeath_level()
{
        new players_ct[32], players_t[32], ict, ite
	get_players(players_ct,ict,"ae","CT")   
	get_players(players_t,ite,"ae","TERRORIST")
	if (ict == 0 || ite == 0) g_lastkill = 1
        
        new attacker = read_data(1)
        new victim = read_data(2)
        new name_attacker[32]
	new name_victim[32]

        level[attacker] += 1
	level[victim]= 0

        get_user_name(attacker, name_attacker, 31)
	get_user_name(victim, name_victim, 31)

	if( is_user_connected( victim ) && is_user_connected( attacker ) )
	{
		return PLUGIN_CONTINUE;
	}

        if((victim == attacker) || (get_user_team(attacker) == get_user_team(victim)) || !victim || !attacker)
			return PLUGIN_CONTINUE

        if (g_firstblood && attacker!=victim && attacker>0) 
	{	
                 g_firstblood = 0			
	}
        if (g_lastkill == 1)
	{
		g_lastkill = 0
	}  
        if (level[attacker] == 1)
        {
	        show_sprite(victim, one_kill)
                kills[victim] = true
	}
        if (level[attacker] == 2)
        {
	        show_sprite(victim, two_kill)
                kills[victim] = true	
	}
        if (level[attacker] == 3)
        {
	        show_sprite(victim, three_kill)
                kills[victim] = true	
	}
        if (level[attacker] == 4)
        {
	        show_sprite(victim, four_kill)
                kills[victim] = true	
	}
        if (level[attacker] == 5)
        {
	        show_sprite(victim, five_kill)
                kills[victim] = true	
	}
        if (level[attacker] == 6)
        {
	        show_sprite(victim, six_kill)
                kills[victim] = true 	
	}
        if (level[attacker] == 7)
        {
	        show_sprite(victim, seven_kill)
                kills[victim] = true 	
	}
        if (level[attacker] == 8)
        {
	        show_sprite(victim, eight_kill)
                kills[victim] = true	
	}
        if (level[attacker] > 8)
        {
	        show_sprite(victim, more_than_eight_kill)
                kills[victim] = true		
	}
         
        return PLUGIN_CONTINUE
}

public show_sprite(attacker, sprite)
{	
        if(!is_user_connected(attacker))
		return PLUGIN_CONTINUE

	static origin[3]
	get_user_origin(attacker, origin)
	
        message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
	write_byte(TE_SPRITE)
	write_coord(origin[0])
	write_coord(origin[1])
	write_coord(origin[2]+65)
	write_short(sprite)
	write_byte(10)
	write_byte(250)
	message_end()
        
        return PLUGIN_CONTINUE
}

public podesi_boolove(id)
{	
	kills[id] = false
}

bool:can_see_fm(entindex1, entindex2)
{
	if (!entindex1 || !entindex2)
		return false

	if (pev_valid(entindex1) && pev_valid(entindex1))
	{
		new flags = pev(entindex1, pev_flags)
		if (flags & EF_NODRAW || flags & FL_NOTARGET)
		{
			return false
		}

		new Float:lookerOrig[3]
		new Float:targetBaseOrig[3]
		new Float:targetOrig[3]
		new Float:temp[3]

		pev(entindex1, pev_origin, lookerOrig)
		pev(entindex1, pev_view_ofs, temp)
		lookerOrig[0] += temp[0]
		lookerOrig[1] += temp[1]
		lookerOrig[2] += temp[2]

		pev(entindex2, pev_origin, targetBaseOrig)
		pev(entindex2, pev_view_ofs, temp)
		targetOrig[0] = targetBaseOrig [0] + temp[0]
		targetOrig[1] = targetBaseOrig [1] + temp[1]
		targetOrig[2] = targetBaseOrig [2] + temp[2]

		engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the had of seen player
		if (get_tr2(0, TraceResult:TR_InOpen) && get_tr2(0, TraceResult:TR_InWater))
		{
			return false
		} 
		else 
		{
			new Float:flFraction
			get_tr2(0, TraceResult:TR_flFraction, flFraction)
			if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
			{
				return true
			}
			else
			{
				targetOrig[0] = targetBaseOrig [0]
				targetOrig[1] = targetBaseOrig [1]
				targetOrig[2] = targetBaseOrig [2]
				engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the body of seen player
				get_tr2(0, TraceResult:TR_flFraction, flFraction)
				if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
				{
					return true
				}
				else
				{
					targetOrig[0] = targetBaseOrig [0]
					targetOrig[1] = targetBaseOrig [1]
					targetOrig[2] = targetBaseOrig [2] - 17.0
					engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the legs of seen player
					get_tr2(0, TraceResult:TR_flFraction, flFraction)
					if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
					{
						return true
					}
				}
			}
		}
	}
	return false
}
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
User avatar
CaPy`#
Membru, skill +1
Membru, skill +1
Posts: 455
Joined: 24 Jun 2014, 18:24
Detinator Steam: Da
Detinator server CS: Furien. Ecila .Ro
SteamID: megbegeb_hi
Fond eXtream: 0
Location: Drobeta Turnu Severin
Has thanked: 10 times
Been thanked: 3 times
Contact:

02 Jul 2014, 23:46

Acum îmi dă altele.. :
| Afiseaza codul
L 07/02/2014 - 23:03:56: Info (map "de_aztec") (file "addons/amxmodx/logs/error_20140702.log")
L 07/02/2014 - 23:03:56: Function "eNewRound" was not found
L 07/02/2014 - 23:03:56: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:03:56: [AMXX] Run time error 19: function not found 
L 07/02/2014 - 23:03:56: [AMXX]    [0] deatheffect.sma::plugin_init (line 47)
L 07/02/2014 - 23:10:21: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:10:21: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 23:10:21: [AMXX]    [0] deatheffect.sma::client_putinserver (line 68)
L 07/02/2014 - 23:12:19: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:12:19: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 23:12:19: [AMXX]    [0] deatheffect.sma::onDeath_level (line 120)
L 07/02/2014 - 23:13:45: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:13:45: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 23:13:45: [AMXX]    [0] deatheffect.sma::onDeath_level (line 119)
L 07/02/2014 - 23:15:42: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:15:42: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 23:15:42: [AMXX]    [0] deatheffect.sma::onDeath_level (line 120)
L 07/02/2014 - 23:16:03: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:16:03: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 23:16:03: [AMXX]    [0] deatheffect.sma::client_disconnect (line 64)
L 07/02/2014 - 23:17:11: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:17:11: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 23:17:11: [AMXX]    [0] deatheffect.sma::client_putinserver (line 68)
L 07/02/2014 - 23:17:39: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:17:39: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 23:17:39: [AMXX]    [0] deatheffect.sma::client_disconnect (line 64)
L 07/02/2014 - 23:19:16: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:19:16: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 23:19:16: [AMXX]    [0] deatheffect.sma::client_putinserver (line 68)
L 07/02/2014 - 23:20:12: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:20:12: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 23:20:12: [AMXX]    [0] deatheffect.sma::onDeath_level (line 119)
L 07/02/2014 - 23:22:34: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:22:34: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 23:22:34: [AMXX]    [0] deatheffect.sma::onDeath_level (line 120)
L 07/02/2014 - 23:25:00: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:25:00: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 23:25:00: [AMXX]    [0] deatheffect.sma::onDeath_level (line 119)
L 07/02/2014 - 23:25:21: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:25:21: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 23:25:21: [AMXX]    [0] deatheffect.sma::client_disconnect (line 64)
L 07/02/2014 - 23:25:40: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:25:40: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 23:25:40: [AMXX]    [0] deatheffect.sma::client_putinserver (line 68)
L 07/02/2014 - 23:26:41: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:26:41: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 23:26:41: [AMXX]    [0] deatheffect.sma::onDeath_level (line 120)
L 07/02/2014 - 23:29:20: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:29:20: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 23:29:20: [AMXX]    [0] deatheffect.sma::client_disconnect (line 64)
L 07/02/2014 - 23:29:47: Start of error session.
L 07/02/2014 - 23:29:47: Info (map "de_dust2_2009") (file "addons/amxmodx/logs/error_20140702.log")
L 07/02/2014 - 23:29:47: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:29:47: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 23:29:47: [AMXX]    [0] deatheffect.sma::client_putinserver (line 67)
L 07/02/2014 - 23:29:58: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:29:58: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 23:29:58: [AMXX]    [0] deatheffect.sma::onDeath_level (line 123)
L 07/02/2014 - 23:32:12: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:32:12: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 23:32:12: [AMXX]    [0] deatheffect.sma::onDeath_level (line 124)
L 07/02/2014 - 23:34:00: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:34:00: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 23:34:00: [AMXX]    [0] deatheffect.sma::onDeath_level (line 124)
L 07/02/2014 - 23:34:04: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/02/2014 - 23:34:04: [AMXX] Run time error 4: index out of bounds 
L 07/02/2014 - 23:34:04: [AMXX]    [0] deatheffect.sma::client_disconnect (line 62)
L 07/03/2014 - 09:02:35: Info (map "de_aztecydust2") (file "addons/amxmodx/logs/error_20140703.log")
L 07/03/2014 - 09:02:35: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 09:02:35: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 09:02:35: [AMXX]    [0] deatheffect.sma::client_putinserver (line 67)
L 07/03/2014 - 09:02:37: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 09:02:37: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 09:02:37: [AMXX]    [0] deatheffect.sma::onDeath_level (line 124)
L 07/03/2014 - 09:07:02: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 09:07:02: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 09:07:02: [AMXX]    [0] deatheffect.sma::onDeath_level (line 124)
L 07/03/2014 - 09:08:36: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 09:08:36: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 09:08:36: [AMXX]    [0] deatheffect.sma::onDeath_level (line 124)
L 07/03/2014 - 09:10:34: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 09:10:34: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 09:10:34: [AMXX]    [0] deatheffect.sma::onDeath_level (line 124)
L 07/03/2014 - 09:12:31: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 09:12:31: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 09:12:31: [AMXX]    [0] deatheffect.sma::onDeath_level (line 123)
L 07/03/2014 - 09:12:36: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 09:12:36: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 09:12:36: [AMXX]    [0] deatheffect.sma::onDeath_level (line 124)
L 07/03/2014 - 09:14:50: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 09:14:50: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 09:14:50: [AMXX]    [0] deatheffect.sma::onDeath_level (line 124)
L 07/03/2014 - 09:16:54: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 09:16:54: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 09:16:54: [AMXX]    [0] deatheffect.sma::onDeath_level (line 123)
L 07/03/2014 - 09:18:36: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 09:18:36: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 09:18:36: [AMXX]    [0] deatheffect.sma::onDeath_level (line 124)
L 07/03/2014 - 09:19:54: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 09:19:54: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 09:19:54: [AMXX]    [0] deatheffect.sma::client_disconnect (line 62)
L 07/03/2014 - 09:20:15: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 09:20:15: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 09:20:15: [AMXX]    [0] deatheffect.sma::client_putinserver (line 67)
L 07/03/2014 - 09:21:01: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 09:21:01: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 09:21:01: [AMXX]    [0] deatheffect.sma::onDeath_level (line 124)
L 07/03/2014 - 09:23:09: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 09:23:09: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 09:23:09: [AMXX]    [0] deatheffect.sma::onDeath_level (line 124)
L 07/03/2014 - 09:25:00: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 09:25:00: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 09:25:00: [AMXX]    [0] deatheffect.sma::onDeath_level (line 124)
L 07/03/2014 - 09:28:57: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 09:28:57: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 09:28:57: [AMXX]    [0] deatheffect.sma::client_disconnect (line 62)
edit : Nu mai merge deloc acum.. pluginul rulează dar când omori pe cineva nu se întâmplă nimic..
Image
contact skype: capy_furien
contact facebook: www.facebool.com/capyfurien
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

03 Jul 2014, 11:31

| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>

new knife_kill, grenade_kill, headshot, normal_kill

new level[32]
new bool:kills[32]

new one_kill
new two_kill
new three_kill
new four_kill
new five_kill
new six_kill
new seven_kill
new eight_kill
new more_than_eight_kill
new g_lastkill
new g_firstblood

public plugin_precache()
{
        headshot = precache_model("sprites/headshot.spr")
        knife_kill = precache_model("sprites/knife_kill.spr")
        grenade_kill = precache_model("sprites/grenade_kill.spr")
        one_kill = precache_model("sprites/1_kill.spr")
        two_kill = precache_model("sprites/2_kill.spr")
        three_kill = precache_model("sprites/3_kill.spr")
        four_kill = precache_model("sprites/4_kill.spr")
        five_kill = precache_model("sprites/5_kill.spr")
        six_kill = precache_model("sprites/6_kill.spr")
        seven_kill = precache_model("sprites/7_kill.spr")
        eight_kill = precache_model("sprites/8_kill.spr")
        more_than_eight_kill = precache_model("sprites/more_than_8_kill.spr")
        normal_kill = precache_model("sprites/normal_kill.spr")
}

public plugin_init()
{
	register_plugin("Death Sprite Effect","1.5","RaZzoR")
        register_event("DeathMsg","onDeath","a")
        register_event("DeathMsg","onDeath_level","a")
        register_event("TextMsg", "eRestart", "a", "2&#Game_C", "2&#Game_w")
	register_event("SendAudio", "eEndRound", "a", "2&%!MRAD_terwin", "2&%!MRAD_ctwin", "2&%!MRAD_rounddraw")
}

public eRestart()
{
	eEndRound()
	g_firstblood = 1
}

public eEndRound()
{

}

public client_disconnect(id)
{
	if ( is_user_bot( id ) || is_user_hltv( id ) )
		return 0;

	level[id]= 0

	return 0;
}

public client_putinserver(id)
{
	if ( is_user_bot( id ) || is_user_hltv( id ) )
		return 0;

	level[id]= 0

	return 0;
}

public onDeath()
{
        new name_attacker[32]
	new name_victim[32]
        new wpn[3]
        new hs = read_data(3)
        new attacker = read_data(1)
        new victim = read_data(2)

	if( !is_user_connected( victim ) && !is_user_connected( attacker ) )
	{
		return PLUGIN_CONTINUE;
	}

        get_user_name(attacker, name_attacker, 31)
	get_user_name(victim, name_victim, 31)
        read_data(4,wpn,2)
    
        if (wpn[0] != 'k' && wpn[1] != 'r' && !can_see_fm(attacker, victim)) 
	{
		if (hs)
                {
			show_sprite(victim, normal_kill)
                }
	}
        else if (hs && wpn[0] != 'k' && wpn[1] != 'r')
	{
		show_sprite(victim, headshot)
	}
        else if (wpn[0] == 'k')
        {
	        show_sprite(victim, knife_kill)
        }
        else if (wpn[1] == 'r')
        {
	        show_sprite(victim, grenade_kill)
        }

        return PLUGIN_CONTINUE
}

public onDeath_level()
{
        new players_ct[32], players_t[32], ict, ite
	get_players(players_ct,ict,"ae","CT")   
	get_players(players_t,ite,"ae","TERRORIST")
	if (ict == 0 || ite == 0) g_lastkill = 1
        
        new attacker = read_data(1)
        new victim = read_data(2)
        new name_attacker[32]
	new name_victim[32]

	if( !is_user_connected( victim ) && !is_user_connected( attacker ) )
	{
		return PLUGIN_CONTINUE;
	}

        level[attacker] += 1
	level[victim]= 0

        get_user_name(attacker, name_attacker, 31)
	get_user_name(victim, name_victim, 31)

        if((victim == attacker) || (get_user_team(attacker) == get_user_team(victim)) || !victim || !attacker)
			return PLUGIN_CONTINUE

        if (g_firstblood && attacker!=victim && attacker>0) 
	{	
                 g_firstblood = 0			
	}
        if (g_lastkill == 1)
	{
		g_lastkill = 0
	}  
        if (level[attacker] == 1)
        {
	        show_sprite(victim, one_kill)
                kills[victim] = true
	}
        if (level[attacker] == 2)
        {
	        show_sprite(victim, two_kill)
                kills[victim] = true	
	}
        if (level[attacker] == 3)
        {
	        show_sprite(victim, three_kill)
                kills[victim] = true	
	}
        if (level[attacker] == 4)
        {
	        show_sprite(victim, four_kill)
                kills[victim] = true	
	}
        if (level[attacker] == 5)
        {
	        show_sprite(victim, five_kill)
                kills[victim] = true	
	}
        if (level[attacker] == 6)
        {
	        show_sprite(victim, six_kill)
                kills[victim] = true 	
	}
        if (level[attacker] == 7)
        {
	        show_sprite(victim, seven_kill)
                kills[victim] = true 	
	}
        if (level[attacker] == 8)
        {
	        show_sprite(victim, eight_kill)
                kills[victim] = true	
	}
        if (level[attacker] > 8)
        {
	        show_sprite(victim, more_than_eight_kill)
                kills[victim] = true		
	}
         
        return PLUGIN_CONTINUE
}

public show_sprite(attacker, sprite)
{	
        if(!is_user_connected(attacker))
		return PLUGIN_CONTINUE

	static origin[3]
	get_user_origin(attacker, origin)
	
        message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
	write_byte(TE_SPRITE)
	write_coord(origin[0])
	write_coord(origin[1])
	write_coord(origin[2]+65)
	write_short(sprite)
	write_byte(10)
	write_byte(250)
	message_end()
        
        return PLUGIN_CONTINUE
}

public podesi_boolove(id)
{	
	kills[id] = false
}

bool:can_see_fm(entindex1, entindex2)
{
	if (!entindex1 || !entindex2)
		return false

	if (pev_valid(entindex1) && pev_valid(entindex1))
	{
		new flags = pev(entindex1, pev_flags)
		if (flags & EF_NODRAW || flags & FL_NOTARGET)
		{
			return false
		}

		new Float:lookerOrig[3]
		new Float:targetBaseOrig[3]
		new Float:targetOrig[3]
		new Float:temp[3]

		pev(entindex1, pev_origin, lookerOrig)
		pev(entindex1, pev_view_ofs, temp)
		lookerOrig[0] += temp[0]
		lookerOrig[1] += temp[1]
		lookerOrig[2] += temp[2]

		pev(entindex2, pev_origin, targetBaseOrig)
		pev(entindex2, pev_view_ofs, temp)
		targetOrig[0] = targetBaseOrig [0] + temp[0]
		targetOrig[1] = targetBaseOrig [1] + temp[1]
		targetOrig[2] = targetBaseOrig [2] + temp[2]

		engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the had of seen player
		if (get_tr2(0, TraceResult:TR_InOpen) && get_tr2(0, TraceResult:TR_InWater))
		{
			return false
		} 
		else 
		{
			new Float:flFraction
			get_tr2(0, TraceResult:TR_flFraction, flFraction)
			if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
			{
				return true
			}
			else
			{
				targetOrig[0] = targetBaseOrig [0]
				targetOrig[1] = targetBaseOrig [1]
				targetOrig[2] = targetBaseOrig [2]
				engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the body of seen player
				get_tr2(0, TraceResult:TR_flFraction, flFraction)
				if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
				{
					return true
				}
				else
				{
					targetOrig[0] = targetBaseOrig [0]
					targetOrig[1] = targetBaseOrig [1]
					targetOrig[2] = targetBaseOrig [2] - 17.0
					engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the legs of seen player
					get_tr2(0, TraceResult:TR_flFraction, flFraction)
					if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
					{
						return true
					}
				}
			}
		}
	}
	return false
}
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
User avatar
CaPy`#
Membru, skill +1
Membru, skill +1
Posts: 455
Joined: 24 Jun 2014, 18:24
Detinator Steam: Da
Detinator server CS: Furien. Ecila .Ro
SteamID: megbegeb_hi
Fond eXtream: 0
Location: Drobeta Turnu Severin
Has thanked: 10 times
Been thanked: 3 times
Contact:

03 Jul 2014, 13:56

mda, altele :
| Afiseaza codul
L 07/03/2014 - 12:58:06: Start of error session.
L 07/03/2014 - 12:58:06: Info (map "de_kabul_32") (file "addons/amxmodx/logs/error_20140703.log")
L 07/03/2014 - 12:58:06: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 12:58:06: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 12:58:06: [AMXX]    [0] deatheffect.sma::client_putinserver (line 75)
L 07/03/2014 - 13:00:04: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 13:00:04: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 13:00:04: [AMXX]    [0] deatheffect.sma::onDeath_level (line 139)
L 07/03/2014 - 13:02:02: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 13:02:02: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 13:02:02: [AMXX]    [0] deatheffect.sma::onDeath_level (line 138)
L 07/03/2014 - 13:04:19: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 13:04:19: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 13:04:19: [AMXX]    [0] deatheffect.sma::onDeath_level (line 139)
L 07/03/2014 - 13:06:23: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 13:06:23: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 13:06:23: [AMXX]    [0] deatheffect.sma::onDeath_level (line 138)
L 07/03/2014 - 13:08:28: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 13:08:28: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 13:08:28: [AMXX]    [0] deatheffect.sma::onDeath_level (line 139)
L 07/03/2014 - 13:10:26: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 13:10:26: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 13:10:26: [AMXX]    [0] deatheffect.sma::onDeath_level (line 138)
L 07/03/2014 - 13:12:32: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 13:12:32: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 13:12:32: [AMXX]    [0] deatheffect.sma::onDeath_level (line 139)
L 07/03/2014 - 13:14:44: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 13:14:44: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 13:14:44: [AMXX]    [0] deatheffect.sma::onDeath_level (line 139)
L 07/03/2014 - 13:16:38: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 13:16:38: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 13:16:38: [AMXX]    [0] deatheffect.sma::onDeath_level (line 139)
L 07/03/2014 - 13:18:38: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 13:18:38: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 13:18:38: [AMXX]    [0] deatheffect.sma::onDeath_level (line 138)
L 07/03/2014 - 13:20:52: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 13:20:52: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 13:20:52: [AMXX]    [0] deatheffect.sma::onDeath_level (line 139)
L 07/03/2014 - 13:21:54: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 13:21:54: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 13:21:54: [AMXX]    [0] deatheffect.sma::onDeath_level (line 139)
L 07/03/2014 - 13:23:07: [AMXX] Displaying debug trace (plugin "deatheffect.amxx")
L 07/03/2014 - 13:23:07: [AMXX] Run time error 4: index out of bounds 
L 07/03/2014 - 13:23:07: [AMXX]    [0] deatheffect.sma::client_disconnect (line 65)
Image
contact skype: capy_furien
contact facebook: www.facebool.com/capyfurien
User avatar
WISHEXEC
Membru, skill +4
Membru, skill +4
Posts: 1682
Joined: 12 Nov 2011, 19:37
Detinator Steam: Da
CS Status: AmxModX
Detinator server CS: DAEVA.RO
Reputatie: Fost Moderator ajutator
Nume anterior : ONEMDX
Location: România
Has thanked: 84 times
Been thanked: 85 times
Contact:

03 Jul 2014, 14:03

Fixat fara erori :
daca vrei fara mesaje stergi pe unde vezi dastea :
set_dhudmessage(255, 215, 0, -1.0, 0.30, 0, 6.0, 3.0, 0.1, 1.5)
show_dhudmessage(0, "LAST KILL: ^n %s KILLED %s!", name_attacker, name_victim)
Click
SMA | Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>
#include <dhudmessage>

new knife_kill, grenade_kill, headshot, normal_kill

new level[33]
new bool:kills[33]

new one_kill
new two_kill
new three_kill
new four_kill
new five_kill
new six_kill
new seven_kill
new eight_kill
new more_than_eight_kill
new g_lastkill
new g_firstblood

public plugin_precache()
{
        headshot = precache_model("sprites/headshot.spr")
        knife_kill = precache_model("sprites/knife_kill.spr")
        grenade_kill = precache_model("sprites/grenade_kill.spr")
        one_kill = precache_model("sprites/1_kill.spr")
        two_kill = precache_model("sprites/2_kill.spr")
        three_kill = precache_model("sprites/3_kill.spr")
        four_kill = precache_model("sprites/4_kill.spr")
        five_kill = precache_model("sprites/5_kill.spr")
        six_kill = precache_model("sprites/6_kill.spr")
        seven_kill = precache_model("sprites/7_kill.spr")
        eight_kill = precache_model("sprites/8_kill.spr")
        more_than_eight_kill = precache_model("sprites/more_than_8_kill.spr")
        normal_kill = precache_model("sprites/normal_kill.spr")
}

public plugin_init()
{
	register_plugin("Death Sprite Effect","1.5","RaZzoR")
        register_event("DeathMsg","onDeath","a")
        register_event("DeathMsg","onDeath_level","a")
        register_event("TextMsg", "eRestart", "a", "2&#Game_C", "2&#Game_w")
	register_event("SendAudio", "eEndRound", "a", "2&%!MRAD_terwin", "2&%!MRAD_ctwin", "2&%!MRAD_rounddraw")
	register_event("RoundTime", "eNewRound", "bc")
}

public eNewRound()
{
	if (read_data(1) == floatround(get_cvar_float("mp_roundtime") * 60.0,floatround_floor))
	{
		g_firstblood = 1
	}
}

public eRestart()
{
	eEndRound()
	g_firstblood = 1
}

public eEndRound()
{

}

public client_disconnect(id)
{
	level[id]= 0
}
public client_putinserver(id)
{
	level[id]= 0
}

public onDeath()
{
        new name_attacker[32]
	new name_victim[32]
        new wpn[3]
        new hs = read_data(3)
        new attacker = read_data(1)
        new victim = read_data(2)

        get_user_name(attacker, name_attacker, 31)
	get_user_name(victim, name_victim, 31)
        read_data(4,wpn,2)
    
        if (wpn[0] != 'k' && wpn[1] != 'r' && !can_see_fm(attacker, victim)) 
	{
		if (hs)
                {
                  set_dhudmessage(255, 0, 0, -1.0, 0.20, 0, 6.0, 3.0, 0.1, 1.5) 
	          show_dhudmessage(attacker, "WALL OVER HS!^n-|YES! :D|-")
                }
		else 
                {
                  set_dhudmessage(0, 98, 139, -1.0, 0.25, 0, 6.0, 3.0, 0.1, 1.5) 
	          show_dhudmessage(attacker, "WALLSHOT!")
                } 
	}
        else if (hs && wpn[0] != 'k' && wpn[1] != 'r')
	{
		show_sprite(victim, headshot)  
	}
        else if (wpn[0] == 'k')
        {
	        show_sprite(victim, knife_kill)
        }
        else if (wpn[1] == 'r')
        {
	        show_sprite(victim, grenade_kill)
        }
        else
        {  
                show_sprite(victim, normal_kill)
        }

        return PLUGIN_CONTINUE
}

public onDeath_level()
{
        new players_ct[32], players_t[32], ict, ite
	get_players(players_ct,ict,"ae","CT")   
	get_players(players_t,ite,"ae","TERRORIST")
	if (ict == 0 || ite == 0) g_lastkill = 1
        
        new attacker = read_data(1)
        new victim = read_data(2)
        new name_attacker[32]
	new name_victim[32]

        level[attacker] += 1
	level[victim]= 0

        get_user_name(attacker, name_attacker, 31)
	get_user_name(victim, name_victim, 31)

        if((victim == attacker) || (get_user_team(attacker) == get_user_team(victim)) || !victim || !attacker)
			return PLUGIN_CONTINUE
       


        if (g_firstblood && attacker!=victim && attacker>0) 
	{	
                 g_firstblood = 0			
		 set_dhudmessage(255, 105, 180, -1.0, 0.35, 0, 6.0, 3.0, 0.1, 1.5) 
		 show_dhudmessage(0, "FIRST BLOOD: ^n %s KILLED %s!", name_attacker, name_victim)
	}
        if (g_lastkill == 1)
	{
		g_lastkill = 0
                set_dhudmessage(255, 215, 0, -1.0, 0.30, 0, 6.0, 3.0, 0.1, 1.5) 
		show_dhudmessage(0, "LAST KILL: ^n %s KILLED %s!", name_attacker, name_victim)
	}  
        if (level[attacker] == 1)
        {
	        show_sprite(victim, one_kill)
                kills[victim] = true
		
	}
        if (level[attacker] == 2)
        {
	        show_sprite(victim, two_kill)
                kills[victim] = true
		
	}
        if (level[attacker] == 3)
        {
	        show_sprite(victim, three_kill)
                kills[victim] = true	
		
	}
        if (level[attacker] == 4)
        {
	        show_sprite(victim, four_kill)
                kills[victim] = true
	
		
	}
        if (level[attacker] == 5)
        {
	        show_sprite(victim, five_kill)
                kills[victim] = true
 	
		
	}
        if (level[attacker] == 6)
        {
	        show_sprite(victim, six_kill)
                kills[victim] = true
 	
		
	}
        if (level[attacker] == 7)
        {
	        show_sprite(victim, seven_kill)
                kills[victim] = true
	 	
		
	}
        if (level[attacker] == 8)
        {
	        show_sprite(victim, eight_kill)
                kills[victim] = true
		
		
	}
        if (level[attacker] > 8)
        {
	        show_sprite(victim, more_than_eight_kill)
                kills[victim] = true	
		
	}
         
        return PLUGIN_CONTINUE
}

public show_sprite(attacker, sprite)
{	
        if(!is_user_connected(attacker))
		return PLUGIN_CONTINUE



	static origin[3]
	get_user_origin(attacker, origin)
	
        message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
	write_byte(TE_SPRITE)
	write_coord(origin[0])
	write_coord(origin[1])
	write_coord(origin[2]+65)
	write_short(sprite)
	write_byte(10)
	write_byte(250)
	message_end()
        
        return PLUGIN_CONTINUE
}

public podesi_boolove(id)
{	
	kills[id] = false
}

bool:can_see_fm(entindex1, entindex2)
{
	if (!entindex1 || !entindex2)
		return false

	if (pev_valid(entindex1) && pev_valid(entindex1))
	{
		new flags = pev(entindex1, pev_flags)
		if (flags & EF_NODRAW || flags & FL_NOTARGET)
		{
			return false
		}

		new Float:lookerOrig[3]
		new Float:targetBaseOrig[3]
		new Float:targetOrig[3]
		new Float:temp[3]

		pev(entindex1, pev_origin, lookerOrig)
		pev(entindex1, pev_view_ofs, temp)
		lookerOrig[0] += temp[0]
		lookerOrig[1] += temp[1]
		lookerOrig[2] += temp[2]

		pev(entindex2, pev_origin, targetBaseOrig)
		pev(entindex2, pev_view_ofs, temp)
		targetOrig[0] = targetBaseOrig [0] + temp[0]
		targetOrig[1] = targetBaseOrig [1] + temp[1]
		targetOrig[2] = targetBaseOrig [2] + temp[2]

		engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the had of seen player
		if (get_tr2(0, TraceResult:TR_InOpen) && get_tr2(0, TraceResult:TR_InWater))
		{
			return false
		} 
		else 
		{
			new Float:flFraction
			get_tr2(0, TraceResult:TR_flFraction, flFraction)
			if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
			{
				return true
			}
			else
			{
				targetOrig[0] = targetBaseOrig [0]
				targetOrig[1] = targetBaseOrig [1]
				targetOrig[2] = targetBaseOrig [2]
				engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the body of seen player
				get_tr2(0, TraceResult:TR_flFraction, flFraction)
				if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
				{
					return true
				}
				else
				{
					targetOrig[0] = targetBaseOrig [0]
					targetOrig[1] = targetBaseOrig [1]
					targetOrig[2] = targetBaseOrig [2] - 17.0
					engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the legs of seen player
					get_tr2(0, TraceResult:TR_flFraction, flFraction)
					if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
					{
						return true
					}
				}
			}
		}
	}
	return false
}
User avatar
CaPy`#
Membru, skill +1
Membru, skill +1
Posts: 455
Joined: 24 Jun 2014, 18:24
Detinator Steam: Da
Detinator server CS: Furien. Ecila .Ro
SteamID: megbegeb_hi
Fond eXtream: 0
Location: Drobeta Turnu Severin
Has thanked: 10 times
Been thanked: 3 times
Contact:

03 Jul 2014, 14:34

ONEMDX wrote:Fixat fara erori :
daca vrei fara mesaje stergi pe unde vezi dastea :
set_dhudmessage(255, 215, 0, -1.0, 0.30, 0, 6.0, 3.0, 0.1, 1.5)
show_dhudmessage(0, "LAST KILL: ^n %s KILLED %s!", name_attacker, name_victim)
Click
SMA | Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>
#include <dhudmessage>

new knife_kill, grenade_kill, headshot, normal_kill

new level[33]
new bool:kills[33]

new one_kill
new two_kill
new three_kill
new four_kill
new five_kill
new six_kill
new seven_kill
new eight_kill
new more_than_eight_kill
new g_lastkill
new g_firstblood

public plugin_precache()
{
        headshot = precache_model("sprites/headshot.spr")
        knife_kill = precache_model("sprites/knife_kill.spr")
        grenade_kill = precache_model("sprites/grenade_kill.spr")
        one_kill = precache_model("sprites/1_kill.spr")
        two_kill = precache_model("sprites/2_kill.spr")
        three_kill = precache_model("sprites/3_kill.spr")
        four_kill = precache_model("sprites/4_kill.spr")
        five_kill = precache_model("sprites/5_kill.spr")
        six_kill = precache_model("sprites/6_kill.spr")
        seven_kill = precache_model("sprites/7_kill.spr")
        eight_kill = precache_model("sprites/8_kill.spr")
        more_than_eight_kill = precache_model("sprites/more_than_8_kill.spr")
        normal_kill = precache_model("sprites/normal_kill.spr")
}

public plugin_init()
{
	register_plugin("Death Sprite Effect","1.5","RaZzoR")
        register_event("DeathMsg","onDeath","a")
        register_event("DeathMsg","onDeath_level","a")
        register_event("TextMsg", "eRestart", "a", "2&#Game_C", "2&#Game_w")
	register_event("SendAudio", "eEndRound", "a", "2&%!MRAD_terwin", "2&%!MRAD_ctwin", "2&%!MRAD_rounddraw")
	register_event("RoundTime", "eNewRound", "bc")
}

public eNewRound()
{
	if (read_data(1) == floatround(get_cvar_float("mp_roundtime") * 60.0,floatround_floor))
	{
		g_firstblood = 1
	}
}

public eRestart()
{
	eEndRound()
	g_firstblood = 1
}

public eEndRound()
{

}

public client_disconnect(id)
{
	level[id]= 0
}
public client_putinserver(id)
{
	level[id]= 0
}

public onDeath()
{
        new name_attacker[32]
	new name_victim[32]
        new wpn[3]
        new hs = read_data(3)
        new attacker = read_data(1)
        new victim = read_data(2)

        get_user_name(attacker, name_attacker, 31)
	get_user_name(victim, name_victim, 31)
        read_data(4,wpn,2)
    
        if (wpn[0] != 'k' && wpn[1] != 'r' && !can_see_fm(attacker, victim)) 
	{
		if (hs)
                {
                  set_dhudmessage(255, 0, 0, -1.0, 0.20, 0, 6.0, 3.0, 0.1, 1.5) 
	          show_dhudmessage(attacker, "WALL OVER HS!^n-|YES! :D|-")
                }
		else 
                {
                  set_dhudmessage(0, 98, 139, -1.0, 0.25, 0, 6.0, 3.0, 0.1, 1.5) 
	          show_dhudmessage(attacker, "WALLSHOT!")
                } 
	}
        else if (hs && wpn[0] != 'k' && wpn[1] != 'r')
	{
		show_sprite(victim, headshot)  
	}
        else if (wpn[0] == 'k')
        {
	        show_sprite(victim, knife_kill)
        }
        else if (wpn[1] == 'r')
        {
	        show_sprite(victim, grenade_kill)
        }
        else
        {  
                show_sprite(victim, normal_kill)
        }

        return PLUGIN_CONTINUE
}

public onDeath_level()
{
        new players_ct[32], players_t[32], ict, ite
	get_players(players_ct,ict,"ae","CT")   
	get_players(players_t,ite,"ae","TERRORIST")
	if (ict == 0 || ite == 0) g_lastkill = 1
        
        new attacker = read_data(1)
        new victim = read_data(2)
        new name_attacker[32]
	new name_victim[32]

        level[attacker] += 1
	level[victim]= 0

        get_user_name(attacker, name_attacker, 31)
	get_user_name(victim, name_victim, 31)

        if((victim == attacker) || (get_user_team(attacker) == get_user_team(victim)) || !victim || !attacker)
			return PLUGIN_CONTINUE
       


        if (g_firstblood && attacker!=victim && attacker>0) 
	{	
                 g_firstblood = 0			
		 set_dhudmessage(255, 105, 180, -1.0, 0.35, 0, 6.0, 3.0, 0.1, 1.5) 
		 show_dhudmessage(0, "FIRST BLOOD: ^n %s KILLED %s!", name_attacker, name_victim)
	}
        if (g_lastkill == 1)
	{
		g_lastkill = 0
                set_dhudmessage(255, 215, 0, -1.0, 0.30, 0, 6.0, 3.0, 0.1, 1.5) 
		show_dhudmessage(0, "LAST KILL: ^n %s KILLED %s!", name_attacker, name_victim)
	}  
        if (level[attacker] == 1)
        {
	        show_sprite(victim, one_kill)
                kills[victim] = true
		
	}
        if (level[attacker] == 2)
        {
	        show_sprite(victim, two_kill)
                kills[victim] = true
		
	}
        if (level[attacker] == 3)
        {
	        show_sprite(victim, three_kill)
                kills[victim] = true	
		
	}
        if (level[attacker] == 4)
        {
	        show_sprite(victim, four_kill)
                kills[victim] = true
	
		
	}
        if (level[attacker] == 5)
        {
	        show_sprite(victim, five_kill)
                kills[victim] = true
 	
		
	}
        if (level[attacker] == 6)
        {
	        show_sprite(victim, six_kill)
                kills[victim] = true
 	
		
	}
        if (level[attacker] == 7)
        {
	        show_sprite(victim, seven_kill)
                kills[victim] = true
	 	
		
	}
        if (level[attacker] == 8)
        {
	        show_sprite(victim, eight_kill)
                kills[victim] = true
		
		
	}
        if (level[attacker] > 8)
        {
	        show_sprite(victim, more_than_eight_kill)
                kills[victim] = true	
		
	}
         
        return PLUGIN_CONTINUE
}

public show_sprite(attacker, sprite)
{	
        if(!is_user_connected(attacker))
		return PLUGIN_CONTINUE



	static origin[3]
	get_user_origin(attacker, origin)
	
        message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
	write_byte(TE_SPRITE)
	write_coord(origin[0])
	write_coord(origin[1])
	write_coord(origin[2]+65)
	write_short(sprite)
	write_byte(10)
	write_byte(250)
	message_end()
        
        return PLUGIN_CONTINUE
}

public podesi_boolove(id)
{	
	kills[id] = false
}

bool:can_see_fm(entindex1, entindex2)
{
	if (!entindex1 || !entindex2)
		return false

	if (pev_valid(entindex1) && pev_valid(entindex1))
	{
		new flags = pev(entindex1, pev_flags)
		if (flags & EF_NODRAW || flags & FL_NOTARGET)
		{
			return false
		}

		new Float:lookerOrig[3]
		new Float:targetBaseOrig[3]
		new Float:targetOrig[3]
		new Float:temp[3]

		pev(entindex1, pev_origin, lookerOrig)
		pev(entindex1, pev_view_ofs, temp)
		lookerOrig[0] += temp[0]
		lookerOrig[1] += temp[1]
		lookerOrig[2] += temp[2]

		pev(entindex2, pev_origin, targetBaseOrig)
		pev(entindex2, pev_view_ofs, temp)
		targetOrig[0] = targetBaseOrig [0] + temp[0]
		targetOrig[1] = targetBaseOrig [1] + temp[1]
		targetOrig[2] = targetBaseOrig [2] + temp[2]

		engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the had of seen player
		if (get_tr2(0, TraceResult:TR_InOpen) && get_tr2(0, TraceResult:TR_InWater))
		{
			return false
		} 
		else 
		{
			new Float:flFraction
			get_tr2(0, TraceResult:TR_flFraction, flFraction)
			if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
			{
				return true
			}
			else
			{
				targetOrig[0] = targetBaseOrig [0]
				targetOrig[1] = targetBaseOrig [1]
				targetOrig[2] = targetBaseOrig [2]
				engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the body of seen player
				get_tr2(0, TraceResult:TR_flFraction, flFraction)
				if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
				{
					return true
				}
				else
				{
					targetOrig[0] = targetBaseOrig [0]
					targetOrig[1] = targetBaseOrig [1]
					targetOrig[2] = targetBaseOrig [2] - 17.0
					engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the legs of seen player
					get_tr2(0, TraceResult:TR_flFraction, flFraction)
					if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
					{
						return true
					}
				}
			}
		}
	}
	return false
}
Mulțumesc, am făcut așa la dhuduri
| Afiseaza codul
set_dhudmessage(255, 0, 0, -1.0, 0.20, 0, 6.0, 3.0, 0.1, 1.5) 
	          show_dhudmessage(attacker, "")
                }
		else 
                {
                  set_dhudmessage(0, 98, 139, -1.0, 0.25, 0, 6.0, 3.0, 0.1, 1.5) 
	          show_dhudmessage(attacker, "")
                }
Nu mai dă erori, mulțumesc la amândoi !
Image
contact skype: capy_furien
contact facebook: www.facebool.com/capyfurien
User avatar
WISHEXEC
Membru, skill +4
Membru, skill +4
Posts: 1682
Joined: 12 Nov 2011, 19:37
Detinator Steam: Da
CS Status: AmxModX
Detinator server CS: DAEVA.RO
Reputatie: Fost Moderator ajutator
Nume anterior : ONEMDX
Location: România
Has thanked: 84 times
Been thanked: 85 times
Contact:

03 Jul 2014, 14:48

sau asa , npc salut
Post Reply

Return to “Modificari pluginuri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 8 guests