Guest User

Untitled

a guest
Feb 19th, 2018
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 51.21 KB | None | 0 0
  1. import ui
  2. import player
  3. import mouseModule
  4. import net
  5. import app
  6. import snd
  7. import item
  8. import player
  9. import chat
  10. import grp
  11. import uiScriptLocale
  12. import uiRefine
  13. import uiAttachMetin
  14. import uiPickMoney
  15. import uiCommon
  16. import uiPrivateShopBuilder
  17. import localeInfo
  18. import constInfo
  19. import ime
  20. import wndMgr
  21. import uisupportsystem
  22. import background
  23.  
  24. import uiSoulStone
  25.  
  26. ITEM_MALL_BUTTON_ENABLE = True
  27.  
  28. if app.ENABLE_SASH_SYSTEM:
  29. import sash
  30.  
  31. if app.ENABLE_CHANGELOOK_SYSTEM:
  32. import changelook
  33. ITEM_FLAG_APPLICABLE = 1 << 14
  34.  
  35. class CostumeWindow(ui.ScriptWindow):
  36.  
  37. def __init__(self, wndInventory):
  38. import exception
  39.  
  40. if not app.ENABLE_COSTUME_SYSTEM:
  41. exception.Abort("What do you do?")
  42. return
  43.  
  44. if not wndInventory:
  45. exception.Abort("wndInventory parameter must be set to InventoryWindow")
  46. return
  47.  
  48. ui.ScriptWindow.__init__(self)
  49.  
  50. self.isLoaded = 0
  51. self.wndInventory = wndInventory;
  52.  
  53. self.__LoadWindow()
  54.  
  55. def __del__(self):
  56. ui.ScriptWindow.__del__(self)
  57.  
  58. def Show(self):
  59. self.__LoadWindow()
  60. self.RefreshCostumeSlot()
  61.  
  62. ui.ScriptWindow.Show(self)
  63.  
  64. def Close(self):
  65. self.Hide()
  66.  
  67. def __LoadWindow(self):
  68. if self.isLoaded == 1:
  69. return
  70.  
  71. self.isLoaded = 1
  72.  
  73. try:
  74. pyScrLoader = ui.PythonScriptLoader()
  75. if app.ENABLE_EFFECT_SYSTEM:
  76. pyScrLoader.LoadScriptFile(self, "UIScript/costumewindow_effect_slot.py")
  77. else:
  78. pyScrLoader.LoadScriptFile(self, "UIScript/costumewindow.py")
  79. except:
  80. import exception
  81. exception.Abort("CostumeWindow.LoadWindow.LoadObject")
  82.  
  83. try:
  84. wndEquip = self.GetChild("CostumeSlot")
  85. self.GetChild("TitleBar").SetCloseEvent(ui.__mem_func__(self.Close))
  86.  
  87. except:
  88. import exception
  89. exception.Abort("CostumeWindow.LoadWindow.BindObject")
  90.  
  91. ## Equipment
  92. wndEquip.SetOverInItemEvent(ui.__mem_func__(self.wndInventory.OverInItem))
  93. wndEquip.SetOverOutItemEvent(ui.__mem_func__(self.wndInventory.OverOutItem))
  94. wndEquip.SetUnselectItemSlotEvent(ui.__mem_func__(self.wndInventory.UseItemSlot))
  95. wndEquip.SetUseSlotEvent(ui.__mem_func__(self.wndInventory.UseItemSlot))
  96. wndEquip.SetSelectEmptySlotEvent(ui.__mem_func__(self.wndInventory.SelectEmptySlot))
  97. wndEquip.SetSelectItemSlotEvent(ui.__mem_func__(self.wndInventory.SelectItemSlot))
  98.  
  99. self.wndEquip = wndEquip
  100.  
  101. def RefreshCostumeSlot(self):
  102. getItemVNum=player.GetItemIndex
  103. for i in xrange(item.COSTUME_SLOT_COUNT):
  104. slotNumber = item.COSTUME_SLOT_START + i
  105. self.wndEquip.SetItemSlot(slotNumber, getItemVNum(slotNumber), 0)
  106. if app.ENABLE_CHANGELOOK_SYSTEM:
  107. itemTransmutedVnum = player.GetItemTransmutation(slotNumber)
  108. if itemTransmutedVnum:
  109. self.wndEquip.DisableCoverButton(slotNumber)
  110. else:
  111. self.wndEquip.EnableCoverButton(slotNumber)
  112.  
  113. slotNumber = item.EQUIPMENT_BELT + 1
  114. self.wndEquip.SetItemSlot(slotNumber, getItemVNum(slotNumber), 0)
  115. if app.ENABLE_CHANGELOOK_SYSTEM:
  116. itemTransmutedVnum = player.GetItemTransmutation(slotNumber)
  117. if itemTransmutedVnum:
  118. self.wndEquip.DisableCoverButton(slotNumber)
  119. else:
  120. self.wndEquip.EnableCoverButton(slotNumber)
  121.  
  122. self.wndEquip.RefreshSlot()
  123.  
  124. if app.ENABLE_INVENTORY_PROTECT_SYSTEM:
  125. def OnUpdate(self):
  126. for i in xrange(item.COSTUME_SLOT_COUNT):
  127. slotNumber = item.COSTUME_SLOT_START + i
  128. if constInfo.InventoryLocked():
  129. self.wndEquip.SetLock(True, slotNumber)
  130. else:
  131. self.wndEquip.SetLock(False, slotNumber)
  132.  
  133.  
  134. class InventoryWindow(ui.ScriptWindow):
  135.  
  136. USE_TYPE_TUPLE = ("USE_CLEAN_SOCKET", "USE_CHANGE_ATTRIBUTE", "USE_ADD_ATTRIBUTE", "USE_ADD_ATTRIBUTE2", "USE_ADD_ACCESSORY_SOCKET", "USE_PUT_INTO_ACCESSORY_SOCKET", "USE_PUT_INTO_BELT_SOCKET", "USE_PUT_INTO_RING_SOCKET")
  137.  
  138. questionDialog = None
  139. tooltipItem = None
  140. wndCostume = None
  141. wndboardsys = None
  142. wndBelt = None
  143. wndSoulStone = None
  144.  
  145. dlgPickMoney = None
  146.  
  147. if app.ENABLE_INVENTORY_PROTECT_SYSTEM:
  148. Inventory_Board = None
  149. InventoryLockBtn = []
  150.  
  151. sellingSlotNumber = -1
  152. isLoaded = 0
  153. isOpenedCostumeWindowWhenClosingInventory = 0 # 인벤토리 닫을 때 코스츔이 열려있었는지 여부-_-; 네이밍 ㅈㅅ
  154. isOpenedBeltWindowWhenClosingInventory = 0 # 인벤토리 닫을 때 벨트 인벤토리가 열려있었는지 여부-_-; 네이밍 ㅈㅅ
  155.  
  156. def __init__(self):
  157. ui.ScriptWindow.__init__(self)
  158. self.OpenBoniSwitcherEvent = lambda : None
  159. self.__LoadWindow()
  160.  
  161. def __del__(self):
  162. ui.ScriptWindow.__del__(self)
  163.  
  164. def Show(self):
  165. self.__LoadWindow()
  166.  
  167. ui.ScriptWindow.Show(self)
  168.  
  169. # 인벤토리를 닫을 때 코스츔이 열려있었다면 인벤토리를 열 때 코스츔도 같이 열도록 함.
  170. if self.isOpenedCostumeWindowWhenClosingInventory and self.wndCostume:
  171. self.wndCostume.Show()
  172.  
  173. # 인벤토리를 닫을 때 벨트 인벤토리가 열려있었다면 같이 열도록 함.
  174. if self.wndBelt:
  175. self.wndBelt.Show(self.isOpenedBeltWindowWhenClosingInventory)
  176.  
  177. def BindInterfaceClass(self, interface):
  178. self.interface = interface
  179.  
  180. def __LoadWindow(self):
  181. if self.isLoaded == 1:
  182. return
  183.  
  184. self.isLoaded = 1
  185.  
  186. try:
  187. pyScrLoader = ui.PythonScriptLoader()
  188.  
  189. if ITEM_MALL_BUTTON_ENABLE:
  190. pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "InventoryWindow.py")
  191. else:
  192. pyScrLoader.LoadScriptFile(self, "UIScript/InventoryWindow.py")
  193. except:
  194. import exception
  195. exception.Abort("InventoryWindow.LoadWindow.LoadObject")
  196.  
  197. try:
  198. if app.ENABLE_INVENTORY_PROTECT_SYSTEM:
  199. self.Inventory_Board = self.GetChild("board")
  200.  
  201. self.InventoryLockBtn.append(self.GetChild("InventoryLockBtn"))
  202. self.InventoryLockBtn.append(self.GetChild("InventoryUnlockBtn"))
  203.  
  204. for i in xrange(2):
  205. self.InventoryLockBtn[i].SetEvent(ui.__mem_func__(self.InventoryChange))
  206.  
  207. self.GetChild("InventoryLockBtn").SetEvent(ui.__mem_func__(self.InventoryChange))
  208. self.GetChild("InventoryUnlockBtn").SetEvent(ui.__mem_func__(self.InventoryChange))
  209. wndItem = self.GetChild("ItemSlot")
  210. wndEquip = self.GetChild("EquipmentSlot")
  211. self.GetChild("TitleBar").SetCloseEvent(ui.__mem_func__(self.Close))
  212. self.wndMoney = self.GetChild("Money")
  213. self.wndMoneySlot = self.GetChild("Money_Slot")
  214. self.wndGaya = self.GetChild("Gaya")
  215. ##if app.ENABLE_COINS_SYSTEM:
  216. ## self.wndCoins = self.GetChild("Coins")
  217. ## self.wndCoinsSlot = self.GetChild("Coins_Slot")
  218. self.mallButton = self.GetChild2("MallButton")
  219. self.just4metin_noaptezi = self.GetChild2("noaptezi")
  220. self.costumeButton = self.GetChild2("CostumeButton")
  221. self.Telep = self.GetChild2("Telep")
  222. self.Titan_py = self.GetChild2("Titan_py")
  223. self.Alaska_py = self.GetChild2("Alaska_py")
  224. self.DSSButton = self.GetChild2("DSSButton")
  225. self.offlineshop = self.GetChild2("offlineshop")
  226. self.supportpg = self.GetChild2("supportpg")
  227.  
  228. self.inventoryTab = []
  229. self.inventoryTab.append(self.GetChild("Inventory_Tab_01"))
  230. self.inventoryTab.append(self.GetChild("Inventory_Tab_02"))
  231. self.inventoryTab.append(self.GetChild("Inventory_Tab_03"))
  232. self.inventoryTab.append(self.GetChild("Inventory_Tab_04"))
  233.  
  234. self.equipmentTab = []
  235. self.equipmentTab.append(self.GetChild("Equipment_Tab_01"))
  236. self.equipmentTab.append(self.GetChild("Equipment_Tab_02"))
  237.  
  238.  
  239. if self.costumeButton and not app.ENABLE_COSTUME_SYSTEM:
  240. self.costumeButton.Hide()
  241. self.costumeButton.Destroy()
  242. self.costumeButton = 0
  243.  
  244. except:
  245. import exception
  246. exception.Abort("InventoryWindow.LoadWindow.BindObject")
  247.  
  248. ## Item
  249. wndItem.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectEmptySlot))
  250. wndItem.SetSelectItemSlotEvent(ui.__mem_func__(self.SelectItemSlot))
  251. wndItem.SetUnselectItemSlotEvent(ui.__mem_func__(self.UseItemSlot))
  252. wndItem.SetUseSlotEvent(ui.__mem_func__(self.UseItemSlot))
  253. wndItem.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
  254. wndItem.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
  255.  
  256. ## Equipment
  257. wndEquip.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectEmptySlot))
  258. wndEquip.SetSelectItemSlotEvent(ui.__mem_func__(self.SelectItemSlot))
  259. wndEquip.SetUnselectItemSlotEvent(ui.__mem_func__(self.UseItemSlot))
  260. wndEquip.SetUseSlotEvent(ui.__mem_func__(self.UseItemSlot))
  261. wndEquip.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
  262. wndEquip.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
  263.  
  264. ## PickMoneyDialog
  265. dlgPickMoney = uiPickMoney.PickMoneyDialog()
  266. dlgPickMoney.LoadDialog()
  267. dlgPickMoney.Hide()
  268.  
  269. ## RefineDialog
  270. self.refineDialog = uiRefine.RefineDialog()
  271. self.refineDialog.Hide()
  272.  
  273. ## AttachMetinDialog
  274. self.attachMetinDialog = uiAttachMetin.AttachMetinDialog()
  275. self.attachMetinDialog.Hide()
  276.  
  277. ## MoneySlot
  278. self.wndMoneySlot.SetEvent(ui.__mem_func__(self.OpenPickMoneyDialog))
  279.  
  280. self.inventoryTab[0].SetEvent(lambda arg=0: self.SetInventoryPage(arg))
  281. self.inventoryTab[1].SetEvent(lambda arg=1: self.SetInventoryPage(arg))
  282. self.inventoryTab[2].SetEvent(lambda arg=2: self.SetInventoryPage(arg))
  283. self.inventoryTab[3].SetEvent(lambda arg=3: self.SetInventoryPage(arg))
  284. self.inventoryTab[0].Down()
  285. self.inventoryPageIndex = 0
  286.  
  287. self.equipmentTab[0].SetEvent(lambda arg=0: self.SetEquipmentPage(arg))
  288. self.equipmentTab[1].SetEvent(lambda arg=1: self.SetEquipmentPage(arg))
  289.  
  290. self.equipmentTab[0].Down()
  291. self.equipmentTab[0].Hide()
  292. self.equipmentTab[1].Hide()
  293.  
  294.  
  295. self.wndItem = wndItem
  296. self.wndEquip = wndEquip
  297. self.dlgPickMoney = dlgPickMoney
  298.  
  299. # MallButton
  300. if self.mallButton:
  301. self.mallButton.SetEvent(ui.__mem_func__(self.ClickChitraBoard))
  302.  
  303. if self.DSSButton:
  304. self.DSSButton.SetEvent(ui.__mem_func__(self.ClickDSSButton))
  305.  
  306.  
  307. # Costume Button
  308. if self.costumeButton:
  309. self.costumeButton.SetEvent(ui.__mem_func__(self.ClickCostumeButton))
  310.  
  311. #Telep
  312. if self.Telep:
  313. self.Telep.SetEvent(ui.__mem_func__(self.ClickTelep))
  314.  
  315. #Noapte Zi
  316. if self.just4metin_noaptezi:
  317. self.just4metin_noaptezi.SetEvent(ui.__mem_func__(self.ClickNoaptezi))
  318.  
  319. #Switchbot
  320. if self.Titan_py:
  321. self.Titan_py.SetEvent(ui.__mem_func__(self.ClickTitan_py))
  322.  
  323. #Bonusuri
  324. if self.Alaska_py:
  325. self.Alaska_py.SetEvent(ui.__mem_func__(self.ClickAlaska_py))
  326.  
  327. #Offline-Shop
  328. if self.offlineshop:
  329. self.offlineshop.SetEvent(ui.__mem_func__(self.Clickofflineshop))
  330.  
  331. #Shaman-Support
  332. if self.supportpg:
  333. self.supportpg.SetEvent(ui.__mem_func__(self.ClickSupport))
  334.  
  335. self.wndCostume = None
  336. self.wndboardsys = None
  337. self.wndSoulStone = None
  338.  
  339. #####
  340.  
  341. ## Refresh
  342. if app.ENABLE_SASH_SYSTEM:
  343. self.listAttachedSashs = []
  344. if app.ENABLE_CHANGELOOK_SYSTEM:
  345. self.listAttachedCl = []
  346. self.SetInventoryPage(0)
  347. self.SetEquipmentPage(0)
  348. self.RefreshItemSlot()
  349. self.RefreshStatus()
  350.  
  351. def Destroy(self):
  352. self.ClearDictionary()
  353.  
  354. self.dlgPickMoney.Destroy()
  355. self.dlgPickMoney = 0
  356. if app.ENABLE_INVENTORY_PROTECT_SYSTEM:
  357. self.Inventory_Board = 0
  358. self.refineDialog.Destroy()
  359. self.refineDialog = 0
  360.  
  361. self.attachMetinDialog.Destroy()
  362. self.attachMetinDialog = 0
  363.  
  364. self.tooltipItem = None
  365. self.wndItem = 0
  366. self.wndEquip = 0
  367. self.dlgPickMoney = 0
  368. self.wndMoney = 0
  369. self.wndMoneySlot = 0
  370. self.wndGaya = 0
  371. #if app.ENABLE_COINS_SYSTEM:
  372. # self.wndCoins = 0
  373. # self.wndCoinsSlot = 0
  374. self.questionDialog = None
  375. self.mallButton = None
  376. self.DSSButton = None
  377.  
  378. self.interface = None
  379.  
  380. if self.wndboardsys:
  381. self.wndboardsys.Hide()
  382. del self.wndboardsys
  383.  
  384. if self.wndCostume:
  385. self.wndCostume.Destroy()
  386. self.wndCostume = 0
  387.  
  388. if self.wndSoulStone:
  389. self.wndSoulStone.Destroy()
  390. self.wndSoulStone = None
  391.  
  392.  
  393. if self.wndBelt:
  394. self.wndBelt.Destroy()
  395. self.wndBelt = None
  396.  
  397. self.inventoryTab = []
  398. self.equipmentTab = []
  399.  
  400. def Hide(self):
  401. if constInfo.GET_ITEM_DROP_QUESTION_DIALOG_STATUS():
  402. self.OnCloseQuestionDialog()
  403. return
  404. if None != self.tooltipItem:
  405. self.tooltipItem.HideToolTip()
  406.  
  407. if self.wndCostume:
  408. self.isOpenedCostumeWindowWhenClosingInventory = self.wndCostume.IsShow() # 인벤토리 창이 닫힐 때 코스츔이 열려 있었는가?
  409. self.wndCostume.Close()
  410.  
  411. if self.wndSoulStone:
  412. self.wndSoulStone.Close()
  413.  
  414. if self.wndBelt:
  415. self.isOpenedBeltWindowWhenClosingInventory = self.wndBelt.IsOpeningInventory() # 인벤토리 창이 닫힐 때 벨트 인벤토리도 열려 있었는가?
  416. print "Is Opening Belt Inven?? ", self.isOpenedBeltWindowWhenClosingInventory
  417. self.wndBelt.Close()
  418.  
  419. if self.dlgPickMoney:
  420. self.dlgPickMoney.Close()
  421.  
  422. self.OnCloseQuestionDialog()
  423.  
  424. wndMgr.Hide(self.hWnd)
  425.  
  426.  
  427. def Close(self):
  428. self.Hide()
  429.  
  430. def SetInventoryPage(self, page):
  431. self.inventoryTab[self.inventoryPageIndex].SetUp()
  432. self.inventoryPageIndex = page
  433. self.inventoryTab[self.inventoryPageIndex].Down()
  434. self.RefreshBagSlotWindow()
  435.  
  436. def SetEquipmentPage(self, page):
  437. self.equipmentPageIndex = page
  438. self.equipmentTab[1-page].SetUp()
  439. self.RefreshEquipSlotWindow()
  440.  
  441. if app.ENABLE_INVENTORY_PROTECT_SYSTEM:
  442. def InventoryChange(self):
  443. net.SendChatPacket("/inventory_password")
  444. def ClickChitraBoard(self):
  445. from ui_wrapper import _ui
  446. import systemSetting
  447. self.chitrashop = _ui().BoardWithTitleBar(None, 1, systemSetting.GetWidth() /2 -100, 50, 210, 90, "Panou - Xenova II", self.ChitraInchide)
  448.  
  449. self.mallbut = ui.Button()
  450. self.mallbut.SetParent(self.chitrashop)
  451. self.mallbut.SetPosition( 15,35)
  452. self.mallbut.SetUpVisual("d:/ymir work/ui/public/XLarge_button_01.sub")
  453. self.mallbut.SetOverVisual("d:/ymir work/ui/public/XLarge_button_02.sub")
  454. self.mallbut.SetDownVisual("d:/ymir work/ui/public/XLarge_button_03.sub")
  455. self.mallbut.SetText("Depozit Item-Shop")
  456. self.mallbut.SetEvent(self.clickmallchitra)
  457. self.mallbut.Show()
  458.  
  459. self.depozitch = ui.Button()
  460. self.depozitch.SetParent(self.chitrashop)
  461. self.depozitch.SetPosition( 15,58)
  462. self.depozitch.SetUpVisual("d:/ymir work/ui/public/XLarge_button_01.sub")
  463. self.depozitch.SetOverVisual("d:/ymir work/ui/public/XLarge_button_02.sub")
  464. self.depozitch.SetDownVisual("d:/ymir work/ui/public/XLarge_button_03.sub")
  465. self.depozitch.SetEvent(self.Clickchitradep)
  466. self.depozitch.SetText("Depozit Portabil")
  467. self.depozitch.Show()
  468.  
  469. def ChitraInchide(self):
  470. self.chitrashop.Hide()
  471.  
  472. def Clickchitradep(self):
  473. print "click_safebox_button"
  474. net.SendChatPacket("/click_safebox")
  475. self.chitrashop.Hide()
  476.  
  477. def clickmallchitra(self):
  478. print "click_mall_button"
  479. net.SendChatPacket("/click_mall")
  480. self.chitrashop.Hide()
  481.  
  482. def ClickCostumeButton(self):
  483. print "Click Costume Button"
  484. if self.wndCostume:
  485. if self.wndCostume.IsShow():
  486. self.wndCostume.Hide()
  487. else:
  488. self.wndCostume.Show()
  489. else:
  490. self.wndCostume = CostumeWindow(self)
  491. self.wndCostume.Show()
  492.  
  493. #Telep
  494. def ClickTelep(self):
  495. import event
  496. qid = constInfo.Telepqin
  497. event.QuestButtonClick(qid)
  498.  
  499. #Noapte Zi
  500. def ClickNoaptezi(self):
  501. if constInfo.Night == 0:
  502. background.RegisterEnvironmentData(1, constInfo.ENVIRONMENT_NIGHT)
  503. background.SetEnvironmentData(1)
  504. constInfo.Night = 1
  505. else:
  506. background.SetEnvironmentData(0)
  507. constInfo.Night = 0
  508. snd.PlaySound('sound/ui/pick.wav')
  509.  
  510. def ClickTitan_py(self):
  511. import uiswitchbot
  512. uiswitchbot.Bot().Show()
  513.  
  514. def ClickAlaska_py(self):
  515. import uibonuspage
  516. uibonuspage.BonusBoardDialog().Show()
  517.  
  518. def Clickofflineshop(self):
  519. import net
  520. net.SendChatPacket("/open")
  521. self.chitrashop.Hide()
  522.  
  523. def ClickSupport(self):
  524. self.supportpg = uisupportsystem.SupportMainGui()
  525. if constInfo.SUPPORTGUI == 0:
  526. self.supportpg.Show()
  527. self.supportpg.SetTop()
  528. constInfo.SUPPORTGUI = 1
  529. else:
  530. self.supportpg.Close()
  531. constInfo.SUPPORTGUI = 0
  532.  
  533. def SetSupportLevel(self, level):
  534. self.supportpg.SetLevel(level)
  535. constInfo.SUPPORTLEVEL = int(level)
  536.  
  537. def SetSupportName(self, name, name2):
  538. self.supportpg.SetName(name, name2)
  539.  
  540. def SupportLeave(self):
  541. self.supportpg.SetDefaultInfo()
  542. self.supportpg.Close()
  543.  
  544. def SupportInt(self , ints):
  545. self.supportpg.SetInt(ints)
  546.  
  547. def SetSupportExp(self, exp, exptot):
  548. if int(exptot) > 0:
  549. self.supportpg.SetExperience(exp, exptot)
  550. self.supportpg.SetExperience(exp, exptot)
  551.  
  552. def SetSupportIcon(self, vnum):
  553. if int(vnum) > 0:
  554. self.supportpg.SetImageSlot(vnum)
  555. self.supportpg.SetImageSlot(vnum)
  556.  
  557. def SetSupportSpeciality(self,speciality):
  558. self.supportpg.SetSpeciality(speciality)
  559.  
  560. def OpenSoulStoneWindow(self, slotIndex):
  561. if not self.wndSoulStone:
  562. self.wndSoulStone = uiSoulStone.SoulStoneBoard()
  563. self.wndSoulStone.Open(slotIndex)
  564.  
  565. def CheckSoulStoneSlot(self):
  566. if self.wndSoulStone and self.wndSoulStone.IsShow():
  567. self.wndSoulStone.RefreshSlot()
  568.  
  569. def OpenPickMoneyDialog(self):
  570.  
  571. if mouseModule.mouseController.isAttached():
  572.  
  573. attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
  574. if player.SLOT_TYPE_SAFEBOX == mouseModule.mouseController.GetAttachedType():
  575.  
  576. if player.ITEM_MONEY == mouseModule.mouseController.GetAttachedItemIndex():
  577. net.SendSafeboxWithdrawMoneyPacket(mouseModule.mouseController.GetAttachedItemCount())
  578. snd.PlaySound("sound/ui/money.wav")
  579.  
  580. mouseModule.mouseController.DeattachObject()
  581.  
  582. else:
  583. curMoney = player.GetElk()
  584.  
  585. if curMoney <= 0:
  586. return
  587.  
  588. self.dlgPickMoney.SetTitleName(localeInfo.PICK_MONEY_TITLE)
  589. self.dlgPickMoney.SetAcceptEvent(ui.__mem_func__(self.OnPickMoney))
  590. self.dlgPickMoney.Open(curMoney)
  591. self.dlgPickMoney.SetMax(7) # 인벤토리 990000 제한 버그 수정
  592.  
  593. def OnPickMoney(self, money):
  594. mouseModule.mouseController.AttachMoney(self, player.SLOT_TYPE_INVENTORY, money)
  595.  
  596. def OnPickItem(self, count):
  597. itemSlotIndex = self.dlgPickMoney.itemGlobalSlotIndex
  598. selectedItemVNum = player.GetItemIndex(itemSlotIndex)
  599. mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_INVENTORY, itemSlotIndex, selectedItemVNum, count)
  600.  
  601. def __InventoryLocalSlotPosToGlobalSlotPos(self, local):
  602.  
  603. if player.IsEquipmentSlot(local) or player.IsCostumeSlot(local) or player.IsBeltInventorySlot(local):
  604. return local
  605.  
  606. return self.inventoryPageIndex*player.INVENTORY_PAGE_SIZE + local
  607.  
  608. ##BonusPageDialog
  609. def __LoadRefreshBonus(self):
  610. self.RefreshBonus()
  611.  
  612. def RefreshBonus(self):
  613. try:
  614. self.GetChild("Sword_def_Value").SetText(str(player.GetStatus(69)))
  615. self.GetChild("Twohand_def_Value").SetText(str(player.GetStatus(70)))
  616. self.GetChild("Knife_def_Value").SetText(str(player.GetStatus(71)))
  617. self.GetChild("Bow_def_Value").SetText(str(player.GetStatus(74)))
  618. self.GetChild("Bell_def_Value").SetText(str(player.GetStatus(72)))
  619. self.GetChild("Fan_def_Value").SetText(str(player.GetStatus(73)))
  620. self.GetChild("Magic_def_Value").SetText(str(player.GetStatus(77)))
  621. self.GetChild("Poison_def_Value").SetText(str(player.GetStatus(81)))
  622. self.GetChild("Warrior_def_Value").SetText(str(player.GetStatus(59)))
  623. self.GetChild("Assassin_def_Value").SetText(str(player.GetStatus(60)))
  624. self.GetChild("Sura_def_Value").SetText(str(player.GetStatus(61)))
  625. self.GetChild("Mage_def_Value").SetText(str(player.GetStatus(62)))
  626. self.GetChild("Crit_Value").SetText(str(player.GetStatus(40)))
  627. self.GetChild("Pierce_Value").SetText(str(player.GetStatus(41)))
  628. self.GetChild("Hitdmg_Value").SetText(str(player.GetStatus(122)))
  629. self.GetChild("Skilldmg_Value").SetText(str(player.GetStatus(121)))
  630. self.GetChild("Halfhuman_Value").SetText(str(player.GetStatus(43)))
  631. self.GetChild("Undead_Value").SetText(str(player.GetStatus(47)))
  632. self.GetChild("Devil_Value").SetText(str(player.GetStatus(48)))
  633. self.GetChild("Warrior_str_Value").SetText(str(player.GetStatus(54)))
  634. self.GetChild("Assassin_str_Value").SetText(str(player.GetStatus(55)))
  635. self.GetChild("Sura_str_Value").SetText(str(player.GetStatus(56)))
  636. self.GetChild("Mage_str_Value").SetText(str(player.GetStatus(57)))
  637. except:
  638. import exception
  639. #exception.Abort("InventoryWindow.RefreshBonus.BindObject")
  640. ##BonusPageDialog
  641.  
  642. def RefreshBagSlotWindow(self):
  643. is_activated = 0
  644. getItemVNum = player.GetItemIndex
  645. getItemCount = player.GetItemCount
  646. setItemVNum = self.wndItem.SetItemSlot
  647. for i in xrange(player.INVENTORY_PAGE_SIZE * 4):
  648. slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(i)
  649.  
  650. itemCount = getItemCount(slotNumber)
  651. if 0 == itemCount:
  652. self.wndItem.ClearSlot(i)
  653. continue
  654. elif 1 == itemCount:
  655. itemCount = 0
  656.  
  657. itemVnum = getItemVNum(slotNumber)
  658. setItemVNum(i, itemVnum, itemCount)
  659. if app.ENABLE_CHANGELOOK_SYSTEM:
  660. itemTransmutedVnum = player.GetItemTransmutation(slotNumber)
  661. if itemTransmutedVnum:
  662. self.wndItem.DisableCoverButton(i)
  663. else:
  664. self.wndItem.EnableCoverButton(i)
  665.  
  666. if constInfo.IS_AUTO_POTION(itemVnum):
  667. metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]
  668. if slotNumber >= player.INVENTORY_PAGE_SIZE:
  669. slotNumber -= player.INVENTORY_PAGE_SIZE
  670.  
  671. isActivated = 0 != metinSocket[0]
  672. if isActivated:
  673. self.wndItem.ActivateSlot(i)
  674. potionType = 0;
  675. if constInfo.IS_AUTO_POTION_HP(itemVnum):
  676. potionType = player.AUTO_POTION_TYPE_HP
  677. elif constInfo.IS_AUTO_POTION_SP(itemVnum):
  678. potionType = player.AUTO_POTION_TYPE_SP
  679.  
  680. usedAmount = int(metinSocket[1])
  681. totalAmount = int(metinSocket[2])
  682. player.SetAutoPotionInfo(potionType, isActivated, (totalAmount - usedAmount), totalAmount, self.__InventoryLocalSlotPosToGlobalSlotPos(i))
  683. else:
  684. self.wndItem.DeactivateSlot(i)
  685. elif app.ENABLE_HIGHLIGHT_SYSTEM:
  686. if slotNumber in self.listHighlightedSlot:
  687. self.wndItem.ActivateSlot(i)
  688.  
  689. if app.ENABLE_SASH_SYSTEM or app.ENABLE_CHANGELOOK_SYSTEM:
  690. if not constInfo.IS_AUTO_POTION(itemVnum):
  691. if app.ENABLE_HIGHLIGHT_SYSTEM:
  692. if not slotNumber in self.listHighlightedSlot:
  693. self.wndItem.DeactivateSlot(i)
  694. else:
  695. self.wndItem.DeactivateSlot(i)
  696.  
  697. if app.ENABLE_SASH_SYSTEM:
  698. slotNumberChecked = 0
  699. for j in xrange(sash.WINDOW_MAX_MATERIALS):
  700. (isHere, iCell) = sash.GetAttachedItem(j)
  701. if isHere:
  702. if iCell == slotNumber:
  703. self.wndItem.ActivateSlot(i, (36.00 / 255.0), (222.00 / 255.0), (3.00 / 255.0), 1.0)
  704. if not slotNumber in self.listAttachedSashs:
  705. self.listAttachedSashs.append(slotNumber)
  706.  
  707. slotNumberChecked = 1
  708. else:
  709. if slotNumber in self.listAttachedSashs and not slotNumberChecked:
  710. self.wndItem.DeactivateSlot(i)
  711. self.listAttachedSashs.remove(slotNumber)
  712.  
  713. if app.ENABLE_CHANGELOOK_SYSTEM:
  714. slotClNumberChecked = 0
  715. for q in xrange(changelook.WINDOW_MAX_MATERIALS):
  716. (isHere, iCell) = changelook.GetAttachedItem(q)
  717. if isHere:
  718. if iCell == slotNumber:
  719. self.wndItem.ActivateSlot(i, (238.00 / 255.0), (11.00 / 255.0), (11.00 / 255.0), 1.0)
  720. if not slotNumber in self.listAttachedCl:
  721. self.listAttachedCl.append(slotNumber)
  722.  
  723. slotClNumberChecked = 1
  724. else:
  725. if slotNumber in self.listAttachedCl and not slotClNumberChecked:
  726. self.wndItem.DeactivateSlot(i)
  727. self.listAttachedCl.remove(slotNumber)
  728.  
  729. self.wndItem.RefreshSlot()
  730. if self.wndBelt:
  731. self.wndBelt.RefreshSlot()
  732.  
  733. def OnUpdate(self):
  734. if app.ENABLE_INVENTORY_PROTECT_SYSTEM:
  735. if self.wndItem or self.wndEquip:
  736. for i in xrange(player.INVENTORY_PAGE_SIZE*4):
  737. if constInfo.InventoryLocked():
  738. self.wndItem.SetLock(True, i)
  739. else:
  740. self.wndItem.SetLock(False, i)
  741.  
  742. for i in xrange(player.EQUIPMENT_PAGE_COUNT):
  743. slotNumber = player.EQUIPMENT_SLOT_START + i
  744. if constInfo.InventoryLocked():
  745. self.wndEquip.SetLock(True, slotNumber)
  746. else:
  747. self.wndEquip.SetLock(False, slotNumber)
  748.  
  749. if app.ENABLE_NEW_EQUIPMENT_SYSTEM:
  750. for i in xrange(player.NEW_EQUIPMENT_SLOT_COUNT):
  751. slotNumber = player.NEW_EQUIPMENT_SLOT_START + i
  752. if constInfo.InventoryLocked():
  753. self.wndEquip.SetLock(True, slotNumber)
  754. else:
  755. self.wndEquip.SetLock(False, slotNumber)
  756.  
  757. if self.isLoaded == 1:
  758. self.__LoadRefreshBonus()
  759.  
  760. # self.RefreshBagSlotWindow()
  761.  
  762.  
  763. def RefreshEquipSlotWindow(self):
  764. getItemVNum=player.GetItemIndex
  765. getItemCount=player.GetItemCount
  766. setItemVNum=self.wndEquip.SetItemSlot
  767. for i in xrange(player.EQUIPMENT_PAGE_COUNT):
  768. slotNumber = player.EQUIPMENT_SLOT_START + i
  769. itemCount = getItemCount(slotNumber)
  770. if itemCount <= 1:
  771. itemCount = 0
  772.  
  773. setItemVNum(slotNumber, getItemVNum(slotNumber), itemCount)
  774. if app.ENABLE_CHANGELOOK_SYSTEM:
  775. itemTransmutedVnum = player.GetItemTransmutation(slotNumber)
  776. if itemTransmutedVnum:
  777. self.wndEquip.DisableCoverButton(slotNumber)
  778. else:
  779. self.wndEquip.EnableCoverButton(slotNumber)
  780.  
  781. if app.ENABLE_NEW_EQUIPMENT_SYSTEM:
  782. for i in xrange(player.NEW_EQUIPMENT_SLOT_COUNT):
  783. slotNumber = player.NEW_EQUIPMENT_SLOT_START + i
  784. itemCount = getItemCount(slotNumber)
  785. if itemCount <= 1:
  786. itemCount = 0
  787.  
  788. setItemVNum(slotNumber, getItemVNum(slotNumber), itemCount)
  789. if app.ENABLE_CHANGELOOK_SYSTEM:
  790. itemTransmutedVnum = player.GetItemTransmutation(slotNumber)
  791. if itemTransmutedVnum:
  792. self.wndEquip.DisableCoverButton(slotNumber)
  793. else:
  794. self.wndEquip.EnableCoverButton(slotNumber)
  795.  
  796. self.wndEquip.RefreshSlot()
  797.  
  798. if self.wndCostume:
  799. self.wndCostume.RefreshCostumeSlot()
  800.  
  801. def RefreshItemSlot(self):
  802. self.RefreshBagSlotWindow()
  803. self.RefreshEquipSlotWindow()
  804.  
  805. self.CheckSoulStoneSlot()
  806.  
  807. def RefreshSkill(self):
  808. if self.wndSoulStone and self.wndSoulStone.IsShow():
  809. self.wndSoulStone.RefreshSkill()
  810.  
  811. def RefreshStatus(self):
  812. money = player.GetElk()
  813. self.wndMoney.SetText(localeInfo.NumberToMoneyString(money))
  814.  
  815. gaya = player.GetGaya()
  816. self.wndGaya.SetText(str(gaya))
  817.  
  818.  
  819. ##if app.ENABLE_COINS_SYSTEM:
  820. ## coins = player.GetCoins()
  821. ## self.wndCoins.SetText(localeInfo.NumberToCoinsString(coins))
  822.  
  823. def SetItemToolTip(self, tooltipItem):
  824. self.tooltipItem = tooltipItem
  825.  
  826. def SellItem(self):
  827. if self.sellingSlotitemIndex == player.GetItemIndex(self.sellingSlotNumber):
  828. if self.sellingSlotitemCount == player.GetItemCount(self.sellingSlotNumber):
  829. net.SendShopSellPacketNew(self.sellingSlotNumber, self.questionDialog.count)
  830. snd.PlaySound("sound/ui/money.wav")
  831. self.OnCloseQuestionDialog()
  832.  
  833. def OnDetachMetinFromItem(self):
  834. if None == self.questionDialog:
  835. return
  836.  
  837. #net.SendItemUseToItemPacket(self.questionDialog.sourcePos, self.questionDialog.targetPos)
  838. self.__SendUseItemToItemPacket(self.questionDialog.sourcePos, self.questionDialog.targetPos)
  839. self.OnCloseQuestionDialog()
  840.  
  841. def OnCloseQuestionDialog(self):
  842. if self.questionDialog:
  843. self.questionDialog.Close()
  844.  
  845. self.questionDialog = None
  846.  
  847. ## Slot Event
  848. def SelectEmptySlot(self, selectedSlotPos):
  849.  
  850.  
  851. if constInfo.GET_ITEM_DROP_QUESTION_DIALOG_STATUS() == 1:
  852. return
  853.  
  854. if app.ENABLE_INVENTORY_PROTECT_SYSTEM:
  855. if constInfo.InventoryLocked():
  856. return
  857. selectedSlotPos = self.__InventoryLocalSlotPosToGlobalSlotPos(selectedSlotPos)
  858.  
  859. if mouseModule.mouseController.isAttached():
  860.  
  861. attachedSlotType = mouseModule.mouseController.GetAttachedType()
  862. attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
  863. attachedItemCount = mouseModule.mouseController.GetAttachedItemCount()
  864. attachedItemIndex = mouseModule.mouseController.GetAttachedItemIndex()
  865.  
  866. if player.SLOT_TYPE_INVENTORY == attachedSlotType:
  867. itemCount = player.GetItemCount(attachedSlotPos)
  868. attachedCount = mouseModule.mouseController.GetAttachedItemCount()
  869. self.__SendMoveItemPacket(attachedSlotPos, selectedSlotPos, attachedCount)
  870.  
  871. if item.IsRefineScroll(attachedItemIndex):
  872. self.wndItem.SetUseMode(False)
  873.  
  874. elif player.SLOT_TYPE_PRIVATE_SHOP == attachedSlotType:
  875. mouseModule.mouseController.RunCallBack("INVENTORY")
  876.  
  877. elif player.SLOT_TYPE_SHOP == attachedSlotType:
  878. net.SendShopBuyPacket(attachedSlotPos)
  879.  
  880. elif player.SLOT_TYPE_SAFEBOX == attachedSlotType:
  881.  
  882. if player.ITEM_MONEY == attachedItemIndex:
  883. net.SendSafeboxWithdrawMoneyPacket(mouseModule.mouseController.GetAttachedItemCount())
  884. snd.PlaySound("sound/ui/money.wav")
  885.  
  886. else:
  887. net.SendSafeboxCheckoutPacket(attachedSlotPos, selectedSlotPos)
  888.  
  889. elif player.SLOT_TYPE_MALL == attachedSlotType:
  890. net.SendMallCheckoutPacket(attachedSlotPos, selectedSlotPos)
  891.  
  892. mouseModule.mouseController.DeattachObject()
  893.  
  894. def SelectItemSlot(self, itemSlotIndex):
  895.  
  896. if constInfo.GET_ITEM_DROP_QUESTION_DIALOG_STATUS() == 1:
  897. return
  898.  
  899. if app.ENABLE_INVENTORY_PROTECT_SYSTEM:
  900. if constInfo.InventoryLocked():
  901. return
  902.  
  903. itemSlotIndex = self.__InventoryLocalSlotPosToGlobalSlotPos(itemSlotIndex)
  904.  
  905. if mouseModule.mouseController.isAttached():
  906. attachedSlotType = mouseModule.mouseController.GetAttachedType()
  907. attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
  908. attachedItemVID = mouseModule.mouseController.GetAttachedItemIndex()
  909.  
  910. if player.SLOT_TYPE_INVENTORY == attachedSlotType:
  911. self.__DropSrcItemToDestItemInInventory(attachedItemVID, attachedSlotPos, itemSlotIndex)
  912.  
  913. mouseModule.mouseController.DeattachObject()
  914.  
  915. else:
  916.  
  917. curCursorNum = app.GetCursor()
  918. if app.SELL == curCursorNum:
  919. self.__SellItem(itemSlotIndex)
  920.  
  921. elif app.BUY == curCursorNum:
  922. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SHOP_BUY_INFO)
  923.  
  924. elif app.IsPressed(app.DIK_LALT):
  925. link = player.GetItemLink(itemSlotIndex)
  926. ime.PasteString(link)
  927.  
  928. elif app.IsPressed(app.DIK_LSHIFT):
  929. itemCount = player.GetItemCount(itemSlotIndex)
  930.  
  931. if itemCount > 1:
  932. self.dlgPickMoney.SetTitleName(localeInfo.PICK_ITEM_TITLE)
  933. self.dlgPickMoney.SetAcceptEvent(ui.__mem_func__(self.OnPickItem))
  934. self.dlgPickMoney.Open(itemCount)
  935. self.dlgPickMoney.itemGlobalSlotIndex = itemSlotIndex
  936. #else:
  937. #selectedItemVNum = player.GetItemIndex(itemSlotIndex)
  938. #mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_INVENTORY, itemSlotIndex, selectedItemVNum)
  939.  
  940. elif app.IsPressed(app.DIK_LCONTROL):
  941. itemIndex = player.GetItemIndex(itemSlotIndex)
  942.  
  943. if True == item.CanAddToQuickSlotItem(itemIndex):
  944. player.RequestAddToEmptyLocalQuickSlot(player.SLOT_TYPE_INVENTORY, itemSlotIndex)
  945. else:
  946. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.QUICKSLOT_REGISTER_DISABLE_ITEM)
  947.  
  948. else:
  949. selectedItemVNum = player.GetItemIndex(itemSlotIndex)
  950. itemCount = player.GetItemCount(itemSlotIndex)
  951. mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_INVENTORY, itemSlotIndex, selectedItemVNum, itemCount)
  952.  
  953. if self.__IsUsableItemToItem(selectedItemVNum, itemSlotIndex):
  954. self.wndItem.SetUseMode(True)
  955. else:
  956. self.wndItem.SetUseMode(False)
  957.  
  958. snd.PlaySound("sound/ui/pick.wav")
  959.  
  960.  
  961. def UseTransportBox(self):
  962. self.__SendUseItemToItemPacket(self.questionDialog.src, self.questionDialog.dst)
  963. self.OnCloseQuestionDialog()
  964.  
  965. def UseProtein(self):
  966. self.__SendUseItemToItemPacket(self.questionDialog.src, self.questionDialog.dst)
  967. self.OnCloseQuestionDialog()
  968.  
  969. def __DropSrcItemToDestItemInInventory(self, srcItemVID, srcItemSlotPos, dstItemSlotPos):
  970. if srcItemSlotPos == dstItemSlotPos:
  971. return
  972.  
  973. if srcItemVID >= 55701 and srcItemVID <= 55706 and player.GetItemIndex(dstItemSlotPos) == 550020:
  974. self.questionDialog = uiCommon.QuestionDialog()
  975. self.questionDialog.SetText("Vrei sa adaugi insotitorul in cutia de transport?")
  976. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.UseTransportBox))
  977. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
  978. self.questionDialog.Open()
  979. self.questionDialog.src = srcItemSlotPos
  980. self.questionDialog.dst = dstItemSlotPos
  981.  
  982. if srcItemVID == 550010 and player.GetItemIndex(dstItemSlotPos) >= 55701 and player.GetItemIndex(dstItemSlotPos) <= 55706:
  983. self.questionDialog = uiCommon.QuestionDialog()
  984. self.questionDialog.SetText("Vrei sa hranesti insotitorul?")
  985. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.UseProtein))
  986. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
  987. self.questionDialog.Open()
  988. self.questionDialog.src = srcItemSlotPos
  989. self.questionDialog.dst = dstItemSlotPos
  990.  
  991. def __SellItem(self, itemSlotPos):
  992. if not player.IsEquipmentSlot(itemSlotPos):
  993. self.sellingSlotNumber = itemSlotPos
  994. itemIndex = player.GetItemIndex(itemSlotPos)
  995. itemCount = player.GetItemCount(itemSlotPos)
  996.  
  997.  
  998. self.sellingSlotitemIndex = itemIndex
  999. self.sellingSlotitemCount = itemCount
  1000.  
  1001. item.SelectItem(itemIndex)
  1002. itemPrice = item.GetISellItemPrice()
  1003.  
  1004. if item.Is1GoldItem():
  1005. itemPrice = itemCount / itemPrice / 5
  1006. else:
  1007. itemPrice = itemPrice * itemCount / 5
  1008.  
  1009. item.GetItemName(itemIndex)
  1010. itemName = item.GetItemName()
  1011.  
  1012. self.questionDialog = uiCommon.QuestionDialog()
  1013. self.questionDialog.SetText(localeInfo.DO_YOU_SELL_ITEM(itemName, itemCount, itemPrice))
  1014. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.SellItem))
  1015. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
  1016. self.questionDialog.Open()
  1017. self.questionDialog.count = itemCount
  1018. constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(1)
  1019.  
  1020. def __OnClosePopupDialog(self):
  1021. self.pop = None
  1022. def RefineItem(self, scrollSlotPos, targetSlotPos):
  1023.  
  1024. scrollIndex = player.GetItemIndex(scrollSlotPos)
  1025. targetIndex = player.GetItemIndex(targetSlotPos)
  1026.  
  1027. if player.REFINE_OK != player.CanRefine(scrollIndex, targetSlotPos):
  1028. return
  1029.  
  1030. ###########################################################
  1031. self.__SendUseItemToItemPacket(scrollSlotPos, targetSlotPos)
  1032. #net.SendItemUseToItemPacket(scrollSlotPos, targetSlotPos)
  1033. return
  1034. ###########################################################
  1035.  
  1036. ###########################################################
  1037. #net.SendRequestRefineInfoPacket(targetSlotPos)
  1038. #return
  1039. ###########################################################
  1040.  
  1041. result = player.CanRefine(scrollIndex, targetSlotPos)
  1042.  
  1043. if player.REFINE_ALREADY_MAX_SOCKET_COUNT == result:
  1044. #snd.PlaySound("sound/ui/jaeryun_fail.wav")
  1045. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_NO_MORE_SOCKET)
  1046.  
  1047. elif player.REFINE_NEED_MORE_GOOD_SCROLL == result:
  1048. #snd.PlaySound("sound/ui/jaeryun_fail.wav")
  1049. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_NEED_BETTER_SCROLL)
  1050.  
  1051. elif player.REFINE_CANT_MAKE_SOCKET_ITEM == result:
  1052. #snd.PlaySound("sound/ui/jaeryun_fail.wav")
  1053. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_SOCKET_DISABLE_ITEM)
  1054.  
  1055. elif player.REFINE_NOT_NEXT_GRADE_ITEM == result:
  1056. #snd.PlaySound("sound/ui/jaeryun_fail.wav")
  1057. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_UPGRADE_DISABLE_ITEM)
  1058.  
  1059. elif player.REFINE_CANT_REFINE_METIN_TO_EQUIPMENT == result:
  1060. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_EQUIP_ITEM)
  1061.  
  1062. if player.REFINE_OK != result:
  1063. return
  1064.  
  1065. self.refineDialog.Open(scrollSlotPos, targetSlotPos)
  1066.  
  1067. def DetachMetinFromItem(self, scrollSlotPos, targetSlotPos):
  1068. scrollIndex = player.GetItemIndex(scrollSlotPos)
  1069. targetIndex = player.GetItemIndex(targetSlotPos)
  1070. if app.ENABLE_SASH_SYSTEM and app.ENABLE_CHANGELOOK_SYSTEM:
  1071. if not player.CanDetach(scrollIndex, targetSlotPos):
  1072. item.SelectItem(scrollIndex)
  1073. if item.GetValue(0) == sash.CLEAN_ATTR_VALUE0:
  1074. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SASH_FAILURE_CLEAN)
  1075. elif item.GetValue(0) == changelook.CLEAN_ATTR_VALUE0:
  1076. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.CHANGE_LOOK_FAILURE_CLEAN)
  1077. else:
  1078. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_METIN_INSEPARABLE_ITEM)
  1079.  
  1080. return
  1081. elif app.ENABLE_SASH_SYSTEM:
  1082. if not player.CanDetach(scrollIndex, targetSlotPos):
  1083. item.SelectItem(scrollIndex)
  1084. if item.GetValue(0) == sash.CLEAN_ATTR_VALUE0:
  1085. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SASH_FAILURE_CLEAN)
  1086. else:
  1087. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_METIN_INSEPARABLE_ITEM)
  1088.  
  1089. return
  1090. elif app.ENABLE_CHANGELOOK_SYSTEM:
  1091. if not player.CanDetach(scrollIndex, targetSlotPos):
  1092. item.SelectItem(scrollIndex)
  1093. if item.GetValue(0) == changelook.CLEAN_ATTR_VALUE0:
  1094. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.CHANGE_LOOK_FAILURE_CLEAN)
  1095. else:
  1096. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_METIN_INSEPARABLE_ITEM)
  1097.  
  1098. return
  1099. else:
  1100. if not player.CanDetach(scrollIndex, targetSlotPos):
  1101. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_METIN_INSEPARABLE_ITEM)
  1102. return
  1103.  
  1104. self.questionDialog = uiCommon.QuestionDialog()
  1105. self.questionDialog.SetText(localeInfo.REFINE_DO_YOU_SEPARATE_METIN)
  1106. if app.ENABLE_SASH_SYSTEM:
  1107. item.SelectItem(targetIndex)
  1108. if item.GetItemType() == item.ITEM_TYPE_COSTUME and item.GetItemSubType() == item.COSTUME_TYPE_SASH:
  1109. item.SelectItem(scrollIndex)
  1110. if item.GetValue(0) == sash.CLEAN_ATTR_VALUE0:
  1111. self.questionDialog.SetText(localeInfo.SASH_DO_YOU_CLEAN)
  1112.  
  1113. if app.ENABLE_CHANGELOOK_SYSTEM:
  1114. item.SelectItem(targetIndex)
  1115. if item.GetItemType() == item.ITEM_TYPE_WEAPON or item.GetItemType() == item.ITEM_TYPE_ARMOR or item.GetItemType() == item.ITEM_TYPE_COSTUME:
  1116. item.SelectItem(scrollIndex)
  1117. if item.GetValue(0) == changelook.CLEAN_ATTR_VALUE0:
  1118. self.questionDialog.SetText(localeInfo.CHANGE_LOOK_DO_YOU_CLEAN)
  1119.  
  1120. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.OnDetachMetinFromItem))
  1121. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
  1122. self.questionDialog.Open()
  1123. self.questionDialog.sourcePos = scrollSlotPos
  1124. self.questionDialog.targetPos = targetSlotPos
  1125.  
  1126. def AttachMetinToItem(self, metinSlotPos, targetSlotPos):
  1127. metinIndex = player.GetItemIndex(metinSlotPos)
  1128. targetIndex = player.GetItemIndex(targetSlotPos)
  1129.  
  1130. item.SelectItem(metinIndex)
  1131. itemName = item.GetItemName()
  1132.  
  1133. result = player.CanAttachMetin(metinIndex, targetSlotPos)
  1134.  
  1135. if player.ATTACH_METIN_NOT_MATCHABLE_ITEM == result:
  1136. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_CAN_NOT_ATTACH(itemName))
  1137.  
  1138. if player.ATTACH_METIN_NO_MATCHABLE_SOCKET == result:
  1139. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_NO_SOCKET(itemName))
  1140.  
  1141. elif player.ATTACH_METIN_NOT_EXIST_GOLD_SOCKET == result:
  1142. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_NO_GOLD_SOCKET(itemName))
  1143.  
  1144. elif player.ATTACH_METIN_CANT_ATTACH_TO_EQUIPMENT == result:
  1145. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_EQUIP_ITEM)
  1146.  
  1147. if player.ATTACH_METIN_OK != result:
  1148. return
  1149.  
  1150. self.attachMetinDialog.Open(metinSlotPos, targetSlotPos)
  1151.  
  1152.  
  1153.  
  1154. def OverOutItem(self):
  1155. if app.ENABLE_INVENTORY_PROTECT_SYSTEM:
  1156. if constInfo.InventoryLocked():
  1157. return
  1158. self.wndItem.SetUsableItem(False)
  1159. if None != self.tooltipItem:
  1160. self.tooltipItem.HideToolTip()
  1161.  
  1162. def OverInItem(self, overSlotPos):
  1163. if app.ENABLE_INVENTORY_PROTECT_SYSTEM:
  1164. if constInfo.InventoryLocked():
  1165. return
  1166. overSlotPos = self.__InventoryLocalSlotPosToGlobalSlotPos(overSlotPos)
  1167. self.wndItem.SetUsableItem(False)
  1168.  
  1169. if mouseModule.mouseController.isAttached():
  1170. attachedItemType = mouseModule.mouseController.GetAttachedType()
  1171. if player.SLOT_TYPE_INVENTORY == attachedItemType:
  1172.  
  1173. attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
  1174. attachedItemVNum = mouseModule.mouseController.GetAttachedItemIndex()
  1175.  
  1176. if self.__CanUseSrcItemToDstItem(attachedItemVNum, attachedSlotPos, overSlotPos):
  1177. self.wndItem.SetUsableItem(True)
  1178. self.ShowToolTip(overSlotPos)
  1179. return
  1180.  
  1181. self.ShowToolTip(overSlotPos)
  1182.  
  1183.  
  1184. def __IsUsableItemToItem(self, srcItemVNum, srcSlotPos):
  1185. "다른 아이템에 사용할 수 있는 아이템인가?"
  1186.  
  1187. if srcItemVNum >= 55701 and srcItemVNum <= 55706:
  1188. return True
  1189.  
  1190. if srcItemVNum == 550010:
  1191. return True
  1192.  
  1193. if item.IsRefineScroll(srcItemVNum):
  1194. return True
  1195. elif item.IsMetin(srcItemVNum):
  1196. return True
  1197. elif item.IsDetachScroll(srcItemVNum):
  1198. return True
  1199. elif item.IsKey(srcItemVNum):
  1200. return True
  1201. elif (player.GetItemFlags(srcSlotPos) & ITEM_FLAG_APPLICABLE) == ITEM_FLAG_APPLICABLE:
  1202. return True
  1203. else:
  1204. if item.GetUseType(srcItemVNum) in self.USE_TYPE_TUPLE:
  1205. return True
  1206.  
  1207. return False
  1208.  
  1209. def __CanUseSrcItemToDstItem(self, srcItemVNum, srcSlotPos, dstSlotPos):
  1210. "대상 아이템에 사용할 수 있는가?"
  1211.  
  1212. if srcSlotPos == dstSlotPos:
  1213. return False
  1214.  
  1215. if srcItemVNum >= 55701 and srcItemVNum <= 55706 and player.GetItemIndex(dstSlotPos) == 550020:
  1216. return True
  1217.  
  1218. if srcItemVNum == 550010 and player.GetItemIndex(dstSlotPos) >= 55701 and player.GetItemIndex(dstSlotPos) <= 55706:
  1219. return True
  1220.  
  1221. if item.IsRefineScroll(srcItemVNum):
  1222. if player.REFINE_OK == player.CanRefine(srcItemVNum, dstSlotPos):
  1223. return True
  1224. elif item.IsMetin(srcItemVNum):
  1225. if player.ATTACH_METIN_OK == player.CanAttachMetin(srcItemVNum, dstSlotPos):
  1226. return True
  1227. elif item.IsDetachScroll(srcItemVNum):
  1228. if player.DETACH_METIN_OK == player.CanDetach(srcItemVNum, dstSlotPos):
  1229. return True
  1230. elif item.IsKey(srcItemVNum):
  1231. if player.CanUnlock(srcItemVNum, dstSlotPos):
  1232. return True
  1233.  
  1234. elif (player.GetItemFlags(srcSlotPos) & ITEM_FLAG_APPLICABLE) == ITEM_FLAG_APPLICABLE:
  1235. return True
  1236.  
  1237. else:
  1238. useType=item.GetUseType(srcItemVNum)
  1239.  
  1240. if "USE_CLEAN_SOCKET" == useType:
  1241. if self.__CanCleanBrokenMetinStone(dstSlotPos):
  1242. return True
  1243. elif "USE_CHANGE_ATTRIBUTE" == useType:
  1244. if self.__CanChangeItemAttrList(dstSlotPos):
  1245. return True
  1246. elif "USE_ADD_ATTRIBUTE" == useType:
  1247. if self.__CanAddItemAttr(dstSlotPos):
  1248. return True
  1249. elif "USE_ADD_ATTRIBUTE2" == useType:
  1250. if self.__CanAddItemAttr(dstSlotPos):
  1251. return True
  1252. elif "USE_ADD_ACCESSORY_SOCKET" == useType:
  1253. if self.__CanAddAccessorySocket(dstSlotPos):
  1254. return True
  1255. elif "USE_PUT_INTO_ACCESSORY_SOCKET" == useType:
  1256. if self.__CanPutAccessorySocket(dstSlotPos, srcItemVNum):
  1257. return True;
  1258. elif "USE_PUT_INTO_BELT_SOCKET" == useType:
  1259. dstItemVNum = player.GetItemIndex(dstSlotPos)
  1260. print "USE_PUT_INTO_BELT_SOCKET", srcItemVNum, dstItemVNum
  1261.  
  1262. item.SelectItem(dstItemVNum)
  1263.  
  1264. if item.ITEM_TYPE_BELT == item.GetItemType():
  1265. return True
  1266.  
  1267. elif useType == "USE_COSTUME_ENCHANT" or useType == "USE_COSTUME_TRANSFORM":
  1268. if not app.ENABLE_COSTUME_ATTR_SYSTEM:
  1269. return FALSE
  1270.  
  1271. dstItemVNum = player.GetItemIndex(dstSlotPos)
  1272. item.SelectItem(dstItemVNum)
  1273. if item.GetItemType() == item.ITEM_TYPE_COSTUME:
  1274. return TRUE
  1275. return False
  1276.  
  1277. def __CanCleanBrokenMetinStone(self, dstSlotPos):
  1278. dstItemVNum = player.GetItemIndex(dstSlotPos)
  1279. if dstItemVNum == 0:
  1280. return False
  1281.  
  1282. item.SelectItem(dstItemVNum)
  1283.  
  1284. if item.ITEM_TYPE_WEAPON != item.GetItemType():
  1285. return False
  1286.  
  1287. for i in xrange(player.METIN_SOCKET_MAX_NUM):
  1288. if player.GetItemMetinSocket(dstSlotPos, i) == constInfo.ERROR_METIN_STONE:
  1289. return True
  1290.  
  1291. return False
  1292.  
  1293. def __CanChangeItemAttrList(self, dstSlotPos):
  1294. dstItemVNum = player.GetItemIndex(dstSlotPos)
  1295. if dstItemVNum == 0:
  1296. return False
  1297.  
  1298. item.SelectItem(dstItemVNum)
  1299.  
  1300. if not item.GetItemType() in (item.ITEM_TYPE_WEAPON, item.ITEM_TYPE_ARMOR):
  1301. return False
  1302.  
  1303. for i in xrange(player.METIN_SOCKET_MAX_NUM):
  1304. if player.GetItemAttribute(dstSlotPos, i) != 0:
  1305. return True
  1306.  
  1307. return False
  1308.  
  1309. def __CanPutAccessorySocket(self, dstSlotPos, mtrlVnum):
  1310. dstItemVNum = player.GetItemIndex(dstSlotPos)
  1311. if dstItemVNum == 0:
  1312. return False
  1313.  
  1314. item.SelectItem(dstItemVNum)
  1315.  
  1316. if item.GetItemType() != item.ITEM_TYPE_ARMOR:
  1317. return False
  1318.  
  1319. if not item.GetItemSubType() in (item.ARMOR_WRIST, item.ARMOR_NECK, item.ARMOR_EAR):
  1320. return False
  1321.  
  1322. curCount = player.GetItemMetinSocket(dstSlotPos, 0)
  1323. maxCount = player.GetItemMetinSocket(dstSlotPos, 1)
  1324.  
  1325. if mtrlVnum != constInfo.GET_ACCESSORY_MATERIAL_VNUM(dstItemVNum, item.GetItemSubType()):
  1326. return False
  1327.  
  1328. if curCount>=maxCount:
  1329. return False
  1330.  
  1331. return True
  1332.  
  1333. def __CanAddAccessorySocket(self, dstSlotPos):
  1334. dstItemVNum = player.GetItemIndex(dstSlotPos)
  1335. if dstItemVNum == 0:
  1336. return False
  1337.  
  1338. item.SelectItem(dstItemVNum)
  1339.  
  1340. if item.GetItemType() != item.ITEM_TYPE_ARMOR:
  1341. return False
  1342.  
  1343. if not item.GetItemSubType() in (item.ARMOR_WRIST, item.ARMOR_NECK, item.ARMOR_EAR):
  1344. return False
  1345.  
  1346. curCount = player.GetItemMetinSocket(dstSlotPos, 0)
  1347. maxCount = player.GetItemMetinSocket(dstSlotPos, 1)
  1348.  
  1349. ACCESSORY_SOCKET_MAX_SIZE = 3
  1350. if maxCount >= ACCESSORY_SOCKET_MAX_SIZE:
  1351. return False
  1352.  
  1353. return True
  1354.  
  1355. def __CanAddItemAttr(self, dstSlotPos):
  1356. dstItemVNum = player.GetItemIndex(dstSlotPos)
  1357. if dstItemVNum == 0:
  1358. return False
  1359.  
  1360. item.SelectItem(dstItemVNum)
  1361.  
  1362. if not item.GetItemType() in (item.ITEM_TYPE_WEAPON, item.ITEM_TYPE_ARMOR):
  1363. return False
  1364.  
  1365. attrCount = 0
  1366. for i in xrange(player.METIN_SOCKET_MAX_NUM):
  1367. if player.GetItemAttribute(dstSlotPos, i) != 0:
  1368. attrCount += 1
  1369.  
  1370. if attrCount<4:
  1371. return True
  1372.  
  1373. return False
  1374.  
  1375. def ShowToolTip(self, slotIndex):
  1376. if None != self.tooltipItem:
  1377. self.tooltipItem.SetInventoryItem(slotIndex)
  1378.  
  1379. def OnTop(self):
  1380. if None != self.tooltipItem:
  1381. self.tooltipItem.SetTop()
  1382.  
  1383. def OnPressEscapeKey(self):
  1384. self.Close()
  1385. return True
  1386.  
  1387. def UseItemSlot(self, slotIndex):
  1388.  
  1389.  
  1390. curCursorNum = app.GetCursor()
  1391. if app.SELL == curCursorNum:
  1392. return
  1393.  
  1394.  
  1395. if constInfo.GET_ITEM_DROP_QUESTION_DIALOG_STATUS():
  1396. return
  1397.  
  1398. if app.ENABLE_INVENTORY_PROTECT_SYSTEM:
  1399. if constInfo.InventoryLocked():
  1400. return
  1401.  
  1402. slotIndex = self.__InventoryLocalSlotPosToGlobalSlotPos(slotIndex)
  1403.  
  1404. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1405. if self.wndDragonSoulRefine.IsShow():
  1406. self.wndDragonSoulRefine.AutoSetItem((player.INVENTORY, slotIndex), 1)
  1407. return
  1408.  
  1409. if app.ENABLE_SASH_SYSTEM:
  1410. if self.isShowSashWindow():
  1411. sash.Add(player.INVENTORY, slotIndex, 255)
  1412. return
  1413.  
  1414. if app.ENABLE_CHANGELOOK_SYSTEM:
  1415. if self.isShowChangeLookWindow():
  1416. changelook.Add(player.INVENTORY, slotIndex, 255)
  1417. return
  1418.  
  1419. self.__UseItem(slotIndex)
  1420. mouseModule.mouseController.DeattachObject()
  1421. self.OverOutItem()
  1422.  
  1423. def SetOpenBoniSwitcherEvent(self, event):
  1424. self.OpenBoniSwitcherEvent = ui.__mem_func__(event)
  1425.  
  1426. def __UseItem(self, slotIndex):
  1427. Itemler = [50325]
  1428. ItemVNum = player.GetItemIndex(slotIndex)
  1429. item.SelectItem(ItemVNum)
  1430. if item.IsFlag(item.ITEM_FLAG_CONFIRM_WHEN_USE):
  1431. self.questionDialog = uiCommon.QuestionDialog()
  1432. self.questionDialog.SetText(localeInfo.INVENTORY_REALLY_USE_ITEM)#localeInfo
  1433. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.__UseItemQuestionDialog_OnAccept))
  1434. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.__UseItemQuestionDialog_OnCancel))
  1435. self.questionDialog.Open()
  1436. self.questionDialog.slotIndex = slotIndex
  1437. elif ItemVNum in Itemler:
  1438. self.questionDialog = uiCommon.QuestionDialog()
  1439. self.questionDialog.SetText(localeInfo.INVENTORY_REALLY_USE_ITEM)#localeInfo
  1440. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.__UseItemQuestionDialog_OnAccept))
  1441. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.__UseItemQuestionDialog_OnCancel))
  1442. self.questionDialog.Open()
  1443. self.questionDialog.slotIndex = slotIndex
  1444. constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(1)
  1445.  
  1446. #elif player.GetItemTypeBySlot(slotIndex) == item.ITEM_TYPE_GACHA or player.GetItemTypeBySlot(slotIndex) == item.ITEM_TYPE_GIFTBOX:
  1447.  
  1448. elif player.GetItemTypeBySlot(slotIndex) == item.ITEM_TYPE_GIFTBOX:
  1449. if app.ENABLE_SHOW_CHEST_DROP:
  1450. if self.interface:
  1451. if self.interface.dlgChestDrop:
  1452. if not self.interface.dlgChestDrop.IsShow():
  1453. self.interface.dlgChestDrop.Open(slotIndex)
  1454. net.SendChestDropInfo(slotIndex)
  1455.  
  1456. elif uiSoulStone.SOUL_STONE_VNUM == ItemVNum:
  1457. self.OpenSoulStoneWindow(slotIndex)
  1458.  
  1459. else:
  1460. self.__SendUseItemPacket(slotIndex)
  1461.  
  1462. def __UseItemQuestionDialog_OnCancel(self):
  1463. self.OnCloseQuestionDialog()
  1464.  
  1465. def __UseItemQuestionDialog_OnAccept(self):
  1466. self.__SendUseItemPacket(self.questionDialog.slotIndex)
  1467.  
  1468. if self.questionDialog:
  1469. self.questionDialog.Close()
  1470. self.questionDialog = None
  1471.  
  1472. def __SendUseItemToItemPacket(self, srcSlotPos, dstSlotPos):
  1473. # 개인상점 열고 있는 동안 아이템 사용 방지
  1474. if uiPrivateShopBuilder.IsBuildingPrivateShop():
  1475. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.USE_ITEM_FAILURE_PRIVATE_SHOP)
  1476. return
  1477.  
  1478. net.SendItemUseToItemPacket(srcSlotPos, dstSlotPos)
  1479.  
  1480. def __SendUseItemPacket(self, slotPos):
  1481. # 개인상점 열고 있는 동안 아이템 사용 방지
  1482. if uiPrivateShopBuilder.IsBuildingPrivateShop():
  1483. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.USE_ITEM_FAILURE_PRIVATE_SHOP)
  1484. return
  1485.  
  1486. net.SendItemUsePacket(slotPos)
  1487.  
  1488. def __SendMoveItemPacket(self, srcSlotPos, dstSlotPos, srcItemCount):
  1489. # 개인상점 열고 있는 동안 아이템 사용 방지
  1490. if uiPrivateShopBuilder.IsBuildingPrivateShop():
  1491. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_ITEM_FAILURE_PRIVATE_SHOP)
  1492. return
  1493.  
  1494. net.SendItemMovePacket(srcSlotPos, dstSlotPos, srcItemCount)
  1495.  
  1496. if app.ENABLE_CHANGELOOK_SYSTEM:
  1497. def SetChangeLookWindow(self, wndChangeLook):
  1498. self.wndChangeLook = wndChangeLook
  1499.  
  1500. def isShowChangeLookWindow(self):
  1501. if self.wndChangeLook:
  1502. if self.wndChangeLook.IsShow():
  1503. return 1
  1504.  
  1505. return 0
  1506. def SetDragonSoulRefineWindow(self, wndDragonSoulRefine):
  1507. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1508. self.wndDragonSoulRefine = wndDragonSoulRefine
  1509.  
  1510. self.chitrashop.Hide()
  1511.  
  1512. def __uiSwitchBot(self):
  1513. if constInfo.DUEL_TWIX == 1 or constInfo.DUEL_TWIX == 4:
  1514. chat.AppendChat(chat.CHAT_TYPE_INFO,"Nu poti sterge iteme cand esti in duel.")
  1515. return
  1516. constInfo.sterge = 1
  1517. self.chitrashop.Hide()
  1518. snd.PlaySound('sound/ui/pick.wav')
  1519.  
  1520. if app.ENABLE_SASH_SYSTEM:
  1521. def SetSashWindow(self, wndSashCombine, wndSashAbsorption):
  1522. self.wndSashCombine = wndSashCombine
  1523. self.wndSashAbsorption = wndSashAbsorption
  1524.  
  1525. def isShowSashWindow(self):
  1526. if self.wndSashCombine:
  1527. if self.wndSashCombine.IsShow():
  1528. return 1
  1529.  
  1530. if self.wndSashAbsorption:
  1531. if self.wndSashAbsorption.IsShow():
  1532. return 1
  1533.  
  1534. return 0
  1535.  
  1536. def OnMoveWindow(self, x, y):
  1537. # print "Inventory Global Pos : ", self.GetGlobalPosition()
  1538. if self.wndBelt:
  1539. # print "Belt Global Pos : ", self.wndBelt.GetGlobalPosition()
  1540. self.wndBelt.AdjustPositionAndSize()
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546. if app.ENABLE_INVENTORY_PROTECT_SYSTEM:
  1547. def InventoryLock(self):
  1548. self.InventoryLockBtn[1].Hide()
  1549. self.InventoryLockBtn[0].Show()
  1550.  
  1551. constInfo.SetInventoryLock()
  1552.  
  1553. def InventoryUnlock(self):
  1554. self.InventoryLockBtn[0].Hide()
  1555. self.InventoryLockBtn[1].Show()
  1556.  
  1557. constInfo.SetUnlockedInventory()
Add Comment
Please, Sign In to add comment