Yardım Pythonda bir yardım

Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

aykutleee

Üye
Üye
Mesaj
108
Çözümler
5
Beğeni
25
Puan
454
Ticaret Puanı
0
Merhabalar. Bir sistem ekledim ve bunda Butona tıklayınca f11 e tıklamış olmasını istiyorum bunu nasıl yapabilirim? yani f11deki sistemi açmasını istiyorum
def ManagerSystem(self):
app.DIK_F11
yeri uydurma burayı nasıl ayarlayabiliirm?

Kod:
    def LoadWindow(self):
        try:
            pyScrLoader = ui.PythonScriptLoader()
            pyScrLoader.LoadScriptFile(self, "UIScript/ManagerSystem.py")
            self.gameButton_1 = self.GetChild("game_event_button_1")
        except:
            import exception
            exception.Abort("ManagerSystem.LoadDialog.LoadScript")
        self.gameButton_1.SetEvent(ui.__mem_func__(self.ManagerSystem))
        
    def ManagerSystem(self):
        app.DIK_F11
 
Bir tuşa bastırma kontrolü yok diye biliyorum. Bunun yerine butona tıklayınca F11'e basılınca açılan pencereyi ManagerSystem yerine aktarabilirsiniz. F11 tuşuna bastırmak zorunda kalmazsınız.
 
Bir tuşa bastırma kontrolü yok diye biliyorum. Bunun yerine butona tıklayınca F11'e basılınca açılan pencereyi ManagerSystem yerine aktarabilirsiniz. F11 tuşuna bastırmak zorunda kalmazsınız.
Bu dediğinizi yaptım ancak eklediğim sistemdeki kodlama olayı farklı olunca f11 re basınca mysqldaki verileri cekiyor sorunsuz çalışıyor ama bu yeni eklediğim butona basınca çekmiyor sistemin guisi var ama mysqlda yazılan item giridleri vs bomboş oluyor :/

Python:
game.py de deki ekstra kod;

    def __ServerCommand_Build(self):
        serverCommandList={
            "ManagerSystem"        : self.ManagerSystem,
        }
 
Son düzenleme:
Bu dediğinizi yaptım ancak eklediğim sistemdeki kodlama olayı farklı olunca f11 re basınca mysqldaki verileri cekiyor sorunsuz çalışıyor ama bu yeni eklediğim butona basınca çekmiyor sistemin guisi var ama mysqlda yazılan item giridleri vs bomboş oluyor :/

Python:
game.py de deki ekstra kod;

    def __ServerCommand_Build(self):
        serverCommandList={
            "ManagerSystem"        : self.ManagerSystem,
        }

F11 tuşuna basınca açılan pencerenin açılma kodlarını buraya yazabilir misiniz?
 
Açıkcası sorunu tam anlayamadım. Tam olarak ne yapmak istiyorsun?
 
F11 tuşuna basınca açılan pencerenin açılma kodlarını buraya yazabilir misiniz?
tabiki
game.py:
import uigift                                                 # +
------------------------------------------------
class GameWindow(ui.ScriptWindow):
    def __init__(self, stream):
        ui.ScriptWindow.__init__(self, "GAME")
        self.SetWindowName("game")
        net.SetPhaseWindow(net.PHASE_WINDOW_GAME, self)
        player.SetGameWindow(self)
        self.wndgift = uigift.Gift()                      # +
     
-----------------------------------------------------------
    def OnUpdate(self):
        app.UpdateGame()
         
        self.wndgift.OnUpdate()                                # +
-----------------------------------------------------------
    def __ServerCommand_Build(self):
        serverCommandList={
            "ManagerSystem"        : self.ManagerSystem,    # +
-----------------------------------------------------------
    def __BuildKeyDict(self):
        onPressKeyDict = {}
        onPressKeyDict[app.DIK_F11]            = lambda : self.ManagerSystem("Show|")  # +
-----------------------------------------------------------
    def ManagerSystem(self, cmd):                           # +
        cmd = cmd.split("|")
        if cmd[0] == "Show":
            self.wndgift.Show()
        elif cmd[0] == "DeleteRewards":
            self.wndgift.DeleteRewards()
        elif cmd[0] == "SetDailyReward":
            self.wndgift.SetDailyReward(cmd[1]) # numero de la recompensa
        elif cmd[0] == "SetTime":
            self.wndgift.SetTime(cmd[1]) # tiempo en numeros grandes
        elif cmd[0] == "SetReward":
            self.wndgift.SetReward(cmd[1], cmd[2]) #hacer un array con los items
        elif cmd[0] == "SetRewardDone":
            self.wndgift.SetRewardDone()


Açıkcası sorunu tam anlayamadım. Tam olarak ne yapmak istiyorsun?
Alında ben ilk olarak oyun ekranında direkt gözüken bir buton (event sistemi gibi) yapıp o butona tıklayınca bu eklediğim sistemin açılmasını istiyordum. Aslında kolay bir eklenti ama Eklediğim sistem 2 arg. taşıyor ( self.ManagerSystem("Show|") ) bu yüzden buton olarak eklemeye çalışınca
ui.py deki

Python:
    def __init__(self, mfunc):
        if mfunc.im_func.func_code.co_argcount>1:
            self.call=__mem_func__.__arg_call__(mfunc.im_class, mfunc.im_self, mfunc.im_func)
        else:
            self.call=__mem_func__.__noarg_call__(mfunc.im_class, mfunc.im_self, mfunc.im_func)

satırı hata veriyor. Yapamadım :D Dolayısıyla f11 gibi bir tuşa atanmış halini kullanmak istedim. Bu ekleyeceğim butona f11 tuşuna bastırma kontrolünü sordum
 
Python:
self.ManagerSystem("Show|")

Bu şekilde kullandığında zaten 2.arg ile beraber çağırmış oluyorsun. Butona bu şekilde tanımlayıp kullanmayı denedin mi?
Yoksa self.ManagerSystem() şeklinde mi çağırıyorsun?
 
Python:
self.ManagerSystem("Show|")

Bu şekilde kullandığında zaten 2.arg ile beraber çağırmış oluyorsun. Butona bu şekilde tanımlayıp kullanmayı denedin mi?
Yoksa self.ManagerSystem() şeklinde mi çağırıyorsun?
şöyle bir saçmalık yaptığımda oyun açıldı sysersiz ama bu seferde butona tıklayınca sadece gui gözüküyor içindeki game ve mysql taraflı çekmesi gereken verileri çekmiyor

Kod:
        self.gameButton_1.SetEvent(ui.__mem_func__(self.ManagerSystem))
        #self.wndgift.OnUpdate()
       
    def ManagerSystem(self):
        self.ManagerGiftSystem_1("Show|").Show()
       
    def ManagerSystem_1(self, cmd):
        cmd = cmd.split("|")
        if cmd[0] == "Show":
            self.wndgift.Show()
        elif cmd[0] == "DeleteRewards":
            self.wndgift.DeleteRewards()
        elif cmd[0] == "SetDailyReward":
            self.wndgift.SetDailyReward(cmd[1]) # numero de la recompensa
        elif cmd[0] == "SetTime":
            self.wndgift.SetTime(cmd[1]) # tiempo en numeros grandes
        elif cmd[0] == "SetReward":
            self.wndgift.SetReward(cmd[1], cmd[2]) #hacer un array con los items
        elif cmd[0] == "SetRewardDone":
            self.wndgift.SetRewardDone()
 
şöyle bir saçmalık yaptığımda oyun açıldı sysersiz ama bu seferde butona tıklayınca sadece gui gözüküyor içindeki game ve mysql taraflı çekmesi gereken verileri çekmiyor

Kod:
        self.gameButton_1.SetEvent(ui.__mem_func__(self.ManagerSystem))
        #self.wndgift.OnUpdate()
      
    def ManagerSystem(self):
        self.ManagerGiftSystem_1("Show|").Show()
      
    def ManagerSystem_1(self, cmd):
        cmd = cmd.split("|")
        if cmd[0] == "Show":
            self.wndgift.Show()
        elif cmd[0] == "DeleteRewards":
            self.wndgift.DeleteRewards()
        elif cmd[0] == "SetDailyReward":
            self.wndgift.SetDailyReward(cmd[1]) # numero de la recompensa
        elif cmd[0] == "SetTime":
            self.wndgift.SetTime(cmd[1]) # tiempo en numeros grandes
        elif cmd[0] == "SetReward":
            self.wndgift.SetReward(cmd[1], cmd[2]) #hacer un array con los items
        elif cmd[0] == "SetRewardDone":
            self.wndgift.SetRewardDone()
Normalde nerede açılıyorsa o pydeki kodlara yönlendir
 
Geri
Üst