⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
⭐ Buraya kendi metin reklamınızı vererek binlerce kişiye ulaşın! ⭐
Sponsor Görsel 2
SponsorSponsor

Konu

#1
Merhaba 

kan efekti eklentisi istiyorum ama ölen oyuncunun parçaları yere dağılmasın ve yürürken yada canı azaldıgında etrafa kan dağılmasın 
sadece vuruldugunda daha fazla kan çıksın istiyoruz
ReckLesS PRO×PUB Since 2009  | ip: 95.173.173.9 | Ts3: recklesspro
#2
(27-02-2026, 15:28)ReckLesS Adlı Kullanıcıdan Alıntı: Merhaba 

kan efekti eklentisi istiyorum ama ölen oyuncunun parçaları yere dağılmasın ve yürürken yada canı azaldıgında etrafa kan dağılmasın 
sadece vuruldugunda daha fazla kan çıksın istiyoruz
Kod:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>
#include <engine>

#define PLUGIN  "Kan Efekti"
#define VERSION "1.0"
#define AUTHOR  "HmmS"

new g_iBloodSpray
new g_iBloodDrop

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)

    RegisterHam(Ham_TakeDamage, "player", "OnTakeDamage_Post", 1)

    RegisterHam(Ham_Killed, "player", "OnPlayerKilled_Pre", 0)

    register_forward(FM_TraceAttack, "OnTraceAttack_Pre", 0)
}

public plugin_precache()
{
    // Kan sprite dosyalarini yukle
    g_iBloodSpray = precache_model("sprites/bloodspray.spr")
    g_iBloodDrop  = precache_model("sprites/blood.spr")
}

public OnTakeDamage_Post(iVictim, iInflictor, iAttacker, Float:flDamage, iDamageBits)
{
    // Sadece canli oyunculara
    if(!is_user_alive(iVictim))
        return HAM_IGNORED

    // Sadece diger oyunculardan gelen hasarda
    if(!is_user_connected(iAttacker) || iAttacker == iVictim)
        return HAM_IGNORED

    // Kendi kendine zarar (ates, bici) - kan efekti gosterme
    if(iDamageBits & (DMG_BURN | DMG_DROWN | DMG_FALL))
        return HAM_IGNORED

    new Float:fOrigin[3]
    pev(iVictim, pev_origin, fOrigin)

   // verilen hasara göre kan miktarı
    new iKanMiktari
    if(flDamage >= 80.0)
        iKanMiktari = 6   // Cok buyuk hasar - cok fazla kan
    else if(flDamage >= 50.0)
        iKanMiktari = 5   // Buyuk hasar
    else if(flDamage >= 30.0)
        iKanMiktari = 4   // Orta hasar
    else if(flDamage >= 15.0)
        iKanMiktari = 3   // Kucuk hasar
    else
        iKanMiktari = 2   // Minimal hasar

    // Kan efektini goster
    KanEfektiGoster(fOrigin, iKanMiktari)

    return HAM_IGNORED
}

KanEfektiGoster(Float:fOrigin[3], iMiktar)
{
    new iOrigin[3]
    iOrigin[0] = floatround(fOrigin[0])
    iOrigin[1] = floatround(fOrigin[1])
    iOrigin[2] = floatround(fOrigin[2]) + 20 // Biraz yukari kaydir

    message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
    write_byte(TE_BLOODSPRITE)
    write_coord(iOrigin[0])
    write_coord(iOrigin[1])
    write_coord(iOrigin[2])
    write_short(g_iBloodSpray)
    write_short(g_iBloodDrop)
    write_byte(247)         // Kirmizi renk (kan)
    write_byte(iMiktar + 3) // Boyut - miktara gore
    message_end()

    for(new i = 0; i < iMiktar; i++)
    {
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_BLOODSPRITE)
        write_coord(iOrigin[0] + random_num(-12, 12))
        write_coord(iOrigin[1] + random_num(-12, 12))
        write_coord(iOrigin[2] + random_num(-5, 15))
        write_short(g_iBloodSpray)
        write_short(g_iBloodDrop)
        write_byte(247)
        write_byte(random_num(2, 4))
        message_end()
    }
}

public OnPlayerKilled_Pre(iVictim, iKiller, iShouldGib)
{
    // iShouldGib parametresini 0 yap = parcalanma olmaz
    // 2 = parcalanir, 0 veya 1 = normal olum animasyonu
    SetHamParamInteger(3, 0)

    return HAM_HANDLED
}

public OnTraceAttack_Pre(iEntity, iAttacker, Float:flDamage, Float:fDirection[3], iTrace, iDamageBits)
{
    if(!is_user_connected(iEntity))
    {
        return FMRES_SUPERCEDE
    }

    return FMRES_IGNORED
}

işini göreceğini düşünüyorum spr dosyalarının varlığını doğruladığın taktirde düzgün bir şekilde çalışır derleme sorunu verirse hatayı yaz yardımcı olurum
Son Düzenleme: 27-02-2026, 15:51, Düzenleyen: HmmS.
#3
İstek konusu, @HmmS adlı kullanıcı tarafından 26 dakika içinde çözülmüştür.
İsteği çözdüğü için HmmS Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
HmmS Adlı kullanıcı sizin dışınızda toplam 2 kişiye yardım etmiştir.

Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task