Yardım Eklediğim itemde efekt sorunu

  • Konuyu açan Konuyu açan xplarges
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 5
  • Gösterim Gösterim 209
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

xplarges

Premium Üye
Premium Üye
Üye
Mesaj
51
Çözümler
1
Beğeni
3
Puan
79
Ticaret Puanı
0
Merhabalar,

Başlık doğru mu, uygun mu bilemedim yanlışım var ise düzeltin. Sorun şu ki,

constinfo.py:
Genişlet Daralt Kopyala
def IS_AUTO_POTION(itemVnum):
    return IS_AUTO_POTION_HP(itemVnum) or IS_AUTO_POTION_SP(itemVnum)
    
# 해당 vnum이 HP 자동물약인가?
def IS_AUTO_POTION_HP(itemVnum):
    if 72723 <= itemVnum and 72726 >= itemVnum:
        return 1
    elif itemVnum >= 76021 and itemVnum <= 76022:        ## 새로 들어간 선물용 화룡의 축복
        return 1
    elif itemVnum == 79012:
        return 1
    elif itemVnum == 93300:
        return 1
        
    return 0
    
# 해당 vnum이 SP 자동물약인가?
def IS_AUTO_POTION_SP(itemVnum):
    if 72727 <= itemVnum and 72730 >= itemVnum:
        return 1
    elif itemVnum >= 76004 and itemVnum <= 76005:        ## 새로 들어간 선물용 수룡의 축복
        return 1
    elif itemVnum == 79013:
        return 1
                
    return 0

"elif itemVnum == 93300:" Şeklinde yeni eklediğim cesaret pelerinin açılıp kapanmasını istiyorum böyle efektli. Ekledikten sonra bunu sürekli açık kalıyor. Asla kapanmıyor. Oyunu açtığımdan itibaren zaten açık olarak başlıyor.

Sanırım quest'de celller ile ilgili bir şey yapmamız gerekiyor fakat lua ile aram pek yok quest dosyamı atıyorum.


autocape.lua:
Genişlet Daralt Kopyala
quest xapose_pelerin begin
    state start begin
        when 93300.use begin
            if pc.getqf("xaposepelerin") == 0 then
                syschat("Otomatik pelerin sistemi aktive edildi.")
                syschat("NOT: Sistem 30 dakika sonra kendini kapatacaktýr.")
                pc.setqf("xaposepelerin", 1)
                pc.setqf("sure", get_time()+ 60*30)
                pc.aggregate_monster()
                loop_timer("kapat", 1)
            elseif pc.getqf("xaposepelerin") == 1 then
                syschat("Otomatik pelerin sistemi deaktif edildi.")
                pc.setqf("xaposepelerin", 0)
                pc.setqf("sure", 0)
                cleartimer("kapat")
            end
        end
                
        when kapat.timer with pc.getqf("xaposepelerin") == 1 begin
            if pc.is_dead() == true then
                pc.setqf("xaposepelerin", 0)
                cleartimer("kapat")
                syschat("Karakterin öldü. Pelerin kapatýldý.")
            elseif pc.getqf("sure") < get_time() then
                pc.setqf("xaposepelerin", 0)
                cleartimer("kapat")
                syschat("30 dakika doldu. Pelerin kapatýldý.")
            end
            pc.aggregate_monster()
        end
        
        when login with pc.getqf("xaposepelerin") == 1 begin
            pc.setqf("xaposepelerin",0)
            pc.setqf("sure", 0)
        end
    end
end
 
quest taraflı bir sorun gözükmüyor.
bunu 76007 gibi oyunun kendi cesaret pelerinlerinde dener misin ?
protolarını ITEM_QUEST yapmayıda unutma.
 
quest taraflı bir sorun gözükmüyor.
bunu 76007 gibi oyunun kendi cesaret pelerinlerinde dener misin ?
protolarını ITEM_QUEST yapmayıda unutma.
Dediğiniz gibi yaptım onda hiç çalışmıyor. 93300 id li yeni eklediğim pelerinin protosu item_quest olarak geçmekte sizin eklettiğinize daha bir şey yapmadım.

Videodan neler olduğuna bakabilirsiniz.
Linkleri görebilmek için giriş yap veya kayıt ol.
 
Dediğiniz gibi yaptım onda hiç çalışmıyor. 93300 id li yeni eklediğim pelerinin protosu item_quest olarak geçmekte sizin eklettiğinize daha bir şey yapmadım.

Videodan neler olduğuna bakabilirsiniz.
Linkleri görebilmek için giriş yap veya kayıt ol.
bahsettiğim pelerinin protosunu item_quest olarak değiştir. proton ftp`den çekiyorsa hem ftp hem pack taraflı item_quest olarak uygula. Çalışmama ihtimali yok.
 
Socket ile alakalı işlem yapmadığın için sadece highlight açık kalır başka bir işlevi olmaz. Game sourceden GetSocket fonksiyonunu quest üzerinden çağıran fonksiyonu bul ve quest üzerinde eğer çalışırsa socketi aktif et, kapatınca socketi 0'lasın. Eğer dediğim gibi yaparsan zaten uiinventory içindeki kod işe yarar.
 
Socket ile alakalı işlem yapmadığın için sadece highlight açık kalır başka bir işlevi olmaz. Game sourceden GetSocket fonksiyonunu quest üzerinden çağıran fonksiyonu bul ve quest üzerinde eğer çalışırsa socketi aktif et, kapatınca socketi 0'lasın. Eğer dediğim gibi yaparsan zaten uiinventory içindeki kod işe yarar.
Nerededir bu GetSocket fonksiyonu?
 
Üst