Advertisement
Guest User

Untitled

a guest
Apr 20th, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 32.90 KB | None | 0 0
  1. import ui
  2. import net
  3. import item
  4. import skill
  5. import localeInfo
  6. import wndMgr
  7. import player
  8. import constInfo
  9. import mouseModule
  10. import uiScriptLocale
  11. import app
  12.  
  13. MOUSE_SETTINGS = [0, 0]
  14.  
  15. def InitMouseButtonSettings(left, right):
  16. global MOUSE_SETTINGS
  17. MOUSE_SETTINGS = [left, right]
  18.  
  19. def SetMouseButtonSetting(dir, event):
  20. global MOUSE_SETTINGS
  21. MOUSE_SETTINGS[dir] = event
  22.  
  23. def GetMouseButtonSettings():
  24. global MOUSE_SETTINGS
  25. return MOUSE_SETTINGS
  26.  
  27. def SaveMouseButtonSettings():
  28. global MOUSE_SETTINGS
  29. open("mouse.cfg", "w").write("%s\t%s" % tuple(MOUSE_SETTINGS))
  30.  
  31. def LoadMouseButtonSettings():
  32. global MOUSE_SETTINGS
  33. tokens = open("mouse.cfg", "r").read().split()
  34.  
  35. if len(tokens) != 2:
  36. raise RuntimeError, "MOUSE_SETTINGS_FILE_ERROR"
  37.  
  38. MOUSE_SETTINGS[0] = int(tokens[0])
  39. MOUSE_SETTINGS[1] = int(tokens[1])
  40.  
  41. def unsigned32(n):
  42. return n & 0xFFFFFFFFL
  43.  
  44. #-------------------Giftbox Begin------------------------------
  45.  
  46. class GiftBox(ui.ScriptWindow):
  47. class TextToolTip(ui.Window):
  48. def __init__(self):
  49. ui.Window.__init__(self, "TOP_MOST")
  50. self.SetWindowName("GiftBox")
  51. textLine = ui.TextLine()
  52. textLine.SetParent(self)
  53. textLine.SetHorizontalAlignCenter()
  54. textLine.SetOutline()
  55. textLine.Show()
  56. self.textLine = textLine
  57.  
  58. def __del__(self):
  59. ui.Window.__del__(self)
  60.  
  61. def SetText(self, text):
  62. self.textLine.SetText(text)
  63.  
  64. def OnRender(self):
  65. (mouseX, mouseY) = wndMgr.GetMousePosition()
  66. self.textLine.SetPosition(mouseX, mouseY - 15)
  67.  
  68. def __init__(self):
  69. #print "NEW TASKBAR ----------------------------------------------------------------------------"
  70. ui.ScriptWindow.__init__(self)
  71. self.tooltipGift = self.TextToolTip()
  72. self.tooltipGift.Show()
  73.  
  74. def __del__(self):
  75. #print "---------------------------------------------------------------------------- DELETE TASKBAR"
  76. ui.ScriptWindow.__del__(self)
  77.  
  78. def LoadWindow(self):
  79. try:
  80. pyScrLoader = ui.PythonScriptLoader()
  81. pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "giftbox.py")
  82. except:
  83. import exception
  84. exception.Abort("GiftBox.LoadWindow.LoadObject")
  85.  
  86. self.giftBoxIcon = self.GetChild("GiftBox_Icon")
  87. self.giftBoxToolTip = self.GetChild("GiftBox_ToolTip")
  88.  
  89. def Destroy(self):
  90. self.giftBoxIcon = 0
  91. self.giftBoxToolTip = 0
  92.  
  93. #-------------------Giftbox End------------------------------
  94.  
  95. class EnergyBar(ui.ScriptWindow):
  96. class TextToolTip(ui.Window):
  97. def __init__(self):
  98. ui.Window.__init__(self, "TOP_MOST")
  99. self.SetWindowName("EnergyBar")
  100. textLine = ui.TextLine()
  101. textLine.SetParent(self)
  102. textLine.SetHorizontalAlignCenter()
  103. textLine.SetOutline()
  104. textLine.Show()
  105. self.textLine = textLine
  106.  
  107. def __del__(self):
  108. ui.Window.__del__(self)
  109.  
  110. def SetText(self, text):
  111. self.textLine.SetText(text)
  112.  
  113. def OnRender(self):
  114. (mouseX, mouseY) = wndMgr.GetMousePosition()
  115. self.textLine.SetPosition(mouseX, mouseY - 15)
  116.  
  117. def __init__(self):
  118. #print "NEW TASKBAR ----------------------------------------------------------------------------"
  119. ui.ScriptWindow.__init__(self)
  120. self.tooltipEnergy = self.TextToolTip()
  121. self.tooltipEnergy.Show()
  122.  
  123. def __del__(self):
  124. #print "---------------------------------------------------------------------------- DELETE TASKBAR"
  125. ui.ScriptWindow.__del__(self)
  126.  
  127. def LoadWindow(self):
  128. try:
  129. pyScrLoader = ui.PythonScriptLoader()
  130. pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "EnergyBar.py")
  131. except:
  132. import exception
  133. exception.Abort("EnergyBar.LoadWindow.LoadObject")
  134.  
  135. self.energyEmpty = self.GetChild("EnergyGauge_Empty")
  136. self.energyHungry = self.GetChild("EnergyGauge_Hungry")
  137. self.energyFull = self.GetChild("EnergyGauge_Full")
  138.  
  139. self.energyGaugeBoard = self.GetChild("EnergyGauge_Board")
  140. self.energyGaugeToolTip = self.GetChild("EnergyGauge_ToolTip")
  141.  
  142.  
  143. def Destroy(self):
  144. self.energyEmpty = None
  145. self.energyHungry = None
  146. self.energyFull = None
  147. self.energyGaugeBoard = 0
  148. self.energyGaugeToolTip = 0
  149. self.tooltipEnergy = 0
  150.  
  151. ## Gauge
  152. def RefreshStatus(self):
  153. pointEnergy = player.GetStatus (player.ENERGY)
  154. leftTimeEnergy = player.GetStatus (player.ENERGY_END_TIME) - app.GetGlobalTimeStamp()
  155. # Ăć±âČŻ ÁöĽÓ ˝Ă°Ł = 2˝Ă°Ł.
  156. self.SetEnergy (pointEnergy, leftTimeEnergy, 7200)
  157.  
  158. def SetEnergy (self, point, leftTime, maxTime):
  159. leftTime = max (leftTime, 0)
  160. maxTime = max (maxTime, 0)
  161.  
  162. self.energyEmpty.Hide()
  163. self.energyHungry.Hide()
  164. self.energyFull.Hide()
  165.  
  166. if leftTime == 0:
  167. self.energyEmpty.Show()
  168. elif ((leftTime * 100) / maxTime) < 15:
  169. self.energyHungry.Show()
  170. else:
  171. self.energyFull.Show()
  172.  
  173. self.tooltipEnergy.SetText("%s" % (localeInfo.TOOLTIP_ENERGY(point)))
  174.  
  175. def OnUpdate(self):
  176. if True == self.energyGaugeToolTip.IsIn():
  177. self.RefreshStatus()
  178. self.tooltipEnergy.Show()
  179. else:
  180. self.tooltipEnergy.Hide()
  181.  
  182. class ExpandedTaskBar(ui.ScriptWindow):
  183. BUTTON_DRAGON_SOUL = 0
  184. def __init__(self):
  185. ui.Window.__init__(self)
  186. self.SetWindowName("ExpandedTaskBar")
  187.  
  188. def LoadWindow(self):
  189. try:
  190. pyScrLoader = ui.PythonScriptLoader()
  191. pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "ExpandedTaskBar.py")
  192. except:
  193. import exception
  194. exception.Abort("ExpandedTaskBar.LoadWindow.LoadObject")
  195.  
  196. self.expandedTaskBarBoard = self.GetChild("ExpanedTaskBar_Board")
  197.  
  198. self.toggleButtonDict = {}
  199. self.toggleButtonDict[ExpandedTaskBar.BUTTON_DRAGON_SOUL] = self.GetChild("DragonSoulButton")
  200. self.toggleButtonDict[ExpandedTaskBar.BUTTON_DRAGON_SOUL].SetParent(self)
  201.  
  202. def SetTop(self):
  203. super(ExpandedTaskBar, self).SetTop()
  204. for button in self.toggleButtonDict.values():
  205. button.SetTop()
  206.  
  207. def Show(self):
  208. ui.ScriptWindow.Show(self)
  209.  
  210. def Close(self):
  211. self.Hide()
  212.  
  213. def SetToolTipText(self, eButton, text):
  214. self.toggleButtonDict[eButton].SetToolTipText(text)
  215.  
  216. def SetToggleButtonEvent(self, eButton, kEventFunc):
  217. self.toggleButtonDict[eButton].SetEvent(kEventFunc)
  218.  
  219. def OnPressEscapeKey(self):
  220. self.Close()
  221. return True
  222.  
  223. class TaskBar(ui.ScriptWindow):
  224.  
  225. BUTTON_CHARACTER = 0
  226. BUTTON_INVENTORY = 1
  227. BUTTON_MESSENGER = 2
  228. BUTTON_SYSTEM = 3
  229. BUTTON_CHAT = 4
  230. BUTTON_EXPAND = 4
  231. IS_EXPANDED = False
  232.  
  233. MOUSE_BUTTON_LEFT = 0
  234. MOUSE_BUTTON_RIGHT = 1
  235. NONE = 255
  236.  
  237. EVENT_MOVE = 0
  238. EVENT_ATTACK = 1
  239. EVENT_MOVE_AND_ATTACK = 2
  240. EVENT_CAMERA = 3
  241. EVENT_SKILL = 4
  242. EVENT_AUTO = 5
  243.  
  244. GAUGE_WIDTH = 95
  245. GAUGE_HEIGHT = 13
  246.  
  247. QUICKPAGE_NUMBER_FILENAME = [
  248. "d:/ymir work/ui/game/taskbar/1.sub",
  249. "d:/ymir work/ui/game/taskbar/2.sub",
  250. "d:/ymir work/ui/game/taskbar/3.sub",
  251. "d:/ymir work/ui/game/taskbar/4.sub",
  252. ]
  253.  
  254. #gift icon show and hide
  255. def ShowGift(self):
  256. if not localeInfo.IsBRAZIL():
  257. self.wndGiftBox.Show()
  258.  
  259. def HideGift(self):
  260. self.wndGiftBox.Hide()
  261.  
  262. class TextToolTip(ui.Window):
  263. def __init__(self):
  264. ui.Window.__init__(self, "TOP_MOST")
  265.  
  266. textLine = ui.TextLine()
  267. textLine.SetParent(self)
  268. textLine.SetHorizontalAlignCenter()
  269. textLine.SetOutline()
  270. textLine.Show()
  271. self.textLine = textLine
  272.  
  273. def __del__(self):
  274. ui.Window.__del__(self)
  275.  
  276. def SetText(self, text):
  277. self.textLine.SetText(text)
  278.  
  279. def OnRender(self):
  280. (mouseX, mouseY) = wndMgr.GetMousePosition()
  281. self.textLine.SetPosition(mouseX, mouseY - 15)
  282.  
  283. class SkillButton(ui.SlotWindow):
  284.  
  285. def __init__(self):
  286. ui.SlotWindow.__init__(self)
  287.  
  288. self.event = 0
  289. self.arg = 0
  290.  
  291. self.slotIndex = 0
  292. self.skillIndex = 0
  293.  
  294. slotIndex = 0
  295. wndMgr.SetSlotBaseImage(self.hWnd, "d:/ymir work/ui/public/slot_base.sub", 1.0, 1.0, 1.0, 1.0)
  296. wndMgr.AppendSlot(self.hWnd, slotIndex, 0, 0, 32, 32)
  297. self.SetCoverButton(slotIndex, "d:/ymir work/ui/public/slot_cover_button_01.sub",\
  298. "d:/ymir work/ui/public/slot_cover_button_02.sub",\
  299. "d:/ymir work/ui/public/slot_cover_button_03.sub",\
  300. "d:/ymir work/ui/public/slot_cover_button_04.sub", True, False)
  301. self.SetSize(32, 32)
  302.  
  303. def __del__(self):
  304. ui.SlotWindow.__del__(self)
  305.  
  306. def Destroy(self):
  307. if 0 != self.tooltipSkill:
  308. self.tooltipSkill.HideToolTip()
  309.  
  310. def RefreshSkill(self):
  311. if 0 != self.slotIndex:
  312. self.SetSkill(self.slotIndex)
  313.  
  314. def SetSkillToolTip(self, tooltip):
  315. self.tooltipSkill = tooltip
  316.  
  317. def SetSkill(self, skillSlotNumber):
  318. slotNumber = 0
  319. skillIndex = player.GetSkillIndex(skillSlotNumber)
  320. skillGrade = player.GetSkillGrade(skillSlotNumber)
  321. skillLevel = player.GetSkillLevel(skillSlotNumber)
  322. skillType = skill.GetSkillType(skillIndex)
  323.  
  324. self.skillIndex = skillIndex
  325. if 0 == self.skillIndex:
  326. self.ClearSlot(slotNumber)
  327. return
  328.  
  329. self.slotIndex = skillSlotNumber
  330.  
  331. self.SetSkillSlotNew(slotNumber, skillIndex, skillGrade, skillLevel)
  332. self.SetSlotCountNew(slotNumber, skillGrade, skillLevel)
  333.  
  334. ## NOTE : CoolTime ĂĽĹ©
  335. if player.IsSkillCoolTime(skillSlotNumber):
  336. (coolTime, elapsedTime) = player.GetSkillCoolTime(skillSlotNumber)
  337. self.SetSlotCoolTime(slotNumber, coolTime, elapsedTime)
  338.  
  339. ## NOTE : Activate µÇľî ŔÖ´Ů¸é ľĆŔĚÄܵµ ľ÷µĄŔĚĆ®
  340. if player.IsSkillActive(skillSlotNumber):
  341. self.ActivateSlot(slotNumber)
  342.  
  343. def SetSkillEvent(self, event, arg=0):
  344. self.event = event
  345. self.arg = arg
  346.  
  347. def GetSkillIndex(self):
  348. return self.skillIndex
  349.  
  350. def GetSlotIndex(self):
  351. return self.slotIndex
  352.  
  353. def Activate(self, coolTime):
  354. self.SetSlotCoolTime(0, coolTime)
  355.  
  356. if skill.IsToggleSkill(self.skillIndex):
  357. self.ActivateSlot(0)
  358.  
  359. def Deactivate(self):
  360. if skill.IsToggleSkill(self.skillIndex):
  361. self.DeactivateSlot(0)
  362.  
  363. def OnOverInItem(self, dummy):
  364. self.tooltipSkill.SetSkill(self.skillIndex)
  365.  
  366. def OnOverOutItem(self):
  367. self.tooltipSkill.HideToolTip()
  368.  
  369. def OnSelectItemSlot(self, dummy):
  370. if 0 != self.event:
  371. if 0 != self.arg:
  372. self.event(self.arg)
  373. else:
  374. self.event()
  375.  
  376. def __init__(self):
  377. #print "NEW TASKBAR ----------------------------------------------------------------------------"
  378.  
  379. ui.ScriptWindow.__init__(self, "TOP_MOST")
  380.  
  381. self.quickPageNumImageBox = None
  382. self.tooltipItem = 0
  383. self.tooltipSkill = 0
  384. self.mouseModeButtonList = [ ui.ScriptWindow("TOP_MOST"), ui.ScriptWindow("TOP_MOST") ]
  385.  
  386. self.tooltipHP = self.TextToolTip()
  387. self.tooltipHP.Show()
  388. self.tooltipSP = self.TextToolTip()
  389. self.tooltipSP.Show()
  390. self.tooltipST = self.TextToolTip()
  391. self.tooltipST.Show()
  392.  
  393. self.skillCategoryNameList = [ "ACTIVE_1", "ACTIVE_2", "ACTIVE_3" ]
  394. self.skillPageStartSlotIndexDict = {
  395. "ACTIVE_1" : 1,
  396. "ACTIVE_2" : 21,
  397. "ACTIVE_3" : 41,
  398. }
  399.  
  400. self.selectSkillButtonList = []
  401.  
  402. self.lastUpdateQuickSlot = 0
  403. self.SetWindowName("TaskBar")
  404.  
  405. def __del__(self):
  406. #print "---------------------------------------------------------------------------- DELETE TASKBAR"
  407. ui.ScriptWindow.__del__(self)
  408.  
  409. def LoadWindow(self):
  410. try:
  411. pyScrLoader = ui.PythonScriptLoader()
  412.  
  413. if constInfo.IN_GAME_SHOP_ENABLE:
  414. pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "TaskBar.py")
  415. else:
  416. pyScrLoader.LoadScriptFile(self, "UIScript/TaskBar.py")
  417. pyScrLoader.LoadScriptFile(self.mouseModeButtonList[self.MOUSE_BUTTON_LEFT], "UIScript/MouseButtonWindow.py")
  418. pyScrLoader.LoadScriptFile(self.mouseModeButtonList[self.MOUSE_BUTTON_RIGHT], "UIScript/RightMouseButtonWindow.py")
  419. except:
  420. import exception
  421. exception.Abort("TaskBar.LoadWindow.LoadObject")
  422.  
  423. self.quickslot = []
  424. self.quickslot.append(self.GetChild("quick_slot_1"))
  425. self.quickslot.append(self.GetChild("quick_slot_2"))
  426. for slot in self.quickslot:
  427. slot.SetSlotStyle(wndMgr.SLOT_STYLE_NONE)
  428. slot.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectEmptyQuickSlot))
  429. slot.SetSelectItemSlotEvent(ui.__mem_func__(self.SelectItemQuickSlot))
  430. slot.SetUnselectItemSlotEvent(ui.__mem_func__(self.UnselectItemQuickSlot))
  431. slot.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
  432. slot.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
  433.  
  434. toggleButtonDict = {}
  435. toggleButtonDict[TaskBar.BUTTON_CHARACTER]=self.GetChild("CharacterButton")
  436. toggleButtonDict[TaskBar.BUTTON_INVENTORY]=self.GetChild("InventoryButton")
  437. toggleButtonDict[TaskBar.BUTTON_MESSENGER]=self.GetChild("MessengerButton")
  438. toggleButtonDict[TaskBar.BUTTON_SYSTEM]=self.GetChild("SystemButton")
  439.  
  440. # ChatButton, ExpandButton µŃ Áß ÇĎłŞ´Â ąÝµĺ˝Ă Á¸ŔçÇŃ´Ů.
  441. try:
  442. toggleButtonDict[TaskBar.BUTTON_CHAT]=self.GetChild("ChatButton")
  443. except:
  444. toggleButtonDict[TaskBar.BUTTON_EXPAND]=self.GetChild("ExpandButton")
  445. TaskBar.IS_EXPANDED = True
  446.  
  447.  
  448. if localeInfo.IsARABIC():
  449. systemButton = toggleButtonDict[TaskBar.BUTTON_SYSTEM]
  450. if systemButton.ToolTipText:
  451. tx, ty = systemButton.ToolTipText.GetLocalPosition()
  452. tw = systemButton.ToolTipText.GetWidth()
  453. systemButton.ToolTipText.SetPosition(-tw/2, ty)
  454.  
  455.  
  456. expGauge = self.GetChild("ExpFull")
  457.  
  458. self.quickPageNumImageBox=self.GetChild("QuickPageNumber")
  459.  
  460. self.GetChild("QuickPageUpButton").SetEvent(ui.__mem_func__(self.__OnClickQuickPageUpButton))
  461. self.GetChild("QuickPageDownButton").SetEvent(ui.__mem_func__(self.__OnClickQuickPageDownButton))
  462.  
  463. mouseLeftButtonModeButton = self.GetChild("LeftMouseButton")
  464. mouseRightButtonModeButton = self.GetChild("RightMouseButton")
  465. mouseLeftButtonModeButton.SetEvent(ui.__mem_func__(self.ToggleLeftMouseButtonModeWindow))
  466. mouseRightButtonModeButton.SetEvent(ui.__mem_func__(self.ToggleRightMouseButtonModeWindow))
  467. self.curMouseModeButton = [ mouseLeftButtonModeButton, mouseRightButtonModeButton ]
  468.  
  469. (xLocalRight, yLocalRight) = mouseRightButtonModeButton.GetLocalPosition()
  470. self.curSkillButton = self.SkillButton()
  471. self.curSkillButton.SetParent(self)
  472. self.curSkillButton.SetPosition(xLocalRight, 3)
  473. self.curSkillButton.SetSkillEvent(ui.__mem_func__(self.ToggleRightMouseButtonModeWindow))
  474. self.curSkillButton.Hide()
  475.  
  476. (xLeft, yLeft) = mouseLeftButtonModeButton.GetGlobalPosition()
  477. (xRight, yRight) = mouseRightButtonModeButton.GetGlobalPosition()
  478. leftModeButtonList = self.mouseModeButtonList[self.MOUSE_BUTTON_LEFT]
  479. leftModeButtonList.SetPosition(xLeft, yLeft - leftModeButtonList.GetHeight()-5)
  480. rightModeButtonList = self.mouseModeButtonList[self.MOUSE_BUTTON_RIGHT]
  481. rightModeButtonList.SetPosition(xRight - rightModeButtonList.GetWidth() + 32, yRight - rightModeButtonList.GetHeight()-5)
  482. rightModeButtonList.GetChild("button_skill").SetEvent(lambda adir=self.MOUSE_BUTTON_RIGHT, aevent=self.EVENT_SKILL: self.SelectMouseButtonEvent(adir, aevent))
  483. rightModeButtonList.GetChild("button_skill").Hide()
  484.  
  485. mouseImage = ui.ImageBox("TOP_MOST")
  486. mouseImage.AddFlag("float")
  487. mouseImage.LoadImage("d:/ymir work/ui/game/taskbar/mouse_button_camera_01.sub")
  488. mouseImage.SetPosition(xRight, wndMgr.GetScreenHeight() - 34)
  489. mouseImage.Hide()
  490. self.mouseImage = mouseImage
  491.  
  492. dir = self.MOUSE_BUTTON_LEFT
  493. wnd = self.mouseModeButtonList[dir]
  494. wnd.GetChild("button_move_and_attack").SetEvent(lambda adir=dir, aevent=self.EVENT_MOVE_AND_ATTACK: self.SelectMouseButtonEvent(adir, aevent))
  495. wnd.GetChild("button_auto_attack").SetEvent(lambda adir=dir, aevent=self.EVENT_AUTO: self.SelectMouseButtonEvent(adir, aevent))
  496. wnd.GetChild("button_camera").SetEvent(lambda adir=dir, aevent=self.EVENT_CAMERA: self.SelectMouseButtonEvent(adir, aevent))
  497.  
  498. dir = self.MOUSE_BUTTON_RIGHT
  499. wnd = self.mouseModeButtonList[dir]
  500. wnd.GetChild("button_move_and_attack").SetEvent(lambda adir=dir, aevent=self.EVENT_MOVE_AND_ATTACK: self.SelectMouseButtonEvent(adir, aevent))
  501. wnd.GetChild("button_camera").SetEvent(lambda adir=dir, aevent=self.EVENT_CAMERA: self.SelectMouseButtonEvent(adir, aevent))
  502.  
  503. self.toggleButtonDict = toggleButtonDict
  504. self.expGauge = expGauge
  505.  
  506. self.hpGauge = self.GetChild("HPGauge")
  507. self.mpGauge = self.GetChild("SPGauge")
  508. self.stGauge = self.GetChild("STGauge")
  509. self.hpRecoveryGaugeBar = self.GetChild("HPRecoveryGaugeBar")
  510. self.spRecoveryGaugeBar = self.GetChild("SPRecoveryGaugeBar")
  511.  
  512. self.hpGaugeBoard=self.GetChild("HPGauge")
  513. self.mpGaugeBoard=self.GetChild("SPGauge")
  514. self.stGaugeBoard=self.GetChild("STGauge")
  515.  
  516. #giftbox object
  517. wndGiftBox = GiftBox()
  518. wndGiftBox.LoadWindow()
  519. self.wndGiftBox = wndGiftBox
  520.  
  521. self.__LoadMouseSettings()
  522. self.RefreshStatus()
  523. self.RefreshQuickSlot()
  524.  
  525. def __LoadMouseSettings(self):
  526. try:
  527. LoadMouseButtonSettings()
  528. (mouseLeftButtonEvent, mouseRightButtonEvent) = GetMouseButtonSettings()
  529. if not self.__IsInSafeMouseButtonSettingRange(mouseLeftButtonEvent) or not self.__IsInSafeMouseButtonSettingRange(mouseRightButtonEvent):
  530. raise RuntimeError, "INVALID_MOUSE_BUTTON_SETTINGS"
  531. except:
  532. InitMouseButtonSettings(self.EVENT_MOVE_AND_ATTACK, self.EVENT_CAMERA)
  533. (mouseLeftButtonEvent, mouseRightButtonEvent) = GetMouseButtonSettings()
  534.  
  535. try:
  536. self.SelectMouseButtonEvent(self.MOUSE_BUTTON_LEFT, mouseLeftButtonEvent)
  537. self.SelectMouseButtonEvent(self.MOUSE_BUTTON_RIGHT, mouseRightButtonEvent)
  538. except:
  539. InitMouseButtonSettings(self.EVENT_MOVE_AND_ATTACK, self.EVENT_CAMERA)
  540. (mouseLeftButtonEvent, mouseRightButtonEvent) = GetMouseButtonSettings()
  541.  
  542. self.SelectMouseButtonEvent(self.MOUSE_BUTTON_LEFT, mouseLeftButtonEvent)
  543. self.SelectMouseButtonEvent(self.MOUSE_BUTTON_RIGHT, mouseRightButtonEvent)
  544.  
  545.  
  546.  
  547. def __IsInSafeMouseButtonSettingRange(self, arg):
  548. return arg >= self.EVENT_MOVE and arg <= self.EVENT_AUTO
  549.  
  550. def Destroy(self):
  551. SaveMouseButtonSettings()
  552.  
  553. self.ClearDictionary()
  554. self.mouseModeButtonList[0].ClearDictionary()
  555. self.mouseModeButtonList[1].ClearDictionary()
  556. self.mouseModeButtonList = 0
  557. self.curMouseModeButton = 0
  558. self.curSkillButton = 0
  559. self.selectSkillButtonList = 0
  560.  
  561.  
  562. self.expGauge = None
  563. self.hpGauge = None
  564. self.mpGauge = None
  565. self.stGauge = None
  566. self.hpRecoveryGaugeBar = None
  567. self.spRecoveryGaugeBar = None
  568.  
  569. self.tooltipItem = 0
  570. self.tooltipSkill = 0
  571. self.quickslot = 0
  572. self.toggleButtonDict = 0
  573.  
  574. self.hpGaugeBoard = 0
  575. self.mpGaugeBoard = 0
  576. self.stGaugeBoard = 0
  577.  
  578. self.tooltipHP = 0
  579. self.tooltipSP = 0
  580. self.tooltipST = 0
  581.  
  582. self.mouseImage = None
  583.  
  584. def __OnClickQuickPageUpButton(self):
  585. player.SetQuickPage(player.GetQuickPage()-1)
  586.  
  587. def __OnClickQuickPageDownButton(self):
  588. player.SetQuickPage(player.GetQuickPage()+1)
  589.  
  590. def SetToggleButtonEvent(self, eButton, kEventFunc):
  591. self.toggleButtonDict[eButton].SetEvent(kEventFunc)
  592.  
  593. def SetItemToolTip(self, tooltipItem):
  594. self.tooltipItem = tooltipItem
  595.  
  596. def SetSkillToolTip(self, tooltipSkill):
  597. self.tooltipSkill = tooltipSkill
  598. self.curSkillButton.SetSkillToolTip(self.tooltipSkill)
  599.  
  600. ## Mouse Image
  601. def ShowMouseImage(self):
  602. self.mouseImage.SetTop()
  603. self.mouseImage.Show()
  604.  
  605. def HideMouseImage(self):
  606. player.SetQuickCameraMode(False)
  607. self.mouseImage.Hide()
  608.  
  609. ## Gauge
  610. def RefreshStatus(self):
  611. curHP = player.GetStatus(player.HP)
  612. maxHP = player.GetStatus(player.MAX_HP)
  613. curSP = player.GetStatus(player.SP)
  614. maxSP = player.GetStatus(player.MAX_SP)
  615. curEXP = unsigned32(player.GetStatus(player.EXP))
  616. nextEXP = unsigned32(player.GetStatus(player.NEXT_EXP))
  617. recoveryHP = player.GetStatus(player.HP_RECOVERY)
  618. recoverySP = player.GetStatus(player.SP_RECOVERY)
  619.  
  620. self.RefreshStamina()
  621.  
  622. self.SetHP(curHP, recoveryHP, maxHP)
  623. self.SetSP(curSP, recoverySP, maxSP)
  624. self.SetExperience(curEXP, nextEXP)
  625.  
  626. def RefreshStamina(self):
  627. curST = player.GetStatus(player.STAMINA)
  628. maxST = player.GetStatus(player.MAX_STAMINA)
  629. self.SetST(curST, maxST)
  630.  
  631. def RefreshSkill(self):
  632. self.curSkillButton.RefreshSkill()
  633. for button in self.selectSkillButtonList:
  634. button.RefreshSkill()
  635.  
  636. def SetHP(self, curPoint, recoveryPoint, maxPoint):
  637. curPoint = min(curPoint, maxPoint)
  638. if maxPoint > 0:
  639. self.hpGauge.SetPercentage(curPoint, maxPoint)
  640. self.tooltipHP.SetText("%s : %d / %d" % (localeInfo.TASKBAR_HP, curPoint, maxPoint))
  641.  
  642. if 0 == recoveryPoint:
  643. self.hpRecoveryGaugeBar.Hide()
  644. else:
  645. destPoint = min(maxPoint, curPoint + recoveryPoint)
  646. newWidth = int(self.GAUGE_WIDTH * (float(destPoint) / float(maxPoint)))
  647. self.hpRecoveryGaugeBar.SetSize(newWidth, self.GAUGE_HEIGHT)
  648. self.hpRecoveryGaugeBar.Show()
  649.  
  650. def SetSP(self, curPoint, recoveryPoint, maxPoint):
  651. curPoint = min(curPoint, maxPoint)
  652. if maxPoint > 0:
  653. self.mpGauge.SetPercentage(curPoint, maxPoint)
  654. self.tooltipSP.SetText("%s : %d / %d" % (localeInfo.TASKBAR_SP, curPoint, maxPoint))
  655.  
  656. if 0 == recoveryPoint:
  657. self.spRecoveryGaugeBar.Hide()
  658. else:
  659. destPoint = min(maxPoint, curPoint + recoveryPoint)
  660. newWidth = int(self.GAUGE_WIDTH * (float(destPoint) / float(maxPoint)))
  661. self.spRecoveryGaugeBar.SetSize(newWidth, self.GAUGE_HEIGHT)
  662. self.spRecoveryGaugeBar.Show()
  663.  
  664. def SetST(self, curPoint, maxPoint):
  665. curPoint = min(curPoint, maxPoint)
  666. if maxPoint > 0:
  667. self.stGauge.SetPercentage(curPoint, maxPoint)
  668. self.tooltipST.SetText("%s : %d / %d" % (localeInfo.TASKBAR_ST, curPoint, maxPoint))
  669.  
  670. def SetExperience(self, curPoint, maxPoint):
  671. curPoint = min(curPoint, maxPoint)
  672.  
  673. Percentage = float(curPoint)/float(maxPoint) - 1.0
  674. self.expGauge.SetRenderingRect(0.0, Percentage, 0.0, 0.0)
  675. self.GetChild("ExpText").SetText("%.1f%%" % (float(curPoint) / max(1, float(maxPoint)) * 100))
  676.  
  677. ## QuickSlot
  678. def RefreshQuickSlot(self):
  679.  
  680. pageNum = player.GetQuickPage()
  681.  
  682. try:
  683. self.quickPageNumImageBox.LoadImage(TaskBar.QUICKPAGE_NUMBER_FILENAME[pageNum])
  684. except:
  685. pass
  686.  
  687. startNumber = 0
  688. for slot in self.quickslot:
  689.  
  690. for i in xrange(4):
  691.  
  692. slotNumber = i+startNumber
  693.  
  694. (Type, Position) = player.GetLocalQuickSlot(slotNumber)
  695.  
  696. if player.SLOT_TYPE_NONE == Type:
  697. slot.ClearSlot(slotNumber)
  698. continue
  699.  
  700. if player.SLOT_TYPE_INVENTORY == Type:
  701.  
  702. itemIndex = player.GetItemIndex(Position)
  703. itemCount = player.GetItemCount(Position)
  704. if itemCount <= 1:
  705. itemCount = 0
  706.  
  707. ## ŔÚµżą°ľŕ (#72723, #72724) ĆŻĽöĂł¸® - ľĆŔĚĹŰŔεĄµµ ˝˝·Ôżˇ Č°ĽşČ­/şńČ°ĽşČ­ ÇĄ˝Ă¸¦ Ŕ§ÇŃ ŔŰľ÷ŔÓ - [hyo]
  708. if constInfo.IS_AUTO_POTION(itemIndex):
  709. # metinSocket - [0] : Č°ĽşČ­ ż©şÎ, [1] : »çżëÇŃ ľç, [2] : ĂÖ´ë żë·®
  710. metinSocket = [player.GetItemMetinSocket(Position, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]
  711.  
  712. if 0 != int(metinSocket[0]):
  713. slot.ActivateSlot(slotNumber)
  714. else:
  715. slot.DeactivateSlot(slotNumber)
  716.  
  717. slot.SetItemSlot(slotNumber, itemIndex, itemCount)
  718.  
  719. elif player.SLOT_TYPE_SKILL == Type:
  720.  
  721. skillIndex = player.GetSkillIndex(Position)
  722. if 0 == skillIndex:
  723. slot.ClearSlot(slotNumber)
  724. continue
  725.  
  726. skillType = skill.GetSkillType(skillIndex)
  727. if skill.SKILL_TYPE_GUILD == skillType:
  728. import guild
  729. skillGrade = 0
  730. skillLevel = guild.GetSkillLevel(Position)
  731.  
  732. else:
  733. skillGrade = player.GetSkillGrade(Position)
  734. skillLevel = player.GetSkillLevel(Position)
  735.  
  736. slot.SetSkillSlotNew(slotNumber, skillIndex, skillGrade, skillLevel)
  737. slot.SetSlotCountNew(slotNumber, skillGrade, skillLevel)
  738. slot.SetCoverButton(slotNumber)
  739.  
  740. ## NOTE : CoolTime ĂĽĹ©
  741. if player.IsSkillCoolTime(Position):
  742. (coolTime, elapsedTime) = player.GetSkillCoolTime(Position)
  743. slot.SetSlotCoolTime(slotNumber, coolTime, elapsedTime)
  744.  
  745. ## NOTE : Activate µÇľî ŔÖ´Ů¸é ľĆŔĚÄܵµ ľ÷µĄŔĚĆ®
  746. if player.IsSkillActive(Position):
  747. slot.ActivateSlot(slotNumber)
  748.  
  749. elif player.SLOT_TYPE_EMOTION == Type:
  750.  
  751. emotionIndex = Position
  752. slot.SetEmotionSlot(slotNumber, emotionIndex)
  753. slot.SetCoverButton(slotNumber)
  754. slot.SetSlotCount(slotNumber, 0)
  755.  
  756. slot.RefreshSlot()
  757. startNumber += 4
  758.  
  759. def canAddQuickSlot(self, Type, slotNumber):
  760.  
  761. if player.SLOT_TYPE_INVENTORY == Type:
  762.  
  763. itemIndex = player.GetItemIndex(slotNumber)
  764. return item.CanAddToQuickSlotItem(itemIndex)
  765.  
  766. return True
  767.  
  768. def AddQuickSlot(self, localSlotIndex):
  769. AttachedSlotType = mouseModule.mouseController.GetAttachedType()
  770. AttachedSlotNumber = mouseModule.mouseController.GetAttachedSlotNumber()
  771. AttachedItemIndex = mouseModule.mouseController.GetAttachedItemIndex()
  772.  
  773. if player.SLOT_TYPE_QUICK_SLOT == AttachedSlotType:
  774. player.RequestMoveGlobalQuickSlotToLocalQuickSlot(AttachedSlotNumber, localSlotIndex)
  775.  
  776. elif player.SLOT_TYPE_EMOTION == AttachedSlotType:
  777.  
  778. player.RequestAddLocalQuickSlot(localSlotIndex, AttachedSlotType, AttachedItemIndex)
  779.  
  780. elif True == self.canAddQuickSlot(AttachedSlotType, AttachedSlotNumber):
  781.  
  782. ## Online Code
  783. player.RequestAddLocalQuickSlot(localSlotIndex, AttachedSlotType, AttachedSlotNumber)
  784.  
  785. mouseModule.mouseController.DeattachObject()
  786. self.RefreshQuickSlot()
  787.  
  788. def SelectEmptyQuickSlot(self, slotIndex):
  789.  
  790. if True == mouseModule.mouseController.isAttached():
  791. self.AddQuickSlot(slotIndex)
  792.  
  793. def SelectItemQuickSlot(self, localQuickSlotIndex):
  794.  
  795. if True == mouseModule.mouseController.isAttached():
  796. self.AddQuickSlot(localQuickSlotIndex)
  797.  
  798. else:
  799. globalQuickSlotIndex=player.LocalQuickSlotIndexToGlobalQuickSlotIndex(localQuickSlotIndex)
  800. mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_QUICK_SLOT, globalQuickSlotIndex, globalQuickSlotIndex)
  801.  
  802. def UnselectItemQuickSlot(self, localSlotIndex):
  803.  
  804. if False == mouseModule.mouseController.isAttached():
  805. player.RequestUseLocalQuickSlot(localSlotIndex)
  806. return
  807.  
  808. elif mouseModule.mouseController.isAttached():
  809. mouseModule.mouseController.DeattachObject()
  810. return
  811.  
  812.  
  813. def OnUseSkill(self, usedSlotIndex, coolTime):
  814.  
  815. QUICK_SLOT_SLOT_COUNT = 4
  816. slotIndex = 0
  817.  
  818. ## Current Skill Button
  819. if usedSlotIndex == self.curSkillButton.GetSlotIndex():
  820. self.curSkillButton.Activate(coolTime)
  821.  
  822. ## Quick Slot
  823. for slotWindow in self.quickslot:
  824.  
  825. for i in xrange(QUICK_SLOT_SLOT_COUNT):
  826.  
  827. (Type, Position) = player.GetLocalQuickSlot(slotIndex)
  828.  
  829. if Type == player.SLOT_TYPE_SKILL:
  830. if usedSlotIndex == Position:
  831. slotWindow.SetSlotCoolTime(slotIndex, coolTime)
  832. return
  833.  
  834. slotIndex += 1
  835.  
  836. def OnActivateSkill(self, usedSlotIndex):
  837. slotIndex = 0
  838.  
  839. ## Current Skill Button
  840. if usedSlotIndex == self.curSkillButton.GetSlotIndex():
  841. self.curSkillButton.Deactivate()
  842.  
  843. ## Quick Slot
  844. for slotWindow in self.quickslot:
  845.  
  846. for i in xrange(4):
  847.  
  848. (Type, Position) = player.GetLocalQuickSlot(slotIndex)
  849.  
  850. if Type == player.SLOT_TYPE_SKILL:
  851. if usedSlotIndex == Position:
  852. slotWindow.ActivateSlot(slotIndex)
  853. return
  854.  
  855. slotIndex += 1
  856.  
  857. def OnDeactivateSkill(self, usedSlotIndex):
  858. slotIndex = 0
  859.  
  860. ## Current Skill Button
  861. if usedSlotIndex == self.curSkillButton.GetSlotIndex():
  862. self.curSkillButton.Deactivate()
  863.  
  864. ## Quick Slot
  865. for slotWindow in self.quickslot:
  866.  
  867. for i in xrange(4):
  868.  
  869. (Type, Position) = player.GetLocalQuickSlot(slotIndex)
  870.  
  871. if Type == player.SLOT_TYPE_SKILL:
  872. if usedSlotIndex == Position:
  873. slotWindow.DeactivateSlot(slotIndex)
  874. return
  875.  
  876. slotIndex += 1
  877.  
  878. ## ToolTip
  879. def OverInItem(self, slotNumber):
  880. if mouseModule.mouseController.isAttached():
  881. return
  882.  
  883. (Type, Position) = player.GetLocalQuickSlot(slotNumber)
  884.  
  885. if player.SLOT_TYPE_INVENTORY == Type:
  886. self.tooltipItem.SetInventoryItem(Position)
  887. self.tooltipSkill.HideToolTip()
  888.  
  889. elif player.SLOT_TYPE_SKILL == Type:
  890.  
  891. skillIndex = player.GetSkillIndex(Position)
  892. skillType = skill.GetSkillType(skillIndex)
  893.  
  894. if skill.SKILL_TYPE_GUILD == skillType:
  895. import guild
  896. skillGrade = 0
  897. skillLevel = guild.GetSkillLevel(Position)
  898.  
  899. else:
  900. skillGrade = player.GetSkillGrade(Position)
  901. skillLevel = player.GetSkillLevel(Position)
  902.  
  903. self.tooltipSkill.SetSkillNew(Position, skillIndex, skillGrade, skillLevel)
  904. self.tooltipItem.HideToolTip()
  905.  
  906. def OverOutItem(self):
  907. if 0 != self.tooltipItem:
  908. self.tooltipItem.HideToolTip()
  909. if 0 != self.tooltipSkill:
  910. self.tooltipSkill.HideToolTip()
  911.  
  912. def OnUpdate(self):
  913. if app.GetGlobalTime() - self.lastUpdateQuickSlot > 500:
  914. self.lastUpdateQuickSlot = app.GetGlobalTime()
  915. self.RefreshQuickSlot()
  916.  
  917. if True == self.hpGaugeBoard.IsIn():
  918. self.tooltipHP.Show()
  919. else:
  920. self.tooltipHP.Hide()
  921.  
  922. if True == self.mpGaugeBoard.IsIn():
  923. self.tooltipSP.Show()
  924. else:
  925. self.tooltipSP.Hide()
  926.  
  927. if True == self.stGaugeBoard.IsIn():
  928. self.tooltipST.Show()
  929. else:
  930. self.tooltipST.Hide()
  931.  
  932. ## Skill
  933. def ToggleLeftMouseButtonModeWindow(self):
  934.  
  935. wndMouseButtonMode = self.mouseModeButtonList[self.MOUSE_BUTTON_LEFT]
  936.  
  937. if True == wndMouseButtonMode.IsShow():
  938.  
  939. wndMouseButtonMode.Hide()
  940.  
  941. else:
  942. wndMouseButtonMode.Show()
  943.  
  944. def ToggleRightMouseButtonModeWindow(self):
  945.  
  946. wndMouseButtonMode = self.mouseModeButtonList[self.MOUSE_BUTTON_RIGHT]
  947.  
  948. if True == wndMouseButtonMode.IsShow():
  949.  
  950. wndMouseButtonMode.Hide()
  951. self.CloseSelectSkill()
  952.  
  953. else:
  954. wndMouseButtonMode.Show()
  955. self.OpenSelectSkill()
  956.  
  957. def OpenSelectSkill(self):
  958.  
  959. PAGE_SLOT_COUNT = 6
  960.  
  961. (xSkillButton, y) = self.curSkillButton.GetGlobalPosition()
  962. y -= (37 + 32 + 1)
  963.  
  964. for key in self.skillCategoryNameList:
  965.  
  966. appendCount = 0
  967. startNumber = self.skillPageStartSlotIndexDict[key]
  968. x = xSkillButton
  969.  
  970. getSkillIndex=player.GetSkillIndex
  971. getSkillLevel=player.GetSkillLevel
  972. for i in xrange(PAGE_SLOT_COUNT):
  973.  
  974. skillIndex = getSkillIndex(startNumber+i)
  975. skillLevel = getSkillLevel(startNumber+i)
  976.  
  977. if 0 == skillIndex:
  978. continue
  979. if 0 == skillLevel:
  980. continue
  981. if skill.IsStandingSkill(skillIndex):
  982. continue
  983.  
  984. ## FIXME : ˝şĹł ÇĎłŞ´ç ˝˝·Ô ÇĎłŞľż ÇŇ´çÇĎ´Â°Ç ľĆą«¸® şÁµµ şÎÇĎ°ˇ Ĺ©´Ů.
  985. ## ŔĚ şÎşĐŔş ˝Ă°ŁŔ» łŞ¸é °íġµµ·Ď. - [levites]
  986. skillButton = self.SkillButton()
  987. skillButton.SetSkill(startNumber+i)
  988. skillButton.SetPosition(x, y)
  989. skillButton.SetSkillEvent(ui.__mem_func__(self.CloseSelectSkill), startNumber+i+1)
  990. skillButton.SetSkillToolTip(self.tooltipSkill)
  991. skillButton.SetTop()
  992. skillButton.Show()
  993. self.selectSkillButtonList.append(skillButton)
  994.  
  995. appendCount += 1
  996. x -= 32
  997.  
  998. if appendCount > 0:
  999. y -= 32
  1000.  
  1001. def CloseSelectSkill(self, slotIndex=-1):
  1002.  
  1003. self.mouseModeButtonList[self.MOUSE_BUTTON_RIGHT].Hide()
  1004. for button in self.selectSkillButtonList:
  1005. button.Destroy()
  1006.  
  1007. self.selectSkillButtonList = []
  1008.  
  1009. if -1 != slotIndex:
  1010. self.curSkillButton.Show()
  1011. self.curMouseModeButton[self.MOUSE_BUTTON_RIGHT].Hide()
  1012. player.SetMouseFunc(player.MBT_RIGHT, player.MBF_SKILL)
  1013. player.ChangeCurrentSkillNumberOnly(slotIndex-1)
  1014. else:
  1015. self.curSkillButton.Hide()
  1016. self.curMouseModeButton[self.MOUSE_BUTTON_RIGHT].Show()
  1017.  
  1018. def SelectMouseButtonEvent(self, dir, event):
  1019. SetMouseButtonSetting(dir, event)
  1020.  
  1021. self.CloseSelectSkill()
  1022. self.mouseModeButtonList[dir].Hide()
  1023.  
  1024. btn = 0
  1025. type = self.NONE
  1026. func = self.NONE
  1027. tooltip_text = ""
  1028.  
  1029. if self.MOUSE_BUTTON_LEFT == dir:
  1030. type = player.MBT_LEFT
  1031.  
  1032. elif self.MOUSE_BUTTON_RIGHT == dir:
  1033. type = player.MBT_RIGHT
  1034.  
  1035. if self.EVENT_MOVE == event:
  1036. btn = self.mouseModeButtonList[dir].GetChild("button_move")
  1037. func = player.MBF_MOVE
  1038. tooltip_text = localeInfo.TASKBAR_MOVE
  1039. elif self.EVENT_ATTACK == event:
  1040. btn = self.mouseModeButtonList[dir].GetChild("button_attack")
  1041. func = player.MBF_ATTACK
  1042. tooltip_text = localeInfo.TASKBAR_ATTACK
  1043. elif self.EVENT_AUTO == event:
  1044. btn = self.mouseModeButtonList[dir].GetChild("button_auto_attack")
  1045. func = player.MBF_AUTO
  1046. tooltip_text = localeInfo.TASKBAR_AUTO
  1047. elif self.EVENT_MOVE_AND_ATTACK == event:
  1048. btn = self.mouseModeButtonList[dir].GetChild("button_move_and_attack")
  1049. func = player.MBF_SMART
  1050. tooltip_text = localeInfo.TASKBAR_ATTACK
  1051. elif self.EVENT_CAMERA == event:
  1052. btn = self.mouseModeButtonList[dir].GetChild("button_camera")
  1053. func = player.MBF_CAMERA
  1054. tooltip_text = localeInfo.TASKBAR_CAMERA
  1055. elif self.EVENT_SKILL == event:
  1056. btn = self.mouseModeButtonList[dir].GetChild("button_skill")
  1057. func = player.MBF_SKILL
  1058. tooltip_text = localeInfo.TASKBAR_SKILL
  1059.  
  1060. if 0 != btn:
  1061. self.curMouseModeButton[dir].SetToolTipText(tooltip_text, 0, -18)
  1062. self.curMouseModeButton[dir].SetUpVisual(btn.GetUpVisualFileName())
  1063. self.curMouseModeButton[dir].SetOverVisual(btn.GetOverVisualFileName())
  1064. self.curMouseModeButton[dir].SetDownVisual(btn.GetDownVisualFileName())
  1065. self.curMouseModeButton[dir].Show()
  1066.  
  1067. player.SetMouseFunc(type, func)
  1068.  
  1069. def OnChangeCurrentSkill(self, skillSlotNumber):
  1070. self.curSkillButton.SetSkill(skillSlotNumber)
  1071. self.curSkillButton.Show()
  1072. self.curMouseModeButton[self.MOUSE_BUTTON_RIGHT].Hide()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement