Guest User

Untitled

a guest
Feb 14th, 2023
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 107.48 KB | None | 0 0
  1. import event
  2. import net
  3. import player
  4. import item
  5. import ui
  6. import uiToolTip
  7. import mouseModule
  8. import constInfo
  9. import chat
  10. import snd
  11. import wndMgr
  12. import app
  13. import igshop_lang
  14. from igshop_lang import trans, posArranger
  15.  
  16. class IngameShop(ui.Window):
  17. maximumBonusValue = 30000
  18. minimumBonusValue = -30000
  19. maximumApplyNum = 7
  20. maximumStoneNum = 3
  21. #maximumStoneNumReal = 3
  22.  
  23. oldselected = ""
  24. slot1 = 0
  25. slot2 = 0
  26. slot3 = 0
  27. slot4 = 0
  28. slot5 = 0
  29. page = 0
  30. maxpage = 0
  31. count1 = 0
  32. count2 = 0
  33. count3 = 0
  34. count4 = 0
  35. count5 = 0
  36. currse = 0
  37. currgold = 0
  38.  
  39. icprice = 0
  40. icid = 0
  41. icslot = 0
  42. ictype = 0
  43. icmaxcount = 0
  44. oldstep = ""
  45.  
  46. vnumb = 0
  47. itembs = {"socket" : {}, "attr" : {}}
  48. countb = 0
  49.  
  50. oldprice1 = 0
  51. oldprice2 = 0
  52.  
  53.  
  54. def __init__(self, enableTradeSys = False, lang = 0):
  55. ui.Window.__init__(self)
  56. self.enableTradeSys = enableTradeSys
  57. if lang < 0 or lang > len(igshop_lang.igshopLangTable)-1:
  58. lang = 0
  59. self.lang = lang
  60. igshop_lang.language = lang
  61. self.toolTip = uiToolTip.ItemToolTip()
  62. self.BuildWindow()
  63. if self.enableTradeSys:
  64. self.SetPosition(wndMgr.GetScreenWidth()/2 - 950/2, 5)
  65. else:
  66. self.SetPosition(wndMgr.GetScreenWidth()/2 - 863/2, 5)
  67. self.__BuildKeyDict()
  68.  
  69. def __del__(self):
  70. ui.Window.__del__(self)
  71.  
  72. def BuildWindow(self):
  73. if self.enableTradeSys:
  74. self.SetPosition(wndMgr.GetScreenWidth()/2 - 950/2, wndMgr.GetScreenHeight()/2 - 600/2)
  75. self.SetSize(950, 600)
  76. self.AddFlag('movable')
  77. self.AddFlag('float')
  78. self.comp = Component()
  79. self.Board = ui.BoardWithTitleBar()
  80. self.Board.SetParent(self)
  81. self.Board.SetSize(950, 600)
  82. self.Board.SetPosition(0,0)
  83. self.Board.SetTitleName(trans(0))
  84. self.Board.SetCloseEvent(self.Close)
  85. self.Board.Show()
  86.  
  87. self.tradeDiag = TradeDialog(self)
  88. self.sellTradeDiag = ExchangeSellDialog(self)
  89. self.getTradeDiag = GetTradeItemDialog(self)
  90. else:
  91. self.SetPosition(wndMgr.GetScreenWidth()/2 - 863/2, wndMgr.GetScreenHeight()/2 - 600/2)
  92. self.SetSize(863, 600)
  93. self.AddFlag('movable')
  94. self.AddFlag('float')
  95. self.comp = Component()
  96. self.Board = ui.BoardWithTitleBar()
  97. self.Board.SetParent(self)
  98. self.Board.SetSize(863, 600)
  99. self.Board.SetPosition(0,0)
  100. self.Board.SetTitleName(trans(0))
  101. self.Board.SetCloseEvent(self.Close)
  102. self.Board.Show()
  103.  
  104. if self.enableTradeSys:
  105. self.NextPage = self.comp.Button(self.Board, '>', '', 760+87, 512+49, self.NextPage_func, 'd:/ymir work/ui/public/minimize_button_01.sub', 'd:/ymir work/ui/public/minimize_button_02.sub', 'd:/ymir work/ui/public/minimize_button_03.sub')
  106. else:
  107. self.NextPage = self.comp.Button(self.Board, '>', '', 760, 512+49, self.NextPage_func, 'd:/ymir work/ui/public/minimize_button_01.sub', 'd:/ymir work/ui/public/minimize_button_02.sub', 'd:/ymir work/ui/public/minimize_button_03.sub')
  108. self.PrevPage = self.comp.Button(self.Board, '<', '', 240, 512+49, self.PrevPage_func, 'd:/ymir work/ui/public/minimize_button_01.sub', 'd:/ymir work/ui/public/minimize_button_02.sub', 'd:/ymir work/ui/public/minimize_button_03.sub')
  109. self.SBuy1 = self.comp.Button(self.Board, trans(1), '', 624, 67+35+25, self.SBuy1_func, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
  110. self.SBuy2 = self.comp.Button(self.Board, trans(1), '', 624, 163+35+25, self.SBuy2_func, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
  111. self.SBuy3 = self.comp.Button(self.Board, trans(1), '', 624, 259+35+25, self.SBuy3_func, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
  112. self.SBuy4 = self.comp.Button(self.Board, trans(1), '', 624, 355+35+25, self.SBuy4_func, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
  113. self.SBuy5 = self.comp.Button(self.Board, trans(1), '', 624, 451+35+25, self.SBuy5_func, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
  114. self.YBuy1 = self.comp.Button(self.Board, trans(1), '', 727, 67+25, self.YBuy1_func, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
  115. self.YBuy2 = self.comp.Button(self.Board, trans(1), '', 727, 163+25, self.YBuy2_func, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
  116. self.YBuy3 = self.comp.Button(self.Board, trans(1), '', 727, 259+25, self.YBuy3_func, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
  117. self.YBuy4 = self.comp.Button(self.Board, trans(1), '', 727, 355+25, self.YBuy4_func, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
  118. self.YBuy5 = self.comp.Button(self.Board, trans(1), '', 727, 451+25, self.YBuy5_func, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
  119. if self.enableTradeSys:
  120. self.TBuy1 = self.comp.Button(self.Board, trans(2), '', 850, 67+35, self.TBuy1_func, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
  121. self.TBuy2 = self.comp.Button(self.Board, trans(2), '', 850, 163+35, self.TBuy2_func, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
  122. self.TBuy3 = self.comp.Button(self.Board, trans(2), '', 850, 259+35, self.TBuy3_func, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
  123. self.TBuy4 = self.comp.Button(self.Board, trans(2), '', 850, 355+35, self.TBuy4_func, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
  124. self.TBuy5 = self.comp.Button(self.Board, trans(2), '', 850, 451+35, self.TBuy5_func, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
  125. self.Refresh = self.comp.Button(self.Board, trans(3), '', 647, 512+49, self.Refresh_func, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
  126. self.ItemText1 = self.comp.TextLine(self.Board, "", 338, 67+25, self.comp.RGB(255, 255, 255))
  127. self.ItemText2 = self.comp.TextLine(self.Board, "", 338, 163+25, self.comp.RGB(255, 255, 255))
  128. self.ItemText3 = self.comp.TextLine(self.Board, "", 338, 259+25, self.comp.RGB(255, 255, 255))
  129. self.ItemText4 = self.comp.TextLine(self.Board, "", 338, 355+25, self.comp.RGB(255, 255, 255))
  130. self.ItemText5 = self.comp.TextLine(self.Board, "", 338, 451+25, self.comp.RGB(255, 255, 255))
  131. self.TipText2 = self.comp.TextLine(self.Board, trans(4), 338, 33, self.comp.RGB(0, 167, 255))
  132. self.TipText1 = self.comp.TextLine(self.Board, trans(5), 238, 33, self.comp.RGB(0, 167, 255))
  133. self.TipText3 = self.comp.TextLine(self.Board, trans(6), 499, 33, self.comp.RGB(0, 167, 255))
  134. self.TipText4 = self.comp.TextLine(self.Board, trans(7), 624, 33, self.comp.RGB(0, 167, 255))
  135. self.TipText5 = self.comp.TextLine(self.Board, trans(8), 624, 33, self.comp.RGB(0, 167, 255))
  136. if self.enableTradeSys:
  137. self.TipText6 = self.comp.TextLine(self.Board, trans(25), 850, 33, self.comp.RGB(0, 167, 255))
  138. self.Owner1 = self.comp.TextLine(self.Board, '', 499, 67+25, self.comp.RGB(255, 255, 255))
  139. self.Owner2 = self.comp.TextLine(self.Board, '', 499, 163+25, self.comp.RGB(255, 255, 255))
  140. self.Owner3 = self.comp.TextLine(self.Board, '', 499, 259+25, self.comp.RGB(255, 255, 255))
  141. self.Owner4 = self.comp.TextLine(self.Board, '', 499, 355+25, self.comp.RGB(255, 255, 255))
  142. self.Owner5 = self.comp.TextLine(self.Board, '', 499, 451+25, self.comp.RGB(255, 255, 255))
  143. self.SEPrice1 = self.comp.TextLine(self.Board, '', 624, 67+25, self.comp.RGB(0, 255, 255))
  144. self.SEPrice2 = self.comp.TextLine(self.Board, '', 624, 163+25, self.comp.RGB(0, 255, 255))
  145. self.SEPrice3 = self.comp.TextLine(self.Board, '', 624, 259+25, self.comp.RGB(0, 255, 255))
  146. self.SEPrice4 = self.comp.TextLine(self.Board, '', 624, 355+25, self.comp.RGB(0, 255, 255))
  147. self.SEPrice5 = self.comp.TextLine(self.Board, '', 624, 451+25, self.comp.RGB(0, 255, 255))
  148. self.YangPrice1 = self.comp.TextLine(self.Board, '', 624, 67+25, self.comp.RGB(255, 255, 0))
  149. self.YangPrice2 = self.comp.TextLine(self.Board, '', 624, 163+25, self.comp.RGB(255, 255, 0))
  150. self.YangPrice3 = self.comp.TextLine(self.Board, '', 624, 259+25, self.comp.RGB(255, 255, 0))
  151. self.YangPrice4 = self.comp.TextLine(self.Board, '', 624, 355+25, self.comp.RGB(255, 255, 0))
  152. self.YangPrice5 = self.comp.TextLine(self.Board, '', 624, 451+25, self.comp.RGB(255, 255, 0))
  153. self.TooltipSE = self.comp.TextLine(self.Board, trans(10), 358-42-7, 512+49, self.comp.RGB(255, 255, 255))
  154. self.SE = self.comp.TextLine(self.Board, '0', 382, 512+49, self.comp.RGB(0, 255, 255))
  155. self.Gold = self.comp.TextLine(self.Board, '0', 507, 512+49, self.comp.RGB(255, 255, 0))
  156. self.TooltipYang = self.comp.TextLine(self.Board, trans(11), 472, 512+49, self.comp.RGB(255, 255, 255))
  157. self.bar_List, self.list_List = self.comp.ListBoxEx(self.Board, 6, 28, 172, 539+26)
  158. self.img1 = self.comp.ExpandedImage(self.Board, 238, 67, 'd:/ymir work/ui/public/middle_button_01.sub')
  159. self.img2 = self.comp.ExpandedImage(self.Board, 238, 163, 'd:/ymir work/ui/public/middle_button_01.sub')
  160. self.img3 = self.comp.ExpandedImage(self.Board, 238, 259, 'd:/ymir work/ui/public/middle_button_01.sub')
  161. self.img4 = self.comp.ExpandedImage(self.Board, 238, 355, 'd:/ymir work/ui/public/middle_button_01.sub')
  162. self.img5 = self.comp.ExpandedImage(self.Board, 238, 451, 'd:/ymir work/ui/public/middle_button_01.sub')
  163. self.c1 = self.comp.TextLine(self.img1, '', 30, 25, self.comp.RGB(255, 255, 255))
  164. self.c2 = self.comp.TextLine(self.img2, '', 30, 25, self.comp.RGB(255, 255, 255))
  165. self.c3 = self.comp.TextLine(self.img3, '', 30, 25, self.comp.RGB(255, 255, 255))
  166. self.c4 = self.comp.TextLine(self.img4, '', 30, 25, self.comp.RGB(255, 255, 255))
  167. self.c5 = self.comp.TextLine(self.img5, '', 30, 25, self.comp.RGB(255, 255, 255))
  168.  
  169. self.TipFrom = self.comp.TextLine(self.Board, trans(12), 499, 33, self.comp.RGB(0, 167, 255))
  170. self.OldOwner1 = self.comp.TextLine(self.Board, '', 499, 66+25, self.comp.RGB(255, 255, 255))
  171. self.OldOwner2 = self.comp.TextLine(self.Board, '', 499, 155+25, self.comp.RGB(255, 255, 255))
  172. self.OldOwner3 = self.comp.TextLine(self.Board, '', 499, 249+25, self.comp.RGB(255, 255, 255))
  173. self.OldOwner4 = self.comp.TextLine(self.Board, '', 499, 348+25, self.comp.RGB(255, 255, 255))
  174. self.OldOwner5 = self.comp.TextLine(self.Board, '', 499, 435+25, self.comp.RGB(255, 255, 255))
  175. self.ClaimItem1 = self.comp.Button(self.Board, trans(13), '', 672, 98, self.ClaimItem1_func, 'd:/ymir work/ui/public/large_button_01.sub', 'd:/ymir work/ui/public/large_button_02.sub', 'd:/ymir work/ui/public/large_button_03.sub')
  176. self.ClaimItem2 = self.comp.Button(self.Board, trans(13), '', 672, 192, self.ClaimItem2_func, 'd:/ymir work/ui/public/large_button_01.sub', 'd:/ymir work/ui/public/large_button_02.sub', 'd:/ymir work/ui/public/large_button_03.sub')
  177. self.ClaimItem3 = self.comp.Button(self.Board, trans(13), '', 672, 286, self.ClaimItem3_func, 'd:/ymir work/ui/public/large_button_01.sub', 'd:/ymir work/ui/public/large_button_02.sub', 'd:/ymir work/ui/public/large_button_03.sub')
  178. self.ClaimItem4 = self.comp.Button(self.Board, trans(13), '', 672, 371, self.ClaimItem4_func, 'd:/ymir work/ui/public/large_button_01.sub', 'd:/ymir work/ui/public/large_button_02.sub', 'd:/ymir work/ui/public/large_button_03.sub')
  179. self.ClaimItem5 = self.comp.Button(self.Board, trans(13), '', 672, 468, self.ClaimItem5_func, 'd:/ymir work/ui/public/large_button_01.sub', 'd:/ymir work/ui/public/large_button_02.sub', 'd:/ymir work/ui/public/large_button_03.sub')
  180.  
  181. ##Put items to buy board
  182. self.Slots = ui.GridSlotWindow()
  183. self.Slots.SetParent(self.Board)
  184. self.Slots.SetPosition(495, 40)
  185. self.Slots.ArrangeSlot(1, 1, 3, 32, 32, 0, 0)
  186. self.Slots.SetSlotBaseImage("d:/ymir work/ui/public/Slot_Base.sub", 1.0, 1.0, 1.0, 1.0)
  187. self.Slots.Hide()
  188.  
  189. if self.enableTradeSys:
  190. self.tradeTo = self.comp.Button(self.Board, trans(14), '', 471, 474, self.tradeTo_func, 'd:/ymir work/ui/public/large_button_01.sub', 'd:/ymir work/ui/public/large_button_02.sub', 'd:/ymir work/ui/public/large_button_03.sub')
  191. self.ToSale = self.comp.Button(self.Board, trans(15), '', 471, 474+40, self.ToSale_func, 'd:/ymir work/ui/public/large_button_01.sub', 'd:/ymir work/ui/public/large_button_02.sub', 'd:/ymir work/ui/public/large_button_03.sub')
  192. else:
  193. self.ToSale = self.comp.Button(self.Board, trans(15), '', 471, 474, self.ToSale_func, 'd:/ymir work/ui/public/large_button_01.sub', 'd:/ymir work/ui/public/large_button_02.sub', 'd:/ymir work/ui/public/large_button_03.sub')
  194. self.slotbar_InputS, self.InputS = self.comp.EditLine(self.Board, '0', 327, 477, 70, 15, 12)
  195. self.slotbar_InputS.Hide()
  196. self.InputS.SetNumberMode()
  197. self.InputS.Hide()
  198. self.slotbar_InputY, self.InputY = self.comp.EditLine(self.Board, '0', 715, 477, 70, 15, 12)
  199. self.slotbar_InputY.Hide()
  200. self.InputY.SetNumberMode()
  201. self.InputY.Hide()
  202. self.Stone1 = self.comp.TextLine(self.Board, '', 513, 187, self.comp.RGB(255, 146, 68))
  203. self.Stone2 = self.comp.TextLine(self.Board, '', 513, 212, self.comp.RGB(255, 146, 68))
  204. self.Stone3 = self.comp.TextLine(self.Board, '', 513, 237, self.comp.RGB(255, 146, 68))
  205. self.Stone4 = self.comp.TextLine(self.Board, '', 513, 262, self.comp.RGB(255, 146, 68))
  206. self.Stone5 = self.comp.TextLine(self.Board, '', 513, 287, self.comp.RGB(255, 146, 68))
  207. self.Stone6 = self.comp.TextLine(self.Board, '', 513, 312, self.comp.RGB(255, 146, 68))
  208. self.Stone7 = self.comp.TextLine(self.Board, '', 513, 337, self.comp.RGB(255, 146, 68))
  209. self.Stone8 = self.comp.TextLine(self.Board, '', 513, 362, self.comp.RGB(255, 146, 68))
  210. self.Stone9 = self.comp.TextLine(self.Board, '', 513, 387, self.comp.RGB(255, 146, 68))
  211. self.Stone10 = self.comp.TextLine(self.Board, '', 513, 412, self.comp.RGB(255, 146, 68))
  212. self.PriceS = self.comp.TextLine(self.Board, trans(16), 239, 478, self.comp.RGB(255, 255, 255))
  213. self.PriceY = self.comp.TextLine(self.Board, trans(17) , 621, 478, self.comp.RGB(255, 255, 255))
  214. self.Previ1 = self.comp.TextLine(self.Board, trans(18), 207+38, 448, self.comp.RGB(255, 255, 255))
  215. self.Previ2 = self.comp.TextLine(self.Board, trans(18), 583+38, 448, self.comp.RGB(255, 255, 255))
  216. self.PreviS = self.comp.TextLine(self.Board, '0', 281+38+21, 449-1, self.comp.RGB(198, 0, 0))
  217. self.PreviY = self.comp.TextLine(self.Board, '0', 657+38+21, 449-1, self.comp.RGB(255, 255, 0))
  218. self.TipX1 = self.comp.TextLine(self.Board, trans(19), 311, 89, self.comp.RGB(255, 255, 0))
  219. self.TipX2 = self.comp.TextLine(self.Board, trans(20), 619, 89, self.comp.RGB(255, 255, 0))
  220.  
  221. self.Slots.SetUsableItem(True)
  222. self.Slots.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectEmptySlot))
  223. self.Slots.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
  224. self.Slots.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
  225. self.Slots.SetUnselectItemSlotEvent(ui.__mem_func__(self.UnselectItemSlot))
  226.  
  227. self.Stone1.SetHorizontalAlignCenter()
  228. self.Stone2.SetHorizontalAlignCenter()
  229. self.Stone3.SetHorizontalAlignCenter()
  230. self.Stone4.SetHorizontalAlignCenter()
  231. self.Stone5.SetHorizontalAlignCenter()
  232. self.Stone6.SetHorizontalAlignCenter()
  233. self.Stone7.SetHorizontalAlignCenter()
  234. self.Stone8.SetHorizontalAlignCenter()
  235. self.Stone9.SetHorizontalAlignCenter()
  236. self.Stone10.SetHorizontalAlignCenter()
  237.  
  238. ##End of put items to buy board
  239.  
  240. self.GetMoneyBut = self.comp.Button(self.Board, trans(21), '', 417, 507+49, self.GetMoneyBut_func, 'd:/ymir work/ui/public/small_button_01.sub', 'd:/ymir work/ui/public/small_button_02.sub', 'd:/ymir work/ui/public/small_button_03.sub')
  241. self.slotbar_GetMoney, self.GetMoney = self.comp.EditLine(self.Board, '0', 336, 510+49, 70, 15, 12)
  242. self.GetMoney.SetNumberMode()
  243. self.slotbar_GetMoney.Hide()
  244. self.GetMoney.Hide()
  245.  
  246. #example: self.list_xxx.AppendItem(Item('text 1'))
  247. self.list_List.InsertItem(1, igshop_lang.weaponGroup[self.lang])
  248. self.list_List.InsertItem(2, igshop_lang.armorGroup[self.lang])
  249. self.list_List.InsertItem(3, igshop_lang.helmetGroup[self.lang])
  250. self.list_List.InsertItem(4, igshop_lang.shieldGroup[self.lang])
  251. self.list_List.InsertItem(5, igshop_lang.braceletGroup[self.lang])
  252. self.list_List.InsertItem(6, igshop_lang.shoeGroup[self.lang])
  253. self.list_List.InsertItem(7, igshop_lang.necklaceGroup[self.lang])
  254. self.list_List.InsertItem(8, igshop_lang.earringGroup[self.lang])
  255. self.list_List.InsertItem(9, igshop_lang.costumeGroup[self.lang])
  256. self.list_List.InsertItem(10, igshop_lang.miscellaneousGroup[self.lang])
  257. self.list_List.InsertItem(11, "")
  258. self.list_List.InsertItem(12, igshop_lang.mysalesGroup[self.lang])
  259. self.list_List.InsertItem(13, igshop_lang.purchasesGroup[self.lang])
  260. if self.enableTradeSys:
  261. self.list_List.InsertItem(13, igshop_lang.get_trade_itemsGroup[self.lang])
  262. self.list_List.InsertItem(14, "")
  263. self.list_List.InsertItem(15, igshop_lang.sellGroup[self.lang])
  264. self.list_List.InsertItem(16, "")
  265. self.list_List.InsertItem(17, igshop_lang.searchGroup[self.lang])
  266.  
  267. self.img1.OnMouseOverIn = ui.__mem_func__(self.img1OverIn)
  268. self.img1.OnMouseOverOut = ui.__mem_func__(self.img1OverOut)
  269.  
  270. self.img2.OnMouseOverIn = ui.__mem_func__(self.img2OverIn)
  271. self.img2.OnMouseOverOut = ui.__mem_func__(self.img2OverOut)
  272.  
  273. self.img3.OnMouseOverIn = ui.__mem_func__(self.img3OverIn)
  274. self.img3.OnMouseOverOut = ui.__mem_func__(self.img3OverOut)
  275.  
  276. self.img4.OnMouseOverIn = ui.__mem_func__(self.img4OverIn)
  277. self.img4.OnMouseOverOut = ui.__mem_func__(self.img4OverOut)
  278.  
  279. self.img5.OnMouseOverIn = ui.__mem_func__(self.img5OverIn)
  280. self.img5.OnMouseOverOut = ui.__mem_func__(self.img5OverOut)
  281.  
  282. ## item count board
  283. self.ICBoard = SelectItemCountBoard(self)
  284. ##end item count board
  285.  
  286. ## search board
  287. self.FBoard = SearchBoardDialog(self)
  288. ##end of search board
  289.  
  290. self.langDiag = LanguageSelector(self)
  291. self.Hide()
  292.  
  293. def changeLang(self):
  294. self.langDiag.Open()
  295.  
  296. def replaceLUAMagicalCharacters(self, text):
  297. return text.replace("+","%+").replace(".","%.").replace("(","%(").replace(")","%)").replace("-","%-").replace("*","%*").replace("?","%?").replace("[","%[").replace("^","%^").replace("$","%$")
  298.  
  299. def tradeTo_func(self):
  300. self.ICBoard.Close()
  301. self.FBoard.Close()
  302. self.sellTradeDiag.Open()
  303.  
  304. def TBuy1_func(self):
  305. self.ICBoard.Close()
  306. self.FBoard.Close()
  307. self.QuestCMD("trade.RequestTrade#"+str(self.slot1)+"#"+str(self.page)+"#1#"+self.oldselected)
  308.  
  309. def TBuy2_func(self):
  310. self.ICBoard.Close()
  311. self.FBoard.Close()
  312. self.QuestCMD("trade.RequestTrade#"+str(self.slot2)+"#"+str(self.page)+"#2#"+self.oldselected)
  313.  
  314. def TBuy3_func(self):
  315. self.ICBoard.Close()
  316. self.FBoard.Close()
  317. self.QuestCMD("trade.RequestTrade#"+str(self.slot3)+"#"+str(self.page)+"#3#"+self.oldselected)
  318.  
  319. def TBuy4_func(self):
  320. self.ICBoard.Close()
  321. self.FBoard.Close()
  322. self.QuestCMD("trade.RequestTrade#"+str(self.slot4)+"#"+str(self.page)+"#4#"+self.oldselected)
  323.  
  324. def TBuy5_func(self):
  325. self.ICBoard.Close()
  326. self.FBoard.Close()
  327. self.QuestCMD("trade.RequestTrade#"+str(self.slot5)+"#"+str(self.page)+"#5#"+self.oldselected)
  328.  
  329. def NumberToMoneyString(self, n, cucc = 0):
  330. if n <= 0 :
  331. if cucc == 0:
  332. return "0 %s" % (trans(22))
  333. else:
  334. return "0"
  335. if cucc == 0:
  336. return "%s %s" % ('.'.join([ i-3<0 and str(n)[:i] or str(n)[i-3:i] for i in range(len(str(n))%3, len(str(n))+1, 3) if i ]), trans(22))
  337. elif cucc == 777:
  338. return "%s" % ('|'.join([ i-3<0 and str(n)[:i] or str(n)[i-3:i] for i in range(len(str(n))%3, len(str(n))+1, 3) if i ]))
  339. else:
  340. return "%s" % ('.'.join([ i-3<0 and str(n)[:i] or str(n)[i-3:i] for i in range(len(str(n))%3, len(str(n))+1, 3) if i ]))
  341.  
  342.  
  343. def UnselectItemSlot(self, selectedSlotPos):
  344. self.Slots.ClearSlot(1)
  345. self.Slots.ClearSlot(2)
  346. self.Slots.ClearSlot(3)
  347. self.Slots.RefreshSlot()
  348. self.HideItems()
  349. self.Slots.Show()
  350. self.TipX2.Show()
  351. self.TipX1.Show()
  352. if self.enableTradeSys:
  353. self.sellTradeDiag.Close(2)
  354. self.QuestCMD("trade.ClearAllArraySell")
  355.  
  356. def SelectEmptySlot(self, selectedSlotPos):
  357. if mouseModule.mouseController.isAttached():
  358. attachedSlotType = mouseModule.mouseController.GetAttachedType()
  359. attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
  360. if attachedSlotType == player.SLOT_TYPE_INVENTORY:
  361. self.QuestCMD("SELLITEM#"+str(selectedSlotPos)+"#"+str(attachedSlotPos))
  362.  
  363. mouseModule.mouseController.DeattachObject()
  364.  
  365. def OverInItem(self, index):
  366. self.toolTip.ClearToolTip()
  367. self.toolTip.AddItemData(self.vnumb,self.itembs["socket"],self.itembs["attr"])
  368.  
  369. def OverOutItem(self):
  370. self.toolTip.Hide()
  371.  
  372. def GetMoneyBut_func(self):
  373. self.QuestCMD("GETMONEY#"+str(self.NumberToMoneyString(long(self.GetMoney.GetText()),777)))
  374.  
  375. def SetBuypageTexts(self):
  376. if self.itembs["socket"][0] > 0:
  377. item.SelectItem(self.itembs["socket"][0])
  378. if item.GetItemType() == 10:
  379. self.Stone1.SetText(str(item.GetItemName()))
  380. self.Stone1.Show()
  381. if self.itembs["socket"][1] > 0:
  382. item.SelectItem(self.itembs["socket"][1])
  383. if item.GetItemType() == 10:
  384. self.Stone2.SetText(str(item.GetItemName()))
  385. self.Stone2.Show()
  386. if self.itembs["socket"][2] > 0:
  387. item.SelectItem(self.itembs["socket"][2])
  388. if item.GetItemType() == 10:
  389. self.Stone3.SetText(str(item.GetItemName()))
  390. self.Stone3.Show()
  391. if self.itembs["attr"][0][0] > 0:
  392. self.Stone4.SetText(str(self.toolTip.AFFECT_DICT[self.itembs["attr"][0][0]](self.itembs["attr"][0][1])))
  393. self.Stone4.Show()
  394.  
  395. if self.itembs["attr"][1][0] > 0:
  396. self.Stone5.SetText(str(self.toolTip.AFFECT_DICT[self.itembs["attr"][1][0]](self.itembs["attr"][1][1])))
  397. self.Stone5.Show()
  398.  
  399. if self.itembs["attr"][2][0] > 0:
  400. self.Stone6.SetText(str(self.toolTip.AFFECT_DICT[self.itembs["attr"][2][0]](self.itembs["attr"][2][1])))
  401. self.Stone6.Show()
  402.  
  403. if self.itembs["attr"][3][0] > 0:
  404. self.Stone7.SetText(str(self.toolTip.AFFECT_DICT[self.itembs["attr"][3][0]](self.itembs["attr"][3][1])))
  405. self.Stone7.Show()
  406.  
  407. if self.itembs["attr"][4][0] > 0:
  408. self.Stone8.SetText(str(self.toolTip.AFFECT_DICT[self.itembs["attr"][4][0]](self.itembs["attr"][4][1])))
  409. self.Stone8.Show()
  410.  
  411. if self.itembs["attr"][5][0] > 0:
  412. self.Stone9.SetText(str(self.toolTip.AFFECT_DICT[self.itembs["attr"][5][0]](self.itembs["attr"][5][1])))
  413. self.Stone9.Show()
  414.  
  415. if self.itembs["attr"][6][0] > 0:
  416. self.Stone10.SetText(str(self.toolTip.AFFECT_DICT[self.itembs["attr"][6][0]](self.itembs["attr"][6][1])))
  417. self.Stone10.Show()
  418.  
  419.  
  420. def ShowForSell(self):
  421. self.TipX2.Hide()
  422. #self.TipX1.Hide()
  423. self.PreviY.Show()
  424. #self.PreviS.Show()
  425. #self.Previ1.Show()
  426. self.Previ2.Show()
  427. #self.TipY.Show()
  428. #self.TipS.Show()
  429. self.PriceY.Show()
  430. #self.PriceS.Show()
  431. self.ToSale.Show()
  432. if self.enableTradeSys:
  433. self.tradeTo.Show()
  434. #self.slotbar_InputS.Show()
  435. self.slotbar_InputY.Show()
  436. #self.InputS.Show()
  437. self.InputY.Show()
  438. self.InputY.SetText("0")
  439. #self.InputS.SetText("0")
  440.  
  441. def ToSale_func(self):
  442. if long(str(self.InputS.GetText()) or 0) <= 0 or self.InputS.GetText() == "":
  443. self.QuestCMD("FINISHSALE#"+self.InputY.GetText()+"#0")
  444. else:
  445. self.QuestCMD("FINISHSALE#"+self.InputY.GetText()+"#"+self.InputS.GetText())
  446.  
  447. def RecvFinisSale(self):
  448. self.Slots.ClearSlot(1)
  449. self.Slots.ClearSlot(2)
  450. self.Slots.ClearSlot(3)
  451. self.Slots.RefreshSlot()
  452. self.HideItems()
  453. self.Slots.Show()
  454. self.TipX2.Show()
  455. self.TipX1.Show()
  456.  
  457. def ClaimItem1_func(self):
  458. if self.oldselected == "my_sales":
  459. self.QuestCMD("CLAIMMYITEM#"+str(self.slot1)+"#"+str(self.page)+"#1")
  460. else:
  461. self.QuestCMD("CLAIMITEM#"+str(self.slot1)+"#"+str(self.page)+"#1")
  462. def ClaimItem2_func(self):
  463. if self.oldselected == "my_sales":
  464. self.QuestCMD("CLAIMMYITEM#"+str(self.slot2)+"#"+str(self.page)+"#2")
  465. else:
  466. self.QuestCMD("CLAIMITEM#"+str(self.slot2)+"#"+str(self.page)+"#2")
  467. def ClaimItem3_func(self):
  468. if self.oldselected == "my_sales":
  469. self.QuestCMD("CLAIMMYITEM#"+str(self.slot3)+"#"+str(self.page)+"#3")
  470. else:
  471. self.QuestCMD("CLAIMITEM#"+str(self.slot3)+"#"+str(self.page)+"#3")
  472. def ClaimItem4_func(self):
  473. if self.oldselected == "my_sales":
  474. self.QuestCMD("CLAIMMYITEM#"+str(self.slot4)+"#"+str(self.page)+"#4")
  475. else:
  476. self.QuestCMD("CLAIMITEM#"+str(self.slot4)+"#"+str(self.page)+"#4")
  477. def ClaimItem5_func(self):
  478. if self.oldselected == "my_sales":
  479. self.QuestCMD("CLAIMMYITEM#"+str(self.slot5)+"#"+str(self.page)+"#5")
  480. else:
  481. self.QuestCMD("CLAIMITEM#"+str(self.slot5)+"#"+str(self.page)+"#5")
  482.  
  483. def NextPage_func(self):
  484. if self.enableTradeSys:
  485. self.tradeDiag.Close()
  486. self.getTradeDiag.Close()
  487. self.HideItems()
  488. if self.oldselected == "Kereses":
  489. self.QuestCMD("SEARCH#"+self.FBoard.IFOwner.GetText().replace("#", "")+"#"+self.replaceLUAMagicalCharacters(self.FBoard.IFItem.GetText())+"#"+str(self.page + 1))
  490. else:
  491. self.QuestCMD("SWITCHPAGE#"+self.oldselected+"#"+str(self.page + 1))
  492.  
  493. def PrevPage_func(self):
  494. if self.enableTradeSys:
  495. self.tradeDiag.Close()
  496. self.getTradeDiag.Close()
  497. self.HideItems()
  498. if self.oldselected == "Kereses":
  499. self.QuestCMD("SEARCH#"+self.FBoard.IFOwner.GetText().replace("#", "")+"#"+self.replaceLUAMagicalCharacters(self.FBoard.IFItem.GetText())+"#"+str(self.page - 1))
  500. else:
  501. self.QuestCMD("SWITCHPAGE#"+self.oldselected+"#"+str(self.page - 1))
  502.  
  503. def SBuy1_func(self):
  504. if self.count1 > 1:
  505. isTradeItem = False
  506. if self.enableTradeSys:
  507. if self.TBuy1.IsShow():
  508. isTradeItem = True
  509. self.OpenCounter(self.count1,2,long(self.SEPrice1.GetText()), 1, self.slot1, isTradeItem)
  510. else:
  511. if self.currse >= long(self.SEPrice1.GetText()):
  512. self.QuestCMD("BUYITEM#"+str(self.slot1)+"#CASH#"+str(self.page)+"#1#1#"+str(self.currse)+"#"+self.oldselected)
  513. ## #1#1# first: slot second: count
  514. else:
  515. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(23))
  516.  
  517. def SBuy2_func(self):
  518. if self.count2 > 1:
  519. isTradeItem = False
  520. if self.enableTradeSys:
  521. if self.TBuy2.IsShow():
  522. isTradeItem = True
  523. self.OpenCounter(self.count2,2,long(self.SEPrice2.GetText()), 2, self.slot2, isTradeItem)
  524. else:
  525. if self.currse >= long(self.SEPrice2.GetText()):
  526. self.QuestCMD("BUYITEM#"+str(self.slot2)+"#CASH#"+str(self.page)+"#2#1#"+str(self.currse)+"#"+self.oldselected)
  527. else:
  528. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(23))
  529.  
  530. def SBuy3_func(self):
  531. if self.count3 > 1:
  532. isTradeItem = False
  533. if self.enableTradeSys:
  534. if self.TBuy3.IsShow():
  535. isTradeItem = True
  536. self.OpenCounter(self.count3,2,long(self.SEPrice3.GetText()), 3, self.slot3, isTradeItem)
  537. else:
  538. if self.currse >= long(self.SEPrice3.GetText()):
  539. self.QuestCMD("BUYITEM#"+str(self.slot3)+"#CASH#"+str(self.page)+"#3#1#"+str(self.currse)+"#"+self.oldselected)
  540. else:
  541. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(23))
  542.  
  543. def SBuy4_func(self):
  544. if self.count4 > 1:
  545. isTradeItem = False
  546. if self.enableTradeSys:
  547. if self.TBuy4.IsShow():
  548. isTradeItem = True
  549. self.OpenCounter(self.count4,2,long(self.SEPrice4.GetText()), 4, self.slot4, isTradeItem)
  550. else:
  551. if self.currse >= long(self.SEPrice4.GetText()):
  552. self.QuestCMD("BUYITEM#"+str(self.slot4)+"#CASH#"+str(self.page)+"#4#1#"+str(self.currse)+"#"+self.oldselected)
  553. else:
  554. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(23))
  555.  
  556. def SBuy5_func(self):
  557. if self.count5 > 1:
  558. isTradeItem = False
  559. if self.enableTradeSys:
  560. if self.TBuy5.IsShow():
  561. isTradeItem = True
  562. self.OpenCounter(self.count5,2,long(self.SEPrice5.GetText()), 5, self.slot5, isTradeItem)
  563. else:
  564. if self.currse >= long(self.SEPrice5.GetText()):
  565. self.QuestCMD("BUYITEM#"+str(self.slot5)+"#CASH#"+str(self.page)+"#5#1#"+str(self.currse)+"#"+self.oldselected)
  566. else:
  567. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(23))
  568.  
  569.  
  570. def YBuy1_func(self):
  571. if self.count1 > 1:
  572. isTradeItem = False
  573. if self.enableTradeSys:
  574. if self.TBuy1.IsShow():
  575. isTradeItem = True
  576. self.OpenCounter(self.count1,1,long(self.YangPrice1.GetText()), 1, self.slot1, isTradeItem)
  577. else:
  578. if self.currgold >= long(self.YangPrice1.GetText()):
  579. self.QuestCMD("BUYITEM#"+str(self.slot1)+"#GOLD#"+str(self.page)+"#1#1#"+str(self.currgold)+"#"+self.oldselected)
  580. else:
  581. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(24))
  582.  
  583. def YBuy2_func(self):
  584. if self.count2 > 1:
  585. isTradeItem = False
  586. if self.enableTradeSys:
  587. if self.TBuy2.IsShow():
  588. isTradeItem = True
  589. self.OpenCounter(self.count2,1,long(self.YangPrice2.GetText()), 2, self.slot2, isTradeItem)
  590. else:
  591. if self.currgold >= long(self.YangPrice2.GetText()):
  592. self.QuestCMD("BUYITEM#"+str(self.slot2)+"#GOLD#"+str(self.page)+"#2#1#"+str(self.currgold)+"#"+self.oldselected)
  593. else:
  594. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(24))
  595.  
  596. def YBuy3_func(self):
  597. if self.count3 > 1:
  598. isTradeItem = False
  599. if self.enableTradeSys:
  600. if self.TBuy3.IsShow():
  601. isTradeItem = True
  602. self.OpenCounter(self.count3,1,long(self.YangPrice3.GetText()), 3, self.slot3, isTradeItem)
  603. else:
  604. if self.currgold >= long(self.YangPrice3.GetText()):
  605. self.QuestCMD("BUYITEM#"+str(self.slot3)+"#GOLD#"+str(self.page)+"#3#1#"+str(self.currgold)+"#"+self.oldselected)
  606. else:
  607. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(24))
  608.  
  609. def YBuy4_func(self):
  610. if self.count4 > 1:
  611. isTradeItem = False
  612. if self.enableTradeSys:
  613. if self.TBuy4.IsShow():
  614. isTradeItem = True
  615. self.OpenCounter(self.count4, 1,long(self.YangPrice4.GetText()), 4, self.slot4, isTradeItem)
  616. else:
  617. if self.currgold >= long(self.YangPrice4.GetText()):
  618. self.QuestCMD("BUYITEM#"+str(self.slot4)+"#GOLD#"+str(self.page)+"#4#1#"+str(self.currgold)+"#"+self.oldselected)
  619. else:
  620. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(24))
  621.  
  622. def YBuy5_func(self):
  623. if self.count5 > 1:
  624. isTradeItem = False
  625. if self.enableTradeSys:
  626. if self.TBuy5.IsShow():
  627. isTradeItem = True
  628. self.OpenCounter(self.count5, 1,long(self.YangPrice5.GetText()), 5, self.slot5, isTradeItem)
  629. else:
  630. if self.currgold >= long(self.YangPrice5.GetText()):
  631. self.QuestCMD("BUYITEM#"+str(self.slot5)+"#GOLD#"+str(self.page)+"#5#1#"+str(self.currgold)+"#"+self.oldselected)
  632. else:
  633. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(24))
  634.  
  635. def OpenCounter(self, count, type, price, slot, id, isTradeItem):
  636. ## types: 1 yang, 2 coin
  637. self.ICBoard.Close()
  638. self.icid = id
  639. self.icslot = slot
  640. self.icprice = price
  641. self.ictype = type
  642. self.icmaxcount = count
  643. fix = ""
  644. if type == 1:
  645. fix = " "+trans(22)
  646. else:
  647. fix = " "+trans(10)
  648. self.ICBoard.CCountper.SetText(str(self.NumberToMoneyString(price, 1)+fix+trans(75)))
  649. self.ICBoard.ImputCount.SetText("0")
  650.  
  651. self.ICBoard.ToBuyp.SetText("0"+fix)
  652.  
  653. self.ICBoard.SliderBarC.SetSliderPos(0.0 / count)
  654. self.ICBoard.isTradeItem = isTradeItem
  655. self.ICBoard.Show()
  656.  
  657. def Refresh_func(self):
  658. if self.enableTradeSys:
  659. self.tradeDiag.Close()
  660. self.getTradeDiag.Close()
  661. if self.oldselected != "sell_item":
  662. self.HideItems()
  663. if self.oldselected == "Kereses":
  664. text = str(self.FBoard.IFItem.GetText())
  665. self.QuestCMD("SEARCH#"+self.FBoard.IFOwner.GetText().replace("#", "")+"#"+self.replaceLUAMagicalCharacters(text)+"#1")
  666. else:
  667. self.QuestCMD("SWITCHPAGE#"+self.oldselected+"#"+str(self.page))
  668.  
  669. def img1OverIn(self):
  670. self.toolTip.ClearToolTip()
  671. self.toolTip.AddItemData(constInfo.IGShop["vnum1"],constInfo.IGShop["slot1"]["socket"],constInfo.IGShop["slot1"]["attr"])
  672.  
  673. def img1OverOut(self):
  674. self.toolTip.Hide()
  675.  
  676. def img2OverIn(self):
  677. self.toolTip.ClearToolTip()
  678. self.toolTip.AddItemData(constInfo.IGShop["vnum2"],constInfo.IGShop["slot2"]["socket"],constInfo.IGShop["slot2"]["attr"])
  679.  
  680. def img2OverOut(self):
  681. self.toolTip.Hide()
  682.  
  683. def img3OverIn(self):
  684. self.toolTip.ClearToolTip()
  685. self.toolTip.AddItemData(constInfo.IGShop["vnum3"],constInfo.IGShop["slot3"]["socket"],constInfo.IGShop["slot3"]["attr"])
  686.  
  687. def img3OverOut(self):
  688. self.toolTip.Hide()
  689.  
  690. def img4OverIn(self):
  691. self.toolTip.ClearToolTip()
  692. self.toolTip.AddItemData(constInfo.IGShop["vnum4"],constInfo.IGShop["slot4"]["socket"],constInfo.IGShop["slot4"]["attr"])
  693.  
  694. def img4OverOut(self):
  695. self.toolTip.Hide()
  696.  
  697. def img5OverIn(self):
  698. self.toolTip.ClearToolTip()
  699. self.toolTip.AddItemData(constInfo.IGShop["vnum5"],constInfo.IGShop["slot5"]["socket"],constInfo.IGShop["slot5"]["attr"])
  700.  
  701. def img5OverOut(self):
  702. self.toolTip.Hide()
  703.  
  704. def __BuildKeyDict(self):
  705. onPressKeyDict = {}
  706. onPressKeyDict[app.DIK_F5] = lambda : self.Refresh_func()
  707. self.onPressKeyDict = onPressKeyDict
  708.  
  709. def OnPressEscapeKey(self):
  710. self.Close()
  711. return True
  712.  
  713. def OnKeyDown(self, key):
  714. try:
  715. self.onPressKeyDict[key]()
  716. except KeyError:
  717. pass
  718. except:
  719. raise
  720. return True
  721.  
  722. def OpenWindow(self):
  723. if self.IsShow():
  724. self.Close()
  725. else:
  726. self.Show()
  727.  
  728. def Open(self):
  729. self.Show()
  730.  
  731. def Close(self):
  732. self.UnselectItemSlot(1)
  733. if self.oldselected != "sell_item":
  734. self.Slots.Hide()
  735. self.TipX2.Hide()
  736. self.TipX1.Hide()
  737.  
  738. if self.enableTradeSys:
  739. self.sellTradeDiag.ClearAllSlots()
  740. self.QuestCMD("trade.ClearAllArraySell")
  741.  
  742.  
  743. self.Hide()
  744.  
  745. def SetSE(self,se):
  746. self.SE.SetText(self.NumberToMoneyString(long(se), 1))
  747. self.currse = long(se)
  748.  
  749. def SetGold(self,gold):
  750. self.Gold.SetText(self.NumberToMoneyString(long(gold), 1))
  751. self.currgold = long(gold)
  752.  
  753. def OnUpdate(self):
  754. #csicskasag = self.list_List.GetSelectedItem()
  755. SelectedIndex = self.list_List.GetSelectedItemText()
  756.  
  757. if str(SelectedIndex) in igshop_lang.weaponGroup:
  758. SelectedIndex = "Fegyverek"
  759. elif str(SelectedIndex) in igshop_lang.armorGroup:
  760. SelectedIndex = "Vertek"
  761. elif str(SelectedIndex) in igshop_lang.helmetGroup:
  762. SelectedIndex = "Sisakok"
  763. elif str(SelectedIndex) in igshop_lang.shieldGroup:
  764. SelectedIndex = "Pajzsok"
  765. elif str(SelectedIndex) in igshop_lang.earringGroup:
  766. SelectedIndex = "Fulbevalok"
  767. elif str(SelectedIndex) in igshop_lang.braceletGroup:
  768. SelectedIndex = "Karkotok"
  769. elif str(SelectedIndex) in igshop_lang.costumeGroup:
  770. SelectedIndex = "Kosztumok"
  771. elif str(SelectedIndex) in igshop_lang.shoeGroup:
  772. SelectedIndex = "Cipok"
  773. elif str(SelectedIndex) in igshop_lang.necklaceGroup:
  774. SelectedIndex = "Nyaklancok"
  775. elif str(SelectedIndex) in igshop_lang.searchGroup:
  776. SelectedIndex = "Kereses"
  777. elif str(SelectedIndex) in igshop_lang.get_trade_itemsGroup:
  778. SelectedIndex = "get_trade_items"
  779. elif str(SelectedIndex) in igshop_lang.purchasesGroup:
  780. SelectedIndex = "my_buys"
  781. elif str(SelectedIndex) in igshop_lang.mysalesGroup:
  782. SelectedIndex = "my_sales"
  783. elif str(SelectedIndex) in igshop_lang.sellGroup:
  784. SelectedIndex = "sell_item"
  785. elif str(SelectedIndex) in igshop_lang.miscellaneousGroup:
  786. SelectedIndex = "Egyebek"
  787. if str(self.oldselected) != str(SelectedIndex):
  788. if self.enableTradeSys:
  789. self.tradeDiag.Close()
  790. self.getTradeDiag.Close()
  791. self.sellTradeDiag.Close(2)
  792. self.HideItems()
  793. self.FBoard.Close()
  794. passAction = False
  795. if str(self.oldselected) == "get_trade_items":
  796. self.TipText2.SetText(trans(4))
  797. self.TipText3.SetText(trans(6))
  798. self.TipText6.SetText(trans(25))
  799. if str(SelectedIndex) == "":
  800. self.Refresh.Hide()
  801. self.SE.Hide()
  802. self.Gold.Hide()
  803. self.TooltipYang.Hide()
  804. self.TooltipSE.Hide()
  805. passAction = True
  806. if str(SelectedIndex) == "my_buys":
  807. self.TooltipYang.Hide()
  808. self.TooltipSE.Hide()
  809. self.SE.Hide()
  810. self.Gold.Hide()
  811. self.Refresh.Show()
  812. self.TipText1.Show()
  813. self.TipText2.Show()
  814. self.TipText3.Hide()
  815. self.TipText4.Hide()
  816. self.TipText5.Hide()
  817. if self.enableTradeSys:
  818. self.TipText6.Show()
  819. self.TipFrom.SetText(trans(12))
  820. self.TipFrom.Show()
  821. self.ClaimItem1.SetText(trans(13))
  822. self.ClaimItem2.SetText(trans(13))
  823. self.ClaimItem3.SetText(trans(13))
  824. self.ClaimItem4.SetText(trans(13))
  825. self.ClaimItem5.SetText(trans(13))
  826. elif str(SelectedIndex) == "my_sales":
  827. self.TooltipSE.Hide()
  828. self.SE.Hide()
  829. self.TooltipYang.Show()
  830. self.Gold.Show()
  831. self.Refresh.Show()
  832. self.TipText1.Show()
  833. self.TipText2.Show()
  834. self.TipText3.Hide()
  835. self.TipText4.Hide()
  836. self.TipText5.Hide()
  837. if self.enableTradeSys:
  838. self.TipText6.Show()
  839. self.TipFrom.SetText(trans(26))
  840. self.TipFrom.Hide()
  841. self.ClaimItem1.SetText(trans(27))
  842. self.ClaimItem2.SetText(trans(27))
  843. self.ClaimItem3.SetText(trans(27))
  844. self.ClaimItem4.SetText(trans(27))
  845. self.ClaimItem5.SetText(trans(27))
  846. self.slotbar_GetMoney.Show()
  847. self.GetMoney.Show()
  848. self.GetMoneyBut.Show()
  849. elif str(SelectedIndex) == "sell_item":
  850. self.Slots.Show()
  851. self.TipX2.Show()
  852. self.TipX1.Show()
  853. self.TipFrom.Hide()
  854. self.TooltipYang.Hide()
  855. self.TooltipSE.Hide()
  856. self.SE.Hide()
  857. self.Gold.Hide()
  858. self.Refresh.Hide()
  859. self.TipText1.Hide()
  860. self.TipText2.Hide()
  861. self.TipText3.Hide()
  862. self.TipText4.Hide()
  863. self.TipText5.Hide()
  864. if self.enableTradeSys:
  865. self.TipText6.Hide()
  866. elif str(SelectedIndex) == "Kereses":
  867. self.FBoard.Show()
  868. self.TipFrom.Hide()
  869. self.TooltipYang.Show()
  870. self.TooltipSE.Show()
  871. self.SE.Show()
  872. self.Gold.Show()
  873. self.Refresh.Show()
  874. self.TipText1.Show()
  875. self.TipText2.Show()
  876. self.TipText3.Show()
  877. self.TipText4.Show()
  878. self.TipText5.Show()
  879. if self.enableTradeSys:
  880. self.TipText6.Show()
  881. elif str(SelectedIndex) == "get_trade_items":
  882. self.Refresh.Show()
  883. self.SE.Hide()
  884. self.Gold.Hide()
  885. self.TooltipYang.Hide()
  886. self.TooltipSE.Hide()
  887. self.TipText1.Hide()
  888. self.TipText2.Show()
  889. self.TipText2.SetText(trans(28))
  890. self.TipText3.Show()
  891. self.TipText3.SetText(trans(29))
  892. self.TipText4.Hide()
  893. self.TipText5.Hide()
  894. self.TipText6.Show()
  895. self.TipFrom.Hide()
  896. self.TipText6.SetText(trans(30))
  897. elif not passAction:
  898. self.TipFrom.Hide()
  899. self.TooltipYang.Show()
  900. self.TooltipSE.Show()
  901. self.SE.Show()
  902. self.Gold.Show()
  903. self.Refresh.Show()
  904. self.TipText1.Show()
  905. self.TipText2.Show()
  906. self.TipText3.Show()
  907. self.TipText4.Show()
  908. self.TipText5.Show()
  909. if self.enableTradeSys:
  910. self.TipText6.Show()
  911.  
  912. self.oldselected = SelectedIndex
  913. if not passAction:
  914. if str(SelectedIndex) != "sell_item" and str(SelectedIndex) != "Kereses":
  915. self.QuestCMD("GROUP#"+str(SelectedIndex)+"#0")
  916.  
  917. if long(str(self.InputS.GetText()) or 0) != self.oldprice1 and self.InputS.GetText() != "":
  918. self.oldprice1 = long(str(self.InputS.GetText()) or 0)
  919. self.PreviS.SetText(str(self.NumberToMoneyString(long(str(self.InputS.GetText()) or 0), 1))+" "+trans(75))
  920.  
  921. if long(str(self.InputY.GetText()) or 0) != self.oldprice2 and self.InputY.GetText() != "":
  922. self.oldprice2 = long(str(self.InputY.GetText()) or 0)
  923. self.PreviY.SetText(str(self.NumberToMoneyString(long(str(self.InputY.GetText()) or 0), 1))+" "+trans(75))
  924.  
  925. if self.oldselected == "my_sales" and not self.GetMoney.IsShow():
  926. self.slotbar_GetMoney.Show()
  927. self.GetMoney.Show()
  928. self.GetMoneyBut.Show()
  929.  
  930. def QuestCMD(self, command):
  931. constInfo.IGShop["questCMD"] = command
  932. event.QuestButtonClick(int(constInfo.IGShop["qID"]))
  933.  
  934. def HideItems(self):
  935. #Hide items 1
  936. self.ItemText1.Hide()
  937. self.SEPrice1.Hide()
  938. self.YangPrice1.Hide()
  939. self.Owner1.Hide()
  940. self.img1.Hide()
  941. self.c1.Hide()
  942. self.YBuy1.Hide()
  943. self.SBuy1.Hide()
  944. if self.enableTradeSys:
  945. self.TBuy1.Hide()
  946.  
  947.  
  948. #Hide items 2
  949. self.ItemText2.Hide()
  950. self.SEPrice2.Hide()
  951. self.YangPrice2.Hide()
  952. self.Owner2.Hide()
  953. self.img2.Hide()
  954. self.c2.Hide()
  955. self.YBuy2.Hide()
  956. self.SBuy2.Hide()
  957. if self.enableTradeSys:
  958. self.TBuy2.Hide()
  959.  
  960.  
  961. #Hide items 3
  962. self.ItemText3.Hide()
  963. self.SEPrice3.Hide()
  964. self.YangPrice3.Hide()
  965. self.Owner3.Hide()
  966. self.img3.Hide()
  967. self.c3.Hide()
  968. self.YBuy3.Hide()
  969. self.SBuy3.Hide()
  970. if self.enableTradeSys:
  971. self.TBuy3.Hide()
  972.  
  973. #Hide items 4
  974. self.ItemText4.Hide()
  975. self.SEPrice4.Hide()
  976. self.YangPrice4.Hide()
  977. self.Owner4.Hide()
  978. self.img4.Hide()
  979. self.c4.Hide()
  980. self.YBuy4.Hide()
  981. self.SBuy4.Hide()
  982. if self.enableTradeSys:
  983. self.TBuy4.Hide()
  984.  
  985. #Hide items 5
  986. self.ItemText5.Hide()
  987. self.SEPrice5.Hide()
  988. self.YangPrice5.Hide()
  989. self.Owner5.Hide()
  990. self.img5.Hide()
  991. self.c5.Hide()
  992. self.YBuy5.Hide()
  993. self.SBuy5.Hide()
  994. if self.enableTradeSys:
  995. self.TBuy5.Hide()
  996.  
  997. #Hide pageswitch buttons
  998. self.NextPage.Hide()
  999. self.PrevPage.Hide()
  1000.  
  1001. #Hide my bought items objects
  1002.  
  1003. self.OldOwner1.Hide()
  1004. self.OldOwner2.Hide()
  1005. self.OldOwner3.Hide()
  1006. self.OldOwner4.Hide()
  1007. self.OldOwner5.Hide()
  1008. self.ClaimItem1.Hide()
  1009. self.ClaimItem2.Hide()
  1010. self.ClaimItem3.Hide()
  1011. self.ClaimItem4.Hide()
  1012. self.ClaimItem5.Hide()
  1013.  
  1014. #Hide count board
  1015.  
  1016. self.ICBoard.Close()
  1017.  
  1018. #Hide add item board
  1019.  
  1020. self.Slots.Hide()
  1021. self.TipX2.Hide()
  1022. self.TipX1.Hide()
  1023. self.PreviY.Hide()
  1024. self.PreviS.Hide()
  1025. self.Previ1.Hide()
  1026. self.Previ2.Hide()
  1027. self.InputS.SetText("0")
  1028. self.InputY.SetText("0")
  1029. #self.TipY.Hide()
  1030. #self.TipS.Hide()
  1031. self.PriceY.Hide()
  1032. self.PriceS.Hide()
  1033. self.Stone1.Hide()
  1034. self.Stone2.Hide()
  1035. self.Stone3.Hide()
  1036. self.Stone4.Hide()
  1037. self.Stone5.Hide()
  1038. self.Stone6.Hide()
  1039. self.Stone7.Hide()
  1040. self.Stone8.Hide()
  1041. self.Stone9.Hide()
  1042. self.Stone10.Hide()
  1043. self.ToSale.Hide()
  1044. if self.enableTradeSys:
  1045. self.tradeTo.Hide()
  1046. self.slotbar_InputS.Hide()
  1047. self.slotbar_InputY.Hide()
  1048. self.InputS.Hide()
  1049. self.InputY.Hide()
  1050. self.Slots.ClearSlot(1)
  1051. self.Slots.ClearSlot(2)
  1052. self.Slots.ClearSlot(3)
  1053. self.Slots.RefreshSlot()
  1054.  
  1055. self.slotbar_GetMoney.Hide()
  1056. self.GetMoney.Hide()
  1057. self.GetMoneyBut.Hide()
  1058.  
  1059. def AddItemToTradeItem(self, pos, vnum, count, buyer_name, itemID):
  1060. item.SelectItem(vnum)
  1061. table = [[self.TBuy1, self.Owner1, self.img1, self.ItemText1], [self.TBuy2, self.Owner2, self.img2, self.ItemText2],[self.TBuy3, self.Owner3, self.img3, self.ItemText3],[self.TBuy4, self.Owner4, self.img4, self.ItemText4],[self.TBuy5, self.Owner5, self.img5, self.ItemText5]]
  1062. table[pos-1][0].Show()
  1063. table[pos-1][1].SetText(buyer_name)
  1064. table[pos-1][1].Show()
  1065. table[pos-1][2].LoadImage(item.GetIconImageFileName())
  1066. table[pos-1][2].Show()
  1067. table[pos-1][3].SetText(item.GetItemName())
  1068. table[pos-1][3].Show()
  1069. if pos == 1:
  1070. self.slot1 = itemID
  1071. elif pos == 2:
  1072. self.slot2 = itemID
  1073. elif pos == 3:
  1074. self.slot3 = itemID
  1075. elif pos == 4:
  1076. self.slot4 = itemID
  1077. elif pos == 5:
  1078. self.slot5 = itemID
  1079.  
  1080. def AddItem(self, slot, id, vnum, item_name, count, owner_name, price_se, price_yang, isTradeItem):
  1081. item.SelectItem(vnum)
  1082. if slot == 1:
  1083. if self.enableTradeSys:
  1084. if isTradeItem == 1:
  1085. self.TBuy1.Show()
  1086. else:
  1087. self.TBuy1.Hide()
  1088.  
  1089. self.slot1 = id
  1090. self.ItemText1.SetText(item_name)
  1091.  
  1092. self.Owner1.SetText(owner_name)
  1093. self.ItemText1.Show()
  1094.  
  1095. self.Owner1.Show()
  1096. self.img1.LoadImage(item.GetIconImageFileName())
  1097. self.img1.Show()
  1098. self.count1 = int(count)
  1099. if int(count) > 1:
  1100. self.c1.SetText(count)
  1101. self.c1.Show()
  1102. #self.YBuy1.Show()
  1103. if int(price_yang) > 0:
  1104. self.YBuy1.Show()
  1105. self.YangPrice1.SetText(price_yang)
  1106. self.YangPrice1.Show()
  1107. if int(price_se) > 0:
  1108. self.SBuy1.Show()
  1109. self.SEPrice1.SetText(price_se)
  1110. self.SEPrice1.Show()
  1111. elif slot == 2:
  1112. if self.enableTradeSys:
  1113. if isTradeItem == 1:
  1114. self.TBuy2.Show()
  1115. else:
  1116. self.TBuy2.Hide()
  1117. self.slot2 = id
  1118. self.ItemText2.SetText(item_name)
  1119. self.Owner2.SetText(owner_name)
  1120. self.ItemText2.Show()
  1121. self.Owner2.Show()
  1122. self.img2.LoadImage(item.GetIconImageFileName())
  1123. self.img2.Show()
  1124. self.count2 = int(count)
  1125. if int(count) > 1:
  1126. self.c2.SetText(count)
  1127. self.c2.Show()
  1128. if int(price_yang) > 0:
  1129. self.YBuy2.Show()
  1130. self.YangPrice2.SetText(price_yang)
  1131. self.YangPrice2.Show()
  1132.  
  1133. if int(price_se) > 0:
  1134. self.SBuy2.Show()
  1135. self.SEPrice2.SetText(price_se)
  1136. self.SEPrice2.Show()
  1137. elif slot == 3:
  1138. if self.enableTradeSys:
  1139. if isTradeItem == 1:
  1140. self.TBuy3.Show()
  1141. else:
  1142. self.TBuy3.Hide()
  1143. self.slot3 = id
  1144. self.ItemText3.SetText(item_name)
  1145. self.Owner3.SetText(owner_name)
  1146. self.ItemText3.Show()
  1147. self.Owner3.Show()
  1148. self.img3.LoadImage(item.GetIconImageFileName())
  1149. self.img3.Show()
  1150. self.count3 = int(count)
  1151. if int(count) > 1:
  1152. self.c3.SetText(count)
  1153. self.c3.Show()
  1154. if int(price_yang) > 0:
  1155. self.YBuy3.Show()
  1156. self.YangPrice3.SetText(price_yang)
  1157. self.YangPrice3.Show()
  1158. if int(price_se) > 0:
  1159. self.SBuy3.Show()
  1160. self.SEPrice3.SetText(price_se)
  1161. self.SEPrice3.Show()
  1162. elif slot == 4:
  1163. if self.enableTradeSys:
  1164. if isTradeItem == 1:
  1165. self.TBuy4.Show()
  1166. else:
  1167. self.TBuy4.Hide()
  1168. self.slot4 = id
  1169. self.ItemText4.SetText(item_name)
  1170. self.Owner4.SetText(owner_name)
  1171. self.ItemText4.Show()
  1172. self.Owner4.Show()
  1173. self.img4.LoadImage(item.GetIconImageFileName())
  1174. self.img4.Show()
  1175. self.count4 = int(count)
  1176. if int(count) > 1:
  1177. self.c4.SetText(count)
  1178. self.c4.Show()
  1179. if int(price_yang) > 0:
  1180. self.YBuy4.Show()
  1181. self.YangPrice4.SetText(price_yang)
  1182. self.YangPrice4.Show()
  1183. if int(price_se) > 0:
  1184. self.SBuy4.Show()
  1185. self.SEPrice4.SetText(price_se)
  1186. self.SEPrice4.Show()
  1187. elif slot == 5:
  1188. if self.enableTradeSys:
  1189. if isTradeItem == 1:
  1190. self.TBuy5.Show()
  1191. else:
  1192. self.TBuy5.Hide()
  1193. self.slot5 = id
  1194. self.ItemText5.SetText(item_name)
  1195. self.Owner5.SetText(owner_name)
  1196. self.ItemText5.Show()
  1197. self.YangPrice5.Show()
  1198. self.Owner5.Show()
  1199. self.img5.LoadImage(item.GetIconImageFileName())
  1200. self.img5.Show()
  1201. self.count5 = int(count)
  1202. if int(count) > 1:
  1203. self.c5.SetText(count)
  1204. self.c5.Show()
  1205. if int(price_yang) > 0:
  1206. self.YBuy5.Show()
  1207. self.YangPrice5.SetText(price_yang)
  1208. self.YangPrice5.Show()
  1209. if int(price_se) > 0:
  1210. self.SBuy5.Show()
  1211. self.SEPrice5.SetText(price_se)
  1212. self.SEPrice5.Show()
  1213.  
  1214. def AddItemToBoughtItems(self, slot, id, vnum, item_name, count, owner_name, isTradeItem):
  1215. item.SelectItem(vnum)
  1216. if slot == 1:
  1217. self.slot1 = id
  1218. self.ItemText1.SetText(item_name)
  1219. self.OldOwner1.SetText(owner_name)
  1220. self.ItemText1.Show()
  1221. self.OldOwner1.Show()
  1222. self.ClaimItem1.Show()
  1223. self.img1.LoadImage(item.GetIconImageFileName())
  1224. self.img1.Show()
  1225. self.count1 = int(count)
  1226. if int(count) > 1:
  1227. self.c1.SetText(count)
  1228. self.c1.Show()
  1229. elif slot == 2:
  1230. self.slot2 = id
  1231. self.ItemText2.SetText(item_name)
  1232. self.OldOwner2.SetText(owner_name)
  1233. self.ItemText2.Show()
  1234. self.OldOwner2.Show()
  1235. self.ClaimItem2.Show()
  1236. self.img2.LoadImage(item.GetIconImageFileName())
  1237. self.img2.Show()
  1238. self.count2 = int(count)
  1239. if int(count) > 1:
  1240. self.c2.SetText(count)
  1241. self.c2.Show()
  1242. elif slot == 3:
  1243. self.slot3 = id
  1244. self.ItemText3.SetText(item_name)
  1245. self.OldOwner3.SetText(owner_name)
  1246. self.ItemText3.Show()
  1247. self.OldOwner3.Show()
  1248. self.ClaimItem3.Show()
  1249. self.img3.LoadImage(item.GetIconImageFileName())
  1250. self.img3.Show()
  1251. self.count3 = int(count)
  1252. if int(count) > 1:
  1253. self.c3.SetText(count)
  1254. self.c3.Show()
  1255. elif slot == 4:
  1256. self.slot4 = id
  1257. self.ItemText4.SetText(item_name)
  1258. self.OldOwner4.SetText(owner_name)
  1259. self.ItemText4.Show()
  1260. self.OldOwner4.Show()
  1261. self.ClaimItem4.Show()
  1262. self.img4.LoadImage(item.GetIconImageFileName())
  1263. self.img4.Show()
  1264. self.count4 = int(count)
  1265. if int(count) > 1:
  1266. self.c4.SetText(count)
  1267. self.c4.Show()
  1268. elif slot == 5:
  1269. self.slot5 = id
  1270. self.ItemText5.SetText(item_name)
  1271. self.OldOwner5.SetText(owner_name)
  1272. self.ItemText5.Show()
  1273. self.OldOwner5.Show()
  1274. self.ClaimItem5.Show()
  1275. self.img5.LoadImage(item.GetIconImageFileName())
  1276. self.img5.Show()
  1277. self.count5 = int(count)
  1278. if int(count) > 1:
  1279. self.c5.SetText(count)
  1280. self.c5.Show()
  1281.  
  1282. def AddItemToMyItems(self, slot, id, vnum, item_name, count, istate, isTradeItem):
  1283. item.SelectItem(vnum)
  1284. if slot == 1:
  1285. if self.enableTradeSys:
  1286. if isTradeItem == 1:
  1287. self.TBuy1.Show()
  1288. else:
  1289. self.TBuy1.Hide()
  1290. self.slot1 = id
  1291. self.ItemText1.SetText(item_name)
  1292. """if istate <= 0:
  1293. self.OldOwner1.Show()
  1294. self.OldOwner1.SetText("A tárgy lejárt")"""
  1295. self.ItemText1.Show()
  1296. self.ClaimItem1.Show()
  1297. self.img1.LoadImage(item.GetIconImageFileName())
  1298. self.img1.Show()
  1299. self.count1 = int(count)
  1300. if int(count) > 1:
  1301. self.c1.SetText(count)
  1302. self.c1.Show()
  1303. elif slot == 2:
  1304. if self.enableTradeSys:
  1305. if isTradeItem == 1:
  1306. self.TBuy2.Show()
  1307. else:
  1308. self.TBuy2.Hide()
  1309. self.slot2 = id
  1310. self.ItemText2.SetText(item_name)
  1311. """if istate <= 0:
  1312. self.OldOwner2.Show()
  1313. self.OldOwner2.SetText("A tárgy lejárt")"""
  1314. self.ItemText2.Show()
  1315. self.ClaimItem2.Show()
  1316. self.img2.LoadImage(item.GetIconImageFileName())
  1317. self.img2.Show()
  1318. self.count2 = int(count)
  1319. if int(count) > 1:
  1320. self.c2.SetText(count)
  1321. self.c2.Show()
  1322. elif slot == 3:
  1323. if self.enableTradeSys:
  1324. if isTradeItem == 1:
  1325. self.TBuy3.Show()
  1326. else:
  1327. self.TBuy3.Hide()
  1328. self.slot3 = id
  1329. self.ItemText3.SetText(item_name)
  1330. """if istate <= 0:
  1331. self.OldOwner3.Show()
  1332. self.OldOwner3.SetText("A tárgy lejárt")"""
  1333. self.ItemText3.Show()
  1334. self.ClaimItem3.Show()
  1335. self.img3.LoadImage(item.GetIconImageFileName())
  1336. self.img3.Show()
  1337. self.count3 = int(count)
  1338. if int(count) > 1:
  1339. self.c3.SetText(count)
  1340. self.c3.Show()
  1341. elif slot == 4:
  1342. if self.enableTradeSys:
  1343. if isTradeItem == 1:
  1344. self.TBuy4.Show()
  1345. else:
  1346. self.TBuy4.Hide()
  1347. self.slot4 = id
  1348. self.ItemText4.SetText(item_name)
  1349. """if istate <= 0:
  1350. self.OldOwner4.Show()
  1351. self.OldOwner4.SetText("A tárgy lejárt")"""
  1352. self.ItemText4.Show()
  1353. self.ClaimItem4.Show()
  1354. self.img4.LoadImage(item.GetIconImageFileName())
  1355. self.img4.Show()
  1356. self.count4 = int(count)
  1357. if int(count) > 1:
  1358. self.c4.SetText(count)
  1359. self.c4.Show()
  1360. elif slot == 5:
  1361. if self.enableTradeSys:
  1362. if isTradeItem == 1:
  1363. self.TBuy5.Show()
  1364. else:
  1365. self.TBuy5.Hide()
  1366. self.slot5 = id
  1367. self.ItemText5.SetText(item_name)
  1368. """if istate <= 0:
  1369. self.OldOwner5.Show()
  1370. self.OldOwner5.SetText("A tárgy lejárt")"""
  1371. self.ItemText5.Show()
  1372. self.ClaimItem5.Show()
  1373. self.img5.LoadImage(item.GetIconImageFileName())
  1374. self.img5.Show()
  1375. self.count5 = int(count)
  1376. if int(count) > 1:
  1377. self.c5.SetText(count)
  1378. self.c5.Show()
  1379.  
  1380. def ManagePageButtons(self, maxpage, page):
  1381. if page < maxpage:
  1382. self.NextPage.Show()
  1383.  
  1384. if page > 1:
  1385. self.PrevPage.Show()
  1386. self.page = page
  1387. self.maxpage = maxpage
  1388.  
  1389. class Component:
  1390. def Button(self, parent, buttonName, tooltipText, x, y, func, UpVisual, OverVisual, DownVisual, DisableVisual = ""):
  1391. button = ui.Button()
  1392. if parent != None:
  1393. button.SetParent(parent)
  1394. button.SetPosition(x, y)
  1395. button.SetUpVisual(UpVisual)
  1396. button.SetOverVisual(OverVisual)
  1397. button.SetDownVisual(DownVisual)
  1398. if DisableVisual != "":
  1399. button.SetDisableVisual(DisableVisual)
  1400. button.SetText(buttonName)
  1401. button.SetToolTipText(tooltipText)
  1402. button.Hide()
  1403. button.SetEvent(func)
  1404. return button
  1405.  
  1406. def ToggleButton(self, parent, buttonName, tooltipText, x, y, funcUp, funcDown, UpVisual, OverVisual, DownVisual):
  1407. button = ui.ToggleButton()
  1408. if parent != None:
  1409. button.SetParent(parent)
  1410. button.SetPosition(x, y)
  1411. button.SetUpVisual(UpVisual)
  1412. button.SetOverVisual(OverVisual)
  1413. button.SetDownVisual(DownVisual)
  1414. button.SetText(buttonName)
  1415. button.SetToolTipText(tooltipText)
  1416. button.Show()
  1417. button.SetToggleUpEvent(funcUp)
  1418. button.SetToggleDownEvent(funcDown)
  1419. return button
  1420.  
  1421. def EditLine(self, parent, editlineText, x, y, width, heigh, max):
  1422. SlotBar = ui.SlotBar()
  1423. if parent != None:
  1424. SlotBar.SetParent(parent)
  1425. SlotBar.SetSize(width, heigh)
  1426. SlotBar.SetPosition(x, y)
  1427. SlotBar.Show()
  1428. Value = ui.EditLine()
  1429. Value.SetParent(SlotBar)
  1430. Value.SetSize(width, heigh)
  1431. Value.SetPosition(1, 1)
  1432. Value.SetMax(max)
  1433. Value.SetLimitWidth(width)
  1434. Value.SetMultiLine()
  1435. Value.SetText(editlineText)
  1436. Value.Show()
  1437. return SlotBar, Value
  1438.  
  1439. def TextLine(self, parent, textlineText, x, y, color):
  1440. textline = ui.TextLine()
  1441. if parent != None:
  1442. textline.SetParent(parent)
  1443. textline.SetPosition(x, y)
  1444. if color != None:
  1445. textline.SetFontColor(color[0], color[1], color[2])
  1446. textline.SetText(textlineText)
  1447. textline.Hide()
  1448. return textline
  1449.  
  1450. def RGB(self, r, g, b):
  1451. return (r*255, g*255, b*255)
  1452.  
  1453. def SliderBar(self, parent, sliderPos, func, x, y):
  1454. Slider = ui.SliderBar()
  1455. if parent != None:
  1456. Slider.SetParent(parent)
  1457. Slider.SetPosition(x, y)
  1458. Slider.SetSliderPos(sliderPos / 100)
  1459. Slider.Show()
  1460. Slider.SetEvent(func)
  1461. return Slider
  1462.  
  1463. def ExpandedImage(self, parent, x, y, img):
  1464. image = ui.ExpandedImageBox()
  1465. if parent != None:
  1466. image.SetParent(parent)
  1467. image.SetPosition(x, y)
  1468. image.LoadImage(img)
  1469. image.Hide()
  1470. return image
  1471.  
  1472. def ComboBox(self, parent, text, x, y, width):
  1473. combo = ui.ComboBox()
  1474. if parent != None:
  1475. combo.SetParent(parent)
  1476. combo.SetPosition(x, y)
  1477. combo.SetSize(width, 15)
  1478. combo.SetCurrentItem(text)
  1479. combo.Show()
  1480. return combo
  1481.  
  1482. def ThinBoard(self, parent, moveable, x, y, width, heigh, center):
  1483. thin = ui.ThinBoard()
  1484. if parent != None:
  1485. thin.SetParent(parent)
  1486. if moveable == True:
  1487. thin.AddFlag('movable')
  1488. thin.AddFlag('float')
  1489. thin.SetSize(width, heigh)
  1490. thin.SetPosition(x, y)
  1491. if center == True:
  1492. thin.SetCenterPosition()
  1493. thin.Show()
  1494. return thin
  1495.  
  1496. def Gauge(self, parent, width, color, x, y):
  1497. gauge = ui.Gauge()
  1498. if parent != None:
  1499. gauge.SetParent(parent)
  1500. gauge.SetPosition(x, y)
  1501. gauge.MakeGauge(width, color)
  1502. gauge.Show()
  1503. return gauge
  1504.  
  1505. def ListBoxEx(self, parent, x, y, width, heigh):
  1506. bar = ui.Bar()
  1507. if parent != None:
  1508. bar.SetParent(parent)
  1509. bar.SetPosition(x, y)
  1510. bar.SetSize(width, heigh)
  1511. bar.SetColor(0x77000000)
  1512. bar.Show()
  1513. ListBox=ui.IgShopListBox("UI",True)
  1514. ListBox.SetParent(bar)
  1515. ListBox.SetPosition(0, 0)
  1516. ListBox.SetSize(width, heigh)
  1517. ListBox.Show()
  1518. """scroll = ui.ScrollBar()
  1519. scroll.SetParent(ListBox)
  1520. scroll.SetPosition(width-15, 0)
  1521. scroll.SetScrollBarSize(heigh)
  1522. scroll.Hide()
  1523. ListBox.SetScrollBar(scroll)"""
  1524. return bar, ListBox
  1525.  
  1526. class Item(ui.ListBoxEx.Item):
  1527. def __init__(self, text):
  1528. ui.ListBoxEx.Item.__init__(self)
  1529. self.canLoad=0
  1530. self.text=text
  1531. self.textLine=self.__CreateTextLine(text[:50])
  1532. def __del__(self):
  1533. ui.ListBoxEx.Item.__del__(self)
  1534. def GetText(self):
  1535. return self.text
  1536. def SetSize(self, width, height):
  1537. ui.ListBoxEx.Item.SetSize(self, 7*len(self.textLine.GetText()) + 4, height)
  1538. def __CreateTextLine(self, text):
  1539. textLine=ui.TextLine()
  1540. textLine.SetParent(self)
  1541. textLine.SetPosition(0, 0)
  1542. textLine.SetText(text)
  1543. textLine.Show()
  1544. return textLine
  1545.  
  1546. class TradeDialog(ui.Window):
  1547. def __init__(self, masterWindow):
  1548. ui.Window.__init__(self, "TOP_MOST")
  1549. self.maxSlotNum = 7*6
  1550. self.tempContainer = []
  1551. self.representedSlots = []
  1552. self.maxRecords = 0
  1553. self.oldNumber = -1
  1554. self.masterWindow = masterWindow
  1555. self.BuildWindow()
  1556. self.SetCenterPosition()
  1557. self.Close()
  1558.  
  1559. def __del__(self):
  1560. ui.Window.__del__(self)
  1561.  
  1562. def BuildWindow(self):
  1563. self.SetCenterPosition()
  1564. self.SetSize(473+32, 263+30)
  1565. self.AddFlag('float')
  1566. self.AddFlag('movable')
  1567. self.Board = ui.BoardWithTitleBar()
  1568. self.Board.SetParent(self)
  1569. self.Board.SetSize(477+33, 263+30)
  1570. self.Board.SetTitleName(trans(31))
  1571. self.Board.SetCloseEvent(self.Close)
  1572. self.Board.Show()
  1573. self.comp = Component()
  1574.  
  1575. self.TradeToText = self.comp.TextLine(self.Board, trans(32), 94, 28, self.comp.RGB(255, 255, 255))
  1576. self.TradeToText.Show()
  1577. self.YourItems = self.comp.TextLine(self.Board, trans(33), 338, 28, self.comp.RGB(255, 255, 255))
  1578. self.YourItems.Show()
  1579.  
  1580. self.wants = ui.GridSlotWindow()
  1581. self.wants.SetParent(self.Board)
  1582. self.wants.SetPosition(10, 50)
  1583. self.wants.ArrangeSlot(1, 7, 6, 32, 32, 0, 0)
  1584. self.wants.SetSlotBaseImage("d:/ymir work/ui/public/Slot_Base.sub", 1.0, 1.0, 1.0, 1.0)
  1585. self.wants.Show()
  1586.  
  1587. self.gives = ui.GridSlotWindow()
  1588. self.gives.SetParent(self.Board)
  1589. self.gives.SetPosition(10+224+40, 50)
  1590. self.gives.ArrangeSlot(1, 7, 6, 32, 32, 0, 0)
  1591. self.gives.SetSlotBaseImage("d:/ymir work/ui/public/Slot_Base.sub", 1.0, 1.0, 1.0, 1.0)
  1592. self.gives.Show()
  1593.  
  1594. self.DoItButton = self.comp.Button(self.Board, trans(34), '', 255-45, 50+32*6+15, self.DoIt, 'd:/ymir work/ui/public/large_button_01.sub', 'd:/ymir work/ui/public/large_button_02.sub', 'd:/ymir work/ui/public/large_button_03.sub', 'd:/ymir work/ui/public/large_button_03.sub')
  1595. self.DoItButton.Show()
  1596.  
  1597. self.wants.SetOverInItemEvent(ui.__mem_func__(self.OverInItemWants))
  1598. self.wants.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
  1599. self.gives.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectEmptySlot))
  1600. self.gives.SetUnselectItemSlotEvent(ui.__mem_func__(self.UnselectItemSlot))
  1601. self.gives.SetOverInItemEvent(ui.__mem_func__(self.OverInItemGives))
  1602. self.gives.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
  1603.  
  1604. def DoIt(self):
  1605. if self.maxRecords <= len(self.representedSlots) and self.maxRecords > 0:
  1606. self.masterWindow.QuestCMD("trade.ApplyTrade")
  1607.  
  1608. def OnPressEscapeKey(self):
  1609. self.Close()
  1610.  
  1611. def OnUpdate(self):
  1612. if not self.masterWindow.IsShow():
  1613. self.Close()
  1614.  
  1615. if self.oldNumber != len(self.representedSlots):
  1616. if self.maxRecords <= len(self.representedSlots) and self.maxRecords > 0:
  1617. self.DoItButton.Enable()
  1618. else:
  1619. self.DoItButton.Disable()
  1620. self.oldNumber = len(self.representedSlots)
  1621.  
  1622. def Open(self):
  1623. self.ClearAllSlots()
  1624. self.Show()
  1625.  
  1626. def Close(self):
  1627. self.ClearAllSlots()
  1628. self.Hide()
  1629.  
  1630. def ClearAllSlots(self):
  1631. self.slotArray = []
  1632. self.givesArray = []
  1633. self.applyedSlots = []
  1634. self.representedSlots = []
  1635. self.maxRecords = 0
  1636. for i in xrange(1, self.maxSlotNum+1):
  1637. self.wants.ClearSlot(i)
  1638. self.gives.ClearSlot(i)
  1639. self.slotArray.append([])
  1640. self.givesArray.append([])
  1641. self.slotArray.append([])
  1642. self.givesArray.append([])
  1643. self.wants.RefreshSlot()
  1644. self.gives.RefreshSlot()
  1645.  
  1646. def AppendWantsItem(self, pos, vnum, count, socketContainer, attrContainer):
  1647. if count <= 1:
  1648. count = 0
  1649. self.wants.SetItemSlot(pos, vnum, count)
  1650. self.wants.RefreshSlot()
  1651.  
  1652. self.slotArray[pos].append(vnum)
  1653. self.slotArray[pos].append(count)
  1654. self.slotArray[pos].append(socketContainer)
  1655. self.slotArray[pos].append(attrContainer)
  1656. self.maxRecords += 1
  1657.  
  1658. def OverInItemWants(self, slotNum):
  1659. self.masterWindow.toolTip.ClearToolTip()
  1660. if len(self.slotArray[slotNum]) > 0:
  1661. self.masterWindow.toolTip.AddItemData(self.slotArray[slotNum][0],self.slotArray[slotNum][2],self.slotArray[slotNum][3])
  1662.  
  1663. def OverInItemGives(self, slotNum):
  1664. self.masterWindow.toolTip.ClearToolTip()
  1665. if len(self.givesArray[slotNum]) > 0:
  1666. self.masterWindow.toolTip.AddItemData(self.givesArray[slotNum][0],self.givesArray[slotNum][2],self.givesArray[slotNum][3])
  1667.  
  1668. def OverOutItem(self):
  1669. self.masterWindow.toolTip.Hide()
  1670.  
  1671. def SelectEmptySlot(self, itemSlotIndex):
  1672. if mouseModule.mouseController.isAttached():
  1673. attachedSlotType = mouseModule.mouseController.GetAttachedType()
  1674. attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
  1675. if attachedSlotType == player.SLOT_TYPE_INVENTORY:
  1676. """itemVnum = player.GetItemIndex(player.SLOT_TYPE_INVENTORY, attachedSlotPos)
  1677. chat.AppendChat(chat.CHAT_TYPE_INFO, str(itemVnum))"""
  1678. self.CheckTradeItem(attachedSlotPos, itemSlotIndex, mouseModule.mouseController.GetAttachedItemCount())
  1679.  
  1680. mouseModule.mouseController.DeattachObject()
  1681.  
  1682. def UnselectItemSlot(self, itemSlotIndex):
  1683. self.givesArray[itemSlotIndex] = []
  1684. self.gives.ClearSlot(itemSlotIndex)
  1685. self.gives.RefreshSlot()
  1686. self.tempContainer = []
  1687. for i in self.applyedSlots:
  1688. if i[1] == itemSlotIndex:
  1689. self.representedSlots.remove(i[0])
  1690. self.applyedSlots.remove(i)
  1691. break
  1692. self.masterWindow.QuestCMD("trade.RemoveGivesSlot#" + str(itemSlotIndex))
  1693.  
  1694. def SuccessAppend(self, pos):
  1695. count = self.tempContainer[1]
  1696. if count <= 1:
  1697. count = 0
  1698. self.gives.SetItemSlot(pos, self.tempContainer[0], count)
  1699. self.gives.RefreshSlot()
  1700.  
  1701. self.givesArray[pos] = []
  1702. self.givesArray[pos].append(self.tempContainer[0])
  1703. self.givesArray[pos].append(self.tempContainer[1])
  1704. self.givesArray[pos].append(self.tempContainer[2])
  1705. self.givesArray[pos].append(self.tempContainer[3])
  1706. self.tempContainer = []
  1707.  
  1708. def CheckTradeItem(self, inventoryPos, myPos, count):
  1709. itemVnum = player.GetItemIndex(player.SLOT_TYPE_INVENTORY, inventoryPos)
  1710. if itemVnum <= 0:
  1711. return
  1712.  
  1713. if self.maxRecords <= len(self.representedSlots):
  1714. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(35))
  1715. return
  1716. stoneContainer = [0,0,0]
  1717. applyContainer = []
  1718. for i in xrange(0, self.masterWindow.maximumStoneNum):
  1719. stoneContainer[i] = player.GetItemMetinSocket(player.SLOT_TYPE_INVENTORY, inventoryPos, i)
  1720.  
  1721. for i in xrange(0, self.masterWindow.maximumApplyNum):
  1722. applyContainer.append(player.GetItemAttribute(player.SLOT_TYPE_INVENTORY, inventoryPos, i))
  1723. posibilities = []
  1724. for i in xrange(1, self.maxSlotNum+1):
  1725. s_found = False
  1726. for m_Pos in self.applyedSlots:
  1727. if i == m_Pos[0]:
  1728. s_found = True
  1729. break
  1730. if s_found:
  1731. continue
  1732. if len(self.slotArray[i]) <= 0:
  1733. continue
  1734.  
  1735. if self.slotArray[i][0] != itemVnum:
  1736. continue
  1737. countFix = self.slotArray[i][1]
  1738. if countFix <= 0:
  1739. countFix = 1
  1740. if countFix != count:
  1741. continue
  1742.  
  1743. m_found = True
  1744.  
  1745. for y in self.slotArray[i][2]:
  1746. if y == 1:
  1747. this_pos = self.slotArray[i][2].index(y)
  1748. if stoneContainer[this_pos] < 1:
  1749. m_found = False
  1750. break
  1751. elif y > 1 and y != 28960:
  1752. found = False
  1753. for z in stoneContainer:
  1754. if y == z:
  1755. found = True
  1756. break
  1757. if not found:
  1758. m_found = False
  1759. break
  1760. m_found = True
  1761.  
  1762. if not m_found:
  1763. continue
  1764.  
  1765. m_found = True
  1766. for y in xrange(0, self.masterWindow.maximumApplyNum):
  1767. if self.slotArray[i][3][y][0] <= 0:
  1768. continue
  1769. if y < 5:
  1770. found = False
  1771. for z in xrange(0, 5):
  1772. if applyContainer[z][0] == self.slotArray[i][3][y][0]:
  1773. if self.slotArray[i][3][y][1] <= applyContainer[z][1]:
  1774. found = True
  1775. break
  1776. if not found:
  1777. m_found = False
  1778. break
  1779.  
  1780. m_found = True
  1781. else:
  1782. found = False
  1783. for z in xrange(5, 7):
  1784. if applyContainer[z][0] == self.slotArray[i][3][y][0]:
  1785. if self.slotArray[i][3][y][1] <= applyContainer[z][1]:
  1786. found = True
  1787. break
  1788. if not found:
  1789. m_found = False
  1790. break
  1791.  
  1792. m_found = True
  1793.  
  1794. if not m_found:
  1795. continue
  1796.  
  1797. posibilities.append(i)
  1798.  
  1799. if len(posibilities) > 0:
  1800. self.applyedSlots.append([posibilities[0], myPos, posibilities]) # which item from the wantsList represented by this one; position in givesList; which items could be represeted by this one
  1801. self.representedSlots.append(posibilities[0])
  1802. self.tempContainer = []
  1803. self.tempContainer = [itemVnum, count, stoneContainer[:], applyContainer[:]]
  1804. self.masterWindow.QuestCMD("trade.CheckTradeItem#"+str(posibilities[0])+"#"+str(inventoryPos)+"#"+str(len(self.applyedSlots)-1)+"#"+str(myPos))
  1805. return
  1806. else:
  1807. secondAvailability = []
  1808. secondAvailabilityIDs = []
  1809. for trys in self.applyedSlots:
  1810. if len(trys[2]) > 1:
  1811. if self.SecondChance(trys[0],stoneContainer, applyContainer, itemVnum, count):
  1812. secondAvailability.append(trys)
  1813. secondAvailabilityIDs.append(trys[0])
  1814.  
  1815. if len(secondAvailability) > 0:
  1816. my_ID = 0
  1817. old_myPos = 0
  1818. old_newID = 0
  1819. for k in secondAvailability:
  1820. for j in k[2]:
  1821. if j in self.representedSlots:
  1822. continue
  1823. else:
  1824. my_ID = k[0]
  1825. k[0] = j
  1826. old_myPos = k[1]
  1827. old_newID = j
  1828. self.representedSlots.append(j)
  1829. break
  1830. if my_ID > 0:
  1831. break
  1832.  
  1833. if my_ID > 0:
  1834. self.applyedSlots.append([my_ID, myPos, secondAvailabilityIDs])
  1835. self.tempContainer = []
  1836. self.tempContainer = [itemVnum, count, stoneContainer[:], applyContainer[:]]
  1837. self.masterWindow.QuestCMD("trade.SecondWave#"+str(old_newID)+"#"+str(old_myPos)+"#"+str(my_ID)+"#"+str(myPos)+"#"+str(inventoryPos))
  1838. return
  1839.  
  1840. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(36))
  1841.  
  1842. def SecondChance(self, pos, stoneContainer, applyContainer, itemVnum, count):
  1843. if len(self.slotArray[pos]) <= 0:
  1844. return False
  1845.  
  1846. if self.slotArray[pos][0] != itemVnum:
  1847. return False
  1848. countFix = self.slotArray[pos][1]
  1849. if countFix <= 0:
  1850. countFix = 1
  1851. if countFix != count:
  1852. return False
  1853.  
  1854. m_found = True
  1855.  
  1856. for y in self.slotArray[pos][2]:
  1857. if y == 1:
  1858. this_pos = self.slotArray[pos][2].index(y)
  1859. if stoneContainer[this_pos] < 1:
  1860. m_found = False
  1861. break
  1862. elif y > 1 and y != 28960:
  1863. found = False
  1864. for z in stoneContainer:
  1865. if y == z:
  1866. found = True
  1867. break
  1868. if not found:
  1869. m_found = False
  1870. break
  1871. m_found = True
  1872.  
  1873. if not m_found:
  1874. return False
  1875.  
  1876. m_found = True
  1877. for y in xrange(0, self.masterWindow.maximumApplyNum):
  1878. if self.slotArray[pos][3][y][0] <= 0:
  1879. continue
  1880. if y < 5:
  1881. found = False
  1882. for z in xrange(0, 5):
  1883. if applyContainer[z][0] == self.slotArray[pos][3][y][0]:
  1884. if self.slotArray[pos][3][y][1] <= applyContainer[z][1]:
  1885. found = True
  1886. break
  1887. if not found:
  1888. m_found = False
  1889. break
  1890.  
  1891. m_found = True
  1892. else:
  1893. found = False
  1894. for z in xrange(5, 7):
  1895. if applyContainer[z][0] == self.slotArray[pos][3][y][0]:
  1896. if self.slotArray[pos][3][y][1] <= applyContainer[z][1]:
  1897. found = True
  1898. break
  1899. if not found:
  1900. m_found = False
  1901. break
  1902.  
  1903. m_found = True
  1904.  
  1905. if not m_found:
  1906. return False
  1907.  
  1908. return True
  1909.  
  1910. class ExchangeSellDialog(ui.Window):
  1911. class EnchantmentsMenu(ui.Window):
  1912. class FileListDialog(ui.ThinBoard):
  1913. def __init__(self, masterWindow):
  1914. ui.ThinBoard.__init__(self, "TOP_MOST")
  1915. self.masterWindow = masterWindow
  1916. self.lastX = 0
  1917. self.lastY = 0
  1918. self.realApplyNum = []
  1919.  
  1920. self.LoadUI()
  1921. self.UpdateFileList()
  1922. self.Hide()
  1923.  
  1924. def __del__(self):
  1925. ui.ThinBoard.__del__(self)
  1926.  
  1927. def OnUpdate(self):
  1928. x,y = self.masterWindow.masterWindow.GetGlobalPosition()
  1929. if x != self.lastX or y != self.lastY:
  1930. self.SetPosition(x+ self.masterWindow.masterWindow.GetWidth(), y)
  1931. self.lastX = x
  1932. self.lastY = y
  1933.  
  1934. def Open(self):
  1935. self.Show()
  1936. #self.UpdateFileList()
  1937.  
  1938. def Close(self):
  1939. self.Hide()
  1940.  
  1941. def OnPressEscapeKey(self):
  1942. self.Close()
  1943.  
  1944. def LoadUI(self):
  1945. self.SetCenterPosition()
  1946. self.SetSize(300, 263+30)
  1947. self.AddFlag("float")
  1948.  
  1949. self.fileListBox = ui.ListBoxEx()
  1950. self.fileListBox.SetParent(self)
  1951. self.fileListBox.SetPosition(15, 50 - 12)
  1952. self.fileListBox.Show()
  1953.  
  1954. self.ScrollBar = ui.ScrollBar()
  1955. self.ScrollBar.SetParent(self)
  1956. self.ScrollBar.SetPosition(140+130, 40 - 12)
  1957. self.ScrollBar.SetScrollBarSize(220)
  1958. self.ScrollBar.Show()
  1959.  
  1960.  
  1961. self.selectBonusText = ui.TextLine()
  1962. self.selectBonusText.SetParent(self)
  1963. self.selectBonusText.SetDefaultFontName()
  1964. self.selectBonusText.SetPosition(150, 29 - 12)
  1965. self.selectBonusText.SetFeather()
  1966. self.selectBonusText.SetText(trans(37))
  1967. self.selectBonusText.SetHorizontalAlignCenter()
  1968. self.selectBonusText.SetFontColor(0.2, 0.2, 1.0)
  1969. self.selectBonusText.SetOutline()
  1970. self.selectBonusText.Show()
  1971.  
  1972. self.fileListBox.SetScrollBar(self.ScrollBar)
  1973.  
  1974. self.SelectBonus = ui.Button()
  1975. self.SelectBonus.SetParent(self)
  1976. self.SelectBonus.SetPosition(19, 265 - 12)
  1977. self.SelectBonus.SetUpVisual("d:/ymir work/ui/public/Middle_Button_01.sub")
  1978. self.SelectBonus.SetOverVisual("d:/ymir work/ui/public/Middle_Button_02.sub")
  1979. self.SelectBonus.SetDownVisual("d:/ymir work/ui/public/Middle_Button_03.sub")
  1980. self.SelectBonus.SetText(trans(38))
  1981. self.SelectBonus.SetEvent(ui.__mem_func__(self.SetBonis))
  1982. self.SelectBonus.Show()
  1983.  
  1984. self.CancelBonus = ui.Button()
  1985. self.CancelBonus.SetParent(self)
  1986. self.CancelBonus.SetPosition(89+130, 265 - 12)
  1987. self.CancelBonus.SetUpVisual("d:/ymir work/ui/public/Middle_Button_01.sub")
  1988. self.CancelBonus.SetOverVisual("d:/ymir work/ui/public/Middle_Button_02.sub")
  1989. self.CancelBonus.SetDownVisual("d:/ymir work/ui/public/Middle_Button_03.sub")
  1990. self.CancelBonus.SetText(trans(39))
  1991. self.CancelBonus.SetEvent(ui.__mem_func__(self.Close))
  1992. self.CancelBonus.Show()
  1993.  
  1994. def UpdateFileList(self):
  1995. self.fileListBox.RemoveAllItems()
  1996. for BonusType in xrange(1, max(self.masterWindow.masterWindow.masterWindow.toolTip.AFFECT_DICT)+1):
  1997. try:
  1998. self.fileListBox.AppendItem(Item(self.masterWindow.masterWindow.masterWindow.toolTip.AFFECT_DICT[BonusType](0)))
  1999. self.realApplyNum.append(BonusType)
  2000. except:
  2001. pass
  2002.  
  2003. #chat.AppendChat(chat.CHAT_TYPE_INFO, str(BonusIDListe[BonusType]))
  2004.  
  2005. def SetBonis(self):
  2006. if len(self.realApplyNum) <= 0:
  2007. return
  2008. idx = self.fileListBox.GetItemIndex(self.fileListBox.GetSelectedItem())
  2009. idx = self.realApplyNum[idx]
  2010. #chat.AppendChat(chat.CHAT_TYPE_INFO, str(idx))
  2011.  
  2012. self.masterWindow.RegisterBonusType(idx)
  2013. self.Close()
  2014.  
  2015. def __init__(self, masterWindow):
  2016. ui.Window.__init__(self, "TOP_MOST")
  2017. self.masterWindow = masterWindow
  2018. self.listDialog = self.FileListDialog(self)
  2019. self.lastX = 0
  2020. self.lastY = 0
  2021.  
  2022. self.selectedType = 0
  2023. self.oldValue = 0
  2024. self.pos = 0
  2025.  
  2026. self.LoadUI()
  2027. self.Hide()
  2028.  
  2029. def __del__(self):
  2030. ui.Window.__del__(self)
  2031.  
  2032. def LoadUI(self):
  2033. self.SetCenterPosition()
  2034. self.SetSize(477+33-250, 263+30-200+25)
  2035. self.AddFlag('float')
  2036. self.Board = ui.BoardWithTitleBar()
  2037. self.Board.SetParent(self)
  2038. self.Board.SetSize(477+33-250, 263+30-200+25)
  2039. self.Board.SetTitleName(trans(40))
  2040. self.Board.SetCloseEvent(self.Close)
  2041. self.Board.Show()
  2042. self.comp = Component()
  2043.  
  2044. ## bonus board
  2045. self.applyTextHelp = self.comp.TextLine(self.Board, trans(41), 340+25+16-250, 154 + 75-200, self.comp.RGB(255, 255, 255))
  2046. self.applyTextHelp.SetHorizontalAlignCenter()
  2047. self.applyTextHelp.Show()
  2048. self.applyText = self.comp.TextLine(self.Board, trans(42), 340+25+16-250, 230 + 15-200, self.comp.RGB(255, 154, 0))
  2049. self.applyText.SetHorizontalAlignCenter()
  2050. self.applyText.Show()
  2051.  
  2052. self.setApplyType = self.comp.Button(self.Board, trans(38), '', 340 - 60-250, 245 + 15-200, self.SetApplyType_func, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
  2053. #self.setApplyType1.SetWindowHorizontalAlignCenter()
  2054. self.setApplyType.Show()
  2055. self.setApplyValue = self.comp.Button(self.Board, trans(43), '', 340 +100-250 + 3, 245 + 15-200, self.SetApplyValue_func, 'd:/ymir work/ui/public/small_button_01.sub', 'd:/ymir work/ui/public/small_button_02.sub', 'd:/ymir work/ui/public/small_button_03.sub')
  2056. self.setApplyValue.Show()
  2057.  
  2058. self.delApplyValue = self.comp.Button(self.Board, trans(44), '', (477+33-250)/2 - 43/2, 245 + 15-200+25, self.DelApplyValue_func, 'd:/ymir work/ui/public/small_button_01.sub', 'd:/ymir work/ui/public/small_button_02.sub', 'd:/ymir work/ui/public/small_button_03.sub')
  2059. self.delApplyValue.Show()
  2060.  
  2061. self.slotbar_inputApplyValue, self.inputApplyValue = self.comp.EditLine(self.Board, '0', 340 +65-250, 245 + 15+2-200, 33, 15, 6)
  2062.  
  2063. self.inputApplyValueText = self.comp.TextLine(self.Board, trans(45), 340 +63-250, 245 + 15+4-200, self.comp.RGB(255, 255, 255))
  2064. self.inputApplyValueText.SetHorizontalAlignRight()
  2065. self.inputApplyValueText.Show()
  2066.  
  2067. ##bonus board end
  2068.  
  2069. def DelApplyValue_func(self):
  2070. self.selectedType = 0
  2071. self.oldValue = 0
  2072. self.inputApplyValue.SetText("0")
  2073. self.applyText.SetText(trans(42))
  2074. self.masterWindow.SetApply(self.pos, self.selectedType, self.oldValue)
  2075.  
  2076. def RegisterBonusType(self, id):
  2077. if id == 48 or id == 49 or id == 50:
  2078. self.HideItemsWhenNoValue()
  2079. else:
  2080. self.ShowItemsWhenNoValue()
  2081. self.selectedType = id
  2082. self.applyText.SetText(self.masterWindow.masterWindow.toolTip.AFFECT_DICT[id](self.oldValue))
  2083.  
  2084. def Open(self, pos, id = 0, value = 0):
  2085. if id <= 0:
  2086. self.applyText.SetText(trans(42))
  2087. self.ShowItemsWhenNoValue()
  2088. elif id == 48 or id == 49 or id == 50:
  2089. self.HideItemsWhenNoValue()
  2090. else:
  2091. self.ShowItemsWhenNoValue()
  2092. self.applyText.SetText(self.masterWindow.masterWindow.toolTip.AFFECT_DICT[id](value))
  2093.  
  2094. self.inputApplyValue.SetText(str(value))
  2095. self.selectedType = id
  2096. self.oldValue = value
  2097. self.applyTextHelp.SetText(posArranger(str(pos), 46))
  2098. self.pos = pos
  2099. self.Show()
  2100.  
  2101. def SetApplyType_func(self):
  2102. if self.listDialog.IsShow():
  2103. self.listDialog.Close()
  2104. else:
  2105. self.listDialog.Open()
  2106.  
  2107. def SetApplyValue_func(self):
  2108. if self.selectedType <= 0:
  2109. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(47))
  2110. return
  2111. if self.selectedType == 48 or self.selectedType == 49 or self.selectedType == 50:
  2112. self.inputApplyValue.SetText("1")
  2113. self.oldValue = 1
  2114.  
  2115. if self.oldValue == 0:
  2116. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(48))
  2117. return
  2118. if self.pos < 6:
  2119. for i in xrange(0, 5):
  2120. if self.masterWindow.bonusContainer[i][0] == self.selectedType and i != self.pos -1:
  2121. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(49))
  2122. return
  2123. else:
  2124. for i in xrange(5, 7):
  2125. if self.masterWindow.bonusContainer[i][0] == self.selectedType and i != self.pos -1:
  2126. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(49))
  2127. return
  2128. self.masterWindow.SetApply(self.pos, self.selectedType, self.oldValue)
  2129.  
  2130. def HideItemsWhenNoValue(self):
  2131. self.inputApplyValue.Hide()
  2132. self.slotbar_inputApplyValue.Hide()
  2133. self.inputApplyValueText.Hide()
  2134.  
  2135. def ShowItemsWhenNoValue(self):
  2136. self.inputApplyValue.Show()
  2137. self.slotbar_inputApplyValue.Show()
  2138. self.inputApplyValueText.Show()
  2139.  
  2140. def Close(self):
  2141. self.listDialog.Close()
  2142. self.ShowItemsWhenNoValue()
  2143. self.Hide()
  2144.  
  2145. def OnUpdate(self):
  2146. x,y = self.masterWindow.GetGlobalPosition()
  2147. if x != self.lastX or y != self.lastY:
  2148. self.SetPosition(x+ self.masterWindow.GetWidth()- self.GetWidth(), y-(263+30-200+25))
  2149. self.lastX = x
  2150. self.lastY = y
  2151.  
  2152. if self.inputApplyValue.GetText() != "" and self.selectedType > 0:
  2153. value = 0
  2154. try:
  2155. value = int(self.inputApplyValue.GetText())
  2156. except:
  2157. return
  2158. if value > self.masterWindow.masterWindow.maximumBonusValue:
  2159. value = self.masterWindow.masterWindow.maximumBonusValue
  2160. self.inputApplyValue.SetText(str(value))
  2161. if value < self.masterWindow.masterWindow.minimumBonusValue:
  2162. value = self.masterWindow.masterWindow.minimumBonusValue
  2163. self.inputApplyValue.SetText(str(value))
  2164. if self.oldValue != value:
  2165. self.applyText.SetText(self.masterWindow.masterWindow.toolTip.AFFECT_DICT[self.selectedType](value))
  2166. self.oldValue = value
  2167.  
  2168. def OnPressEscapeKey(self):
  2169. self.Close()
  2170.  
  2171. class StoneManagerWindow(ui.Window):
  2172. def __init__(self, masterWindow):
  2173. ui.Window.__init__(self, "TOP_MOST")
  2174. self.masterWindow = masterWindow
  2175. self.lastX = 0
  2176. self.lastY = 0
  2177.  
  2178. self.oldText = ""
  2179.  
  2180. self.oldStone = 0
  2181. self.pos = 0
  2182.  
  2183. self.LoadUI()
  2184. self.Hide()
  2185.  
  2186. def __del__(self):
  2187. ui.Window.__del__(self)
  2188.  
  2189. def LoadUI(self):
  2190. self.SetCenterPosition()
  2191. self.SetSize(477+33-250, 263+30-200+25)
  2192. self.AddFlag('float')
  2193. self.Board = ui.BoardWithTitleBar()
  2194. self.Board.SetParent(self)
  2195. self.Board.SetSize(477+33-250, 263+30-200+25)
  2196. self.Board.SetTitleName(trans(50))
  2197. self.Board.SetCloseEvent(self.Close)
  2198. self.Board.Show()
  2199. self.comp = Component()
  2200.  
  2201. self.stoneTextHelp = self.comp.TextLine(self.Board, trans(51), 340+25+16-250, 154 + 75-200, self.comp.RGB(255, 255, 255))
  2202. self.stoneTextHelp.SetHorizontalAlignCenter()
  2203. self.stoneTextHelp.Show()
  2204. self.stoneText = self.comp.TextLine(self.Board, trans(42), 340+25+16-250, 230 + 15-200, self.comp.RGB(255, 154, 0))
  2205. self.stoneText.SetHorizontalAlignCenter()
  2206. self.stoneText.Show()
  2207.  
  2208. self.setStone = self.comp.Button(self.Board, trans(38), '', 477+33-250-85, 245 + 15-200+25, self.SetStone_func, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
  2209. self.setStone.Show()
  2210.  
  2211. self.delStone = self.comp.Button(self.Board, trans(44), '', 340 - 60-250, 245 + 15-200+25, self.DelStone_func, 'd:/ymir work/ui/public/small_button_01.sub', 'd:/ymir work/ui/public/small_button_02.sub', 'd:/ymir work/ui/public/small_button_03.sub')
  2212. self.delStone.Show()
  2213.  
  2214. self.slotbar_inputSetStone, self.inputSetStone = self.comp.EditLine(self.Board, '', (477+33-250-200)/2, 245 + 15+2-200, 200, 15, 24)
  2215.  
  2216. def Open(self, pos, stoneVnum = 0):
  2217. self.oldStone = stoneVnum
  2218. if stoneVnum > 1:
  2219. item.SelectItem(int(stoneVnum))
  2220. self.stoneText.SetText(item.GetItemName())
  2221. else:
  2222. self.stoneText.SetText(trans(42))
  2223. self.inputSetStone.SetText("")
  2224. self.stoneTextHelp.SetText(posArranger(str(pos), 52))
  2225. self.pos = pos
  2226. self.Show()
  2227.  
  2228. def DelStone_func(self):
  2229. if self.pos < 3:
  2230. if self.masterWindow.stoneContainer[self.pos] > 1:
  2231. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(53)+posArranger(str(self.pos+1), 54))
  2232. return
  2233. self.stoneText.SetText(trans(42))
  2234. self.oldStone = 0
  2235. self.oldText = ""
  2236. self.inputSetStone.SetText("")
  2237. self.masterWindow.stoneContainer[self.pos-1] = 1
  2238. self.masterWindow.masterWindow.QuestCMD("trade.RemoveSocket#"+str(self.pos))
  2239.  
  2240. def SetStone_func(self):
  2241. mText = self.inputSetStone.GetText()
  2242. if mText == self.oldText:
  2243. return
  2244. if len(mText) < 2:
  2245. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(56))
  2246. return
  2247.  
  2248. if self.pos > 1:
  2249. if self.masterWindow.stoneContainer[self.pos-2] <= 1:
  2250. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(79)+posArranger(str(self.pos-1), 55))
  2251. return
  2252. self.oldText = mText
  2253. self.masterWindow.masterWindow.QuestCMD("trade.AppendSocket#"+ str(self.pos)+ "#"+self.masterWindow.masterWindow.replaceLUAMagicalCharacters(mText))
  2254.  
  2255. def Close(self):
  2256. self.inputSetStone.SetText("")
  2257. self.stoneText.SetText(trans(42))
  2258. self.oldText = ""
  2259. self.oldStone = 0
  2260. self.Hide()
  2261.  
  2262. def OnUpdate(self):
  2263. x,y = self.masterWindow.GetGlobalPosition()
  2264. if x != self.lastX or y != self.lastY:
  2265. self.SetPosition(x+ self.masterWindow.GetWidth()- self.GetWidth(), y+self.masterWindow.GetHeight())
  2266. self.lastX = x
  2267. self.lastY = y
  2268.  
  2269. def OnPressEscapeKey(self):
  2270. self.Close()
  2271.  
  2272. def __init__(self, masterWindow):
  2273. ui.Window.__init__(self, "TOP_MOST")
  2274. self.masterWindow = masterWindow
  2275.  
  2276. self.countCounter = False
  2277. self.oldText = ""
  2278. self.oldcount = 1
  2279. self.latestAppendSlot = 0
  2280. self.search_itemVnum = 0
  2281. self.search_slot = 1
  2282. self.search_isStackable = False
  2283. self.maxSlotNum = 7*6
  2284. self.maxSocket = 0
  2285. self.slotArray = []
  2286. self.savedSlotArray = []
  2287. for i in xrange(0, self.maxSlotNum+1):
  2288. self.slotArray.append([])
  2289. self.savedSlotArray.append([])
  2290.  
  2291. self.ClearContainers()
  2292. self.enchantMenu = self.EnchantmentsMenu(self)
  2293. self.stoneManager = self.StoneManagerWindow(self)
  2294. self.BuildWindow()
  2295. self.SetCenterPosition()
  2296. self.HideCount()
  2297. self.Hide()
  2298.  
  2299. def __del__(self):
  2300. ui.Window.__del__(self)
  2301.  
  2302. def BuildWindow(self):
  2303. self.SetCenterPosition()
  2304. self.SetSize(477+33, 263+30+40)
  2305. self.AddFlag('float')
  2306. self.AddFlag('movable')
  2307. self.Board = ui.BoardWithTitleBar()
  2308. self.Board.SetParent(self)
  2309. self.Board.SetSize(477+33, 263+30+40)
  2310. self.Board.SetTitleName(trans(57))
  2311. self.Board.SetCloseEvent(self.Close)
  2312. self.Board.Show()
  2313. self.comp = Component()
  2314.  
  2315. self.TradeToText = self.comp.TextLine(self.Board, trans(58), 50+75, 28, self.comp.RGB(255, 255, 255))
  2316. self.TradeToText.Show()
  2317. self.TradeToText.SetHorizontalAlignCenter()
  2318. self.selectText = self.comp.TextLine(self.Board, trans(59), 338 + 40, 28, self.comp.RGB(255, 255, 255))
  2319. self.selectText.Show()
  2320. self.selectText.SetHorizontalAlignCenter()
  2321.  
  2322. self.wants = ui.GridSlotWindow()
  2323. self.wants.SetParent(self.Board)
  2324. self.wants.SetPosition(10, 50)
  2325. self.wants.ArrangeSlot(1, 7, 6, 32, 32, 0, 0)
  2326. self.wants.SetSlotBaseImage("d:/ymir work/ui/public/Slot_Base.sub", 1.0, 1.0, 1.0, 1.0)
  2327. self.wants.Show()
  2328. self.wants.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectEmptySlot))
  2329. self.wants.SetUnselectItemSlotEvent(ui.__mem_func__(self.UnselectItemSlot))
  2330. self.wants.SetOverInItemEvent(ui.__mem_func__(self.OverInItemWants))
  2331. self.wants.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
  2332.  
  2333. self.preview = ui.GridSlotWindow()
  2334. self.preview.SetParent(self.Board)
  2335. self.preview.SetPosition(340+25, 50)
  2336. self.preview.ArrangeSlot(1, 1, 3, 32, 32, 0, 0)
  2337. self.preview.SetSlotBaseImage("d:/ymir work/ui/public/Slot_Base.sub", 1.0, 1.0, 1.0, 1.0)
  2338. self.preview.Show()
  2339. self.preview.SetSelectItemSlotEvent(ui.__mem_func__(self.SelectItemSlot))
  2340. self.preview.SetOverInItemEvent(ui.__mem_func__(self.OverInItemPreview))
  2341. self.preview.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
  2342.  
  2343. self.itemNameText = self.comp.TextLine(self.Board, trans(4)+":", 340+25+16, 50+32*3+8, self.comp.RGB(255, 255, 255))
  2344. self.itemNameText.SetHorizontalAlignCenter()
  2345. self.itemNameText.Show()
  2346.  
  2347. self.slotbar_findItem, self.findItem = self.comp.EditLine(self.Board, '', 340-60, 50+32*3+28, 200, 15, 24)
  2348.  
  2349. self.DoItButton = self.comp.Button(self.Board, trans(60), '', 255/2-45, 50+32*6+15+20, self.DoIt, 'd:/ymir work/ui/public/large_button_01.sub', 'd:/ymir work/ui/public/large_button_02.sub', 'd:/ymir work/ui/public/large_button_03.sub')
  2350. self.DoItButton.Show()
  2351.  
  2352. self.applySearch = self.comp.Button(self.Board, trans(61), '', 340+15, 50+32*3+28+20, self.applySearch_func, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
  2353. self.applySearch.Show()
  2354.  
  2355. self.itemCountText = self.comp.TextLine(self.Board, trans(62), 340+25+32*2+25/2, 50+32+16-15, self.comp.RGB(255, 255, 255))
  2356. self.itemCountText.SetHorizontalAlignCenter()
  2357. self.itemCountText.Show()
  2358. self.slotbar_InputCount, self.InputCount = self.comp.EditLine(self.Board, '1', 340+25+32*2, 50+32+16, 25, 15, 3)
  2359. self.InputCount.SetNumberMode()
  2360.  
  2361. self.bonusesText = self.comp.TextLine(self.Board, trans(63), 340+25+16, 50+32*3+28+20+24, self.comp.RGB(255, 255, 255))
  2362. self.bonusesText.SetHorizontalAlignCenter()
  2363. self.bonusesText.Show()
  2364.  
  2365. self.applyBut1 = self.comp.Button(self.Board, '1.', '', 340-60 - 15, 50+32*3+28+20+24+18, self.applyBut1_func, 'd:/ymir work/ui/public/small_button_01.sub', 'd:/ymir work/ui/public/small_button_02.sub', 'd:/ymir work/ui/public/small_button_03.sub')
  2366. self.applyBut1.Show()
  2367.  
  2368. self.applyBut2 = self.comp.Button(self.Board, '2.', '', 340-60+43+5 - 15, 50+32*3+28+20+24+18, self.applyBut2_func, 'd:/ymir work/ui/public/small_button_01.sub', 'd:/ymir work/ui/public/small_button_02.sub', 'd:/ymir work/ui/public/small_button_03.sub')
  2369. self.applyBut2.Show()
  2370.  
  2371. self.applyBut3 = self.comp.Button(self.Board, '3.', '', 340-60+(43+5)*2 - 15, 50+32*3+28+20+24+18, self.applyBut3_func, 'd:/ymir work/ui/public/small_button_01.sub', 'd:/ymir work/ui/public/small_button_02.sub', 'd:/ymir work/ui/public/small_button_03.sub')
  2372. self.applyBut3.Show()
  2373.  
  2374. self.applyBut4 = self.comp.Button(self.Board, '4.', '', 340-60+(43+5)*3 - 15, 50+32*3+28+20+24+18, self.applyBut4_func, 'd:/ymir work/ui/public/small_button_01.sub', 'd:/ymir work/ui/public/small_button_02.sub', 'd:/ymir work/ui/public/small_button_03.sub')
  2375. self.applyBut4.Show()
  2376.  
  2377. self.applyBut5 = self.comp.Button(self.Board, '5.', '', 340-60+(43+5)*4 - 15, 50+32*3+28+20+24+18, self.applyBut5_func, 'd:/ymir work/ui/public/small_button_01.sub', 'd:/ymir work/ui/public/small_button_02.sub', 'd:/ymir work/ui/public/small_button_03.sub')
  2378. self.applyBut5.Show()
  2379.  
  2380. self.applyBut6 = self.comp.Button(self.Board, '6.', '', 340-60+(43+5)*2 - 15 -24, 50+32*3+28+20+24+18+25, self.applyBut6_func, 'd:/ymir work/ui/public/small_button_01.sub', 'd:/ymir work/ui/public/small_button_02.sub', 'd:/ymir work/ui/public/small_button_03.sub')
  2381. self.applyBut6.Show()
  2382.  
  2383. self.applyBut7 = self.comp.Button(self.Board, '7.', '', 340-60+(43+5)*2 - 15 -24 + 43+5, 50+32*3+28+20+24+18+25, self.applyBut7_func, 'd:/ymir work/ui/public/small_button_01.sub', 'd:/ymir work/ui/public/small_button_02.sub', 'd:/ymir work/ui/public/small_button_03.sub')
  2384. self.applyBut7.Show()
  2385.  
  2386. self.HideCount()
  2387. self.HideApplyBonus()
  2388.  
  2389. self.stonesText = self.comp.TextLine(self.Board, trans(64), 340+25+16, 50+32*3+28+20+24+18+25 + 18+2, self.comp.RGB(255, 255, 255))
  2390. self.stonesText.SetHorizontalAlignCenter()
  2391. self.stonesText.Show()
  2392.  
  2393. self.stoneBut1 = self.comp.Button(self.Board, '1.', '', 340-60+(43+5)*2 - 15 - 43 - 15, 50+32*3+28+20+24+18+25 + 18*2+2, self.stoneBut1_func, 'd:/ymir work/ui/public/small_button_01.sub', 'd:/ymir work/ui/public/small_button_02.sub', 'd:/ymir work/ui/public/small_button_03.sub')
  2394. self.stoneBut1.Show()
  2395.  
  2396. self.stoneBut2 = self.comp.Button(self.Board, '2.', '', 340-60+(43+5)*2 - 15, 50+32*3+28+20+24+18+25 + 18*2+2, self.stoneBut2_func, 'd:/ymir work/ui/public/small_button_01.sub', 'd:/ymir work/ui/public/small_button_02.sub', 'd:/ymir work/ui/public/small_button_03.sub')
  2397. self.stoneBut2.Show()
  2398.  
  2399. self.stoneBut3 = self.comp.Button(self.Board, '3.', '', 340-60+(43+5)*2 +43, 50+32*3+28+20+24+18+25 + 18*2+2, self.stoneBut3_func, 'd:/ymir work/ui/public/small_button_01.sub', 'd:/ymir work/ui/public/small_button_02.sub', 'd:/ymir work/ui/public/small_button_03.sub')
  2400. self.stoneBut3.Show()
  2401. #self.ExpandWhenAddOn()
  2402.  
  2403. def stoneBut1_func(self):
  2404. self.stoneManager.Open(1, self.stoneContainer[0])
  2405.  
  2406. def stoneBut2_func(self):
  2407. self.stoneManager.Open(2, self.stoneContainer[1])
  2408.  
  2409. def stoneBut3_func(self):
  2410. self.stoneManager.Open(3, self.stoneContainer[2])
  2411.  
  2412. def ClearContainers(self):
  2413. self.bonusContainer = []
  2414. self.stoneContainer = []
  2415. for i in xrange(0, self.masterWindow.maximumApplyNum):
  2416. self.bonusContainer.append([])
  2417. self.bonusContainer[i].append(0)
  2418. self.bonusContainer[i].append(0)
  2419.  
  2420. for i in xrange(0, self.masterWindow.maximumStoneNum):
  2421. self.stoneContainer.append(0)
  2422.  
  2423. def SetApply(self, pos, applyType, applyValue):
  2424. self.bonusContainer[pos-1][0] = applyType
  2425. self.bonusContainer[pos-1][1] = applyValue
  2426.  
  2427. def applyBut1_func(self):
  2428. self.enchantMenu.Open(1, self.bonusContainer[0][0], self.bonusContainer[0][1])
  2429.  
  2430. def applyBut2_func(self):
  2431. self.enchantMenu.Open(2, self.bonusContainer[1][0], self.bonusContainer[1][1])
  2432.  
  2433. def applyBut3_func(self):
  2434. self.enchantMenu.Open(3, self.bonusContainer[2][0], self.bonusContainer[2][1])
  2435.  
  2436. def applyBut4_func(self):
  2437. self.enchantMenu.Open(4, self.bonusContainer[3][0], self.bonusContainer[3][1])
  2438.  
  2439. def applyBut5_func(self):
  2440. self.enchantMenu.Open(5, self.bonusContainer[4][0], self.bonusContainer[4][1])
  2441.  
  2442. def applyBut6_func(self):
  2443. self.enchantMenu.Open(6, self.bonusContainer[5][0], self.bonusContainer[5][1])
  2444.  
  2445. def applyBut7_func(self):
  2446. self.enchantMenu.Open(7, self.bonusContainer[6][0], self.bonusContainer[6][1])
  2447.  
  2448. def OverOutItem(self):
  2449. self.masterWindow.toolTip.Hide()
  2450.  
  2451. def OverInItemPreview(self, slotNum):
  2452. self.masterWindow.toolTip.ClearToolTip()
  2453. self.masterWindow.toolTip.AddItemData(self.search_itemVnum,self.stoneContainer,self.bonusContainer)
  2454.  
  2455. def OverInItemWants(self, slotNum):
  2456. self.masterWindow.toolTip.ClearToolTip()
  2457. if len(self.slotArray[slotNum]) > 0:
  2458. self.masterWindow.toolTip.AddItemData(self.slotArray[slotNum][0],self.slotArray[slotNum][2],self.slotArray[slotNum][3])
  2459.  
  2460. def UnselectItemSlot(self, selectedSlotPos):
  2461. self.wants.ClearSlot(selectedSlotPos)
  2462. self.wants.RefreshSlot()
  2463. self.slotArray[selectedSlotPos] = []
  2464. self.masterWindow.QuestCMD("trade.RemoveFromTempSell#" + str(selectedSlotPos))
  2465.  
  2466. def ApplySocket(self, pos, vnum):
  2467. self.stoneContainer[pos-1] = vnum
  2468. self.stoneManager.Open(pos, vnum)
  2469.  
  2470. def Open(self):
  2471. self.AppendSavedSlots()
  2472. self.Show()
  2473.  
  2474. def SelectEmptySlot(self, itemSlotIndex):
  2475. if mouseModule.mouseController.isAttached():
  2476. attachedSlotType = mouseModule.mouseController.GetAttachedType()
  2477. if attachedSlotType == 777:
  2478. self.latestAppendSlot = itemSlotIndex
  2479. if not self.search_isStackable:
  2480. self.oldcount = 1
  2481. self.masterWindow.QuestCMD("trade.ApplyWantsItem#"+str(itemSlotIndex)+"#"+str(self.search_itemVnum)+"#"+str(self.oldcount)+"#"+str(self.bonusContainer[0][0])+"#"+str(self.bonusContainer[0][1])+"#"+str(self.bonusContainer[1][0])+"#"+str(self.bonusContainer[1][1])+"#"+str(self.bonusContainer[2][0])+"#"+str(self.bonusContainer[2][1])+"#"+str(self.bonusContainer[3][0])+"#"+str(self.bonusContainer[3][1])+"#"+str(self.bonusContainer[4][0])+"#"+str(self.bonusContainer[4][1])+"#"+str(self.bonusContainer[5][0])+"#"+str(self.bonusContainer[5][1])+"#"+str(self.bonusContainer[6][0])+"#"+str(self.bonusContainer[6][1]))
  2482.  
  2483. mouseModule.mouseController.DeattachObject()
  2484.  
  2485. def SelectItemSlot(self, itemSlotIndex):
  2486.  
  2487. #itemSlotIndex = self.__InventoryLocalSlotPosToGlobalSlotPos(itemSlotIndex)
  2488.  
  2489. if mouseModule.mouseController.isAttached():
  2490. mouseModule.mouseController.DeattachObject()
  2491.  
  2492. else:
  2493. count = self.oldcount
  2494. if not self.InputCount.IsShow():
  2495. count = 1
  2496. mouseModule.mouseController.AttachObject(self, 777, itemSlotIndex, self.search_itemVnum, count)
  2497. self.wants.SetUseMode(False)
  2498.  
  2499. snd.PlaySound("sound/ui/pick.wav")
  2500.  
  2501. def RecvAppendItemCommand(self):
  2502. if self.latestAppendSlot <= 0:
  2503. return
  2504.  
  2505. count = 0
  2506. if self.oldcount > 1:
  2507. count = self.oldcount
  2508.  
  2509. self.wants.SetItemSlot(self.latestAppendSlot, self.search_itemVnum, count)
  2510. self.wants.RefreshSlot()
  2511. tempContainer1 = []
  2512. for i in xrange(0, len(self.stoneContainer)):
  2513. tempContainer1.append(self.stoneContainer[i])
  2514.  
  2515. tempContainer2 = []
  2516. for i in xrange(0, len(self.bonusContainer)):
  2517. tempContainer2.append([])
  2518. tempContainer2[i].append(self.bonusContainer[i][0])
  2519. tempContainer2[i].append(self.bonusContainer[i][1])
  2520. self.slotArray[self.latestAppendSlot] = [self.search_itemVnum, self.oldcount, tempContainer1, tempContainer2]
  2521. self.latestAppendSlot = 0
  2522.  
  2523. def DoIt(self):
  2524. self.Close(1)
  2525.  
  2526. def OnPressEscapeKey(self):
  2527. self.Close()
  2528.  
  2529. def OnUpdate(self):
  2530. if not self.masterWindow.IsShow():
  2531. self.Close(2)
  2532.  
  2533. if self.InputCount.IsShow() and self.InputCount.GetText() != "":
  2534. count = int(self.InputCount.GetText())
  2535. if count > 200:
  2536. self.InputCount.SetText("200")
  2537.  
  2538. if self.oldcount != count:
  2539. self.oldcount = count
  2540. if self.countCounter and self.search_itemVnum != 0:
  2541. self.preview.SetSlotCount(self.search_slot, count)
  2542. self.preview.RefreshSlot()
  2543.  
  2544. def applySearch_func(self):
  2545. if self.oldText == self.findItem.GetText():
  2546. return
  2547.  
  2548. self.oldText = self.findItem.GetText()
  2549. if self.findItem.GetText() != "":
  2550. if len(self.findItem.GetText()) < 2:
  2551. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(65))
  2552. return
  2553. self.masterWindow.QuestCMD("trade.FindItemAndPut#"+str(self.findItem.GetText())+"#1")
  2554. else:
  2555. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(66))
  2556.  
  2557. def Close(self, saveState = 0):
  2558. self.preview.ClearSlot(1)
  2559. self.preview.ClearSlot(2)
  2560. self.preview.ClearSlot(3)
  2561. self.preview.RefreshSlot()
  2562. self.findItem.SetText("")
  2563. self.oldText = ""
  2564. self.ClearContainers()
  2565. self.HideCount()
  2566. self.HideApplyBonus()
  2567. self.HideStoneBonus()
  2568. if saveState == 0:
  2569. self.ClearWantsSlots()
  2570. self.masterWindow.QuestCMD("trade.RestoreFromSavedSell")
  2571. elif saveState == 1:
  2572. self.SaveWantsSlots()
  2573. elif saveState == 2:
  2574. self.ClearAllSlots()
  2575. elif saveState == 3:
  2576. self.ClearWantsSlots()
  2577. self.enchantMenu.Close()
  2578. self.stoneManager.Close()
  2579. self.Hide()
  2580.  
  2581. def ClearAllSlots(self):
  2582. for i in xrange(1, self.maxSlotNum+1):
  2583. self.wants.ClearSlot(i)
  2584. self.slotArray[i] = []
  2585. self.savedSlotArray[i] = []
  2586. self.wants.RefreshSlot()
  2587.  
  2588. def SaveWantsSlots(self):
  2589. for i in xrange(1, self.maxSlotNum+1):
  2590. self.wants.ClearSlot(i)
  2591. self.savedSlotArray[i] = []
  2592. if len(self.slotArray[i]) > 0:
  2593. for x in xrange(0, len(self.slotArray[i])):
  2594. self.savedSlotArray[i].append(self.slotArray[i][x])
  2595. #self.savedSlotArray[i] = self.slotArray[i]
  2596. self.slotArray[i] = []
  2597. self.wants.RefreshSlot()
  2598. self.masterWindow.QuestCMD("trade.SaveFromTempSlotSell")
  2599.  
  2600. def ClearWantsSlots(self):
  2601. for i in xrange(1, self.maxSlotNum+1):
  2602. self.wants.ClearSlot(i)
  2603. self.slotArray[i] = []
  2604. self.wants.RefreshSlot()
  2605.  
  2606. def AppendSavedSlots(self):
  2607. for i in xrange(1, self.maxSlotNum+1):
  2608. self.slotArray[i] = []
  2609. if len(self.savedSlotArray[i]) > 0:
  2610. count = 0
  2611. if self.savedSlotArray[i][1] > 1:
  2612. count = self.savedSlotArray[i][1]
  2613. self.wants.SetItemSlot(i, self.savedSlotArray[i][0], count)
  2614. for x in xrange(0, len(self.savedSlotArray[i])):
  2615. self.slotArray[i].append(self.savedSlotArray[i][x])
  2616. self.wants.RefreshSlot()
  2617.  
  2618. def HideCount(self):
  2619. self.countCounter = False
  2620. self.itemCountText.Hide()
  2621. self.slotbar_InputCount.Hide()
  2622. self.InputCount.Hide()
  2623.  
  2624. def ShowCount(self):
  2625. self.countCounter = True
  2626. self.itemCountText.Show()
  2627. self.slotbar_InputCount.Show()
  2628. self.InputCount.Show()
  2629.  
  2630. def ExpandWhenAddOn(self):
  2631. self.SetSize(473+32, 263+30 + 15)
  2632. self.Board.SetSize(473+32, 263+30 + 15)
  2633. self.SetCenterPosition()
  2634.  
  2635. def HideApplyBonus(self):
  2636. self.bonusesText.Hide()
  2637. self.applyBut1.Hide()
  2638. self.applyBut2.Hide()
  2639. self.applyBut3.Hide()
  2640. self.applyBut4.Hide()
  2641. self.applyBut5.Hide()
  2642. self.applyBut6.Hide()
  2643. self.applyBut7.Hide()
  2644.  
  2645. def HideStoneBonus(self):
  2646. self.stonesText.Hide()
  2647. self.stoneBut1.Hide()
  2648. self.stoneBut2.Hide()
  2649. self.stoneBut3.Hide()
  2650.  
  2651. def ShowStoneBonus(self):
  2652. self.HideStoneBonus()
  2653. self.stonesText.Show()
  2654. if self.maxSocket >= 1:
  2655. self.stoneBut1.Show()
  2656. if self.maxSocket >= 2:
  2657. self.stoneBut2.Show()
  2658. if self.maxSocket >= 3:
  2659. self.stoneBut3.Show()
  2660.  
  2661. def ShowApplyBonus(self):
  2662. self.bonusesText.Show()
  2663. self.applyBut1.Show()
  2664. self.applyBut2.Show()
  2665. self.applyBut3.Show()
  2666. self.applyBut4.Show()
  2667. self.applyBut5.Show()
  2668. self.applyBut6.Show()
  2669. self.applyBut7.Show()
  2670.  
  2671. def SetSearchSlots(self, itemVnum, slot, isStackable, addOnType, maxSocket):
  2672. self.ClearContainers()
  2673. self.enchantMenu.Close()
  2674. self.stoneManager.Close()
  2675. self.maxSocket = maxSocket
  2676. if addOnType == 0:
  2677. self.HideApplyBonus()
  2678. self.HideStoneBonus()
  2679. elif addOnType == 1 or addOnType == 3:
  2680. self.ShowApplyBonus()
  2681. self.HideStoneBonus()
  2682. else:
  2683. for i in xrange(0, maxSocket):
  2684. self.stoneContainer[i] = 1
  2685. self.ShowApplyBonus()
  2686. self.ShowStoneBonus()
  2687. count = 0
  2688. if isStackable:
  2689. count = self.oldcount
  2690. self.ShowCount()
  2691. else:
  2692. self.HideCount()
  2693.  
  2694. self.search_itemVnum = int(itemVnum)
  2695. self.search_slot = int(slot)
  2696. self.search_isStackable = isStackable
  2697. self.preview.ClearSlot(1)
  2698. self.preview.ClearSlot(2)
  2699. self.preview.ClearSlot(3)
  2700. self.preview.SetItemSlot(int(slot), int(itemVnum), count)
  2701. self.preview.RefreshSlot()
  2702.  
  2703. class SearchBoardDialog(ui.Window):
  2704. def __init__(self, masterWindow):
  2705. ui.Window.__init__(self, "TOP_MOST")
  2706. self.masterWindow = masterWindow
  2707. self.loadDialog()
  2708. self.SetCenterPosition()
  2709. self.Close()
  2710.  
  2711. def __del__(self):
  2712. ui.Window.__del__(self)
  2713.  
  2714. def loadDialog(self):
  2715. self.SetCenterPosition()
  2716. self.SetSize(509, 100)
  2717. self.AddFlag('float')
  2718. self.AddFlag('movable')
  2719. self.Board = ui.BoardWithTitleBar()
  2720. self.Board.SetParent(self)
  2721. self.Board.SetSize(509, 100)
  2722. self.Board.SetTitleName(trans(67))
  2723. self.Board.SetCloseEvent(self.Close)
  2724. self.Board.Show()
  2725. self.comp = Component()
  2726.  
  2727. self.BFSearch = self.comp.Button(self.Board, trans(68), '', 294, 56, self.BFSearch_func, 'd:/ymir work/ui/public/large_button_01.sub', 'd:/ymir work/ui/public/large_button_02.sub', 'd:/ymir work/ui/public/large_button_03.sub')
  2728. self.slotbar_IFOwner, self.IFOwner = self.comp.EditLine(self.Board, '', 57, 35, 70, 15, 12)
  2729. self.slotbar_IFItem, self.IFItem = self.comp.EditLine(self.Board, '', 214, 34, 260, 15, 50)
  2730. self.FOwner = self.comp.TextLine(self.Board, trans(69), 24, 36, self.comp.RGB(255, 255, 255))
  2731. self.FItem = self.comp.TextLine(self.Board, trans(4)+":", 152, 36, self.comp.RGB(255, 255, 255))
  2732. self.FTip = self.comp.TextLine(self.Board, trans(70), 34, 57, self.comp.RGB(255, 255, 255))
  2733.  
  2734. self.BFSearch.Show()
  2735. self.FOwner.Show()
  2736. self.FItem.Show()
  2737. self.FTip.Show()
  2738.  
  2739. def OnPressEscapeKey(self):
  2740. self.Close()
  2741.  
  2742. def Close(self):
  2743. self.Hide()
  2744.  
  2745. def OnUpdate(self):
  2746. if not self.masterWindow.IsShow():
  2747. self.Close()
  2748.  
  2749. def BFSearch_func(self):
  2750. self.masterWindow.HideItems()
  2751. text = str(self.IFItem.GetText())
  2752.  
  2753. self.masterWindow.QuestCMD("SEARCH#"+self.IFOwner.GetText().replace("#", "")+"#"+self.masterWindow.replaceLUAMagicalCharacters(text)+"#1")
  2754. self.Close()
  2755.  
  2756. class SelectItemCountBoard(ui.Window):
  2757. def __init__(self, masterWindow):
  2758. ui.Window.__init__(self, "TOP_MOST")
  2759. self.masterWindow = masterWindow
  2760. self.isTradeItem = False
  2761. self.loadDialog()
  2762. self.SetCenterPosition()
  2763. self.Close()
  2764.  
  2765. def __del__(self):
  2766. ui.Window.__del__(self)
  2767.  
  2768. def loadDialog(self):
  2769. self.SetCenterPosition()
  2770. self.SetSize(509, 100)
  2771. self.AddFlag('float')
  2772. self.AddFlag('movable')
  2773. self.ICBoard = ui.Board()
  2774. self.ICBoard.SetParent(self)
  2775. self.ICBoard.SetSize(300, 112)
  2776. self.ICBoard.AddFlag('attach')
  2777. self.ICBoard.Show()
  2778. self.comp = Component()
  2779.  
  2780. self.BuyButton = self.comp.Button(self.ICBoard, trans(71), '', 242, 80, self.BuyButton_func, 'd:/ymir work/ui/public/small_button_01.sub', 'd:/ymir work/ui/public/small_button_02.sub', 'd:/ymir work/ui/public/small_button_03.sub')
  2781. self.CloseB = self.comp.Button(self.ICBoard, '', '', 279, 6, self.Close, 'd:/ymir work/ui/public/close_button_01.sub', 'd:/ymir work/ui/public/close_button_02.sub', 'd:/ymir work/ui/public/close_button_03.sub')
  2782. self.slotbar_ImputCount, self.ImputCount = self.comp.EditLine(self.ICBoard, '', 197, 82, 25, 15, 3)
  2783. self.TextTipB = self.comp.TextLine(self.ICBoard, trans(72), 86, 9, self.comp.RGB(255, 255, 255))
  2784. self.CCount = self.comp.TextLine(self.ICBoard, trans(73), 16, 41, self.comp.RGB(255, 255, 255))
  2785. self.CCountper = self.comp.TextLine(self.ICBoard, '0/db', 62, 41, self.comp.RGB(255, 255, 255))
  2786. self.ToBuyp = self.comp.TextLine(self.ICBoard, '0', 207, 42, self.comp.RGB(255, 255, 255))
  2787. self.ToBuy = self.comp.TextLine(self.ICBoard, trans(74), 142, 40, self.comp.RGB(255, 255, 255))
  2788. self.SliderBarC = self.comp.SliderBar(self.ICBoard, 0.0, self.SliderBar_func, 14, 86)
  2789. self.BuyButton.Show()
  2790. self.CloseB.Show()
  2791. self.TextTipB.Show()
  2792. self.CCount.Show()
  2793. self.CCountper.Show()
  2794. self.ToBuyp.Show()
  2795. self.ToBuy.Show()
  2796. self.ImputCount.SetNumberMode()
  2797.  
  2798. def OnPressEscapeKey(self):
  2799. self.Close()
  2800.  
  2801. def Close(self):
  2802. self.Hide()
  2803.  
  2804. def OnUpdate(self):
  2805. if not self.masterWindow.IsShow():
  2806. self.Close()
  2807.  
  2808. if self.isTradeItem:
  2809. if self.masterWindow.ictype == 1:
  2810. fix = " "+trans(22)
  2811. else:
  2812. fix = " "+trans(10)
  2813. self.SliderBarC.SetSliderPos(1.0)
  2814. number = int(self.SliderBarC.GetSliderPos() * self.masterWindow.icmaxcount) * self.masterWindow.icprice
  2815. self.ToBuyp.SetText(str(self.masterWindow.NumberToMoneyString(long(number), 1)+fix))
  2816. self.ImputCount.SetText(str(self.masterWindow.icmaxcount))
  2817. return
  2818.  
  2819. if self.masterWindow.oldstep != self.ImputCount.GetText():
  2820. fix = ""
  2821. if self.masterWindow.ictype == 1:
  2822. fix = " "+trans(22)
  2823. else:
  2824. fix = " "+trans(10)
  2825. if self.ImputCount.GetText() == "" or int(self.ImputCount.GetText()) == 0:
  2826. self.SliderBarC.SetSliderPos((0.0) / self.masterWindow.icmaxcount)
  2827. self.masterWindow.oldstep = str(self.SliderBarC.GetSliderPos())
  2828. self.ToBuyp.SetText("0"+fix)
  2829. else:
  2830. self.SliderBarC.SetSliderPos((0.0+int(self.ImputCount.GetText())) / self.masterWindow.icmaxcount)
  2831. self.masterWindow.oldstep = str(int(self.SliderBarC.GetSliderPos()*self.masterWindow.icmaxcount))
  2832. number = int(self.SliderBarC.GetSliderPos() * self.masterWindow.icmaxcount) * self.masterWindow.icprice
  2833. self.ToBuyp.SetText(str(self.masterWindow.NumberToMoneyString(long(number), 1)+fix))
  2834.  
  2835. def BuyButton_func(self):
  2836. if self.ImputCount.GetText() == "" or int(self.ImputCount.GetText()) == 0:
  2837. pass
  2838. else:
  2839. if self.masterWindow.ictype == 1:
  2840. if int(self.ImputCount.GetText())*self.masterWindow.icprice > self.masterWindow.currgold:
  2841. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(24))
  2842. else:
  2843. self.masterWindow.QuestCMD("BUYITEM#"+str(self.masterWindow.icid)+"#GOLD#"+str(self.masterWindow.page)+"#"+str(self.masterWindow.icslot)+"#"+self.ImputCount.GetText()+"#"+str(self.masterWindow.currgold)+"#"+self.masterWindow.oldselected)
  2844. else:
  2845. if int(self.ImputCount.GetText())*self.masterWindow.icprice > self.masterWindow.currse:
  2846. chat.AppendChat(chat.CHAT_TYPE_INFO, trans(23))
  2847. else:
  2848. self.masterWindow.QuestCMD("BUYITEM#"+str(self.masterWindow.icid)+"#CASH#"+str(self.masterWindow.page)+"#"+str(self.masterWindow.icslot)+"#"+self.ImputCount.GetText()+"#"+str(self.masterWindow.currse)+"#"+self.masterWindow.oldselected)
  2849.  
  2850. def SliderBar_func(self):
  2851. fix = ""
  2852. if self.masterWindow.ictype == 1:
  2853. fix = " "+trans(22)
  2854. else:
  2855. fix = " "+trans(10)
  2856. self.masterWindow.oldstep = str(int(self.SliderBarC.GetSliderPos()*self.masterWindow.icmaxcount))
  2857. self.ImputCount.SetText(str(int(self.SliderBarC.GetSliderPos()*self.masterWindow.icmaxcount)))
  2858. self.ToBuyp.SetText(str(self.masterWindow.NumberToMoneyString((int(self.SliderBarC.GetSliderPos()*self.masterWindow.icmaxcount)*self.masterWindow.icprice), 1)+fix))
  2859.  
  2860. class GetTradeItemDialog(ui.Window):
  2861. def __init__(self, masterWindow):
  2862. ui.Window.__init__(self, "TOP_MOST")
  2863. self.maxSlotNum = 7*6
  2864. self.itemID = 0
  2865. self.page = 0
  2866. self.slot = 0
  2867. self.isPreview = False
  2868. self.masterWindow = masterWindow
  2869. self.BuildWindow()
  2870. self.SetCenterPosition()
  2871. self.Close()
  2872.  
  2873. def __del__(self):
  2874. ui.Window.__del__(self)
  2875.  
  2876. def BuildWindow(self):
  2877. self.SetCenterPosition()
  2878. self.SetSize((473+32)/2 - 7, 263 - 8)
  2879. self.AddFlag('float')
  2880. self.AddFlag('movable')
  2881. self.Board = ui.BoardWithTitleBar()
  2882. self.Board.SetParent(self)
  2883. self.Board.SetSize((473+32)/2 - 7, 263 - 8)
  2884. self.Board.SetTitleName(trans(76))
  2885. self.Board.SetCloseEvent(self.Close)
  2886. self.Board.Show()
  2887. self.comp = Component()
  2888.  
  2889. self.TradeToText = self.comp.TextLine(self.Board, trans(77), 94+30, 28, self.comp.RGB(255, 255, 255))
  2890. self.TradeToText.SetHorizontalAlignCenter()
  2891. self.TradeToText.Show()
  2892.  
  2893. self.wants = ui.GridSlotWindow()
  2894. self.wants.SetParent(self.Board)
  2895. self.wants.SetPosition(10, 50)
  2896. self.wants.ArrangeSlot(1, 7, 6, 32, 32, 0, 0)
  2897. self.wants.SetSlotBaseImage("d:/ymir work/ui/public/Slot_Base.sub", 1.0, 1.0, 1.0, 1.0)
  2898. self.wants.Show()
  2899.  
  2900. self.wants.SetOverInItemEvent(ui.__mem_func__(self.OverInItemWants))
  2901. self.wants.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
  2902. self.wants.SetUnselectItemSlotEvent(ui.__mem_func__(self.UnselectItemSlot))
  2903.  
  2904. def OnPressEscapeKey(self):
  2905. self.Close()
  2906.  
  2907. def OnUpdate(self):
  2908. if not self.masterWindow.IsShow():
  2909. self.Close()
  2910.  
  2911. def Open(self, itemID, page, slot, isPreview):
  2912. self.itemID = itemID
  2913. self.page = page
  2914. self.slot = slot
  2915. self.isPreview = isPreview
  2916. if isPreview:
  2917. self.TradeToText.Hide()
  2918. self.Board.SetTitleName(trans(78))
  2919. else:
  2920. self.TradeToText.Show()
  2921. self.Board.SetTitleName(trans(76))
  2922. self.ClearAllSlots()
  2923. self.Show()
  2924.  
  2925. def Close(self):
  2926. self.ClearAllSlots()
  2927. self.Hide()
  2928.  
  2929. def ClearAllSlots(self):
  2930. self.slotArray = []
  2931. for i in xrange(1, self.maxSlotNum+1):
  2932. self.wants.ClearSlot(i)
  2933. self.slotArray.append([])
  2934. self.slotArray.append([])
  2935. self.wants.RefreshSlot()
  2936.  
  2937. def OverInItemWants(self, slotNum):
  2938. self.masterWindow.toolTip.ClearToolTip()
  2939. if len(self.slotArray[slotNum]) > 0:
  2940. self.masterWindow.toolTip.AddItemData(self.slotArray[slotNum][0],self.slotArray[slotNum][2],self.slotArray[slotNum][3])
  2941.  
  2942. def OverOutItem(self):
  2943. self.masterWindow.toolTip.Hide()
  2944.  
  2945. def UnselectItemSlot(self, itemPos):
  2946. if self.isPreview:
  2947. return
  2948. self.wants.ClearSlot(itemPos)
  2949. self.wants.RefreshSlot()
  2950. self.slotArray[itemPos] = []
  2951. self.masterWindow.QuestCMD("trade.ClaimTradeItem#"+str(self.itemID)+"#"+str(self.page)+"#"+str(self.slot)+"#"+str(itemPos))
  2952.  
  2953. def AppendItem(self, pos, vnum, count, socketContainer, attrContainer):
  2954. if count <= 1:
  2955. count = 0
  2956. self.wants.SetItemSlot(pos, vnum, count)
  2957. self.wants.RefreshSlot()
  2958.  
  2959. self.slotArray[pos].append(vnum)
  2960. self.slotArray[pos].append(count)
  2961. self.slotArray[pos].append(socketContainer)
  2962. self.slotArray[pos].append(attrContainer)
  2963.  
  2964. class LanguageSelector(ui.Window):
  2965. def __init__(self, masterWindow):
  2966. ui.Window.__init__(self, "TOP_MOST")
  2967. self.masterWindow = masterWindow
  2968. self.BuildWindow()
  2969. self.SetCenterPosition()
  2970. self.Close()
  2971.  
  2972. def __del__(self):
  2973. ui.Window.__del__(self)
  2974.  
  2975. def BuildWindow(self):
  2976. self.SetCenterPosition()
  2977. self.SetSize(200, 305)
  2978. self.AddFlag('float')
  2979. self.AddFlag('movable')
  2980. self.Board = ui.BoardWithTitleBar()
  2981. self.Board.SetParent(self)
  2982. self.Board.SetSize(200, 305)
  2983. self.Board.SetTitleName(trans(80))
  2984. self.Board.SetCloseEvent(self.Close)
  2985. self.Board.Show()
  2986. self.comp = Component()
  2987.  
  2988. self.bar_List, self.list_List = self.comp.ListBoxEx(self.Board, 16, 32, 200, 235)
  2989. for i in igshop_lang.langList:
  2990. self.list_List.InsertItem(igshop_lang.langList.index(i)+1, i)
  2991.  
  2992. self.selectLangBut = self.comp.Button(self.Board, trans(38), '', 100-28, 235 + 32+5, self.selectLang, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
  2993. self.selectLangBut.Show()
  2994.  
  2995. def selectLang(self):
  2996. SelectedIndex = self.list_List.GetSelectedItemText()
  2997. if SelectedIndex == "":
  2998. return
  2999. if igshop_lang.langList.index(SelectedIndex) != self.masterWindow.lang:
  3000. self.masterWindow.Close()
  3001. self.masterWindow.QuestCMD("ChangeLang#"+str(igshop_lang.langList.index(SelectedIndex)))
  3002.  
  3003. def OnPressEscapeKey(self):
  3004. self.Close()
  3005.  
  3006. def OnUpdate(self):
  3007. if not self.masterWindow.IsShow():
  3008. self.Close()
  3009.  
  3010. def Open(self):
  3011. self.Show()
  3012.  
  3013. def Close(self):
  3014. self.Hide()
  3015.  
  3016.  
Add Comment
Please, Sign In to add comment