Aşağıdaki şimşekli ölüm efekti eklentisinde ölüm olarak sadece hs yediği zaman şimşek çakmasını nasıl sağlayabilirim? normal ölümde çalışmayacak sadece hs ile öldüğünde şimşek çalışacak
Konu
Kod:
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <engine>
new bool:g_bWasHeadshot[33]
new g_eff_spr_lightning, g_eff_spr_smoke
public plugin_precache()
{
g_eff_spr_lightning = precache_model("sprites/lgtning.spr")
g_eff_spr_smoke = precache_model("sprites/black_smoke3.spr")
}
public plugin_init()
{
register_plugin("Thunder on Death Terrorist","1.4","<VeCo>")
RegisterHam(Ham_Killed,"player","Ham_Player_Killed")
register_event("DeathMsg", "event_death", "a")
}
public Ham_Player_Killed(id,i_killer, i_shouldgib)
{
if (!g_bWasHeadshot[id])
return HAM_IGNORED
g_bWasHeadshot[id] = false
static Float:v_f_origin_start[3], Float:v_f_origin_real_start[3],
Float:v_f_origin_cache[3], Float:v_f_origin_real_end[3],
h_trace
entity_get_vector(id,EV_VEC_origin,v_f_origin_start)
v_f_origin_cache[0] = v_f_origin_start[0]
v_f_origin_cache[1] = v_f_origin_start[1]
v_f_origin_cache[2] = v_f_origin_start[2] + 8192.0
engfunc(EngFunc_TraceLine, v_f_origin_start,v_f_origin_cache, IGNORE_MONSTERS, 0,h_trace)
get_tr2(h_trace,TR_vecEndPos,v_f_origin_real_end)
v_f_origin_cache[0] = v_f_origin_start[0]
v_f_origin_cache[1] = v_f_origin_start[1]
v_f_origin_cache[2] = v_f_origin_start[2] - 8192.0
engfunc(EngFunc_TraceLine, v_f_origin_start,v_f_origin_cache, IGNORE_MONSTERS, 0,h_trace)
get_tr2(h_trace,TR_vecEndPos,v_f_origin_real_start)
engfunc(EngFunc_MessageBegin, MSG_PVS,SVC_TEMPENTITY, v_f_origin_start, 0)
write_byte(TE_BEAMPOINTS)
engfunc(EngFunc_WriteCoord,v_f_origin_start[0])
engfunc(EngFunc_WriteCoord,v_f_origin_start[1])
engfunc(EngFunc_WriteCoord,v_f_origin_start[2])
engfunc(EngFunc_WriteCoord,v_f_origin_real_end[0])
engfunc(EngFunc_WriteCoord,v_f_origin_real_end[1])
engfunc(EngFunc_WriteCoord,v_f_origin_real_end[2])
write_short(g_eff_spr_lightning)
write_byte(0)
write_byte(0)
write_byte(6)
write_byte(30)
write_byte(10)
write_byte(0)
write_byte(200)
write_byte(255)
write_byte(220)
write_byte(0)
message_end()
engfunc(EngFunc_MessageBegin, MSG_PVS,SVC_TEMPENTITY, v_f_origin_start, 0)
write_byte(TE_BEAMCYLINDER)
engfunc(EngFunc_WriteCoord,v_f_origin_start[0])
engfunc(EngFunc_WriteCoord,v_f_origin_start[1])
engfunc(EngFunc_WriteCoord,v_f_origin_start[2] - 16.0)
engfunc(EngFunc_WriteCoord,v_f_origin_start[0])
engfunc(EngFunc_WriteCoord,v_f_origin_start[1])
engfunc(EngFunc_WriteCoord,v_f_origin_start[2] + 32.0)
write_short(g_eff_spr_lightning)
write_byte(0)
write_byte(0)
write_byte(5)
write_byte(32)
write_byte(0)
write_byte(0)
write_byte(200)
write_byte(255)
write_byte(220)
write_byte(0)
message_end()
engfunc(EngFunc_MessageBegin, MSG_PVS,SVC_TEMPENTITY, v_f_origin_start, 0)
write_byte(TE_SMOKE)
engfunc(EngFunc_WriteCoord,v_f_origin_start[0])
engfunc(EngFunc_WriteCoord,v_f_origin_start[1])
engfunc(EngFunc_WriteCoord,v_f_origin_start[2] - 16.0)
write_short(g_eff_spr_smoke)
write_byte(7)
write_byte(30)
message_end()
engfunc(EngFunc_MessageBegin, MSG_PVS,SVC_TEMPENTITY, v_f_origin_start, 0)
write_byte(TE_WORLDDECAL)
engfunc(EngFunc_WriteCoord,v_f_origin_real_start[0])
engfunc(EngFunc_WriteCoord,v_f_origin_real_start[1])
engfunc(EngFunc_WriteCoord,v_f_origin_real_start[2])
write_byte(46)
message_end()
SetHamParamInteger(3,2)
return HAM_IGNORED
}
public event_death()
{
new victim = read_data(2)
new hs = read_data(3)
g_bWasHeadshot[victim] = (hs == 1) // Headshot aldıysa true
}Son Düzenleme: 21-05-2025, 20:43, Düzenleyen: Bhaxx.
(21-05-2025, 20:41)Bhaxx Adlı Kullanıcıdan Alıntı:pardon eklere ekleyemedim ya ben göremedim yada yok attığımı dosyanızdakiyle değiştirirmisiniz veya yeni .sma dosyası açıp yapıştırabilirsiniz kb böyle ilettiğim içinKod:#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <engine>
new bool:g_bWasHeadshot[33]
new g_eff_spr_lightning, g_eff_spr_smoke
public plugin_precache()
{
g_eff_spr_lightning = precache_model("sprites/lgtning.spr")
g_eff_spr_smoke = precache_model("sprites/black_smoke3.spr")
}
public plugin_init()
{
register_plugin("Thunder on Death Terrorist","1.4","<VeCo>")
RegisterHam(Ham_Killed,"player","Ham_Player_Killed")
register_event("DeathMsg", "event_death", "a")
}
public Ham_Player_Killed(id,i_killer, i_shouldgib)
{
if (!g_bWasHeadshot[id])
return HAM_IGNORED
g_bWasHeadshot[id] = false
static Float:v_f_origin_start[3], Float:v_f_origin_real_start[3],
Float:v_f_origin_cache[3], Float:v_f_origin_real_end[3],
h_trace
entity_get_vector(id,EV_VEC_origin,v_f_origin_start)
v_f_origin_cache[0] = v_f_origin_start[0]
v_f_origin_cache[1] = v_f_origin_start[1]
v_f_origin_cache[2] = v_f_origin_start[2] + 8192.0
engfunc(EngFunc_TraceLine, v_f_origin_start,v_f_origin_cache, IGNORE_MONSTERS, 0,h_trace)
get_tr2(h_trace,TR_vecEndPos,v_f_origin_real_end)
v_f_origin_cache[0] = v_f_origin_start[0]
v_f_origin_cache[1] = v_f_origin_start[1]
v_f_origin_cache[2] = v_f_origin_start[2] - 8192.0
engfunc(EngFunc_TraceLine, v_f_origin_start,v_f_origin_cache, IGNORE_MONSTERS, 0,h_trace)
get_tr2(h_trace,TR_vecEndPos,v_f_origin_real_start)
engfunc(EngFunc_MessageBegin, MSG_PVS,SVC_TEMPENTITY, v_f_origin_start, 0)
write_byte(TE_BEAMPOINTS)
engfunc(EngFunc_WriteCoord,v_f_origin_start[0])
engfunc(EngFunc_WriteCoord,v_f_origin_start[1])
engfunc(EngFunc_WriteCoord,v_f_origin_start[2])
engfunc(EngFunc_WriteCoord,v_f_origin_real_end[0])
engfunc(EngFunc_WriteCoord,v_f_origin_real_end[1])
engfunc(EngFunc_WriteCoord,v_f_origin_real_end[2])
write_short(g_eff_spr_lightning)
write_byte(0)
write_byte(0)
write_byte(6)
write_byte(30)
write_byte(10)
write_byte(0)
write_byte(200)
write_byte(255)
write_byte(220)
write_byte(0)
message_end()
engfunc(EngFunc_MessageBegin, MSG_PVS,SVC_TEMPENTITY, v_f_origin_start, 0)
write_byte(TE_BEAMCYLINDER)
engfunc(EngFunc_WriteCoord,v_f_origin_start[0])
engfunc(EngFunc_WriteCoord,v_f_origin_start[1])
engfunc(EngFunc_WriteCoord,v_f_origin_start[2] - 16.0)
engfunc(EngFunc_WriteCoord,v_f_origin_start[0])
engfunc(EngFunc_WriteCoord,v_f_origin_start[1])
engfunc(EngFunc_WriteCoord,v_f_origin_start[2] + 32.0)
write_short(g_eff_spr_lightning)
write_byte(0)
write_byte(0)
write_byte(5)
write_byte(32)
write_byte(0)
write_byte(0)
write_byte(200)
write_byte(255)
write_byte(220)
write_byte(0)
message_end()
engfunc(EngFunc_MessageBegin, MSG_PVS,SVC_TEMPENTITY, v_f_origin_start, 0)
write_byte(TE_SMOKE)
engfunc(EngFunc_WriteCoord,v_f_origin_start[0])
engfunc(EngFunc_WriteCoord,v_f_origin_start[1])
engfunc(EngFunc_WriteCoord,v_f_origin_start[2] - 16.0)
write_short(g_eff_spr_smoke)
write_byte(7)
write_byte(30)
message_end()
engfunc(EngFunc_MessageBegin, MSG_PVS,SVC_TEMPENTITY, v_f_origin_start, 0)
write_byte(TE_WORLDDECAL)
engfunc(EngFunc_WriteCoord,v_f_origin_real_start[0])
engfunc(EngFunc_WriteCoord,v_f_origin_real_start[1])
engfunc(EngFunc_WriteCoord,v_f_origin_real_start[2])
write_byte(46)
message_end()
SetHamParamInteger(3,2)
return HAM_IGNORED
}
public event_death()
{
new victim = read_data(2)
new hs = read_data(3)
g_bWasHeadshot[victim] = (hs == 1) // Headshot aldıysa true
}
Bu şekilde yaptım ama tam sağlıklı çalışmıyor bazen normal vuruşta bazen hs vuruşta çalışıyor karışık bir şey olmuş
Denermisiniz
Kod:
#include <amxmodx>
#include <fakemeta>
#include <engine>
new g_eff_spr_lightning, g_eff_spr_smoke
public plugin_precache()
{
g_eff_spr_lightning = precache_model("sprites/lgtning.spr")
g_eff_spr_smoke = precache_model("sprites/black_smoke3.spr")
}
public plugin_init()
{
register_plugin("Thunder on HS Death", "1.0", "Bhaxx")
register_event("DeathMsg", "event_death", "a")
}
public event_death()
{
new victim = read_data(2)
new hs = read_data(3)
if (hs != 1)
return
new Float:origin[3], Float:endUp[3], Float:endDown[3], trace
pev(victim, pev_origin, origin)
// Yukarıya iz sür
endUp[0] = origin[0]
endUp[1] = origin[1]
endUp[2] = origin[2] + 8192.0
engfunc(EngFunc_TraceLine, origin, endUp, IGNORE_MONSTERS, victim, trace)
get_tr2(trace, TR_vecEndPos, endUp)
// Aşağıya iz sür
endDown[0] = origin[0]
endDown[1] = origin[1]
endDown[2] = origin[2] - 8192.0
engfunc(EngFunc_TraceLine, origin, endDown, IGNORE_MONSTERS, victim, trace)
get_tr2(trace, TR_vecEndPos, endDown)
// Lightning beam
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, origin, 0)
write_byte(TE_BEAMPOINTS)
engfunc(EngFunc_WriteCoord, origin[0])
engfunc(EngFunc_WriteCoord, origin[1])
engfunc(EngFunc_WriteCoord, origin[2])
engfunc(EngFunc_WriteCoord, endUp[0])
engfunc(EngFunc_WriteCoord, endUp[1])
engfunc(EngFunc_WriteCoord, endUp[2])
write_short(g_eff_spr_lightning)
write_byte(0)
write_byte(0)
write_byte(6)
write_byte(30)
write_byte(10)
write_byte(0)
write_byte(200)
write_byte(255)
write_byte(220)
write_byte(0)
message_end()
// Beamcylinder
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, origin, 0)
write_byte(TE_BEAMCYLINDER)
engfunc(EngFunc_WriteCoord, origin[0])
engfunc(EngFunc_WriteCoord, origin[1])
engfunc(EngFunc_WriteCoord, origin[2] - 16.0)
engfunc(EngFunc_WriteCoord, origin[0])
engfunc(EngFunc_WriteCoord, origin[1])
engfunc(EngFunc_WriteCoord, origin[2] + 32.0)
write_short(g_eff_spr_lightning)
write_byte(0)
write_byte(0)
write_byte(5)
write_byte(32)
write_byte(0)
write_byte(0)
write_byte(200)
write_byte(255)
write_byte(220)
write_byte(0)
message_end()
// Smoke
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, origin, 0)
write_byte(TE_SMOKE)
engfunc(EngFunc_WriteCoord, origin[0])
engfunc(EngFunc_WriteCoord, origin[1])
engfunc(EngFunc_WriteCoord, origin[2] - 16.0)
write_short(g_eff_spr_smoke)
write_byte(7)
write_byte(30)
message_end()
// Decal
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, origin, 0)
write_byte(TE_WORLDDECAL)
engfunc(EngFunc_WriteCoord, endDown[0])
engfunc(EngFunc_WriteCoord, endDown[1])
engfunc(EngFunc_WriteCoord, endDown[2])
write_byte(46)
message_end()
}Son Düzenleme: 21-05-2025, 22:03, Düzenleyen: Bhaxx.
(21-05-2025, 22:02)Bhaxx Adlı Kullanıcıdan Alıntı: DenermisinizKod:#include <amxmodx>
#include <fakemeta>
#include <engine>
new g_eff_spr_lightning, g_eff_spr_smoke
public plugin_precache()
{
g_eff_spr_lightning = precache_model("sprites/lgtning.spr")
g_eff_spr_smoke = precache_model("sprites/black_smoke3.spr")
}
public plugin_init()
{
register_plugin("Thunder on HS Death", "1.0", "Bhaxx")
register_event("DeathMsg", "event_death", "a")
}
public event_death()
{
new victim = read_data(2)
new hs = read_data(3)
if (hs != 1)
return
new Float:origin[3], Float:endUp[3], Float:endDown[3], trace
pev(victim, pev_origin, origin)
// Yukarıya iz sür
endUp[0] = origin[0]
endUp[1] = origin[1]
endUp[2] = origin[2] + 8192.0
engfunc(EngFunc_TraceLine, origin, endUp, IGNORE_MONSTERS, victim, trace)
get_tr2(trace, TR_vecEndPos, endUp)
// Aşağıya iz sür
endDown[0] = origin[0]
endDown[1] = origin[1]
endDown[2] = origin[2] - 8192.0
engfunc(EngFunc_TraceLine, origin, endDown, IGNORE_MONSTERS, victim, trace)
get_tr2(trace, TR_vecEndPos, endDown)
// Lightning beam
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, origin, 0)
write_byte(TE_BEAMPOINTS)
engfunc(EngFunc_WriteCoord, origin[0])
engfunc(EngFunc_WriteCoord, origin[1])
engfunc(EngFunc_WriteCoord, origin[2])
engfunc(EngFunc_WriteCoord, endUp[0])
engfunc(EngFunc_WriteCoord, endUp[1])
engfunc(EngFunc_WriteCoord, endUp[2])
write_short(g_eff_spr_lightning)
write_byte(0)
write_byte(0)
write_byte(6)
write_byte(30)
write_byte(10)
write_byte(0)
write_byte(200)
write_byte(255)
write_byte(220)
write_byte(0)
message_end()
// Beamcylinder
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, origin, 0)
write_byte(TE_BEAMCYLINDER)
engfunc(EngFunc_WriteCoord, origin[0])
engfunc(EngFunc_WriteCoord, origin[1])
engfunc(EngFunc_WriteCoord, origin[2] - 16.0)
engfunc(EngFunc_WriteCoord, origin[0])
engfunc(EngFunc_WriteCoord, origin[1])
engfunc(EngFunc_WriteCoord, origin[2] + 32.0)
write_short(g_eff_spr_lightning)
write_byte(0)
write_byte(0)
write_byte(5)
write_byte(32)
write_byte(0)
write_byte(0)
write_byte(200)
write_byte(255)
write_byte(220)
write_byte(0)
message_end()
// Smoke
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, origin, 0)
write_byte(TE_SMOKE)
engfunc(EngFunc_WriteCoord, origin[0])
engfunc(EngFunc_WriteCoord, origin[1])
engfunc(EngFunc_WriteCoord, origin[2] - 16.0)
write_short(g_eff_spr_smoke)
write_byte(7)
write_byte(30)
message_end()
// Decal
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, origin, 0)
write_byte(TE_WORLDDECAL)
engfunc(EngFunc_WriteCoord, endDown[0])
engfunc(EngFunc_WriteCoord, endDown[1])
engfunc(EngFunc_WriteCoord, endDown[2])
write_byte(46)
message_end()
}
Çalıştı teşekkür ederim
İstek konusu, @Bhaxx adlı kullanıcı tarafından 2 saat içinde çözülmüştür.
İsteği çözdüğü için Bhaxx Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
Bhaxx Adlı kullanıcı sizin dışınızda toplam 0 kişiye yardım etmiştir.
Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.
İsteği çözdüğü için Bhaxx Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
Bhaxx Adlı kullanıcı sizin dışınızda toplam 0 kişiye yardım etmiştir.
Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.
Benzer Konular
Yorum
835
Okunma
Yorum
796
Okunma
23-02-2026, 17:33
Yorum
1.802
Okunma
18-11-2025, 04:36
)


