Çözüldü Tuşa Basınca Açılan Hava Seçimini Hızlı Menüye Eklemek !

  • Konuyu açan Konuyu açan Afraz
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 22
  • Gösterim Gösterim 2K
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ı.

Afraz

Cehalet yenilmesi gereken en büyük düşmandır.
Yardımsever Üye
MT Üye
Mesaj
678
Çözümler
30
Beğeni
181
Puan
604
Ticaret Puanı
0
Başlık'tada yazdığım gibi

Screenshot_5.png
Buradaki kostüm seçmenin altına nasıl ekleyebiliriz?
 
En son bir moderatör tarafından düzenlenmiş:
Çözüm
Evet bunu kopyala. Sen buton ekledin mi? Eklediysen bana hangi kodları yazdığını gönder.
Python:
Genişlet Daralt Kopyala
                {
                    "name" : "SkyboxSelectMode",
                    "type" : "button",

                    "x" : -10,
                    "y" : 7,

                    "tooltip_text" : "              Skybox",
    
                    "default_image" : "d:/ymir work/interface/inventory/inventory_buttons/btn_itemshop_01_normal.tga",
                    "over_image" : "d:/ymir work/interface/inventory/inventory_buttons/btn_itemshop_02_hover.tga",
                    "down_image" : "d:/ymir work/interface/inventory/inventory_buttons/btn_itemshop_03_active.tga",
                },



Kopyalıyıp yaptım fakat hiçbir işlevi...
Alttaki butonun bir kopyasını oluşturun, sonra çağrı kodlarını vs. değiştirerek yapabilirsiniz.
 
Python:
Genişlet Daralt Kopyala
    def __denemeskybox(self):
        import skybox #skybox yazanları kendince düzelt
        self.skybox = skybox.OptionDialog()
        self.skybox.Show()
 
Python:
Genişlet Daralt Kopyala
    def __denemeskybox(self):
        import skybox #skybox yazanları kendince düzelt
        self.skybox = skybox.OptionDialog()
        self.skybox.Show()
pek anlamadım? F8 e basınca zaten bir hava durumu geliyor sadece bu F8'i tuşa atamak istiyorum.
 
Root ve locale içinde hızlı menüdeki butonlardan birinin adını aratın.(örn: ornekbutton)
Bulduğunuz sonuçları, bir alt satıra kopyalayıp yapıştırın ve fonksiyon isimlerini değiştirin.
İsmini değiştirirken F8 e atanan fonksiyon ismini kullanmanız gerekiyor. Bunun için de;
Game.py içinde F8 diye aratın, bulunan satırda çağrılan fonksiyonu görürsünüz. Ordaki çağrılan fonksiyonun adını kopyalayın ve oluşturduğunuz kopyaların ismini bununla değiştirin.

Örnek simya butonu:
root>uiinventory.py:
Genişlet Daralt Kopyala
def Destroy(self):
[...]
self.DSSButton = None
---------------------------
def __LoadWindow(self):
[...]
self.DSSButton = self.GetChild2("DSSButton")
[...]
[...]
if self.DSSButton:
            self.DSSButton.SetEvent(ui.__mem_func__(self.ClickDSSButton))
---------------------------
def ClickDSSButton(self):
    print "click_dss_button"
    self.interface.ToggleDragonSoulWindow()

locale_tr>inventorywindow.py:
Genişlet Daralt Kopyala
## Dragon Soul Button
                        {
                            "name" : "DSSButton",
                            "type" : "button",

                            "x" : 114,
                            "y" : 107,

                            "tooltip_text" : uiScriptLocale.TASKBAR_DRAGON_SOUL,

                            "default_image" : "d:/ymir work/ui/dragonsoul/dss_inventory_button_01.tga",
                            "over_image" : "d:/ymir work/ui/dragonsoul/dss_inventory_button_02.tga",
                            "down_image" : "d:/ymir work/ui/dragonsoul/dss_inventory_button_03.tga",
                        },

Kendinize göre düzenleyin.
 
Root ve locale içinde hızlı menüdeki butonlardan birinin adını aratın.(örn: ornekbutton)
Bulduğunuz sonuçları, bir alt satıra kopyalayıp yapıştırın ve fonksiyon isimlerini değiştirin.
İsmini değiştirirken F8 e atanan fonksiyon ismini kullanmanız gerekiyor. Bunun için de;
Game.py içinde F8 diye aratın, bulunan satırda çağrılan fonksiyonu görürsünüz. Ordaki çağrılan fonksiyonun adını kopyalayın ve oluşturduğunuz kopyaların ismini bununla değiştirin.

Örnek simya butonu:
root>uiinventory.py:
Genişlet Daralt Kopyala
def Destroy(self):
[...]
self.DSSButton = None
---------------------------
def __LoadWindow(self):
[...]
self.DSSButton = self.GetChild2("DSSButton")
[...]
[...]
if self.DSSButton:
            self.DSSButton.SetEvent(ui.__mem_func__(self.ClickDSSButton))
---------------------------
def ClickDSSButton(self):
    print "click_dss_button"
    self.interface.ToggleDragonSoulWindow()

locale_tr>inventorywindow.py:
Genişlet Daralt Kopyala
## Dragon Soul Button
                        {
                            "name" : "DSSButton",
                            "type" : "button",

                            "x" : 114,
                            "y" : 107,

                            "tooltip_text" : uiScriptLocale.TASKBAR_DRAGON_SOUL,

                            "default_image" : "d:/ymir work/ui/dragonsoul/dss_inventory_button_01.tga",
                            "over_image" : "d:/ymir work/ui/dragonsoul/dss_inventory_button_02.tga",
                            "down_image" : "d:/ymir work/ui/dragonsoul/dss_inventory_button_03.tga",
                        },

Kendinize göre düzenleyin.



Syserr:
Genişlet Daralt Kopyala
0318 22:36:50787 :: Failed to load script file : locale/tr/ui/InventoryWindow.py
0318 22:36:50866 ::
ui.py(line:6531) LoadScriptFile
system.py(line:192) execfile
system.py(line:161) Run
system.py(line:177) __LoadTextFile__

LoadScriptFile!!!!!!!!!!!!!! - <type 'exceptions.SyntaxError'>:invalid syntax (locale/tr/ui/InventoryWindow.py, line 74)

0318 22:36:50866 :: ============================================================================================================
0318 22:36:50866 :: Abort!!!!


0318 22:36:50868 ::
uiInventory.py(line:335) __LoadWindow
ui.py(line:6548) LoadScriptFile
exception.py(line:36) Abort

InventoryWindow.LoadWindow.LoadObject - <type 'exceptions.SystemExit'>:

0318 22:36:50868 :: ============================================================================================================
0318 22:36:50868 :: Abort!!!!


yapabildiğim kadar yaptım fakat syserr şu şekilde.


Düzenleme ;

Çözdüm bir sorun var çözemezsem konuya dahil ediceğim.

Screenshot_2.png



send chat packet'a ne yazmam gerekiyor? şuanda bastığımda nesne market geliyorda Tek burada duraksadım.
@Yenicerii
 
Son düzenleme:
root ve locale dosyalarınızı konuya dahil ederseniz daha iyi olur
 
Linkleri görebilmek için giriş yap veya kayıt ol.
uiİnventory.py
Linkleri görebilmek için giriş yap veya kayıt ol.
inventorywindow.py ( Locale_tr )
Linkleri görebilmek için giriş yap veya kayıt ol.
uidragonsuol.py


Başka gereken birşey varmı?

Buda game.py'deki tuş kombinasyonu ;

onPressKeyDict[app.DIK_F8] = lambda : self.SkyboxSelectMode()
game.py de SkyboxSelectMode adında bir def tanımı var mı? Eğer varsa söylediklerimi o def bloğunu baz alarak yapmayı deneyin. Sanırım burdaki sonradan eklediğiniz. Orjinal tanımı olması gerekiyor.
 
Game.py deki F8 ile açılan pencereyi bul. Hangi fonksiyonu tetiklediğini bul. Sayfanın en altlarındadır muhtemelen. O fonksiyonun def ... ile başlayanı kopyala, diğer dosyaya yapıştır. Fonksiyon ismi def ClickSkyboxSelectMode yap. Bu kadar. Fonksiyon isimleri önemli değil, tuşun hangi fonksiyonu tetiklediğini bulman yeterli.
 
Game.py deki F8 ile açılan pencereyi bul. Hangi fonksiyonu tetiklediğini bul. Sayfanın en altlarındadır muhtemelen. O fonksiyonun def ... ile başlayanı kopyala, diğer dosyaya yapıştır. Fonksiyon ismi def ClickSkyboxSelectMode yap. Bu kadar. Fonksiyon isimleri önemli değil, tuşun hangi fonksiyonu tetiklediğini bulman yeterli.
Anlamadım tam olarak nereyi kastediyorsunuz?
 
Game.py içerisinde def SkyboxSelectMode diye arat. Bulduğun fonksiyonu tamamen kopyala. Hani demiştin ya send chat packete ne yazıcam diye sormuştun. Onunla değiştir kodları.
 
Game.py içerisinde def SkyboxSelectMode diye arat. Bulduğun fonksiyonu tamamen kopyala. Hani demiştin ya send chat packete ne yazıcam diye sormuştun. Onunla değiştir kodları.
Python:
Genişlet Daralt Kopyala
    def SkyboxSelectMode(self):
        import skybox
        if not self.skybox:
            self.skybox = skybox.OptionDialog()

        self.skybox.Show()


galiba bunu demek istediniz?
 
En son bir moderatör tarafından düzenlenmiş:
Python:
Genişlet Daralt Kopyala
    def SkyboxSelectMode(self):
        import skybox
        if not self.skybox:
            self.skybox = skybox.OptionDialog()

        self.skybox.Show()


galiba bunu demek istediniz?
Evet bunu kopyala. Sen buton ekledin mi? Eklediysen bana hangi kodları yazdığını gönder.
 
En son bir moderatör tarafından düzenlenmiş:
Evet bunu kopyala. Sen buton ekledin mi? Eklediysen bana hangi kodları yazdığını gönder.
Python:
Genişlet Daralt Kopyala
                {
                    "name" : "SkyboxSelectMode",
                    "type" : "button",

                    "x" : -10,
                    "y" : 7,

                    "tooltip_text" : "              Skybox",
    
                    "default_image" : "d:/ymir work/interface/inventory/inventory_buttons/btn_itemshop_01_normal.tga",
                    "over_image" : "d:/ymir work/interface/inventory/inventory_buttons/btn_itemshop_02_hover.tga",
                    "down_image" : "d:/ymir work/interface/inventory/inventory_buttons/btn_itemshop_03_active.tga",
                },



Kopyalıyıp yaptım fakat hiçbir işlevi yok suanda butonun.


Edit ;


Python:
Genişlet Daralt Kopyala
    def ClickSkyboxSelectMode(self):
        import skybox
        if self.SkyboxSelectMode:
            self.SkyboxSelectMode = skybox.OptionDialog()

        self.SkyboxSelectMode.Show()

bir kaç değişiklik yaptım bununla ilgili sorun çözüldü. Yardımcı olan herkese teşekkürler.<3
 
Son düzenleme:
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst