Çözüldü Herkeste olan otomatik dönüşüm problemi

  • Konuyu açan Konuyu açan Mavi Ruh
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 15
  • Gösterim Gösterim 911
Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

Mavi Ruh

WWW.MR-3DWORK.COM
Grafiker
Yardımsever Üye
Usta Üye
Mesaj
700
Çözümler
50
Beğeni
926
Puan
950
Ticaret Puanı
1
Şöyle ki auto refine ile pencere kapanmadan dönüşümler yapabiliyoruz ancak şöyle bir bug farkettim ve aklıma bir fikir gelmedi nasıl fixleyebilirim diye

Diyelim ki %100 oranda npc ile bastınız falan ve bu
Epic sura ile yapılıyor yani refine set numarası 500 sonrası ile belli bir basma yaptınız ve sonraki item artık demirci ile yapılıyor yani 0-500 arasında olan refine set kısmına geçiyor ve burada yanma riski var ve yandığı gibi item siliniyor.

Yani demem o ki epic sura ile yani 500 sonrasi olan refine set koduyla olan bağlantısı kopunca pencere kapanırsa sorun ortadan kalkacak çünkü ben demirci npcsini iptal ettim bu sebeple demirciye ait olan dönüşümleri metal ve kutsama kağıdı ile yapıyordum ancak böyle bir problem tüm işimi bozuyor var mı bir fikri olan?
 
Çözüm
Python:
Genişlet Daralt Kopyala
uirefine.py aç

class RefineDialogNew(ui.ScriptWindow):
    
içerisinde ;

def OpenQuestionDialog(self):
    
fonksiyonu komple değiştir.


 def OpenQuestionDialog(self):

 if 100 == self.percentage:
 self.Accept()
 return
 
 if self.percentage != 100 and self.type == 0 or self.percentage != 100 and self.type == 1 or self.percentage != 100 and self.type == 0 and self.type == 1:
 return

 if 5 == self.type: ## 무신의 축복서
 self.Accept()
 return

 dlgQuestion = uiCommon.QuestionDialog2()
 dlgQuestion.SetText2(localeInfo.REFINE_WARNING2)
 dlgQuestion.SetAcceptEvent(ui.__mem_func__(self.Accept))
 dlgQuestion.SetCancelEvent(ui.__mem_func__(dlgQuestion.Close))

 if 3 == self.type: ## 현철...
Auto refine kullanmadığım için pek anlayamadım açıkçası. Basit bir örnek verebilir misin?

Eve geçince inceleyeceğim, halledilebilir gibi görünüyor.
 
Auto refine kullanmadığım için pek anlayamadım açıkçası. Basit bir örnek verebilir misin?

Eve geçince inceleyeceğim, halledilebilir gibi görünüyor.
Tabi şöyle anlatayım
Biliyorsunuz ki 0-500 arası demirci 500 sonrasi epic suranın refine kodları ile alakalı ben 500 sonrası için ilk dönüşümleri kullanıyordum ancak yanan itemin refine seti demirciye ait yani 0-500 arasında ve onda yanma olasılığı %50 videoda o bile güncellenmemiş görüldüğü üzere yani demirci için yapılan basmaları büyülü metalle yapıyorum yansa bile item gitmesin diye
 
Tabi şöyle anlatayım
Biliyorsunuz ki 0-500 arası demirci 500 sonrasi epic suranın refine kodları ile alakalı ben 500 sonrası için ilk dönüşümleri kullanıyordum ancak yanan itemin refine seti demirciye ait yani 0-500 arasında ve onda yanma olasılığı %50 videoda o bile güncellenmemiş görüldüğü üzere yani demirci için yapılan basmaları büyülü metalle yapıyorum yansa bile item gitmesin diye

Bu dönüşüm işini gerçekleştiren ilgili .py dosyasını yükler misin
 
Tabi şöyle ileteyim hatta sistemi de atayım dilerseniz
Verdiğin sistemi kabaca ekleyip bir test ettim, bende o %100 kısmı her defasında güncellenip değişti. (%80 vs.)
Bunun sebebi neden bilmiyorum, belki sen farklı bir düzenleme yapmış olabilirsin bu konuda.
Bununla ilgili olarak dikkatimi çeken tek şey:
Python:
Genişlet Daralt Kopyala
self.successPercentage.Hide()
Bu kısmı .Show() olarak değiştirmişsin.
Buna gerek yok çünkü bu kodu yorum satırına çevirdiğinde otomatik olarak Show olması gerek. Bir de öyle dene istersen.
Belki senin yaptığın Show() ile tek seferlik açılıyordur ancak güncellenmiyordur.

Asıl soruna gelince: demirciyi kaldırdığını söylemiştin. Geriye 3 seçenek kalıyor, kutsama kağıdı,büyülü metal ve epic sura.
Sanıyorum ki senin istediğin şey de; bir item (oto dönüşüm istemi ile) epic surada ya %100 geçsin, ya da hiç geçmeyip itemi yakmadan iptal etsin -> (epic surada basılıp yanmasın ve diğerleriyle + basılsın.)

Eğer doğruysam şöyle bir şey yapabilirsin;
Python:
Genişlet Daralt Kopyala
    def Accept(self):
        if self.percentage != 100 and self.type != 3 and self.type != 2:
            chat.AppendChat(1,"İptal edildi")
            return
        net.SendRefinePacket(self.targetItemPos, self.type)
        self.Close()
Bu koda göre kutsama kağıdı ve büyülü metal haricindeki yükseltme işleminde(npc) eğer itemin geçme oranı %100 değilse iptal edilecek.
Aşağıdaki görselde 3 defa + basıldı, birincisi kutsama kağıdı ile, ikincisi büyülü metal ile ve sonuncusu epic sura ile.
Sonuç olarak geçme şansı %100 olmayan
hiç bir item epic surada yükseltilemeyecek.
8knbysi.gif
 
Son düzenleme:
Verdiğin sistemi kabaca ekleyip bir test ettim, bende o %100 kısmı her defasında güncellenip değişti. (%80 vs.)
Bunun sebebi neden bilmiyorum, belki sen farklı bir düzenleme yapmış olabilirsin bu konuda.
Bununla ilgili olarak dikkatimi çeken tek şey:
Python:
Genişlet Daralt Kopyala
self.successPercentage.Hide()
Bu kısmı .Show() olarak değiştirmişsin.
Buna gerek yok çünkü bu kodu yorum satırına çevirdiğinde otomatik olarak Show olması gerek. Bir de öyle dene istersen.
Belki senin yaptığın Show() ile tek seferlik açılıyordur ancak güncellenmiyordur.

Asıl soruna gelince: demirciyi kaldırdığını söylemiştin. Geriye 3 seçenek kalıyor, kutsama kağıdı,büyülü metal ve epic sura.
Sanıyorum ki senin istediğin şey de; bir item (oto dönüşüm istemi ile) epic surada ya %100 geçsin, ya da hiç geçmeyip itemi yakmadan iptal etsin -> (epic surada basılıp yanmasın ve diğerleriyle + basılsın.)

Eğer doğruysam şöyle bir şey yapabilirsin;
C++:
Genişlet Daralt Kopyala
    def Accept(self):
        if self.percentage != 100 and self.type != 3 and self.type != 2:
            chat.AppendChat(1,"İptal edildi")
            return
        net.SendRefinePacket(self.targetItemPos, self.type)
        self.Close()
Bu koda göre kutsama kağıdı ve büyülü metal haricindeki yükseltme işleminde(npc) eğer itemin geçme oranı %100 değilse iptal edilecek.
Aşağıdaki görselde 3 defa + basıldı, birincisi kutsama kağıdı ile, ikincisi büyülü metal ile ve sonuncusu epic sura ile.
Sonuç olarak geçme şansı %100 olmayan
hiç bir item epic surada yükseltilemeyecek.
8knbysi.gif
Öncelikle teşekkür ediyorum böyle bir çözüm benim işimi görecek kesin ancak eklemeleri yapmama rağmen olmuyor hiçbir uyarı yazısı çıkmıyor acaba siz verdiğim refine.py ye ekleme yapıp gönderebilir misiniz?
 
Öncelikle teşekkür ediyorum böyle bir çözüm benim işimi görecek kesin ancak eklemeleri yapmama rağmen olmuyor hiçbir uyarı yazısı çıkmıyor acaba siz verdiğim refine.py ye ekleme yapıp gönderebilir misiniz?
 

Dosya Eklentileri

Tabi şöyle anlatayım
Biliyorsunuz ki 0-500 arası demirci 500 sonrasi epic suranın refine kodları ile alakalı ben 500 sonrası için ilk dönüşümleri kullanıyordum ancak yanan itemin refine seti demirciye ait yani 0-500 arasında ve onda yanma olasılığı %50 videoda o bile güncellenmemiş görüldüğü üzere yani demirci için yapılan basmaları büyülü metalle yapıyorum yansa bile item gitmesin diye

SALTANAT MIIIII YAPMA YANARIZZZ
 
@Kaiser deneme fırsatı şimdi bulabildim maalesef atılan gifteki gibi uyarı çıkmıyor :(
Eğer videodaki itemin yanmadan önce yapılan yükseltme işlemleri %100 oranlıysa, verdiğim kod doğal olarak çalışmayacaktır çünkü %100 olmaması lazım. Yani şöyle:
+0 -> +1 = %100
+1 -> +2 = %100 gibi ise işe yaramaz.

Sistemi gelişigüzel tekrar ekledim ve aşağıdaki görselde ilk önce muharebe kılıcını tritona dönüştürüyorum ve sonra tritona + basıyorum;
32nk7uu.gif

Görüldüğü üzere herhangi bir sorun olmadan çalışıyor.
Ancak burada asıl merak ettiğim şey, kodları karşılaştırmış olmama rağmen ve aynı olmalarına rağmen sende " eşya yok olabilir" uyarısı yapılmadan direkt basıyor.
 
Eğer videodaki itemin yanmadan önce yapılan yükseltme işlemleri %100 oranlıysa, verdiğim kod doğal olarak çalışmayacaktır çünkü %100 olmaması lazım. Yani şöyle:
+0 -> +1 = %100
+1 -> +2 = %100 gibi ise işe yaramaz.

Sistemi gelişigüzel tekrar ekledim ve aşağıdaki görselde ilk önce muharebe kılıcını tritona dönüştürüyorum ve sonra tritona + basıyorum;
32nk7uu.gif

Görüldüğü üzere herhangi bir sorun olmadan çalışıyor.
Ancak burada asıl merak ettiğim şey, kodları karşılaştırmış olmama rağmen ve aynı olmalarına rağmen sende " eşya yok olabilir" uyarısı yapılmadan direkt basıyor.
Dilerseniz anydesk ıd atayım kendiniz kontrol edin %100 de olsa %50 de olsa uyarı çıkmıyor ve evet onaylama yazısı çıkmaması benim de dikkatimi çekti belki mevzu onunla alakalıdır
 
Python:
Genişlet Daralt Kopyala
uirefine.py aç

class RefineDialogNew(ui.ScriptWindow):
    
içerisinde ;

def OpenQuestionDialog(self):
    
fonksiyonu komple değiştir.


 def OpenQuestionDialog(self):

 if 100 == self.percentage:
 self.Accept()
 return
 
 if self.percentage != 100 and self.type == 0 or self.percentage != 100 and self.type == 1 or self.percentage != 100 and self.type == 0 and self.type == 1:
 return

 if 5 == self.type: ## 무신의 축복서
 self.Accept()
 return

 dlgQuestion = uiCommon.QuestionDialog2()
 dlgQuestion.SetText2(localeInfo.REFINE_WARNING2)
 dlgQuestion.SetAcceptEvent(ui.__mem_func__(self.Accept))
 dlgQuestion.SetCancelEvent(ui.__mem_func__(dlgQuestion.Close))

 if 3 == self.type: ## 현철
 dlgQuestion.SetText1(localeInfo.REFINE_DESTROY_WARNING_WITH_BONUS_PERCENT_1)
 dlgQuestion.SetText2(localeInfo.REFINE_DESTROY_WARNING_WITH_BONUS_PERCENT_2)
 elif 2 == self.type: ## 축복서
 dlgQuestion.SetText1(localeInfo.REFINE_DOWN_GRADE_WARNING)
 else:
 dlgQuestion.SetText1(localeInfo.REFINE_DESTROY_WARNING)

 dlgQuestion.Open()
 self.dlgQuestion = dlgQuestion
bu şekilde çözdüm teşekkür ediyorum :)
 
En son bir moderatör tarafından düzenlenmiş:
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst