Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

Plugin ile öldürülen entity geri getirme

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler


F.T.H
Mesajlar: 546
Kayıt: Pzr Mar 19, 2017 12:55 pm
Konum: Ϲ★
İletişim:

Plugin ile öldürülen entity geri getirme

Mesaj gönderen F.T.H »

Fatih ~ EjderYa yazdı: Cmt Oca 30, 2021 4:00 pm Çok ilginç. Konuyu açan kişiye defalarca tam olarak ne yapmak istiyorsun diye sorulmasına rağmen kendini ifade etmeyi beceremedi. Halbu ki sadece "teleportu devre dışı bırakmak istiyorum" diyecekti. Diğer bir yandanda konu sahibi hiç anlaşılır açıklama yapamadığı halde teleportu kapatmak istediğini sen nasıl anladın... 🤔
eklentide teleport yazılı zaten, devre dışı bırakıp, tekrar aktif edeceğini de belirtmiş dedim herhalde böyle bir şey istiyor : )

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
MrFoTo
Mesajlar: 298
Kayıt: Çrş Ara 26, 2018 3:46 pm

Plugin ile öldürülen entity geri getirme

Mesaj gönderen MrFoTo »

Fatih ~ EjderYa yazdı: Cmt Oca 30, 2021 4:00 pm
F.T.H yazdı: Cmt Oca 30, 2021 1:21 pm Sen teleportu devre dışı bırakmak istiyorsan eğer, solid değerini 0 veya SOLID_NOT yapacaksın

Kod: Tümünü seç

entity_set_int(ent, EV_INT_solid, SOLID_NOT)
Aktif etmek için 1 veya SOLID_TRIGGER yapacaksın

Kod: Tümünü seç

entity_set_int(ent, EV_INT_solid, SOLID_TRIGGER)
Çok ilginç. Konuyu açan kişiye defalarca tam olarak ne yapmak istiyorsun diye sorulmasına rağmen kendini ifade etmeyi beceremedi. Halbu ki sadece "teleportu devre dışı bırakmak istiyorum" diyecekti. Diğer bir yandanda konu sahibi hiç anlaşılır açıklama yapamadığı halde teleportu kapatmak istediğini sen nasıl anladın... 🤔
Gayet açık bir şekilde yukarıda anlattım "*3 modeline sahip 1 tane trigger_teleport'u FL_KILLME ile öldürüyorum bunu nasıl geri canlandırabilirim(anlayabilene aktif hale getirebilirim) diye dile getirdim zaten siz eğer anlayamıyorsanız bu sizin probleminiz yapacak bir şey yok gelipte burada boş konuşmanın bir anlamıda yok :?

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Colditz
Mesajlar: 2574
Kayıt: Çrş Ağu 23, 2017 9:17 pm

Plugin ile öldürülen entity geri getirme

Mesaj gönderen Colditz »

Gerekli cevap verilmiş test edin. Burada da görmeyenler görsün diye paylaşıyorum.
https://dev-cs.ru/threads/14415/#post-99424

by malniata

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

#define MAX_ENTS 10 //?

enum ents_e {
    Entity_Id,
    Entity_Solid,

    Entity_RenderFx,
    Float: Entity_RenderColor[3],
    Entity_RenderMode,
    Float: Entity_RenderAmt
};
new g_eEntity[MAX_ENTS][ents_e];

public plugin_precache()    {
    new iEntity = NULLENT, i = 0;

    while ((iEntity = rg_find_ent_by_model(iEntity, "trigger_teleport", "*2")) > 0) {
        if (is_nullent(iEntity))    {
            continue;
        }

        g_eEntity[i][Entity_Id] = iEntity;
        g_eEntity[i][Entity_Solid] = get_entvar(iEntity, var_solid);

        g_eEntity[i][Entity_RenderFx] = get_entvar(iEntity, var_renderfx);
        get_entvar(iEntity, var_rendercolor, g_eEntity[i][Entity_RenderColor]);
        g_eEntity[i][Entity_RenderMode] = get_entvar(iEntity, var_rendermode);
        g_eEntity[i][Entity_RenderAmt] = get_entvar(iEntity, var_renderamt);

        i++;
    }
}

stock bool: switch_entity(const iEntity)    {
    if (is_nullent(iEntity))    {
        return false;
    }

    new id = 0;
    for (new i = 0; i < MAX_ENTS; i++)  {
        if (g_eEntity[i][Entity_Id] == iEntity) {
            id = i;
            break;
        }
    }

    if (get_entvar(iEntity, var_solid) == g_eEntity[id][Entity_Solid])  {
        set_entvar(iEntity, var_solid, SOLID_NOT);

        rg_set_rendering(iEntity, kRenderFxGlowShell, { 0.0, 0.0, 0.0 }, kRenderTransAlpha, 0.0);
    }
    else    {
        set_entvar(iEntity, var_solid, g_eEntity[id][Entity_Solid]);

        rg_set_rendering(iEntity,
            g_eEntity[id][Entity_RenderFx],
            g_eEntity[id][Entity_RenderColor],
            g_eEntity[id][Entity_RenderMode],
            g_eEntity[id][Entity_RenderAmt]
        );
    }
    return true;
}

stock rg_set_rendering(const iEntity, fx = kRenderFxNone, Float: rgb[3] = { 255.0, 255.0, 255.0 }, render = kRenderNormal, Float: amount = 16.0)  {
    set_entvar(iEntity, var_renderfx, fx);
    set_entvar(iEntity, var_rendercolor, rgb);
    set_entvar(iEntity, var_rendermode, render);
    set_entvar(iEntity, var_renderamt, amount);
}

//fm_utils
stock rg_find_ent_by_model(index, const classname[], const model[]) {
    new ent = index, mdl[72];

    while ((ent = rg_find_ent_by_class(ent, classname))) {
        get_entvar(ent, var_model, mdl, sizeof mdl - 1);

        if (equal(mdl, model))
            return ent;
    }

    return 0;
}

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
MrFoTo
Mesajlar: 298
Kayıt: Çrş Ara 26, 2018 3:46 pm

Plugin ile öldürülen entity geri getirme

Mesaj gönderen MrFoTo »

Colditz yazdı: Cmt Oca 30, 2021 4:34 pm Gerekli cevap verilmiş test edin. Burada da görmeyenler görsün diye paylaşıyorum.
https://dev-cs.ru/threads/14415/#post-99424

by malniata

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

#define MAX_ENTS 10 //?

enum ents_e {
    Entity_Id,
    Entity_Solid,

    Entity_RenderFx,
    Float: Entity_RenderColor[3],
    Entity_RenderMode,
    Float: Entity_RenderAmt
};
new g_eEntity[MAX_ENTS][ents_e];

public plugin_precache()    {
    new iEntity = NULLENT, i = 0;

    while ((iEntity = rg_find_ent_by_model(iEntity, "trigger_teleport", "*2")) > 0) {
        if (is_nullent(iEntity))    {
            continue;
        }

        g_eEntity[i][Entity_Id] = iEntity;
        g_eEntity[i][Entity_Solid] = get_entvar(iEntity, var_solid);

        g_eEntity[i][Entity_RenderFx] = get_entvar(iEntity, var_renderfx);
        get_entvar(iEntity, var_rendercolor, g_eEntity[i][Entity_RenderColor]);
        g_eEntity[i][Entity_RenderMode] = get_entvar(iEntity, var_rendermode);
        g_eEntity[i][Entity_RenderAmt] = get_entvar(iEntity, var_renderamt);

        i++;
    }
}

stock bool: switch_entity(const iEntity)    {
    if (is_nullent(iEntity))    {
        return false;
    }

    new id = 0;
    for (new i = 0; i < MAX_ENTS; i++)  {
        if (g_eEntity[i][Entity_Id] == iEntity) {
            id = i;
            break;
        }
    }

    if (get_entvar(iEntity, var_solid) == g_eEntity[id][Entity_Solid])  {
        set_entvar(iEntity, var_solid, SOLID_NOT);

        rg_set_rendering(iEntity, kRenderFxGlowShell, { 0.0, 0.0, 0.0 }, kRenderTransAlpha, 0.0);
    }
    else    {
        set_entvar(iEntity, var_solid, g_eEntity[id][Entity_Solid]);

        rg_set_rendering(iEntity,
            g_eEntity[id][Entity_RenderFx],
            g_eEntity[id][Entity_RenderColor],
            g_eEntity[id][Entity_RenderMode],
            g_eEntity[id][Entity_RenderAmt]
        );
    }
    return true;
}

stock rg_set_rendering(const iEntity, fx = kRenderFxNone, Float: rgb[3] = { 255.0, 255.0, 255.0 }, render = kRenderNormal, Float: amount = 16.0)  {
    set_entvar(iEntity, var_renderfx, fx);
    set_entvar(iEntity, var_rendercolor, rgb);
    set_entvar(iEntity, var_rendermode, render);
    set_entvar(iEntity, var_renderamt, amount);
}

//fm_utils
stock rg_find_ent_by_model(index, const classname[], const model[]) {
    new ent = index, mdl[72];

    while ((ent = rg_find_ent_by_class(ent, classname))) {
        get_entvar(ent, var_model, mdl, sizeof mdl - 1);

        if (equal(mdl, model))
            return ent;
    }

    return 0;
}
Evet gördüm ama maalesef çalışmadı zaten FTH vermiş olduğu bilgi ile çözülmüştür taşıyabilirsiniz.

Link:
Linklerini gizle
Linki Kopyala
Cevapla