Sevdamsın 1
Sevdamsın
mavzermete 1
mavzermete
xranzei 1
xranzei
Best Studio 1
Best Studio
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Hikaye Ekle

üzerindeki zırh kontrolü

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

merhaba bir quest yazıyorum ve şu kuralı koymam gerekiyor.

eğer kişi görevdeyken zırhını çıkarır veya değiştirirse görev iptal olacak. aynı şekilde kostumude.

local WEAR_COSTUME_BODY_INDEX = 19
if pc.get_wear(WEAR_COSTUME_BODY_INDEX) == nil and pc.getqf("event") == 1 then
pc.remove_item(50180,50)
chat(" aaaaaaaaaaaaaa")
pc.setqf("event",0)
set_state(start)
elseif pc.get_armor() == 0 and pc.getqf("state") == 1 then
pc.remove_item(50180,50)
chat(" aaaaaa")
pc.setqf("state",0)
set_state(start)


böyle yaptım çalışıyor. Ancak zırhı veya kostumu çıkarınca görev iptal ouyor. başka bir zırh veya kostumle değişince olmuyor.
 
Kod:
    questlua_pc.cpp açılır  müsait bir yere eklenir.
    
    int pc_equip_slot0(lua_State* L)
    {
        LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();

        LPITEM item = ch->GetInventoryItem(lua_tonumber(L, 1));
        lua_pushboolean(L, (item)?ch->EquipItem(item):false);
        return 1;
    }

    int pc_unequip_slot0(lua_State* L)
    {
        LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();

        LPITEM item = ch->GetWear(lua_tonumber(L, 1));
        lua_pushboolean(L, (item)?ch->UnequipItem(item):false);
        return 1;
    }
    
    en alta inilir ve müsait bir yere eklenir.
    
                { "equip_slot0",        pc_equip_slot0        },
            { "unequip_slot0",        pc_unequip_slot0    },
            
quest_function listesine

pc.equip_slot0
pc.unequip_slot0

eklenir son olarak quest içinde kullanımı için

pc.equip_slot0(1)
pc.unequip_slot0(1)

sayıları arttırabilirsiniz işinize yarar umarım.
 
Kod:
    questlua_pc.cpp açılır  müsait bir yere eklenir.
   
    int pc_equip_slot0(lua_State* L)
    {
        LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();

        LPITEM item = ch->GetInventoryItem(lua_tonumber(L, 1));
        lua_pushboolean(L, (item)?ch->EquipItem(item):false);
        return 1;
    }

    int pc_unequip_slot0(lua_State* L)
    {
        LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();

        LPITEM item = ch->GetWear(lua_tonumber(L, 1));
        lua_pushboolean(L, (item)?ch->UnequipItem(item):false);
        return 1;
    }
   
    en alta inilir ve müsait bir yere eklenir.
   
                { "equip_slot0",        pc_equip_slot0        },
            { "unequip_slot0",        pc_unequip_slot0    },
           
quest_function listesine

pc.equip_slot0
pc.unequip_slot0

eklenir son olarak quest içinde kullanımı için

pc.equip_slot0(1)
pc.unequip_slot0(1)

sayıları arttırabilirsiniz işinize yarar umarım.
teşekkürler deneyeceğim çok sağol
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst