İstek ÜCRETLİ TALEP

  • Konuyu açan Konuyu açan DarkNight
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 2
  • Gösterim Gösterim 147
Konu sahibinin aradığı materyalleri bulmasına yardımcı olmak için konuya yorum yazabilirsiniz.

DarkNight

Üye
Üye
Mesaj
260
Çözümler
10
Beğeni
58
Puan
499
Ticaret Puanı
0
Arkadaşlar sizden sistemi kurmanızı istemeyeceğim F5 hızlı menü sistemini ekleyip , envantere buton olarak atayıp içerisine sistem ekleme mantığı için bir rehber isteyeceğim ve ben eklerken sürekli irtibatta kalacağımız biçimde talep etmekteyim bunu. Yardımcı olacak arkadaşlar ücreti mukabilinde yardım talep ediyorum.
 
Oyunun neresi olursa olsun fark etmeksizin buton ekleme mantığı aynıdır.

Aşağıda herhangi bir .py dosyası için nasıl buton eklenip çalıştırılacağını gösteren temel yapıyı gösterdim.
Bu senaryo bütün .py dosyaları ve bütün pencerelere uygulanabilir. Hiçbir fark yoktur.

Dikkatlice incelediğinde aslında ne kadar basit olduğunu anlayacaksın.
Bu anlatımı F5 hızlı menünün python dosyası(penceresi) olarak düşünebilirsin.

Python:
Genişlet Daralt Kopyala
#import satirlari

class TestClass(ui.Window):

    [...]
   
    def _Init_(self):
        self.dlgQuestion = None
        [...]
        [...]
        [...]
        self.fastButton1 = None # ekleyecegin buton tanimini oncelikle buraya dahil et !
        [...]
       
       
    [Diger Fonksiyonlar]
       

    def __LoadDialog(self, fileName):
        self.dlgQuestion = ui.ScriptWindow()

        try:
            pyScrLoader = ui.PythonScriptLoader()
            pyScrLoader.LoadScriptFile(self.dlgQuestion, fileName)
        except:
            import exception
            exception.Abort("TestClass.LoadDialog.LoadScript")

        try:
            GetObject=self.dlgQuestion.GetChild
            self.fastButton1 = GetObject("teleport_system") # buraya yazdigin isim, uiscriptte ayni olmali.
            # Bu .py dosyasının uscript baglamindaki dosyasina uygun bir konuma type ozelligi "button" ve
            # name ozelligi "teleport_system" olan bir buton ekle.
        except:
            import exception
            exception.Abort("TestClass.LoadDialog.BindObject")

        # eklenen butonun SetEvent gorevini belirle:
        self.fastButton1.SetEvent(ui.__mem_func__(self.CagriFonksiyonu))
        # (asagida)
       

    [Diger fonksiyonlar]
   
    #üstteki self.CagriFonksiyonu cagrisina ait fonksiyon:
    def CagriFonksiyonu(self):
        # eger ekleyecegin sistemin InterfaceModule.py icinde mevcut yapisi varsa
        # ve "bu" .py dosyasi icinde self.interface cagrisi mevcutsa bu fonksiyonun icerigi soyle olabilir:
       
        self.interface.LoadFastTeleportWindow() # ornek
        ################################################
       
        # ALTERNATIF:
        # Eger ekleyecegin sistemin self.interface baglami yoksa direkt olarak burada sistemin kendisini cagir.
        # asagidaki gibi :
       
        #(ORNEKTIR)
       
        import uiFastTeleport # cagrilacak sistemin .py dosyasi
        uiFastTeleport.TeleportClass().Open()
        # Sisteme ait Open/Show fonksiyonu hangi class icindeyse TeleportClass() kismini ona gore duzenlersin.
        # Open fonksiyonun adi da degisebilir. LoadDialog, Show, OpenxxxxWindow vb. olabilir. Ona gore duzenlersin.
 
Geri
Üst