⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
🌐 www.furiazm.com ⏰ 7/24 aktif Yönetim 💬 Discord.gg/furiaclancs 💰Ücretsiz Adminlik/Vip alımı 🌟 Türkiye’nin yeni en gelişmiş Zombie Plague sunucusu
Sponsor Görsel 2
SponsorSponsor

Zp Sinifların Skill Kullanırken Ekranına Efekti Verme

ZP sinifların skill kullanırken ekranına efekti verme
merhabalar
arkadaşlar zp modunda zombi sınıfları Skill özellikleri kullandıgında G tusu veya T bastıgında ekranında söyle bir kırmızı alevli efekti 
yapmak için .spr ihtiyaç var yoksa kodla mı yapılıyor 




wvdLJD
RE: ZP sinifların skill kullanırken ekranına efekti verme
.sprlara ihtiyacınız var ve hangi zombi sınıfında hangi özelliği kullanılınca çıkacağını konumunu ayarlamanız gerek
RE: ZP sinifların skill kullanırken ekranına efekti verme
(07-03-2026, 13:29)Merhabalarr Adlı Kullanıcıdan Alıntı: .sprlara ihtiyacınız var ve hangi zombi sınıfında hangi özelliği kullanılınca çıkacağını konumunu ayarlamanız gerek
peki bu tarz efektili .spr nereden nasıl bulabilirim
RE: ZP sinifların skill kullanırken ekranına efekti verme
Spr dosyasına gerek yok eklenti ile yapabilirsin. Ama spr uzantılı dosya olursa daha temiz görüntü alırsın. 

Örnek eklenti ; 

PHP Kod:
#include <amxmodx>
#include <reapi>
#include <zombieplague>

#define PLUGIN_NAME      "ZP Zombi Yetenek Ekran Efekti"
#define PLUGIN_VERSION   "1.0"
#define PLUGIN_AUTHOR    "osmanbnm"

#define FADE_DURATION     8
#define FADE_HOLD         4
#define FADE_IN_FLAG      0x0000
#define FX_COOLDOWN       0.5
#define RING_HEIGHT       250
#define RING_WIDTH        50
#define RING_LIFE         8
#define RING_FRAMERATE    10
#define RING_BRIGHTNESS   220
#define DLIGHT_RADIUS     20
#define DLIGHT_LIFE       8
#define DLIGHT_DECAY      50
#define MAX_BIND_KEYS     5

enum FxType {
    FX_INFECT = 0,
    FX_ABILITY,
    FX_LEAP,
    FX_NEMESIS
}

static const 
g_iRGB[FxType][3] = {
    { 220,  20,  10 },
    { 240, 200,  15 },
    { 255, 130,  10 },
    { 180,   0,   0 }
}

static const 
g_iFadeAlpha[FxType] = { 140, 115, 95, 165 }

static const 
g_iKeyBits[MAX_BIND_KEYS] = {
    IN_DUCK,
    IN_USE,
    IN_RELOAD,
    IN_FORWARD,
    IN_RUN
}

static 
g_msgScreenFade
static g_iSprRing
static Float:g_flLastEffect[33]
static 
bool:g_bIsZombie[33]
static 
bool:g_bIsNemesis[33]
static 
bool:g_bIsAlive[33]
static 
bool:g_bIsConnected[33]
static 
g_iAbilityKey
static g_pCvarKey

public plugin_precache()
    g_iSprRing = precache_model("sprites/shockwave.spr")

public 
plugin_init() {
    register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
    g_msgScreenFade = get_user_msgid("ScreenFade")

    g_pCvarKey = register_cvar("zp_ability_fx_key", "1")

    RegisterHookChain(RG_CBasePlayer_Spawn, "OnPlayerSpawn_Post", true)
    RegisterHookChain(RG_CBasePlayer_Killed, "OnPlayerKilled_Post", true)
    RegisterHookChain(RG_CSGameRules_RestartRound, "OnRoundRestart_Post", true)
    RegisterHookChain(RG_PM_Move, "OnPM_Move", false)

    SyncKeyConfig()
}

public 
plugin_cfg()
    SyncKeyConfig()

static 
SyncKeyConfig() {
    new iVal = clamp(get_pcvar_num(g_pCvarKey), 0, MAX_BIND_KEYS - 1)
    g_iAbilityKey = g_iKeyBits[iVal]
}

public 
client_putinserver(id) {
    g_bIsConnected[id] = true
    ResetPlayerData
(id)
}

public 
client_disconnected(id) {
    g_bIsConnected[id] = false
    ResetPlayerData
(id)
}

static 
ResetPlayerData(id) {
    g_bIsAlive[id] = false
    g_bIsZombie
[id] = false
    g_bIsNemesis
[id] = false
    g_flLastEffect
[id] = 0.0
}

public 
OnPlayerSpawn_Post(id) {
    if (!is_user_alive(id))
        return

    g_bIsAlive[id] = true
    g_bIsZombie
[id] = false
    g_bIsNemesis
[id] = false
}

public 
OnPlayerKilled_Post(id) {
    g_bIsAlive[id] = false
}

public 
OnPM_Move(id) {
    if (!g_bIsAlive[id] || !g_bIsZombie[id])
        return

    static iButtons
    iButtons 
= get_entvar(id, var_button)

    static iOldButtons
    iOldButtons 
= get_entvar(id, var_oldbuttons)

    if (!(iButtons & g_iAbilityKey) || (iOldButtons & g_iAbilityKey))
        return

    if (iButtons & IN_JUMP) {
        if (!(get_entvar(id, var_flags) & FL_ONGROUND))
            return

        if (!CheckCooldown(id))
            return

        ApplyEffect(id, g_bIsNemesis[id] ? FX_NEMESIS : FX_LEAP)
        return
    }

    if (!CheckCooldown(id))
        return

    ApplyEffect(id, g_bIsNemesis[id] ? FX_NEMESIS : FX_ABILITY)
}

public 
OnRoundRestart_Post() {
    SyncKeyConfig()

    for (new i = 1; i <= MaxClients; i++) {
        g_bIsZombie[i] = false
        g_bIsNemesis
[i] = false
        g_flLastEffect
[i] = 0.0
    
}
}

public 
zp_user_infected_post(id, infector, nemesis) {
    if (!g_bIsConnected[id])
        return

    g_bIsZombie[id] = true
    g_bIsNemesis
[id] = bool:nemesis
    g_bIsAlive
[id] = true

    ApplyEffect
(id, nemesis ? FX_NEMESIS : FX_INFECT)

    if (infector > 0 && infector <= MaxClients) {
        if (g_bIsConnected[infector] && g_bIsAlive[infector])
            ApplyEffect(infector, FX_ABILITY)
    }
}

public 
zp_user_humanized_post(id) {
    if (!g_bIsConnected[id])
        return

    g_bIsZombie[id] = false
    g_bIsNemesis
[id] = false
}

public 
zp_extra_item_selected(id, itemid) {
    if (!g_bIsAlive[id] || !g_bIsZombie[id])
        return

    if (!CheckCooldown(id))
        return

    ApplyEffect(id, FX_ABILITY)
}

static 
ApplyEffect(id, FxType:type) {
    if (!g_bIsConnected[id])
        return

    g_flLastEffect[id] = get_gametime()

    SendScreenFade(id, type)
    SendBeamCylinder(id, type)
    SendDynamicLight(id, type)
}

static 
SendScreenFade(id, FxType:type) {
    message_begin(MSG_ONE_UNRELIABLE, g_msgScreenFade, {0,0,0}, id)
    write_short((1 << 12) * FADE_DURATION)
    write_short((1 << 12) * FADE_HOLD)
    write_short(FADE_IN_FLAG)
    write_byte(g_iRGB[type][0])
    write_byte(g_iRGB[type][1])
    write_byte(g_iRGB[type][2])
    write_byte(g_iFadeAlpha[type])
    message_end()
}

static 
SendBeamCylinder(id, FxType:type) {
    static Float:vOrigin[3]
    get_entvar(id, var_origin, vOrigin)

    message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0,0,0}, id)
    write_byte(TE_BEAMCYLINDER)
    write_coord_f(vOrigin[0])
    write_coord_f(vOrigin[1])
    write_coord_f(vOrigin[2] - 36.0)
    write_coord_f(vOrigin[0])
    write_coord_f(vOrigin[1])
    write_coord_f(vOrigin[2] + float(RING_HEIGHT))
    write_short(g_iSprRing)
    write_byte(0)
    write_byte(RING_FRAMERATE)
    write_byte(RING_LIFE)
    write_byte(RING_WIDTH)
    write_byte(0)
    write_byte(g_iRGB[type][0])
    write_byte(g_iRGB[type][1])
    write_byte(g_iRGB[type][2])
    write_byte(RING_BRIGHTNESS)
    write_byte(0)
    message_end()
}

static 
SendDynamicLight(id, FxType:type) {
    static Float:vOrigin[3]
    get_entvar(id, var_origin, vOrigin)

    message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0,0,0}, id)
    write_byte(TE_DLIGHT)
    write_coord_f(vOrigin[0])
    write_coord_f(vOrigin[1])
    write_coord_f(vOrigin[2])
    write_byte(DLIGHT_RADIUS)
    write_byte(g_iRGB[type][0])
    write_byte(g_iRGB[type][1])
    write_byte(g_iRGB[type][2])
    write_byte(DLIGHT_LIFE)
    write_byte(DLIGHT_DECAY)
    message_end()
}

static 
bool:CheckCooldown(id) {
    if (get_gametime() - g_flLastEffect[id] < FX_COOLDOWN)
        return false

    
return true
} 
Fakat bu şekilde önermem. Class sınıfların ana eklentileri düzenlersen daha verimli olur.
✦ Discord: Osmanbnm ✦
RE: ZP sinifların skill kullanırken ekranına efekti verme
"Spr dosyasına gerek yok eklenti ile yapabilirsin." demişsiniz fakat buradada spr kullanılmış?
Kod:
sprites/shockwave.spr
RE: ZP sinifların skill kullanırken ekranına efekti verme
(07-03-2026, 23:43)Merhabalarr Adlı Kullanıcıdan Alıntı: "Spr dosyasına gerek yok eklenti ile yapabilirsin."  demişsiniz fakat buradada spr kullanılmış?
Kod:
sprites/shockwave.spr

O yükleme gerektirmeyen bir .spr uzantılı dosya ve .spr ile özelleştirilme yapılırsa diye kullanılmış kod.
✦ Discord: Osmanbnm ✦
RE: ZP sinifların skill kullanırken ekranına efekti verme
ScreenFade sadece düz renk veriyor, o alev dokusunu yakalamak paylaştığın sistemle zor. shockwave.spr zaten yerdeki halka efekti için kalıyor. Bir .spr dosyasını ekrana vignette gibi sabitlemek için elinde şu tarz bir kod var mı? Senin attığında zaten oyunun kendi dosyası olduğu için indirme yaptırmıyor; evet ama elinde bir .spr olmadan, oyunun kendi dosyasıyla efekt vererek bunları yapamazsın. Resimde çıkan .spr'ın yabancı forumlarda paylaşılmış hali var.
Kod:
message_begin(MSG_ONE, get_user_msgid("StatusIcon"), {0,0,0}, id);
write_byte(1);
write_string("sprite_adi");
write_byte(255); write_byte(0); write_byte(0);
message_end();

RE: ZP sinifların skill kullanırken ekranına efekti verme
(08-03-2026, 14:05)Merhabalarr Adlı Kullanıcıdan Alıntı: ScreenFade sadece düz renk veriyor, o alev dokusunu yakalamak paylaştığın sistemle zor. shockwave.spr zaten yerdeki halka efekti için kalıyor. Bir .spr dosyasını ekrana vignette gibi sabitlemek için elinde şu tarz bir kod var mı? Senin attığında zaten oyunun kendi dosyası olduğu için indirme yaptırmıyor; evet ama elinde bir .spr olmadan, oyunun kendi dosyasıyla efekt vererek bunları yapamazsın. Resimde çıkan .spr'ın yabancı forumlarda paylaşılmış hali var.
Kod:
message_begin(MSG_ONE, get_user_msgid("StatusIcon"), {0,0,0}, id);
write_byte(1);
write_string("sprite_adi");
write_byte(255); write_byte(0); write_byte(0);
message_end();


3d formatını 2d formati ile nasıl yakalamayı düşünüyorsun ? 😄
 
Ayrıca o kod örnek olarak paylaşıldı ve class sinifları görmeden tahmini eklentiler yapabilirsin. O görseller sabit olmayan görseller yetenek süresi göre gel/git mevcut. 
Ayrıca dosya yükleme kısmından gerekli .spr ve .sma dosyalarını yükleyerek konunun çözülmesi katkıda bulunabilirsin.
✦ Discord: Osmanbnm ✦
RE: ZP sinifların skill kullanırken ekranına efekti verme
StatusIcon kodu aslında 2D'dir çünkü o resim sadece senin ekranına camın üzerine yapıştırılmış gibi Kalır Yönlendirilmiş Sprite kullanmam 3d oluyorsa tamamdır siz arkadaşa bu konuda yardımcı olabilirsiniz ama bu şekilde konuyu çözemezsin insanlar bilgilensin diye yazıyorum bunuda iyi forumlar.
Son Düzenleme: 08-03-2026, 14:44, Düzenleyen: Merhabalarr
ZP sinifların skill kullanırken ekranına efekti verme
Konunuz "Çözülmüş İsteklere" taşınmıştır.
Steam:Tıkla • Discord: lynchk

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Konuyu Okuyanlar: 1 Ziyaretçi
Task