Slotların içinden cekme (1 İzleyici)

Slotların içinden cekme
0
201

admin

PATRON
SİTE YETKİLİSİ
Moderator
ÜYE
Katılım
23 Eki 2022
Mesajlar
3,515
Çözümler
9
Tepkime puanı
2,145
Puanları
113
Yaş
28
Ticaret Puanı: 0 / 0 / 0
Slotlar metinler npcler itemli


Slotlar metinler npcler itemli
[CHARGE=200]
Kod:
📌 C++ Tarafı
1. char.h

CHARACTER classına ekle 👇

// char.h

private:
    bool m_bGhost;

public:
    void SetGhost(bool b) { m_bGhost = b; }
    bool IsGhost() const { return m_bGhost; }

2. char.cpp

Constructor'a varsayılan değer ekle 👇

CHARACTER::CHARACTER()
{
    ...
    m_bGhost = false;
}


Sonra çarpışma/çakışma kontrolü yapılan yerde (örneğin CHARACTER::CanMoveTo() veya battle.cpp içinde CheckCollision gibi fonksiyonlarda) şu kontrolü ekle 👇

if (IsGhost())
    return true; // Ghost modda engel yok

3. cmd_general.cpp (veya cmd_gm.cpp)

Test için GM komutu ekle 👇

ACMD(do_ghost)
{
    if (ch->IsGhost())
    {
        ch->SetGhost(false);
        ch->ChatPacket(CHAT_TYPE_INFO, "Ghost modu kapatıldı.");
    }
    else
    {
        ch->SetGhost(true);
        ch->ChatPacket(CHAT_TYPE_INFO, "Ghost modu aktifleştirildi.");
    }
}


cmd_gm.cpp içinde komut tablosuna ekle:

{ "ghost", do_ghost, 0, POS_DEAD, GM_IMPLEMENTOR },

📌 Quest Tarafı

Ghost itemlerini (52070–52072) quest ile bağlamak için 👇

quest r10dev_ghost begin
    state start begin
        when 52070.use or 52071.use or 52072.use begin
            if pc.getqf("ghost") == 0 then
                pc.setqf("ghost", 1)
                command("ghost on")
                syschat("Geçiş modu aktifleştirildi.")
            else
                pc.setqf("ghost", 0)
                command("ghost off")
                syschat("Geçiş modu kapatıldı.")
            end
        end
    end
end

📌 Item Proto

Bunları zaten hazırlamıştık 👇

52070    1GunlukGecisModu    ITEM_QUEST ... REAL_TIME_FIRST_USE 86400 ...
52071    3GunlukGecisModu    ITEM_QUEST ... REAL_TIME_FIRST_USE 259200 ...
52072    7GunlukGecisModu    ITEM_QUEST ... REAL_TIME_FIRST_USE 604800 ...


Süre dolduğunda item otomatik silinir ✅

👉 Böylece:

Core tarafı → char.h, char.cpp, cmd_gm.cpp eklemeleri.

Quest → item ile aç/kapat kontrolü.

Item_proto → süreli silinme.


[/CHARGE]
 

Konuya görüntüleyenler

R10dev.net'i ana ekrana ekle!
Üst