Hi,
mich hat es genervt für das Verteilen von Skill- und Statuspunkten immer die jeweiligen GUIs zu öffnen, deswegen hab ich jetzt mal ne Möglichkeit gebaut das Zeug über Keyboard Shortcuts zu machen.
Habe da jetzt für die Skills die Kombination STRG + SHIFT + 1..8 genommen und das an die Quickslots gebunden. Man kann also auch über ALT + STRG + SHIFT + 1..8 auf z.B. der 2. Quickslot Seite was machen.
Bei den Status Punkten ist das jeweils an die Keys i (int), v (vit), s (str) und d (dex) in Verbindung mit STRG gebunden. Ggf. könnte man das noch erweitern, z.B. STRG + SHIFT + i = Alle verfügbaren Punkte in INT setzen. Das kann ja aber jeder für sich bestimmen.
Python: root/game.py
- #4 Neue Funktionen einfügen:
- def __PressIKey(self):
- if app.IsPressed(app.DIK_LCONTROL):
- net.SendChatPacket("/stat iq")
- else:
- self.interface.ToggleInventoryWindow()
- def __PressVKey(self):
- if app.IsPressed(app.DIK_LCONTROL):
- net.SendChatPacket("/stat ht")
- else:
- self.interface.ToggleCharacterWindow("SKILL")
- def __PressSKey(self):
- if app.IsPressed(app.DIK_LCONTROL):
- net.SendChatPacket("/stat st")
- else:
- self.StopDown()
- def __PressDKey(self):
- if app.IsPressed(app.DIK_LCONTROL):
- net.SendChatPacket("/stat dx")
- else:
- self.StopRight()
- #Funktion def __PressNumKey(self,num) verändern
- def __PressNumKey(self,num):
- if not app.IsPressed(app.DIK_LSHIFT):
- if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
- if num >= 1 and num <= 9:
- if(chrmgr.IsPossibleEmoticon(-1)):
- chrmgr.SetEmoticon(-1,int(num)-1)
- net.SendEmoticon(int(num)-1)
- elif app.IsPressed(app.DIK_LSHIFT):
- if app.IsPressed(app.DIK_LCONTROL):
- if num >= 1 and num <= 8:
- (quickSlotType, position) = player.GetLocalQuickSlot(num - 1)
- skillIndex = player.GetSkillIndex(position)
- skillGrade = player.GetSkillGrade(position)
- skillLevel = player.GetSkillLevel(position)
- skillType = skill.GetSkillType(skillIndex)
- if skillType != skill.SKILL_TYPE_GUILD and skillType != skill.SKILL_TYPE_HORSE:
- if skillGrade <= 0 and skillIndex >= 0:
- net.SendChatPacket("/skillup " + str(skillIndex))
- else:
- if num >= 1 and num <= 4:
- self.pressNumber(num-1)
- #Für Key Press I, S, V, D jeweils die Funktionszuweisungen in dem keyDict ändern:
- onPressKeyDict[app.DIK_I] = lambda : self.__PressIKey()
- onPressKeyDict[app.DIK_V] = lambda : self.__PressVKey()
- onClickKeyDict[app.DIK_D] = lambda : self.__PressDKey()
- onClickKeyDict[app.DIK_S] = lambda : self.__PressSKey()