Hi,
ich will Pfeiltasten und Nummerntasten verwenden können, um Charaktere auszuwählen. In den Fliege v2.1 Files ist der nötige Code dafür schon vorhanden:
- def OnKeyDown(self, key):
- if 1 == key:
- self.ExitSelect()
- if 2 == key:
- self.SelectSlot(0)
- if 3 == key:
- self.SelectSlot(1)
- if 4 == key:
- self.SelectSlot(2)
- if 5 == key:
- self.SelectSlot(3)
- if 28 == key:
- id = net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_ID)
- if 0 == id:
- self.CreateCharacter()
- else:
- self.StartGame()
- if 203 == key:
- self.slot = (self.GetSlotIndex() - 1 + self.SLOT_COUNT) % self.SLOT_COUNT
- self.SelectSlot(self.slot)
- if 205 == key:
- self.slot = (self.GetSlotIndex() + 1) % self.SLOT_COUNT
- self.SelectSlot(self.slot)
- return TRUE
So wie die Methode "OnKeyDown" dasteht macht sie aber gar nichts. Beim Debugging hab ich herausgefunden, dass sie nur für sehr wenige Tasten überhaupt aufgerufen wird (z.B. F1-F4, LCTRL, ALT). Ich habs sowohl mit Debug als auch normalem Client getestet.
Hab zwar in verschiedenen Foren ein paar Threads dazu gefunden aber bei keinem kam eine Lösung raus.
Hat jemand eine Ahnung woran das liegt und wie mans hinkriegt, dass "OnKeyDown" auch für die Tasten 1-4, Enter, etc. aufgerufen wird?
(Welche Abfragen ich für die Tasten brauch ist mir klar, nur nicht wieso die Methode gar nicht erst aufgerufen wird)