Advertisement
Guest User

Untitled

a guest
Sep 16th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.77 KB | None | 0 0
  1. import ui
  2. import localeinfo
  3. import net
  4. import mouseModule
  5. import player
  6. import item
  7. import uiToolTip
  8. import chat
  9. import exchange
  10. import wndMgr
  11. import app
  12.  
  13. class DiceDialog(ui.ScriptWindow):
  14. def __init__(self):
  15. ui.ScriptWindow.__init__(self)
  16. self.tooltipItem = 0
  17. self.time_end = 0
  18. self.close = FALSE
  19. self.closenotimer = 0
  20.  
  21. def __del__(self):
  22. ui.ScriptWindow.__del__(self)
  23.  
  24. def LoadWindow(self):
  25. try:
  26. pyScrLoader = ui.PythonScriptLoader()
  27. pyScrLoader.LoadScriptFile(self, "UIScript/dicesystem.py")
  28. except:
  29. import exception
  30. exception.Abort("DiceDialog.LoadDialog.LoadScript")
  31.  
  32. try:
  33. GetObject=self.GetChild
  34. self.Owner_Slot = GetObject("Owner_Slot")
  35. self.Owner_Slot.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectOwnerEmptySlot))
  36. self.Owner_Slot.SetOverInItemEvent(ui.__mem_func__(self.OverInOwnerItem))
  37. self.Owner_Slot.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
  38. self.Owner_Number_Text = GetObject("Owner_Number_Text")
  39. self.Owner_Accept_Light = GetObject("Owner_Accept_Light")
  40. self.Owner_Accept_Light.Disable()
  41.  
  42. self.Target_Slot = GetObject("Target_Slot")
  43. self.Target_Slot.SetOverInItemEvent(ui.__mem_func__(self.OverInTargetItem))
  44. self.Target_Slot.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
  45. self.Target_Number_Text = GetObject("Target_Number_Text")
  46. self.Target_Accept_Light = GetObject("Target_Accept_Light")
  47. self.Target_Accept_Light.Disable()
  48.  
  49. self.Owner_Number_Text.SetFontName("Tahoma:22")
  50. self.Target_Number_Text.SetFontName("Tahoma:22")
  51.  
  52. self.TitleName = self.GetChild("TitleName")
  53.  
  54. self.AcceptButton = self.GetChild("Owner_Accept_Button")
  55. self.AcceptButton.SetToggleDownEvent(ui.__mem_func__(self.AcceptExchange))
  56. self.GetChild("TitleBar").SetCloseEvent(net.SendExchangeExitPacket)
  57. except:
  58. import exception
  59. exception.Abort("dice.LoadDialog.BindObject")
  60.  
  61. self.Show()
  62.  
  63. def Destroy(self):
  64. self.ClearDictionary()
  65. self.tooltipItem = 0
  66. self.close = FALSE
  67. self.closenotimer = 0
  68. self.Owner_Slot = 0
  69. self.Owner_Number_Text = 0
  70. self.Owner_Accept_Light = 0
  71. self.Target_Slot = 0
  72. self.Target_Number_Text = 0
  73. self.Target_Accept_Light = 0
  74. self.TitleName = 0
  75. self.AcceptButton = 0
  76.  
  77. def OverInOwnerItem(self, slotIndex):
  78.  
  79. if 0 != self.tooltipItem:
  80. self.tooltipItem.SetExchangeOwnerItem(slotIndex)
  81.  
  82. def OverInTargetItem(self, slotIndex):
  83.  
  84. if 0 != self.tooltipItem:
  85. self.tooltipItem.SetExchangeTargetItem(slotIndex)
  86.  
  87. def OverOutItem(self):
  88.  
  89. if 0 != self.tooltipItem:
  90. self.tooltipItem.HideToolTip()
  91.  
  92. def AcceptExchange(self):
  93. net.SendExchangeAcceptPacket()
  94. self.AcceptButton.Disable()
  95.  
  96. def SelectOwnerEmptySlot(self, SlotIndex):
  97.  
  98. if FALSE == mouseModule.mouseController.isAttached():
  99. return
  100.  
  101. if mouseModule.mouseController.IsAttachedMoney():
  102. net.SendExchangeElkAddPacket(mouseModule.mouseController.GetAttachedMoneyAmount())
  103. else:
  104. attachedSlotType = mouseModule.mouseController.GetAttachedType()
  105. if (player.SLOT_TYPE_INVENTORY == attachedSlotType
  106. or player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == attachedSlotType):
  107.  
  108. attachedInvenType = player.SlotTypeToInvenType(attachedSlotType)
  109.  
  110. SrcSlotNumber = mouseModule.mouseController.GetAttachedSlotNumber()
  111. DstSlotNumber = SlotIndex
  112.  
  113. itemID = player.GetItemIndex(attachedInvenType, SrcSlotNumber)
  114. item.SelectItem(itemID)
  115.  
  116. if item.IsAntiFlag(item.ANTIFLAG_GIVE):
  117. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.EXCHANGE_CANNOT_GIVE)
  118. mouseModule.mouseController.DeattachObject()
  119. return
  120.  
  121. net.SendExchangeItemAddPacket(attachedInvenType, SrcSlotNumber, DstSlotNumber)
  122.  
  123. mouseModule.mouseController.DeattachObject()
  124. def RefreshOwnerSlot(self):
  125. for i in xrange(exchange.EXCHANGE_ITEM_MAX_NUM):
  126. itemIndex = exchange.GetItemVnumFromSelf(i)
  127. itemCount = exchange.GetItemCountFromSelf(i)
  128. if 1 == itemCount:
  129. itemCount = 0
  130. self.Owner_Slot.SetItemSlot(i, itemIndex, itemCount)
  131. self.Owner_Slot.RefreshSlot()
  132.  
  133. def RefreshTargetSlot(self):
  134. for i in xrange(exchange.EXCHANGE_ITEM_MAX_NUM):
  135. itemIndex = exchange.GetItemVnumFromTarget(i)
  136. itemCount = exchange.GetItemCountFromTarget(i)
  137. if 1 == itemCount:
  138. itemCount = 0
  139. self.Target_Slot.SetItemSlot(i, itemIndex, itemCount)
  140. self.Target_Slot.RefreshSlot()
  141.  
  142. def Refresh(self):
  143.  
  144. self.RefreshOwnerSlot()
  145. self.RefreshTargetSlot()
  146.  
  147. if TRUE == exchange.GetAcceptFromSelf():
  148. self.Owner_Accept_Light.Down()
  149. else:
  150. self.AcceptButton.Enable()
  151. self.AcceptButton.SetUp()
  152. self.Owner_Accept_Light.SetUp()
  153.  
  154. if TRUE == exchange.GetAcceptFromTarget():
  155. self.Target_Accept_Light.Down()
  156. else:
  157. self.Target_Accept_Light.SetUp()
  158.  
  159. def SetItemToolTip(self, tooltipItem):
  160. self.tooltipItem = tooltipItem
  161.  
  162. # def OpenDialog(self):
  163. # self.AcceptButton.Enable()
  164. # self.AcceptButton.SetUp()
  165. # self.closenotimer = 0
  166. # self.close = FALSE
  167. # self.TitleName.SetText(localeInfo.DICE_TITLE % (exchange.GetNameFromTarget()))
  168. # self.Show()
  169.  
  170. # def DiceAddNumber(self, myNumber, targetNumber):
  171. # self.Owner_Number_Text.SetText(str(myNumber))
  172. # self.Target_Number_Text.SetText(str(targetNumber))
  173. # self.closenotimer = 1
  174.  
  175. def CloseDialog(self):
  176. wndMgr.OnceIgnoreMouseLeftButtonUpEvent()
  177.  
  178. if 0 != self.tooltipItem:
  179. self.tooltipItem.HideToolTip()
  180.  
  181. if self.closenotimer == 1:
  182. self.time_end = app.GetGlobalTimeStamp()
  183. self.close = TRUE
  184. else:
  185. self.close = FALSE
  186. self.Close()
  187.  
  188. def Close(self):
  189. self.Owner_Number_Text.SetText("-")
  190. self.Target_Number_Text.SetText("-")
  191. self.Hide()
  192.  
  193. def OnUpdate(self):
  194. seconds = app.GetGlobalTimeStamp() - self.time_end
  195. if self.close and seconds > 4:
  196. self.close = FALSE
  197. self.Close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement