Advertisement
Guest User

uInventory.py

a guest
Aug 20th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 69.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 # 개인상점 열동안 ItemMove 방지
  17. import localeInfo
  18. import constInfo
  19. import ime
  20. import wndMgr
  21. import event
  22. import switchbot
  23.  
  24. ITEM_MALL_BUTTON_ENABLE = True
  25.  
  26.  
  27.  
  28. ITEM_FLAG_APPLICABLE = 1 << 14
  29. if app.ENABLE_SASH_SYSTEM:
  30. import sash
  31. if app.ENABLE_CHANGELOOK_SYSTEM:
  32. import changelook
  33.  
  34. class CostumeWindow(ui.ScriptWindow):
  35.  
  36. def __init__(self, wndInventory):
  37. import exception
  38.  
  39. if not app.ENABLE_COSTUME_SYSTEM:
  40. exception.Abort("What do you do?")
  41. return
  42.  
  43. if not wndInventory:
  44. exception.Abort("wndInventory parameter must be set to InventoryWindow")
  45. return
  46.  
  47. ui.ScriptWindow.__init__(self)
  48.  
  49. self.isLoaded = 0
  50. self.wndInventory = wndInventory;
  51.  
  52. self.__LoadWindow()
  53.  
  54. def __del__(self):
  55. ui.ScriptWindow.__del__(self)
  56.  
  57. def Show(self):
  58. self.__LoadWindow()
  59. self.RefreshCostumeSlot()
  60.  
  61. ui.ScriptWindow.Show(self)
  62.  
  63. def Close(self):
  64. self.Hide()
  65.  
  66. def __LoadWindow(self):
  67. if self.isLoaded == 1:
  68. return
  69.  
  70. self.isLoaded = 1
  71.  
  72. try:
  73. pyScrLoader = ui.PythonScriptLoader()
  74. pyScrLoader.LoadScriptFile(self, "UIScript/costumewindow.py")
  75. except:
  76. import exception
  77. exception.Abort("CostumeWindow.LoadWindow.LoadObject")
  78.  
  79. try:
  80. wndEquip = self.GetChild("CostumeSlot")
  81. self.GetChild("TitleBar").SetCloseEvent(ui.__mem_func__(self.Close))
  82.  
  83. except:
  84. import exception
  85. exception.Abort("CostumeWindow.LoadWindow.BindObject")
  86.  
  87. ## Equipment
  88. wndEquip.SetOverInItemEvent(ui.__mem_func__(self.wndInventory.OverInItem))
  89. wndEquip.SetOverOutItemEvent(ui.__mem_func__(self.wndInventory.OverOutItem))
  90. wndEquip.SetUnselectItemSlotEvent(ui.__mem_func__(self.wndInventory.UseItemSlot))
  91. wndEquip.SetUseSlotEvent(ui.__mem_func__(self.wndInventory.UseItemSlot))
  92. wndEquip.SetSelectEmptySlotEvent(ui.__mem_func__(self.wndInventory.SelectEmptySlot))
  93. wndEquip.SetSelectItemSlotEvent(ui.__mem_func__(self.wndInventory.SelectItemSlot))
  94.  
  95. self.wndEquip = wndEquip
  96.  
  97. def RefreshCostumeSlot(self):
  98. getItemVNum=player.GetItemIndex
  99.  
  100. for i in xrange(item.COSTUME_SLOT_COUNT):
  101. slotNumber = item.COSTUME_SLOT_START + i
  102. self.wndEquip.SetItemSlot(slotNumber, getItemVNum(slotNumber), 0)
  103. if app.ENABLE_CHANGELOOK_SYSTEM:
  104. itemTransmutedVnum = player.GetItemTransmutation(slotNumber)
  105. if itemTransmutedVnum:
  106. self.wndEquip.DisableCoverButton(slotNumber)
  107. else:
  108. self.wndEquip.EnableCoverButton(slotNumber)
  109.  
  110. self.wndEquip.RefreshSlot()
  111.  
  112. class BeltInventoryWindow(ui.ScriptWindow):
  113.  
  114. def __init__(self, wndInventory):
  115. import exception
  116.  
  117. if not app.ENABLE_NEW_EQUIPMENT_SYSTEM:
  118. exception.Abort("What do you do?")
  119. return
  120.  
  121. if not wndInventory:
  122. exception.Abort("wndInventory parameter must be set to InventoryWindow")
  123. return
  124.  
  125. ui.ScriptWindow.__init__(self)
  126.  
  127. self.isLoaded = 0
  128. self.wndInventory = wndInventory;
  129.  
  130. self.wndBeltInventoryLayer = None
  131. self.wndBeltInventorySlot = None
  132. self.expandBtn = None
  133. self.minBtn = None
  134.  
  135. self.__LoadWindow()
  136.  
  137. def __del__(self):
  138. ui.ScriptWindow.__del__(self)
  139.  
  140. def Show(self, openBeltSlot = FALSE):
  141. self.__LoadWindow()
  142. self.RefreshSlot()
  143.  
  144. ui.ScriptWindow.Show(self)
  145.  
  146. if openBeltSlot:
  147. self.OpenInventory()
  148. else:
  149. self.CloseInventory()
  150.  
  151. def Close(self):
  152. self.Hide()
  153.  
  154. def IsOpeningInventory(self):
  155. return self.wndBeltInventoryLayer.IsShow()
  156.  
  157. def OpenInventory(self):
  158. self.wndBeltInventoryLayer.Show()
  159. self.expandBtn.Hide()
  160.  
  161. if localeInfo.IsARABIC() == 0:
  162. self.AdjustPositionAndSize()
  163.  
  164. def CloseInventory(self):
  165. self.wndBeltInventoryLayer.Hide()
  166. self.expandBtn.Show()
  167.  
  168. if localeInfo.IsARABIC() == 0:
  169. self.AdjustPositionAndSize()
  170.  
  171. ## 현재 인벤토리 위치를 기준으로 BASE 위치를 계산, 리턴.. 숫자 하드코딩하기 정말 싫지만 방법이 없다..
  172. def GetBasePosition(self):
  173. x, y = self.wndInventory.GetGlobalPosition()
  174. return x - 148, y + 241
  175.  
  176. def AdjustPositionAndSize(self):
  177. bx, by = self.GetBasePosition()
  178.  
  179. if self.IsOpeningInventory():
  180. self.SetPosition(bx, by)
  181. self.SetSize(self.ORIGINAL_WIDTH, self.GetHeight())
  182.  
  183. else:
  184. self.SetPosition(bx + 138, by);
  185. self.SetSize(10, self.GetHeight())
  186.  
  187. def __LoadWindow(self):
  188. if self.isLoaded == 1:
  189. return
  190.  
  191. self.isLoaded = 1
  192.  
  193. try:
  194. pyScrLoader = ui.PythonScriptLoader()
  195. pyScrLoader.LoadScriptFile(self, "UIScript/BeltInventoryWindow.py")
  196. except:
  197. import exception
  198. exception.Abort("CostumeWindow.LoadWindow.LoadObject")
  199.  
  200. try:
  201. self.ORIGINAL_WIDTH = self.GetWidth()
  202. wndBeltInventorySlot = self.GetChild("BeltInventorySlot")
  203. self.wndBeltInventoryLayer = self.GetChild("BeltInventoryLayer")
  204. self.expandBtn = self.GetChild("ExpandBtn")
  205. self.minBtn = self.GetChild("MinimizeBtn")
  206.  
  207. self.expandBtn.SetEvent(ui.__mem_func__(self.OpenInventory))
  208. self.minBtn.SetEvent(ui.__mem_func__(self.CloseInventory))
  209.  
  210. if localeInfo.IsARABIC() :
  211. self.expandBtn.SetPosition(self.expandBtn.GetWidth() - 2, 15)
  212. self.wndBeltInventoryLayer.SetPosition(self.wndBeltInventoryLayer.GetWidth() - 5, 0)
  213. self.minBtn.SetPosition(self.minBtn.GetWidth() + 3, 15)
  214.  
  215. for i in xrange(item.BELT_INVENTORY_SLOT_COUNT):
  216. slotNumber = item.BELT_INVENTORY_SLOT_START + i
  217. wndBeltInventorySlot.SetCoverButton(slotNumber, "d:/ymir work/ui/game/quest/slot_button_01.sub",\
  218. "d:/ymir work/ui/game/quest/slot_button_01.sub",\
  219. "d:/ymir work/ui/game/quest/slot_button_01.sub",\
  220. "d:/ymir work/ui/game/belt_inventory/slot_disabled.tga", FALSE, FALSE)
  221.  
  222. except:
  223. import exception
  224. exception.Abort("CostumeWindow.LoadWindow.BindObject")
  225.  
  226. ## Equipment
  227. wndBeltInventorySlot.SetOverInItemEvent(ui.__mem_func__(self.wndInventory.OverInItem))
  228. wndBeltInventorySlot.SetOverOutItemEvent(ui.__mem_func__(self.wndInventory.OverOutItem))
  229. wndBeltInventorySlot.SetUnselectItemSlotEvent(ui.__mem_func__(self.wndInventory.UseItemSlot))
  230. wndBeltInventorySlot.SetUseSlotEvent(ui.__mem_func__(self.wndInventory.UseItemSlot))
  231. wndBeltInventorySlot.SetSelectEmptySlotEvent(ui.__mem_func__(self.wndInventory.SelectEmptySlot))
  232. wndBeltInventorySlot.SetSelectItemSlotEvent(ui.__mem_func__(self.wndInventory.SelectItemSlot))
  233.  
  234. self.wndBeltInventorySlot = wndBeltInventorySlot
  235.  
  236. def RefreshSlot(self):
  237. getItemVNum=player.GetItemIndex
  238.  
  239. for i in xrange(item.BELT_INVENTORY_SLOT_COUNT):
  240. slotNumber = item.BELT_INVENTORY_SLOT_START + i
  241. self.wndBeltInventorySlot.SetItemSlot(slotNumber, getItemVNum(slotNumber), player.GetItemCount(slotNumber))
  242. self.wndBeltInventorySlot.SetAlwaysRenderCoverButton(slotNumber, TRUE)
  243.  
  244. avail = "0"
  245.  
  246. if player.IsAvailableBeltInventoryCell(slotNumber):
  247. self.wndBeltInventorySlot.EnableCoverButton(slotNumber)
  248. else:
  249. self.wndBeltInventorySlot.DisableCoverButton(slotNumber)
  250.  
  251. self.wndBeltInventorySlot.RefreshSlot()
  252.  
  253.  
  254. class InventoryWindow(ui.ScriptWindow):
  255.  
  256. if app.ENABLE_COSTUME_ATTR_SYSTEM:
  257. 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", "USE_COSTUME_ENCHANT", "USE_COSTUME_TRANSFORM")
  258. else:
  259. 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")
  260.  
  261. elif useType == "USE_COSTUME_ENCHANT" or useType == "USE_COSTUME_TRANSFORM":
  262. if not app.ENABLE_COSTUME_ATTR_SYSTEM:
  263. return FALSE
  264.  
  265. dstItemVNum = player.GetItemIndex(dstSlotPos)
  266. item.SelectItem(dstItemVNum)
  267. if item.GetItemType() == item.ITEM_TYPE_COSTUME:
  268. return TRUE
  269.  
  270. questionDialog = None
  271. tooltipItem = None
  272. wndCostume = None
  273. wndBelt = None
  274. dlgPickMoney = None
  275.  
  276. sellingSlotNumber = -1
  277. isLoaded = 0
  278. isOpenedCostumeWindowWhenClosingInventory = 0 # 인벤토리 닫을 때 코스츔이 열려있었는지 여부-_-; 네이밍 ㅈㅅ
  279. isOpenedBeltWindowWhenClosingInventory = 0 # 인벤토리 닫을 때 벨트 인벤토리가 열려있었는지 여부-_-; 네이밍 ㅈㅅ
  280.  
  281. def __init__(self):
  282. ui.ScriptWindow.__init__(self)
  283.  
  284. self.isOpenedBeltWindowWhenClosingInventory = 0 # 인벤토리 닫을 때 벨트 인벤토리가 열려있었는지 여부-_-; 네이밍 ㅈㅅ
  285.  
  286. self.__LoadWindow()
  287.  
  288. def __del__(self):
  289. ui.ScriptWindow.__del__(self)
  290.  
  291. def Show(self):
  292. self.__LoadWindow()
  293.  
  294. ui.ScriptWindow.Show(self)
  295.  
  296. # 인벤토리를 닫을 때 코스츔이 열려있었다면 인벤토리를 열 때 코스츔도 같이 열도록 함.
  297. if self.isOpenedCostumeWindowWhenClosingInventory and self.wndCostume:
  298. self.wndCostume.Show()
  299.  
  300. # 인벤토리를 닫을 때 벨트 인벤토리가 열려있었다면 같이 열도록 함.
  301. if self.wndBelt:
  302. self.wndBelt.Show(self.isOpenedBeltWindowWhenClosingInventory)
  303.  
  304. def BindInterfaceClass(self, interface):
  305. self.interface = interface
  306.  
  307. def __LoadWindow(self):
  308. if self.isLoaded == 1:
  309. return
  310.  
  311. self.isLoaded = 1
  312.  
  313. try:
  314. pyScrLoader = ui.PythonScriptLoader()
  315.  
  316. if ITEM_MALL_BUTTON_ENABLE:
  317. pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "InventoryWindow.py")
  318. else:
  319. pyScrLoader.LoadScriptFile(self, "UIScript/InventoryWindow.py")
  320. except:
  321. import exception
  322. exception.Abort("InventoryWindow.LoadWindow.LoadObject")
  323.  
  324. try:
  325. wndItem = self.GetChild("ItemSlot")
  326. wndEquip = self.GetChild("EquipmentSlot")
  327. self.GetChild("TitleBar").SetCloseEvent(ui.__mem_func__(self.Close))
  328. self.wndMoney = self.GetChild("Money")
  329. self.wndMoneySlot = self.GetChild("Money_Slot")
  330. if app.ADD_INVENTORY:
  331. self.engelblack = self.GetChild("engel_01_open")
  332. self.engelblackcl = self.GetChild("engel_01_close")
  333. self.engelblack2 = self.GetChild("engel_02_open")
  334. self.engelblack2cl = self.GetChild("engel_02_close")
  335. self.engelblack3 = self.GetChild("engel_03_open")
  336. self.engelblack3cl = self.GetChild("engel_03_close")
  337. self.engelblack4 = self.GetChild("engel_04_open")
  338. self.engelblack4cl = self.GetChild("engel_04_close")
  339. self.engelblack5 = self.GetChild("engel_05_open")
  340. self.engelblack5cl = self.GetChild("engel_05_close")
  341. self.engelblack6 = self.GetChild("engel_06_open")
  342. self.engelblack6cl = self.GetChild("engel_06_close")
  343. self.engelblack7 = self.GetChild("engel_07_open")
  344. self.engelblack7cl = self.GetChild("engel_07_close")
  345. self.engelblack8 = self.GetChild("engel_08_open")
  346. self.engelblack8cl = self.GetChild("engel_08_close")
  347. self.engelblack9 = self.GetChild("engel_09_open")
  348. self.engelblack9cl = self.GetChild("engel_09_close")
  349. self.mallButton = self.GetChild2("MallButton")
  350. self.DSSButton = self.GetChild2("DSSButton")
  351. self.costumeButton = self.GetChild2("CostumeButton")
  352. self.switch = self.GetChild2("switchbutton")
  353.  
  354. self.inventoryTab = []
  355. self.inventoryTab.append(self.GetChild("Inventory_Tab_01"))
  356. self.inventoryTab.append(self.GetChild("Inventory_Tab_02"))
  357. self.inventoryTab.append(self.GetChild("Inventory_Tab_03"))
  358. self.inventoryTab.append(self.GetChild("Inventory_Tab_04"))
  359. #self.inventoryTab.append(self.GetChild("Inventory_Tab_05"))
  360.  
  361. self.equipmentTab = []
  362. self.equipmentTab.append(self.GetChild("Equipment_Tab_01"))
  363. self.equipmentTab.append(self.GetChild("Equipment_Tab_02"))
  364. self.equipmentTab.append(self.GetChild("Equipment_Tab_03"))
  365. self.equipmentTab.append(self.GetChild("Equipment_Tab_04"))
  366. #self.equipmentTab.append(self.GetChild("Equipment_Tab_05"))
  367.  
  368. if self.costumeButton and not app.ENABLE_COSTUME_SYSTEM:
  369. self.costumeButton.Hide()
  370. self.costumeButton.Destroy()
  371. self.costumeButton = 0
  372.  
  373. if app.ADD_INVENTORY:
  374. self.engelblack.Hide()
  375. self.engelblackcl.Hide()
  376. self.engelblack2.Hide()
  377. self.engelblack2cl.Hide()
  378. self.engelblack3.Hide()
  379. self.engelblack3cl.Hide()
  380. self.engelblack4.Hide()
  381. self.engelblack4cl.Hide()
  382. self.engelblack5.Hide()
  383. self.engelblack5cl.Hide()
  384. self.engelblack6.Hide()
  385. self.engelblack6cl.Hide()
  386. self.engelblack7.Hide()
  387. self.engelblack7cl.Hide()
  388. self.engelblack8.Hide()
  389. self.engelblack8cl.Hide()
  390. self.engelblack9.Hide()
  391. self.engelblack9cl.Hide()
  392.  
  393. # Belt Inventory Window
  394. self.wndBelt = None
  395.  
  396. if app.ENABLE_NEW_EQUIPMENT_SYSTEM:
  397. self.wndBelt = BeltInventoryWindow(self)
  398.  
  399. except:
  400. import exception
  401. exception.Abort("InventoryWindow.LoadWindow.BindObject")
  402.  
  403. ## Item
  404. wndItem.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectEmptySlot))
  405. wndItem.SetSelectItemSlotEvent(ui.__mem_func__(self.SelectItemSlot))
  406. wndItem.SetUnselectItemSlotEvent(ui.__mem_func__(self.UseItemSlot))
  407. wndItem.SetUseSlotEvent(ui.__mem_func__(self.UseItemSlot))
  408. wndItem.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
  409. wndItem.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
  410.  
  411. ## Equipment
  412. wndEquip.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectEmptySlot))
  413. wndEquip.SetSelectItemSlotEvent(ui.__mem_func__(self.SelectItemSlot))
  414. wndEquip.SetUnselectItemSlotEvent(ui.__mem_func__(self.UseItemSlot))
  415. wndEquip.SetUseSlotEvent(ui.__mem_func__(self.UseItemSlot))
  416. wndEquip.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
  417. wndEquip.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
  418.  
  419. ## PickMoneyDialog
  420. dlgPickMoney = uiPickMoney.PickMoneyDialog()
  421. dlgPickMoney.LoadDialog()
  422. dlgPickMoney.Hide()
  423.  
  424. ## RefineDialog
  425. self.refineDialog = uiRefine.RefineDialog()
  426. self.refineDialog.Hide()
  427.  
  428. ## AttachMetinDialog
  429. self.attachMetinDialog = uiAttachMetin.AttachMetinDialog()
  430. self.attachMetinDialog.Hide()
  431.  
  432. ## MoneySlot
  433. self.wndMoneySlot.SetEvent(ui.__mem_func__(self.OpenPickMoneyDialog))
  434.  
  435. self.inventoryTab[0].SetEvent(lambda arg=0: self.SetInventoryPage(arg))
  436. self.inventoryTab[1].SetEvent(lambda arg=1: self.SetInventoryPage(arg))
  437. self.inventoryTab[2].SetEvent(lambda arg=2: self.SetInventoryPage(arg))
  438. self.inventoryTab[3].SetEvent(lambda arg=3: self.SetInventoryPage(arg))
  439. self.inventoryTab[0].Down()
  440.  
  441. self.equipmentTab[0].SetEvent(lambda arg=0: self.SetEquipmentPage(arg))
  442. self.equipmentTab[1].SetEvent(lambda arg=1: self.SetEquipmentPage(arg))
  443. self.equipmentTab[2].SetEvent(lambda arg=2: self.SetEquipmentPage(arg))
  444. self.equipmentTab[3].SetEvent(lambda arg=3: self.SetEquipmentPage(arg))
  445. self.equipmentTab[0].Down()
  446. self.equipmentTab[0].Hide()
  447. self.equipmentTab[1].Hide()
  448. self.equipmentTab[2].Hide()
  449. self.equipmentTab[3].Hide()
  450.  
  451. self.wndItem = wndItem
  452. self.wndEquip = wndEquip
  453. self.dlgPickMoney = dlgPickMoney
  454. wndbonusswitcher = switchbot.Bot()
  455. self.wndbonusswitcher = wndbonusswitcher
  456.  
  457. if app.ADD_INVENTORY:
  458. if self.engelblack:
  459. self.engelblack.SetEvent(ui.__mem_func__(self.en_ac))
  460. if self.engelblack2:
  461. self.engelblack2.SetEvent(ui.__mem_func__(self.en_ac))
  462. if self.engelblack3:
  463. self.engelblack3.SetEvent(ui.__mem_func__(self.en_ac))
  464. if self.engelblack4:
  465. self.engelblack4.SetEvent(ui.__mem_func__(self.en_ac))
  466. if self.engelblack5:
  467. self.engelblack5.SetEvent(ui.__mem_func__(self.en_ac))
  468. if self.engelblack6:
  469. self.engelblack6.SetEvent(ui.__mem_func__(self.en_ac))
  470. if self.engelblack7:
  471. self.engelblack7.SetEvent(ui.__mem_func__(self.en_ac))
  472. if self.engelblack8:
  473. self.engelblack8.SetEvent(ui.__mem_func__(self.en_ac))
  474. if self.engelblack9:
  475. self.engelblack9.SetEvent(ui.__mem_func__(self.en_ac))
  476.  
  477. # MallButton
  478. if self.mallButton:
  479. self.mallButton.SetEvent(ui.__mem_func__(self.ClickMallButton))
  480.  
  481. if self.DSSButton:
  482. self.DSSButton.SetEvent(ui.__mem_func__(self.ClickDSSButton))
  483.  
  484. #SWITCH
  485. if self.switch:
  486. self.switch.SetEvent(ui.__mem_func__(self.__uiSwitchBot))
  487.  
  488. # Costume Button
  489. if self.costumeButton:
  490. self.costumeButton.SetEvent(ui.__mem_func__(self.ClickCostumeButton))
  491.  
  492. self.wndCostume = None
  493.  
  494. #####
  495. if app.ENABLE_SASH_SYSTEM:
  496. self.listAttachedSashs = []
  497.  
  498. if app.ENABLE_CHANGELOOK_SYSTEM:
  499. self.listAttachedCl = []
  500.  
  501. ## Refresh
  502. self.SetInventoryPage(0)
  503. self.SetEquipmentPage(0)
  504. self.RefreshItemSlot()
  505. self.RefreshStatus()
  506.  
  507. def Destroy(self):
  508. self.ClearDictionary()
  509.  
  510. self.dlgPickMoney.Destroy()
  511. self.dlgPickMoney = 0
  512.  
  513. self.refineDialog.Destroy()
  514. self.refineDialog = 0
  515.  
  516. self.attachMetinDialog.Destroy()
  517. self.attachMetinDialog = 0
  518.  
  519. self.tooltipItem = None
  520. self.wndItem = 0
  521. self.wndEquip = 0
  522. self.dlgPickMoney = 0
  523. self.wndMoney = 0
  524. self.wndMoneySlot = 0
  525. self.questionDialog = None
  526. self.mallButton = None
  527. if app.ADD_INVENTORY:
  528. self.engelblack = None
  529. self.engelblackcl = None
  530. self.engelblack2 = None
  531. self.engelblack2cl = None
  532. self.engelblack3 = None
  533. self.engelblack3cl = None
  534. self.engelblack4 = None
  535. self.engelblack4cl = None
  536. self.engelblack5 = None
  537. self.engelblack5cl = None
  538. self.engelblack6 = None
  539. self.engelblack6cl = None
  540. self.engelblack7 = None
  541. self.engelblack7cl = None
  542. self.engelblack8 = None
  543. self.engelblack8cl = None
  544. self.engelblack9 = None
  545. self.engelblack9cl = None
  546. self.DSSButton = None
  547. self.interface = None
  548. self.switchbot = None
  549. self.wndbonusswitcher = None
  550. if self.wndbonusswitcher:
  551. self.wndbonusswitcher.Hide()
  552. del self.wndbonusswitcher
  553.  
  554. if self.wndCostume:
  555. self.wndCostume.Destroy()
  556. self.wndCostume = 0
  557.  
  558. if self.wndBelt:
  559. self.wndBelt.Destroy()
  560. self.wndBelt = None
  561.  
  562. self.inventoryTab = []
  563. self.equipmentTab = []
  564.  
  565. def Hide(self):
  566. if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS():
  567. self.OnCloseQuestionDialog()
  568. return
  569. if None != self.tooltipItem:
  570. self.tooltipItem.HideToolTip()
  571.  
  572. if self.wndCostume:
  573. self.isOpenedCostumeWindowWhenClosingInventory = self.wndCostume.IsShow() # 인벤토리 창이 닫힐 때 코스츔이 열려 있었는가?
  574. self.wndCostume.Close()
  575.  
  576. if self.wndBelt:
  577. self.isOpenedBeltWindowWhenClosingInventory = self.wndBelt.IsOpeningInventory() # 인벤토리 창이 닫힐 때 벨트 인벤토리도 열려 있었는가?
  578. print "Is Opening Belt Inven?? ", self.isOpenedBeltWindowWhenClosingInventory
  579. self.wndBelt.Close()
  580.  
  581. if self.dlgPickMoney:
  582. self.dlgPickMoney.Close()
  583.  
  584. wndMgr.Hide(self.hWnd)
  585.  
  586.  
  587. def Close(self):
  588. self.Hide()
  589.  
  590. def SetInventoryPage(self, page):
  591. if app.ADD_INVENTORY:
  592. constInfo.envanter = page
  593. if page == 2:#3 envanter
  594. if player.GetEnvanter() == 0:#Hepsi kapali
  595. self.engelblack.Show()#open
  596. self.engelblackcl.Hide()
  597. self.engelblack2.Hide()
  598. self.engelblack2cl.Show()#close
  599. self.engelblack3.Hide()
  600. self.engelblack3cl.Show()
  601. self.engelblack4.Hide()
  602. self.engelblack4cl.Show()
  603. self.engelblack5.Hide()
  604. self.engelblack5cl.Show()
  605. self.engelblack6.Hide()
  606. self.engelblack6cl.Show()
  607. self.engelblack7.Hide()
  608. self.engelblack7cl.Show()
  609. self.engelblack8.Hide()
  610. self.engelblack8cl.Show()
  611. self.engelblack9.Hide()
  612. self.engelblack9cl.Show()
  613. elif player.GetEnvanter() == 1:# 1 tane acyk
  614. self.engelblack.Hide()#open
  615. self.engelblackcl.Hide()
  616. self.engelblack2.Show()
  617. self.engelblack2cl.Hide()#close
  618. self.engelblack3.Hide()
  619. self.engelblack3cl.Show()
  620. self.engelblack4.Hide()
  621. self.engelblack4cl.Show()
  622. self.engelblack5.Hide()
  623. self.engelblack5cl.Show()
  624. self.engelblack6.Hide()
  625. self.engelblack6cl.Show()
  626. self.engelblack7.Hide()
  627. self.engelblack7cl.Show()
  628. self.engelblack8.Hide()
  629. self.engelblack8cl.Show()
  630. self.engelblack9.Hide()
  631. self.engelblack9cl.Show()
  632. elif player.GetEnvanter() == 2:# 2 tane acyk
  633. self.engelblack.Hide()#open
  634. self.engelblackcl.Hide()#open
  635. self.engelblack2.Hide()
  636. self.engelblack2cl.Hide()#close
  637. self.engelblack3.Show()
  638. self.engelblack3cl.Hide()
  639. self.engelblack4.Hide()
  640. self.engelblack4cl.Show()
  641. self.engelblack5.Hide()
  642. self.engelblack5cl.Show()
  643. self.engelblack6.Hide()
  644. self.engelblack6cl.Show()
  645. self.engelblack7.Hide()
  646. self.engelblack7cl.Show()
  647. self.engelblack8.Hide()
  648. self.engelblack8cl.Show()
  649. self.engelblack9.Hide()
  650. self.engelblack9cl.Show()
  651. elif player.GetEnvanter() == 3:
  652. self.engelblack.Hide()#open
  653. self.engelblackcl.Hide()#open
  654. self.engelblack2.Hide()
  655. self.engelblack2cl.Hide()#close
  656. self.engelblack3.Hide()
  657. self.engelblack3cl.Hide()
  658. self.engelblack4.Show()###
  659. self.engelblack4cl.Hide()
  660. self.engelblack5.Hide()
  661. self.engelblack5cl.Show()
  662. self.engelblack6.Hide()
  663. self.engelblack6cl.Show()
  664. self.engelblack7.Hide()
  665. self.engelblack7cl.Show()
  666. self.engelblack8.Hide()
  667. self.engelblack8cl.Show()
  668. self.engelblack9.Hide()
  669. self.engelblack9cl.Show()
  670. elif player.GetEnvanter() == 4:
  671. self.engelblack.Hide()#open
  672. self.engelblackcl.Hide()#open
  673. self.engelblack2.Hide()
  674. self.engelblack2cl.Hide()#close
  675. self.engelblack3.Hide()
  676. self.engelblack3cl.Hide()
  677. self.engelblack4.Hide()###
  678. self.engelblack4cl.Hide()
  679. self.engelblack5.Show()
  680. self.engelblack5cl.Hide()
  681. self.engelblack6.Hide()
  682. self.engelblack6cl.Show()
  683. self.engelblack7.Hide()
  684. self.engelblack7cl.Show()
  685. self.engelblack8.Hide()
  686. self.engelblack8cl.Show()
  687. self.engelblack9.Hide()
  688. self.engelblack9cl.Show()
  689. elif player.GetEnvanter() == 5:
  690. self.engelblack.Hide()#open
  691. self.engelblackcl.Hide()#open
  692. self.engelblack2.Hide()
  693. self.engelblack2cl.Hide()#close
  694. self.engelblack3.Hide()
  695. self.engelblack3cl.Hide()
  696. self.engelblack4.Hide()###
  697. self.engelblack4cl.Hide()
  698. self.engelblack5.Hide()
  699. self.engelblack5cl.Hide()
  700. self.engelblack6.Show()#open
  701. self.engelblack6cl.Hide()
  702. self.engelblack7.Hide()
  703. self.engelblack7cl.Show()
  704. self.engelblack8.Hide()
  705. self.engelblack8cl.Show()
  706. self.engelblack9.Hide()
  707. self.engelblack9cl.Show()
  708. elif player.GetEnvanter() == 6:
  709. self.engelblack.Hide()#open
  710. self.engelblackcl.Hide()#open
  711. self.engelblack2.Hide()
  712. self.engelblack2cl.Hide()#close
  713. self.engelblack3.Hide()
  714. self.engelblack3cl.Hide()
  715. self.engelblack4.Hide()###
  716. self.engelblack4cl.Hide()
  717. self.engelblack5.Hide()
  718. self.engelblack5cl.Hide()
  719. self.engelblack6.Hide()#open
  720. self.engelblack6cl.Hide()
  721. self.engelblack7.Show()
  722. self.engelblack7cl.Hide()
  723. self.engelblack8.Hide()
  724. self.engelblack8cl.Show()
  725. self.engelblack9.Hide()
  726. self.engelblack9cl.Show()
  727. elif player.GetEnvanter() == 7:
  728. self.engelblack.Hide()#open
  729. self.engelblackcl.Hide()#open
  730. self.engelblack2.Hide()
  731. self.engelblack2cl.Hide()#close
  732. self.engelblack3.Hide()
  733. self.engelblack3cl.Hide()
  734. self.engelblack4.Hide()###
  735. self.engelblack4cl.Hide()
  736. self.engelblack5.Hide()
  737. self.engelblack5cl.Hide()
  738. self.engelblack6.Hide()#open
  739. self.engelblack6cl.Hide()
  740. self.engelblack7.Hide()
  741. self.engelblack7cl.Hide()
  742. self.engelblack8.Show()
  743. self.engelblack8cl.Hide()
  744. self.engelblack9.Hide()
  745. self.engelblack9cl.Show()
  746. elif player.GetEnvanter() == 8:
  747. self.engelblack.Hide()#open
  748. self.engelblackcl.Hide()#open
  749. self.engelblack2.Hide()
  750. self.engelblack2cl.Hide()#close
  751. self.engelblack3.Hide()
  752. self.engelblack3cl.Hide()
  753. self.engelblack4.Hide()###
  754. self.engelblack4cl.Hide()
  755. self.engelblack5.Hide()
  756. self.engelblack5cl.Hide()
  757. self.engelblack6.Hide()#open
  758. self.engelblack6cl.Hide()
  759. self.engelblack7.Hide()
  760. self.engelblack7cl.Hide()
  761. self.engelblack8.Hide()
  762. self.engelblack8cl.Hide()
  763. self.engelblack9.Show()
  764. self.engelblack9cl.Hide()
  765. elif player.GetEnvanter() == 9:
  766. self.engelblack.Hide()#open
  767. self.engelblackcl.Hide()#open
  768. self.engelblack2.Hide()
  769. self.engelblack2cl.Hide()#close
  770. self.engelblack3.Hide()
  771. self.engelblack3cl.Hide()
  772. self.engelblack4.Hide()###
  773. self.engelblack4cl.Hide()
  774. self.engelblack5.Hide()
  775. self.engelblack5cl.Hide()
  776. self.engelblack6.Hide()#open
  777. self.engelblack6cl.Hide()
  778. self.engelblack7.Hide()
  779. self.engelblack7cl.Hide()
  780. self.engelblack8.Hide()
  781. self.engelblack8cl.Hide()
  782. self.engelblack9.Hide()
  783. self.engelblack9cl.Hide()
  784. elif player.GetEnvanter() >= 10:
  785. self.engelblack.Hide()#open
  786. self.engelblackcl.Hide()#open
  787. self.engelblack2.Hide()
  788. self.engelblack2cl.Hide()#close
  789. self.engelblack3.Hide()
  790. self.engelblack3cl.Hide()
  791. self.engelblack4.Hide()###
  792. self.engelblack4cl.Hide()
  793. self.engelblack5.Hide()
  794. self.engelblack5cl.Hide()
  795. self.engelblack6.Hide()#open
  796. self.engelblack6cl.Hide()
  797. self.engelblack7.Hide()
  798. self.engelblack7cl.Hide()
  799. self.engelblack8.Hide()
  800. self.engelblack8cl.Hide()
  801. self.engelblack9.Hide()
  802. self.engelblack9cl.Hide()
  803. elif page == 3:
  804. if player.GetEnvanter() >= 0 and player.GetEnvanter() <= 8:
  805. self.engelblack.Hide()#open
  806. self.engelblackcl.Show()
  807. self.engelblack2.Hide()
  808. self.engelblack2cl.Show()#close
  809. self.engelblack3.Hide()
  810. self.engelblack3cl.Show()
  811. self.engelblack4.Hide()
  812. self.engelblack4cl.Show()
  813. self.engelblack5.Hide()
  814. self.engelblack5cl.Show()
  815. self.engelblack6.Hide()
  816. self.engelblack6cl.Show()
  817. self.engelblack7.Hide()
  818. self.engelblack7cl.Show()
  819. self.engelblack8.Hide()
  820. self.engelblack8cl.Show()
  821. self.engelblack9.Hide()
  822. self.engelblack9cl.Show()
  823. elif player.GetEnvanter() == 9:#Hepsi kapali
  824. self.engelblack.Show()#open
  825. self.engelblackcl.Hide()
  826. self.engelblack2.Hide()
  827. self.engelblack2cl.Show()#close
  828. self.engelblack3.Hide()
  829. self.engelblack3cl.Show()
  830. self.engelblack4.Hide()
  831. self.engelblack4cl.Show()
  832. self.engelblack5.Hide()
  833. self.engelblack5cl.Show()
  834. self.engelblack6.Hide()
  835. self.engelblack6cl.Show()
  836. self.engelblack7.Hide()
  837. self.engelblack7cl.Show()
  838. self.engelblack8.Hide()
  839. self.engelblack8cl.Show()
  840. self.engelblack9.Hide()
  841. self.engelblack9cl.Show()
  842. elif player.GetEnvanter() == 10:# 1 tane acyk
  843. self.engelblack.Hide()#open
  844. self.engelblackcl.Hide()
  845. self.engelblack2.Show()
  846. self.engelblack2cl.Hide()#close
  847. self.engelblack3.Hide()
  848. self.engelblack3cl.Show()
  849. self.engelblack4.Hide()
  850. self.engelblack4cl.Show()
  851. self.engelblack5.Hide()
  852. self.engelblack5cl.Show()
  853. self.engelblack6.Hide()
  854. self.engelblack6cl.Show()
  855. self.engelblack7.Hide()
  856. self.engelblack7cl.Show()
  857. self.engelblack8.Hide()
  858. self.engelblack8cl.Show()
  859. self.engelblack9.Hide()
  860. self.engelblack9cl.Show()
  861. elif player.GetEnvanter() == 11:# 2 tane acyk
  862. self.engelblack.Hide()#open
  863. self.engelblackcl.Hide()#open
  864. self.engelblack2.Hide()
  865. self.engelblack2cl.Hide()#close
  866. self.engelblack3.Show()
  867. self.engelblack3cl.Hide()
  868. self.engelblack4.Hide()
  869. self.engelblack4cl.Show()
  870. self.engelblack5.Hide()
  871. self.engelblack5cl.Show()
  872. self.engelblack6.Hide()
  873. self.engelblack6cl.Show()
  874. self.engelblack7.Hide()
  875. self.engelblack7cl.Show()
  876. self.engelblack8.Hide()
  877. self.engelblack8cl.Show()
  878. self.engelblack9.Hide()
  879. self.engelblack9cl.Show()
  880. elif player.GetEnvanter() == 12:
  881. self.engelblack.Hide()#open
  882. self.engelblackcl.Hide()#open
  883. self.engelblack2.Hide()
  884. self.engelblack2cl.Hide()#close
  885. self.engelblack3.Hide()
  886. self.engelblack3cl.Hide()
  887. self.engelblack4.Show()###
  888. self.engelblack4cl.Hide()
  889. self.engelblack5.Hide()
  890. self.engelblack5cl.Show()
  891. self.engelblack6.Hide()
  892. self.engelblack6cl.Show()
  893. self.engelblack7.Hide()
  894. self.engelblack7cl.Show()
  895. self.engelblack8.Hide()
  896. self.engelblack8cl.Show()
  897. self.engelblack9.Hide()
  898. self.engelblack9cl.Show()
  899. elif player.GetEnvanter() == 13:
  900. self.engelblack.Hide()#open
  901. self.engelblackcl.Hide()#open
  902. self.engelblack2.Hide()
  903. self.engelblack2cl.Hide()#close
  904. self.engelblack3.Hide()
  905. self.engelblack3cl.Hide()
  906. self.engelblack4.Hide()###
  907. self.engelblack4cl.Hide()
  908. self.engelblack5.Show()
  909. self.engelblack5cl.Hide()
  910. self.engelblack6.Hide()
  911. self.engelblack6cl.Show()
  912. self.engelblack7.Hide()
  913. self.engelblack7cl.Show()
  914. self.engelblack8.Hide()
  915. self.engelblack8cl.Show()
  916. self.engelblack9.Hide()
  917. self.engelblack9cl.Show()
  918. elif player.GetEnvanter() == 14:
  919. self.engelblack.Hide()#open
  920. self.engelblackcl.Hide()#open
  921. self.engelblack2.Hide()
  922. self.engelblack2cl.Hide()#close
  923. self.engelblack3.Hide()
  924. self.engelblack3cl.Hide()
  925. self.engelblack4.Hide()###
  926. self.engelblack4cl.Hide()
  927. self.engelblack5.Hide()
  928. self.engelblack5cl.Hide()
  929. self.engelblack6.Show()#open
  930. self.engelblack6cl.Hide()
  931. self.engelblack7.Hide()
  932. self.engelblack7cl.Show()
  933. self.engelblack8.Hide()
  934. self.engelblack8cl.Show()
  935. self.engelblack9.Hide()
  936. self.engelblack9cl.Show()
  937. elif player.GetEnvanter() == 15:
  938. self.engelblack.Hide()#open
  939. self.engelblackcl.Hide()#open
  940. self.engelblack2.Hide()
  941. self.engelblack2cl.Hide()#close
  942. self.engelblack3.Hide()
  943. self.engelblack3cl.Hide()
  944. self.engelblack4.Hide()###
  945. self.engelblack4cl.Hide()
  946. self.engelblack5.Hide()
  947. self.engelblack5cl.Hide()
  948. self.engelblack6.Hide()#open
  949. self.engelblack6cl.Hide()
  950. self.engelblack7.Show()
  951. self.engelblack7cl.Hide()
  952. self.engelblack8.Hide()
  953. self.engelblack8cl.Show()
  954. self.engelblack9.Hide()
  955. self.engelblack9cl.Show()
  956. elif player.GetEnvanter() == 16:
  957. self.engelblack.Hide()#open
  958. self.engelblackcl.Hide()#open
  959. self.engelblack2.Hide()
  960. self.engelblack2cl.Hide()#close
  961. self.engelblack3.Hide()
  962. self.engelblack3cl.Hide()
  963. self.engelblack4.Hide()###
  964. self.engelblack4cl.Hide()
  965. self.engelblack5.Hide()
  966. self.engelblack5cl.Hide()
  967. self.engelblack6.Hide()#open
  968. self.engelblack6cl.Hide()
  969. self.engelblack7.Hide()
  970. self.engelblack7cl.Hide()
  971. self.engelblack8.Show()
  972. self.engelblack8cl.Hide()
  973. self.engelblack9.Hide()
  974. self.engelblack9cl.Show()
  975. elif player.GetEnvanter() == 17:
  976. self.engelblack.Hide()#open
  977. self.engelblackcl.Hide()#open
  978. self.engelblack2.Hide()
  979. self.engelblack2cl.Hide()#close
  980. self.engelblack3.Hide()
  981. self.engelblack3cl.Hide()
  982. self.engelblack4.Hide()###
  983. self.engelblack4cl.Hide()
  984. self.engelblack5.Hide()
  985. self.engelblack5cl.Hide()
  986. self.engelblack6.Hide()#open
  987. self.engelblack6cl.Hide()
  988. self.engelblack7.Hide()
  989. self.engelblack7cl.Hide()
  990. self.engelblack8.Hide()
  991. self.engelblack8cl.Hide()
  992. self.engelblack9.Show()
  993. self.engelblack9cl.Hide()
  994. elif player.GetEnvanter() == 18:
  995. self.engelblack.Hide()#open
  996. self.engelblackcl.Hide()#open
  997. self.engelblack2.Hide()
  998. self.engelblack2cl.Hide()#close
  999. self.engelblack3.Hide()
  1000. self.engelblack3cl.Hide()
  1001. self.engelblack4.Hide()###
  1002. self.engelblack4cl.Hide()
  1003. self.engelblack5.Hide()
  1004. self.engelblack5cl.Hide()
  1005. self.engelblack6.Hide()#open
  1006. self.engelblack6cl.Hide()
  1007. self.engelblack7.Hide()
  1008. self.engelblack7cl.Hide()
  1009. self.engelblack8.Hide()
  1010. self.engelblack8cl.Hide()
  1011. self.engelblack9.Hide()
  1012. self.engelblack9cl.Hide()
  1013. else:
  1014. self.engelblack.Hide()
  1015. self.engelblackcl.Hide()
  1016. self.engelblack2.Hide()
  1017. self.engelblack2cl.Hide()
  1018. self.engelblack3.Hide()
  1019. self.engelblack3cl.Hide()
  1020. self.engelblack4.Hide()
  1021. self.engelblack4cl.Hide()
  1022. self.engelblack5.Hide()
  1023. self.engelblack5cl.Hide()
  1024. self.engelblack6.Hide()
  1025. self.engelblack6cl.Hide()
  1026. self.engelblack7.Hide()
  1027. self.engelblack7cl.Hide()
  1028. self.engelblack8.Hide()
  1029. self.engelblack8cl.Hide()
  1030. self.engelblack9.Hide()
  1031. self.engelblack9cl.Hide()
  1032. self.inventoryPageIndex = page
  1033. self.inventoryTab[0].SetUp()
  1034. self.inventoryTab[1].SetUp()
  1035. self.inventoryTab[2].SetUp()
  1036. self.inventoryTab[3].SetUp()
  1037. if len(self.inventoryTab) >=page:
  1038. self.inventoryTab[page].Down()
  1039. self.RefreshBagSlotWindow()
  1040.  
  1041. def SetEquipmentPage(self, page):
  1042. self.equipmentPageIndex = page
  1043. self.equipmentTab[0].SetUp()
  1044. self.equipmentTab[1].SetUp()
  1045. self.equipmentTab[2].SetUp()
  1046. self.equipmentTab[3].SetUp()
  1047. if len(self.equipmentTab) >=page:
  1048. self.equipmentTab[page].Down()
  1049. self.RefreshEquipSlotWindow()
  1050.  
  1051. if app.ADD_INVENTORY:
  1052. def en_ac(self):
  1053. if player.GetEnvanter() < 4:
  1054. envanter = 2
  1055. self.questionDialog = uiCommon.QuestionDialog()
  1056. self.questionDialog.SetText(localeInfo.ENVANTER_GENIS_1 % envanter)
  1057. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.genislet))
  1058. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
  1059. self.questionDialog.Open()
  1060. # self.questionDialog.slotIndex = slotIndex
  1061. elif player.GetEnvanter() == 4 or player.GetEnvanter() == 5:
  1062. envanter = 3
  1063. self.questionDialog = uiCommon.QuestionDialog()
  1064. self.questionDialog.SetText(localeInfo.ENVANTER_GENIS_1 % envanter)
  1065. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.genislet))
  1066. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
  1067. self.questionDialog.Open()
  1068. # self.questionDialog.slotIndex = slotIndex
  1069. elif player.GetEnvanter() == 6 or player.GetEnvanter() == 7 or player.GetEnvanter() == 8:
  1070. envanter = 4
  1071. self.questionDialog = uiCommon.QuestionDialog()
  1072. self.questionDialog.SetText(localeInfo.ENVANTER_GENIS_1 % envanter)
  1073. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.genislet))
  1074. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
  1075. self.questionDialog.Open()
  1076. # self.questionDialog.slotIndex = slotIndex
  1077. elif player.GetEnvanter() == 9 or player.GetEnvanter() == 10 or player.GetEnvanter() == 11:
  1078. envanter = 5
  1079. self.questionDialog = uiCommon.QuestionDialog()
  1080. self.questionDialog.SetText(localeInfo.ENVANTER_GENIS_1 % envanter)
  1081. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.genislet))
  1082. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
  1083. self.questionDialog.Open()
  1084. # self.questionDialog.slotIndex = slotIndex
  1085. elif player.GetEnvanter() == 12 or player.GetEnvanter() == 13 or player.GetEnvanter() == 14:
  1086. envanter = 6
  1087. self.questionDialog = uiCommon.QuestionDialog()
  1088. self.questionDialog.SetText(localeInfo.ENVANTER_GENIS_1 % envanter)
  1089. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.genislet))
  1090. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
  1091. self.questionDialog.Open()
  1092. # self.questionDialog.slotIndex = slotIndex
  1093. elif player.GetEnvanter() == 15 or player.GetEnvanter() == 16 or player.GetEnvanter() == 17:
  1094. envanter = 7
  1095. self.questionDialog = uiCommon.QuestionDialog()
  1096. self.questionDialog.SetText(localeInfo.ENVANTER_GENIS_1 % envanter)
  1097. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.genislet))
  1098. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
  1099. self.questionDialog.Open()
  1100. # self.questionDialog.slotIndex = slotIndex
  1101. else:
  1102. self.wndPopupDialog = uiCommon.PopupDialog()
  1103. self.wndPopupDialog.SetText(localeInfo.ENVANTER_ZATEN_GENIS_3)
  1104. self.wndPopupDialog.Open()
  1105.  
  1106.  
  1107. def ClickMallButton(self):
  1108. print "click_mall_button"
  1109. net.SendChatPacket("/click_mall")
  1110.  
  1111. # DSSButton
  1112. def ClickDSSButton(self):
  1113. print "click_dss_button"
  1114. self.interface.ToggleDragonSoulWindow()
  1115.  
  1116. def ClickCostumeButton(self):
  1117. print "Click Costume Button"
  1118. if self.wndCostume:
  1119. if self.wndCostume.IsShow():
  1120. self.wndCostume.Hide()
  1121. else:
  1122. self.wndCostume.Show()
  1123. else:
  1124. self.wndCostume = CostumeWindow(self)
  1125. self.wndCostume.Show()
  1126.  
  1127. def OpenPickMoneyDialog(self):
  1128.  
  1129. if mouseModule.mouseController.isAttached():
  1130.  
  1131. attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
  1132. if player.SLOT_TYPE_SAFEBOX == mouseModule.mouseController.GetAttachedType():
  1133.  
  1134. if player.ITEM_MONEY == mouseModule.mouseController.GetAttachedItemIndex():
  1135. net.SendSafeboxWithdrawMoneyPacket(mouseModule.mouseController.GetAttachedItemCount())
  1136. snd.PlaySound("sound/ui/money.wav")
  1137.  
  1138. mouseModule.mouseController.DeattachObject()
  1139.  
  1140. else:
  1141. curMoney = player.GetElk()
  1142.  
  1143. if curMoney <= 0:
  1144. return
  1145.  
  1146. self.dlgPickMoney.SetTitleName(localeInfo.PICK_MONEY_TITLE)
  1147. self.dlgPickMoney.SetAcceptEvent(ui.__mem_func__(self.OnPickMoney))
  1148. self.dlgPickMoney.Open(curMoney)
  1149. self.dlgPickMoney.SetMax(7) # 인벤토리 990000 제한 버그 수정
  1150.  
  1151. def OnPickMoney(self, money):
  1152. mouseModule.mouseController.AttachMoney(self, player.SLOT_TYPE_INVENTORY, money)
  1153.  
  1154. def OnPickItem(self, count):
  1155. itemSlotIndex = self.dlgPickMoney.itemGlobalSlotIndex
  1156. selectedItemVNum = player.GetItemIndex(itemSlotIndex)
  1157. mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_INVENTORY, itemSlotIndex, selectedItemVNum, count)
  1158.  
  1159. def __InventoryLocalSlotPosToGlobalSlotPos(self, local):
  1160. if player.IsEquipmentSlot(local) or player.IsCostumeSlot(local) or (app.ENABLE_NEW_EQUIPMENT_SYSTEM and player.IsBeltInventorySlot(local)):
  1161. return local
  1162.  
  1163. return self.inventoryPageIndex*player.INVENTORY_PAGE_SIZE + local
  1164.  
  1165. def RefreshBagSlotWindow(self):
  1166. getItemVNum=player.GetItemIndex
  1167. getItemCount=player.GetItemCount
  1168. setItemVNum=self.wndItem.SetItemSlot
  1169.  
  1170. for i in xrange(player.INVENTORY_PAGE_SIZE):
  1171. slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(i)
  1172.  
  1173. itemCount = getItemCount(slotNumber)
  1174. # itemCount == 0이면 소켓을 비운다.
  1175. if 0 == itemCount:
  1176. self.wndItem.ClearSlot(i)
  1177. continue
  1178. elif 1 == itemCount:
  1179. itemCount = 0
  1180.  
  1181. itemVnum = getItemVNum(slotNumber)
  1182. setItemVNum(i, itemVnum, itemCount)
  1183. if app.ENABLE_CHANGELOOK_SYSTEM:
  1184. itemTransmutedVnum = player.GetItemTransmutation(slotNumber)
  1185. if itemTransmutedVnum:
  1186. self.wndItem.DisableCoverButton(i)
  1187. else:
  1188. self.wndItem.EnableCoverButton(i)
  1189.  
  1190. ## 자동물약 (HP: #72723 ~ #72726, SP: #72727 ~ #72730) 특수처리 - 아이템인데도 슬롯에 활성화/비활성화 표시를 위한 작업임 - [hyo]
  1191. if constInfo.IS_AUTO_POTION(itemVnum):
  1192. # metinSocket - [0] : 활성화 여부, [1] : 사용한 양, [2] : 최대 용량
  1193. metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]
  1194.  
  1195. if slotNumber >= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex:
  1196. slotNumber -= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex
  1197.  
  1198. isActivated = 0 != metinSocket[0]
  1199.  
  1200. if isActivated:
  1201. self.wndItem.ActivateSlot(slotNumber)
  1202. potionType = 0;
  1203. if constInfo.IS_AUTO_POTION_HP(itemVnum):
  1204. potionType = player.AUTO_POTION_TYPE_HP
  1205. elif constInfo.IS_AUTO_POTION_SP(itemVnum):
  1206. potionType = player.AUTO_POTION_TYPE_SP
  1207.  
  1208. usedAmount = int(metinSocket[1])
  1209. totalAmount = int(metinSocket[2])
  1210. player.SetAutoPotionInfo(potionType, isActivated, (totalAmount - usedAmount), totalAmount, self.__InventoryLocalSlotPosToGlobalSlotPos(i))
  1211.  
  1212. else:
  1213. self.wndItem.DeactivateSlot(slotNumber)
  1214.  
  1215. if app.ENABLE_SASH_SYSTEM or app.ENABLE_CHANGELOOK_SYSTEM:
  1216. slotNumberChecked = 0
  1217. if not constInfo.IS_AUTO_POTION(itemVnum):
  1218. self.wndItem.DeactivateSlot(i)
  1219.  
  1220. if app.ENABLE_SASH_SYSTEM:
  1221. for j in xrange(sash.WINDOW_MAX_MATERIALS):
  1222. (isHere, iCell) = sash.GetAttachedItem(j)
  1223. if isHere:
  1224. if iCell == slotNumber:
  1225. self.wndItem.ActivateSlot(i, (36.00 / 255.0), (222.00 / 255.0), (3.00 / 255.0), 1.0)
  1226. if not slotNumber in self.listAttachedSashs:
  1227. self.listAttachedSashs.append(slotNumber)
  1228.  
  1229. slotNumberChecked = 1
  1230. else:
  1231. if slotNumber in self.listAttachedSashs and not slotNumberChecked:
  1232. self.wndItem.DeactivateSlot(i)
  1233. self.listAttachedSashs.remove(slotNumber)
  1234.  
  1235. if app.ENABLE_CHANGELOOK_SYSTEM:
  1236. slotClNumberChecked = 0
  1237. for q in xrange(changelook.WINDOW_MAX_MATERIALS):
  1238. (isHere, iCell) = changelook.GetAttachedItem(q)
  1239. if isHere:
  1240. if iCell == slotNumber:
  1241. self.wndItem.ActivateSlot(i, (238.00 / 255.0), (11.00 / 255.0), (11.00 / 255.0), 1.0)
  1242. if not slotNumber in self.listAttachedCl:
  1243. self.listAttachedCl.append(slotNumber)
  1244.  
  1245. slotClNumberChecked = 1
  1246. else:
  1247. if slotNumber in self.listAttachedCl and not slotClNumberChecked:
  1248. self.wndItem.DeactivateSlot(i)
  1249. self.listAttachedCl.remove(slotNumber)
  1250.  
  1251. self.wndItem.RefreshSlot()
  1252.  
  1253. if self.wndBelt:
  1254. self.wndBelt.RefreshSlot()
  1255.  
  1256. def RefreshEquipSlotWindow(self):
  1257. getItemVNum=player.GetItemIndex
  1258. getItemCount=player.GetItemCount
  1259. setItemVNum=self.wndEquip.SetItemSlot
  1260. for i in xrange(player.EQUIPMENT_PAGE_COUNT):
  1261. slotNumber = player.EQUIPMENT_SLOT_START + i
  1262. itemCount = getItemCount(slotNumber)
  1263. if itemCount <= 1:
  1264. itemCount = 0
  1265. setItemVNum(slotNumber, getItemVNum(slotNumber), itemCount)
  1266. if app.ENABLE_CHANGELOOK_SYSTEM:
  1267. itemTransmutedVnum = player.GetItemTransmutation(slotNumber)
  1268. if itemTransmutedVnum:
  1269. self.wndEquip.DisableCoverButton(slotNumber)
  1270. else:
  1271. self.wndEquip.EnableCoverButton(slotNumber)
  1272.  
  1273. if app.ENABLE_NEW_EQUIPMENT_SYSTEM:
  1274. for i in xrange(player.NEW_EQUIPMENT_SLOT_COUNT):
  1275. slotNumber = player.NEW_EQUIPMENT_SLOT_START + i
  1276. itemCount = getItemCount(slotNumber)
  1277. if itemCount <= 1:
  1278. itemCount = 0
  1279. setItemVNum(slotNumber, getItemVNum(slotNumber), itemCount)
  1280. if app.ENABLE_CHANGELOOK_SYSTEM:
  1281. itemTransmutedVnum = player.GetItemTransmutation(slotNumber)
  1282. if itemTransmutedVnum:
  1283. self.wndEquip.DisableCoverButton(slotNumber)
  1284. else:
  1285. self.wndEquip.EnableCoverButton(slotNumber)
  1286. print "ENABLE_NEW_EQUIPMENT_SYSTEM", slotNumber, itemCount, getItemVNum(slotNumber)
  1287.  
  1288. self.wndEquip.RefreshSlot()
  1289.  
  1290. if self.wndCostume:
  1291. self.wndCostume.RefreshCostumeSlot()
  1292.  
  1293. def RefreshItemSlot(self):
  1294. self.RefreshBagSlotWindow()
  1295. self.RefreshEquipSlotWindow()
  1296.  
  1297. def RefreshStatus(self):
  1298. money = player.GetElk()
  1299. self.wndMoney.SetText(localeInfo.NumberToMoneyString(money))
  1300.  
  1301. def SetItemToolTip(self, tooltipItem):
  1302. self.tooltipItem = tooltipItem
  1303.  
  1304. def SellItem(self):
  1305. if self.sellingSlotitemIndex == player.GetItemIndex(self.sellingSlotNumber):
  1306. if self.sellingSlotitemCount == player.GetItemCount(self.sellingSlotNumber):
  1307. ## 용혼석도 팔리게 하는 기능 추가하면서 인자 type 추가
  1308. net.SendShopSellPacketNew(self.sellingSlotNumber, self.questionDialog.count, player.INVENTORY)
  1309. snd.PlaySound("sound/ui/money.wav")
  1310. self.OnCloseQuestionDialog()
  1311.  
  1312. def OnDetachMetinFromItem(self):
  1313. if None == self.questionDialog:
  1314. return
  1315.  
  1316. #net.SendItemUseToItemPacket(self.questionDialog.sourcePos, self.questionDialog.targetPos)
  1317. self.__SendUseItemToItemPacket(self.questionDialog.sourcePos, self.questionDialog.targetPos)
  1318. self.OnCloseQuestionDialog()
  1319.  
  1320. def OnCloseQuestionDialog(self):
  1321. if not self.questionDialog:
  1322. return
  1323.  
  1324. self.questionDialog.Close()
  1325. self.questionDialog = None
  1326. constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(0)
  1327.  
  1328. ## Slot Event
  1329. def SelectEmptySlot(self, selectedSlotPos):
  1330. if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS() == 1:
  1331. return
  1332.  
  1333. selectedSlotPos = self.__InventoryLocalSlotPosToGlobalSlotPos(selectedSlotPos)
  1334.  
  1335. if mouseModule.mouseController.isAttached():
  1336.  
  1337. attachedSlotType = mouseModule.mouseController.GetAttachedType()
  1338. attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
  1339. attachedItemCount = mouseModule.mouseController.GetAttachedItemCount()
  1340. attachedItemIndex = mouseModule.mouseController.GetAttachedItemIndex()
  1341.  
  1342. if player.SLOT_TYPE_INVENTORY == attachedSlotType:
  1343. itemCount = player.GetItemCount(attachedSlotPos)
  1344. attachedCount = mouseModule.mouseController.GetAttachedItemCount()
  1345. self.__SendMoveItemPacket(attachedSlotPos, selectedSlotPos, attachedCount)
  1346.  
  1347. if item.IsRefineScroll(attachedItemIndex):
  1348. self.wndItem.SetUseMode(False)
  1349.  
  1350. elif player.SLOT_TYPE_PRIVATE_SHOP == attachedSlotType:
  1351. mouseModule.mouseController.RunCallBack("INVENTORY")
  1352.  
  1353. elif player.SLOT_TYPE_SHOP == attachedSlotType:
  1354. net.SendShopBuyPacket(attachedSlotPos)
  1355.  
  1356. elif player.SLOT_TYPE_SAFEBOX == attachedSlotType:
  1357.  
  1358. if player.ITEM_MONEY == attachedItemIndex:
  1359. net.SendSafeboxWithdrawMoneyPacket(mouseModule.mouseController.GetAttachedItemCount())
  1360. snd.PlaySound("sound/ui/money.wav")
  1361.  
  1362. else:
  1363. net.SendSafeboxCheckoutPacket(attachedSlotPos, selectedSlotPos)
  1364.  
  1365. elif player.SLOT_TYPE_MALL == attachedSlotType:
  1366. net.SendMallCheckoutPacket(attachedSlotPos, selectedSlotPos)
  1367.  
  1368. mouseModule.mouseController.DeattachObject()
  1369.  
  1370. def SelectItemSlot(self, itemSlotIndex):
  1371. if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS() == 1:
  1372. return
  1373.  
  1374. itemSlotIndex = self.__InventoryLocalSlotPosToGlobalSlotPos(itemSlotIndex)
  1375.  
  1376. if mouseModule.mouseController.isAttached():
  1377. attachedSlotType = mouseModule.mouseController.GetAttachedType()
  1378. attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
  1379. attachedItemVID = mouseModule.mouseController.GetAttachedItemIndex()
  1380.  
  1381. if player.SLOT_TYPE_INVENTORY == attachedSlotType:
  1382. self.__DropSrcItemToDestItemInInventory(attachedItemVID, attachedSlotPos, itemSlotIndex)
  1383.  
  1384. mouseModule.mouseController.DeattachObject()
  1385.  
  1386. else:
  1387.  
  1388. curCursorNum = app.GetCursor()
  1389. if app.SELL == curCursorNum:
  1390. self.__SellItem(itemSlotIndex)
  1391.  
  1392. elif app.BUY == curCursorNum:
  1393. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SHOP_BUY_INFO)
  1394.  
  1395. elif app.IsPressed(app.DIK_LALT):
  1396. link = player.GetItemLink(itemSlotIndex)
  1397. ime.PasteString(link)
  1398.  
  1399. elif app.IsPressed(app.DIK_LSHIFT):
  1400. itemCount = player.GetItemCount(itemSlotIndex)
  1401.  
  1402. if itemCount > 1:
  1403. self.dlgPickMoney.SetTitleName(localeInfo.PICK_ITEM_TITLE)
  1404. self.dlgPickMoney.SetAcceptEvent(ui.__mem_func__(self.OnPickItem))
  1405. self.dlgPickMoney.Open(itemCount)
  1406. self.dlgPickMoney.itemGlobalSlotIndex = itemSlotIndex
  1407. #else:
  1408. #selectedItemVNum = player.GetItemIndex(itemSlotIndex)
  1409. #mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_INVENTORY, itemSlotIndex, selectedItemVNum)
  1410.  
  1411. elif app.IsPressed(app.DIK_LCONTROL):
  1412. itemIndex = player.GetItemIndex(itemSlotIndex)
  1413.  
  1414. if True == item.CanAddToQuickSlotItem(itemIndex):
  1415. player.RequestAddToEmptyLocalQuickSlot(player.SLOT_TYPE_INVENTORY, itemSlotIndex)
  1416. else:
  1417. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.QUICKSLOT_REGISTER_DISABLE_ITEM)
  1418.  
  1419. else:
  1420. selectedItemVNum = player.GetItemIndex(itemSlotIndex)
  1421. itemCount = player.GetItemCount(itemSlotIndex)
  1422. mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_INVENTORY, itemSlotIndex, selectedItemVNum, itemCount)
  1423.  
  1424. if self.__IsUsableItemToItem(selectedItemVNum, itemSlotIndex):
  1425. self.wndItem.SetUseMode(True)
  1426. else:
  1427. self.wndItem.SetUseMode(False)
  1428.  
  1429. snd.PlaySound("sound/ui/pick.wav")
  1430.  
  1431. def __DropSrcItemToDestItemInInventory(self, srcItemVID, srcItemSlotPos, dstItemSlotPos):
  1432. if srcItemSlotPos == dstItemSlotPos:
  1433. return
  1434.  
  1435. if item.IsRefineScroll(srcItemVID):
  1436. if player.GetItemIndex(srcItemSlotPos) == player.GetItemIndex(dstItemSlotPos):
  1437. self.__SendMoveItemPacket(srcItemSlotPos, dstItemSlotPos,0)
  1438. else:
  1439. self.RefineItem(srcItemSlotPos, dstItemSlotPos)
  1440. self.wndItem.SetUseMode(FALSE)
  1441.  
  1442. elif item.IsRefineScroll(srcItemVID):
  1443. self.RefineItem(srcItemSlotPos, dstItemSlotPos)
  1444. self.wndItem.SetUseMode(False)
  1445.  
  1446. elif item.IsMetin(srcItemVID):
  1447. self.AttachMetinToItem(srcItemSlotPos, dstItemSlotPos)
  1448.  
  1449. elif item.IsDetachScroll(srcItemVID):
  1450. self.DetachMetinFromItem(srcItemSlotPos, dstItemSlotPos)
  1451.  
  1452. elif item.IsKey(srcItemVID):
  1453. self.__SendUseItemToItemPacket(srcItemSlotPos, dstItemSlotPos)
  1454.  
  1455. elif (player.GetItemFlags(srcItemSlotPos) & ITEM_FLAG_APPLICABLE) == ITEM_FLAG_APPLICABLE:
  1456. self.__SendUseItemToItemPacket(srcItemSlotPos, dstItemSlotPos)
  1457.  
  1458. elif item.GetUseType(srcItemVID) in self.USE_TYPE_TUPLE:
  1459. self.__SendUseItemToItemPacket(srcItemSlotPos, dstItemSlotPos)
  1460.  
  1461. else:
  1462. #snd.PlaySound("sound/ui/drop.wav")
  1463.  
  1464. ## 이동시킨 곳이 장착 슬롯일 경우 아이템을 사용해서 장착 시킨다 - [levites]
  1465. if player.IsEquipmentSlot(dstItemSlotPos):
  1466.  
  1467. ## 들고 있는 아이템이 장비일때만
  1468. if item.IsEquipmentVID(srcItemVID):
  1469. self.__UseItem(srcItemSlotPos)
  1470.  
  1471. else:
  1472. self.__SendMoveItemPacket(srcItemSlotPos, dstItemSlotPos, 0)
  1473. #net.SendItemMovePacket(srcItemSlotPos, dstItemSlotPos, 0)
  1474.  
  1475. def __SellItem(self, itemSlotPos):
  1476. if not player.IsEquipmentSlot(itemSlotPos):
  1477. self.sellingSlotNumber = itemSlotPos
  1478. itemIndex = player.GetItemIndex(itemSlotPos)
  1479. itemCount = player.GetItemCount(itemSlotPos)
  1480.  
  1481.  
  1482. self.sellingSlotitemIndex = itemIndex
  1483. self.sellingSlotitemCount = itemCount
  1484.  
  1485. item.SelectItem(itemIndex)
  1486. ## 안티 플레그 검사 빠져서 추가
  1487. ## 20140220
  1488. if item.IsAntiFlag(item.ANTIFLAG_SELL):
  1489. popup = uiCommon.PopupDialog()
  1490. popup.SetText(localeInfo.SHOP_CANNOT_SELL_ITEM)
  1491. popup.SetAcceptEvent(self.__OnClosePopupDialog)
  1492. popup.Open()
  1493. self.popup = popup
  1494. return
  1495.  
  1496. itemPrice = item.GetISellItemPrice()
  1497.  
  1498. if item.Is1GoldItem():
  1499. itemPrice = itemCount / itemPrice / 5
  1500. else:
  1501. itemPrice = itemPrice * itemCount / 5
  1502.  
  1503. item.GetItemName(itemIndex)
  1504. itemName = item.GetItemName()
  1505.  
  1506. self.questionDialog = uiCommon.QuestionDialog()
  1507. self.questionDialog.SetText(localeInfo.DO_YOU_SELL_ITEM(itemName, itemCount, itemPrice))
  1508. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.SellItem))
  1509. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
  1510. self.questionDialog.Open()
  1511. self.questionDialog.count = itemCount
  1512.  
  1513. constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(1)
  1514.  
  1515. def __OnClosePopupDialog(self):
  1516. self.pop = None
  1517.  
  1518. def RefineItem(self, scrollSlotPos, targetSlotPos):
  1519.  
  1520. scrollIndex = player.GetItemIndex(scrollSlotPos)
  1521. targetIndex = player.GetItemIndex(targetSlotPos)
  1522.  
  1523. if player.REFINE_OK != player.CanRefine(scrollIndex, targetSlotPos):
  1524. return
  1525.  
  1526. ###########################################################
  1527. self.__SendUseItemToItemPacket(scrollSlotPos, targetSlotPos)
  1528. #net.SendItemUseToItemPacket(scrollSlotPos, targetSlotPos)
  1529. return
  1530. ###########################################################
  1531.  
  1532. ###########################################################
  1533. #net.SendRequestRefineInfoPacket(targetSlotPos)
  1534. #return
  1535. ###########################################################
  1536.  
  1537. result = player.CanRefine(scrollIndex, targetSlotPos)
  1538.  
  1539. if player.REFINE_ALREADY_MAX_SOCKET_COUNT == result:
  1540. #snd.PlaySound("sound/ui/jaeryun_fail.wav")
  1541. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_NO_MORE_SOCKET)
  1542.  
  1543. elif player.REFINE_NEED_MORE_GOOD_SCROLL == result:
  1544. #snd.PlaySound("sound/ui/jaeryun_fail.wav")
  1545. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_NEED_BETTER_SCROLL)
  1546.  
  1547. elif player.REFINE_CANT_MAKE_SOCKET_ITEM == result:
  1548. #snd.PlaySound("sound/ui/jaeryun_fail.wav")
  1549. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_SOCKET_DISABLE_ITEM)
  1550.  
  1551. elif player.REFINE_NOT_NEXT_GRADE_ITEM == result:
  1552. #snd.PlaySound("sound/ui/jaeryun_fail.wav")
  1553. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_UPGRADE_DISABLE_ITEM)
  1554.  
  1555. elif player.REFINE_CANT_REFINE_METIN_TO_EQUIPMENT == result:
  1556. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_EQUIP_ITEM)
  1557.  
  1558. if player.REFINE_OK != result:
  1559. return
  1560.  
  1561. self.refineDialog.Open(scrollSlotPos, targetSlotPos)
  1562.  
  1563. def DetachMetinFromItem(self, scrollSlotPos, targetSlotPos):
  1564. scrollIndex = player.GetItemIndex(scrollSlotPos)
  1565. targetIndex = player.GetItemIndex(targetSlotPos)
  1566. if app.ENABLE_SASH_SYSTEM and app.ENABLE_CHANGELOOK_SYSTEM:
  1567. if not player.CanDetach(scrollIndex, targetSlotPos):
  1568. item.SelectItem(scrollIndex)
  1569. if item.GetValue(0) == sash.CLEAN_ATTR_VALUE0:
  1570. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SASH_FAILURE_CLEAN)
  1571. elif item.GetValue(0) == changelook.CLEAN_ATTR_VALUE0:
  1572. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.CHANGE_LOOK_FAILURE_CLEAN)
  1573. else:
  1574. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_METIN_INSEPARABLE_ITEM)
  1575.  
  1576. return
  1577. elif app.ENABLE_SASH_SYSTEM:
  1578. if not player.CanDetach(scrollIndex, targetSlotPos):
  1579. item.SelectItem(scrollIndex)
  1580. if item.GetValue(0) == sash.CLEAN_ATTR_VALUE0:
  1581. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SASH_FAILURE_CLEAN)
  1582. else:
  1583. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_METIN_INSEPARABLE_ITEM)
  1584.  
  1585. return
  1586. elif app.ENABLE_CHANGELOOK_SYSTEM:
  1587. if not player.CanDetach(scrollIndex, targetSlotPos):
  1588. item.SelectItem(scrollIndex)
  1589. if item.GetValue(0) == changelook.CLEAN_ATTR_VALUE0:
  1590. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.CHANGE_LOOK_FAILURE_CLEAN)
  1591. else:
  1592. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_METIN_INSEPARABLE_ITEM)
  1593.  
  1594. return
  1595. else:
  1596. if not player.CanDetach(scrollIndex, targetSlotPos):
  1597. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_METIN_INSEPARABLE_ITEM)
  1598. return
  1599.  
  1600. self.questionDialog = uiCommon.QuestionDialog()
  1601. self.questionDialog.SetText(localeInfo.REFINE_DO_YOU_SEPARATE_METIN)
  1602. if app.ENABLE_SASH_SYSTEM:
  1603. item.SelectItem(targetIndex)
  1604. if item.GetItemType() == item.ITEM_TYPE_COSTUME and item.GetItemSubType() == item.COSTUME_TYPE_SASH:
  1605. item.SelectItem(scrollIndex)
  1606. if item.GetValue(0) == sash.CLEAN_ATTR_VALUE0:
  1607. self.questionDialog.SetText(localeInfo.SASH_DO_YOU_CLEAN)
  1608.  
  1609. if app.ENABLE_CHANGELOOK_SYSTEM:
  1610. item.SelectItem(targetIndex)
  1611. if item.GetItemType() == item.ITEM_TYPE_WEAPON or item.GetItemType() == item.ITEM_TYPE_ARMOR or item.GetItemType() == item.ITEM_TYPE_COSTUME:
  1612. item.SelectItem(scrollIndex)
  1613. if item.GetValue(0) == changelook.CLEAN_ATTR_VALUE0:
  1614. self.questionDialog.SetText(localeInfo.CHANGE_LOOK_DO_YOU_CLEAN)
  1615.  
  1616. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.OnDetachMetinFromItem))
  1617. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
  1618. self.questionDialog.Open()
  1619. self.questionDialog.sourcePos = scrollSlotPos
  1620. self.questionDialog.targetPos = targetSlotPos
  1621.  
  1622. def AttachMetinToItem(self, metinSlotPos, targetSlotPos):
  1623. metinIndex = player.GetItemIndex(metinSlotPos)
  1624. targetIndex = player.GetItemIndex(targetSlotPos)
  1625.  
  1626. item.SelectItem(metinIndex)
  1627. itemName = item.GetItemName()
  1628.  
  1629. result = player.CanAttachMetin(metinIndex, targetSlotPos)
  1630.  
  1631. if player.ATTACH_METIN_NOT_MATCHABLE_ITEM == result:
  1632. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_CAN_NOT_ATTACH(itemName))
  1633.  
  1634. if player.ATTACH_METIN_NO_MATCHABLE_SOCKET == result:
  1635. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_NO_SOCKET(itemName))
  1636.  
  1637. elif player.ATTACH_METIN_NOT_EXIST_GOLD_SOCKET == result:
  1638. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_NO_GOLD_SOCKET(itemName))
  1639.  
  1640. elif player.ATTACH_METIN_CANT_ATTACH_TO_EQUIPMENT == result:
  1641. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_EQUIP_ITEM)
  1642.  
  1643. if player.ATTACH_METIN_OK != result:
  1644. return
  1645.  
  1646. self.attachMetinDialog.Open(metinSlotPos, targetSlotPos)
  1647.  
  1648.  
  1649.  
  1650. def OverOutItem(self):
  1651. self.wndItem.SetUsableItem(False)
  1652. if None != self.tooltipItem:
  1653. self.tooltipItem.HideToolTip()
  1654.  
  1655. def OverInItem(self, overSlotPos):
  1656. overSlotPos = self.__InventoryLocalSlotPosToGlobalSlotPos(overSlotPos)
  1657. self.wndItem.SetUsableItem(False)
  1658.  
  1659. if mouseModule.mouseController.isAttached():
  1660. attachedItemType = mouseModule.mouseController.GetAttachedType()
  1661. if player.SLOT_TYPE_INVENTORY == attachedItemType:
  1662.  
  1663. attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
  1664. attachedItemVNum = mouseModule.mouseController.GetAttachedItemIndex()
  1665.  
  1666. if self.__CanUseSrcItemToDstItem(attachedItemVNum, attachedSlotPos, overSlotPos):
  1667. self.wndItem.SetUsableItem(True)
  1668. self.ShowToolTip(overSlotPos)
  1669. return
  1670.  
  1671. self.ShowToolTip(overSlotPos)
  1672.  
  1673.  
  1674. def __IsUsableItemToItem(self, srcItemVNum, srcSlotPos):
  1675. "다른 아이템에 사용할 수 있는 아이템인가?"
  1676.  
  1677. if item.IsRefineScroll(srcItemVNum):
  1678. return True
  1679. elif item.IsMetin(srcItemVNum):
  1680. return True
  1681. elif item.IsDetachScroll(srcItemVNum):
  1682. return True
  1683. elif item.IsKey(srcItemVNum):
  1684. return True
  1685. elif (player.GetItemFlags(srcSlotPos) & ITEM_FLAG_APPLICABLE) == ITEM_FLAG_APPLICABLE:
  1686. return True
  1687. else:
  1688. if item.GetUseType(srcItemVNum) in self.USE_TYPE_TUPLE:
  1689. return True
  1690.  
  1691. return False
  1692.  
  1693. def __CanUseSrcItemToDstItem(self, srcItemVNum, srcSlotPos, dstSlotPos):
  1694. "대상 아이템에 사용할 수 있는가?"
  1695.  
  1696. if srcSlotPos == dstSlotPos:
  1697. return False
  1698.  
  1699. if item.IsRefineScroll(srcItemVNum):
  1700. if player.REFINE_OK == player.CanRefine(srcItemVNum, dstSlotPos) or player.GetItemIndex(dstSlotPos) == srcItemVNum:
  1701. return True
  1702. elif item.IsMetin(srcItemVNum):
  1703. if player.ATTACH_METIN_OK == player.CanAttachMetin(srcItemVNum, dstSlotPos):
  1704. return True
  1705. elif item.IsDetachScroll(srcItemVNum):
  1706. if player.DETACH_METIN_OK == player.CanDetach(srcItemVNum, dstSlotPos):
  1707. return True
  1708. elif item.IsKey(srcItemVNum):
  1709. if player.CanUnlock(srcItemVNum, dstSlotPos):
  1710. return True
  1711.  
  1712. elif (player.GetItemFlags(srcSlotPos) & ITEM_FLAG_APPLICABLE) == ITEM_FLAG_APPLICABLE:
  1713. return True
  1714.  
  1715. else:
  1716. useType=item.GetUseType(srcItemVNum)
  1717.  
  1718. if "USE_CLEAN_SOCKET" == useType:
  1719. if self.__CanCleanBrokenMetinStone(dstSlotPos):
  1720. return True
  1721. elif "USE_CHANGE_ATTRIBUTE" == useType:
  1722. if self.__CanChangeItemAttrList(dstSlotPos):
  1723. return True
  1724. elif "USE_ADD_ATTRIBUTE" == useType:
  1725. if self.__CanAddItemAttr(dstSlotPos):
  1726. return True
  1727. elif "USE_ADD_ATTRIBUTE2" == useType:
  1728. if self.__CanAddItemAttr(dstSlotPos):
  1729. return True
  1730. elif "USE_ADD_ACCESSORY_SOCKET" == useType:
  1731. if self.__CanAddAccessorySocket(dstSlotPos):
  1732. return True
  1733. elif "USE_PUT_INTO_ACCESSORY_SOCKET" == useType:
  1734. if self.__CanPutAccessorySocket(dstSlotPos, srcItemVNum):
  1735. return TRUE;
  1736. elif "USE_PUT_INTO_BELT_SOCKET" == useType:
  1737. dstItemVNum = player.GetItemIndex(dstSlotPos)
  1738. print "USE_PUT_INTO_BELT_SOCKET", srcItemVNum, dstItemVNum
  1739.  
  1740. item.SelectItem(dstItemVNum)
  1741.  
  1742. if item.ITEM_TYPE_BELT == item.GetItemType():
  1743. return True
  1744.  
  1745. return False
  1746.  
  1747. def __CanCleanBrokenMetinStone(self, dstSlotPos):
  1748. dstItemVNum = player.GetItemIndex(dstSlotPos)
  1749. if dstItemVNum == 0:
  1750. return False
  1751.  
  1752. item.SelectItem(dstItemVNum)
  1753.  
  1754. if item.ITEM_TYPE_WEAPON != item.GetItemType():
  1755. return False
  1756.  
  1757. for i in xrange(player.METIN_SOCKET_MAX_NUM):
  1758. if player.GetItemMetinSocket(dstSlotPos, i) == constInfo.ERROR_METIN_STONE:
  1759. return True
  1760.  
  1761. return False
  1762.  
  1763. def __CanChangeItemAttrList(self, dstSlotPos):
  1764. dstItemVNum = player.GetItemIndex(dstSlotPos)
  1765. if dstItemVNum == 0:
  1766. return False
  1767.  
  1768. item.SelectItem(dstItemVNum)
  1769.  
  1770. if not item.GetItemType() in (item.ITEM_TYPE_WEAPON, item.ITEM_TYPE_ARMOR):
  1771. return False
  1772.  
  1773. for i in xrange(player.METIN_SOCKET_MAX_NUM):
  1774. if player.GetItemAttribute(dstSlotPos, i) != 0:
  1775. return True
  1776.  
  1777. return False
  1778.  
  1779. def __CanPutAccessorySocket(self, dstSlotPos, mtrlVnum):
  1780. dstItemVNum = player.GetItemIndex(dstSlotPos)
  1781. if dstItemVNum == 0:
  1782. return False
  1783.  
  1784. item.SelectItem(dstItemVNum)
  1785.  
  1786. if item.GetItemType() != item.ITEM_TYPE_ARMOR:
  1787. return False
  1788.  
  1789. if not item.GetItemSubType() in (item.ARMOR_WRIST, item.ARMOR_NECK, item.ARMOR_EAR):
  1790. return False
  1791.  
  1792. curCount = player.GetItemMetinSocket(dstSlotPos, 0)
  1793. maxCount = player.GetItemMetinSocket(dstSlotPos, 1)
  1794.  
  1795. if mtrlVnum != constInfo.GET_ACCESSORY_MATERIAL_VNUM(dstItemVNum, item.GetItemSubType()):
  1796. return False
  1797.  
  1798. if curCount>=maxCount:
  1799. return False
  1800.  
  1801. return True
  1802.  
  1803. def __CanAddAccessorySocket(self, dstSlotPos):
  1804. dstItemVNum = player.GetItemIndex(dstSlotPos)
  1805. if dstItemVNum == 0:
  1806. return False
  1807.  
  1808. item.SelectItem(dstItemVNum)
  1809.  
  1810. if item.GetItemType() != item.ITEM_TYPE_ARMOR:
  1811. return False
  1812.  
  1813. if not item.GetItemSubType() in (item.ARMOR_WRIST, item.ARMOR_NECK, item.ARMOR_EAR):
  1814. return False
  1815.  
  1816. curCount = player.GetItemMetinSocket(dstSlotPos, 0)
  1817. maxCount = player.GetItemMetinSocket(dstSlotPos, 1)
  1818.  
  1819. ACCESSORY_SOCKET_MAX_SIZE = 3
  1820. if maxCount >= ACCESSORY_SOCKET_MAX_SIZE:
  1821. return False
  1822.  
  1823. return True
  1824.  
  1825. def __CanAddItemAttr(self, dstSlotPos):
  1826. dstItemVNum = player.GetItemIndex(dstSlotPos)
  1827. if dstItemVNum == 0:
  1828. return False
  1829.  
  1830. item.SelectItem(dstItemVNum)
  1831.  
  1832. if not item.GetItemType() in (item.ITEM_TYPE_WEAPON, item.ITEM_TYPE_ARMOR):
  1833. return False
  1834.  
  1835. attrCount = 0
  1836. for i in xrange(player.METIN_SOCKET_MAX_NUM):
  1837. if player.GetItemAttribute(dstSlotPos, i) != 0:
  1838. attrCount += 1
  1839.  
  1840. if attrCount<4:
  1841. return True
  1842.  
  1843. return False
  1844.  
  1845. def ShowToolTip(self, slotIndex):
  1846. if None != self.tooltipItem:
  1847. self.tooltipItem.SetInventoryItem(slotIndex)
  1848.  
  1849. def OnTop(self):
  1850. if None != self.tooltipItem:
  1851. self.tooltipItem.SetTop()
  1852.  
  1853. def OnPressEscapeKey(self):
  1854. self.Close()
  1855. return True
  1856.  
  1857. if app.ADD_INVENTORY:
  1858. def genislet(self):
  1859. if uiPrivateShopBuilder.IsBuildingPrivateShop():
  1860. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.ENVANTER_UYARI)
  1861. return
  1862. net.Envanter_genislet()
  1863. self.OnCloseQuestionDialog()
  1864.  
  1865. def UseItemSlot(self, slotIndex):
  1866. curCursorNum = app.GetCursor()
  1867. if app.SELL == curCursorNum:
  1868. return
  1869.  
  1870. if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS():
  1871. return
  1872.  
  1873. slotIndex = self.__InventoryLocalSlotPosToGlobalSlotPos(slotIndex)
  1874.  
  1875. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1876. if self.wndDragonSoulRefine.IsShow():
  1877. self.wndDragonSoulRefine.AutoSetItem((player.INVENTORY, slotIndex), 1)
  1878. return
  1879.  
  1880. if app.ENABLE_SASH_SYSTEM:
  1881. if self.isShowSashWindow():
  1882. sash.Add(player.INVENTORY, slotIndex, 255)
  1883. return
  1884.  
  1885. if app.ENABLE_CHANGELOOK_SYSTEM:
  1886. if self.isShowChangeLookWindow():
  1887. changelook.Add(player.INVENTORY, slotIndex, 255)
  1888. return
  1889.  
  1890. self.__UseItem(slotIndex)
  1891. mouseModule.mouseController.DeattachObject()
  1892. self.OverOutItem()
  1893.  
  1894. def __UseItem(self, slotIndex):
  1895. ItemVNum = player.GetItemIndex(slotIndex)
  1896. item.SelectItem(ItemVNum)
  1897. if item.IsFlag(item.ITEM_FLAG_CONFIRM_WHEN_USE):
  1898. self.questionDialog = uiCommon.QuestionDialog()
  1899. self.questionDialog.SetText(localeInfo.INVENTORY_REALLY_USE_ITEM)
  1900. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.__UseItemQuestionDialog_OnAccept))
  1901. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.__UseItemQuestionDialog_OnCancel))
  1902. self.questionDialog.Open()
  1903. self.questionDialog.slotIndex = slotIndex
  1904.  
  1905. constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(1)
  1906.  
  1907. else:
  1908. self.__SendUseItemPacket(slotIndex)
  1909. #net.SendItemUsePacket(slotIndex)
  1910.  
  1911. if app.ADD_INVENTORY:
  1912. if ItemVNum == 72320:
  1913. if player.GetEnvanter() < 4:
  1914. envanter = 2
  1915. self.questionDialog = uiCommon.QuestionDialog()
  1916. self.questionDialog.SetText(localeInfo.ENVANTER_GENIS_1 % envanter)
  1917. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.genislet))
  1918. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
  1919. self.questionDialog.Open()
  1920. self.questionDialog.slotIndex = slotIndex
  1921. elif player.GetEnvanter() == 4 or player.GetEnvanter() == 5:
  1922. envanter = 3
  1923. self.questionDialog = uiCommon.QuestionDialog()
  1924. self.questionDialog.SetText(localeInfo.ENVANTER_GENIS_1 % envanter)
  1925. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.genislet))
  1926. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
  1927. self.questionDialog.Open()
  1928. self.questionDialog.slotIndex = slotIndex
  1929. elif player.GetEnvanter() == 6 or player.GetEnvanter() == 7 or player.GetEnvanter() == 8:
  1930. envanter = 4
  1931. self.questionDialog = uiCommon.QuestionDialog()
  1932. self.questionDialog.SetText(localeInfo.ENVANTER_GENIS_1 % envanter)
  1933. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.genislet))
  1934. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
  1935. self.questionDialog.Open()
  1936. self.questionDialog.slotIndex = slotIndex
  1937. elif player.GetEnvanter() == 9 or player.GetEnvanter() == 10 or player.GetEnvanter() == 11:
  1938. envanter = 5
  1939. self.questionDialog = uiCommon.QuestionDialog()
  1940. self.questionDialog.SetText(localeInfo.ENVANTER_GENIS_1 % envanter)
  1941. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.genislet))
  1942. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
  1943. self.questionDialog.Open()
  1944. self.questionDialog.slotIndex = slotIndex
  1945. elif player.GetEnvanter() == 12 or player.GetEnvanter() == 13 or player.GetEnvanter() == 14:
  1946. envanter = 6
  1947. self.questionDialog = uiCommon.QuestionDialog()
  1948. self.questionDialog.SetText(localeInfo.ENVANTER_GENIS_1 % envanter)
  1949. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.genislet))
  1950. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
  1951. self.questionDialog.Open()
  1952. self.questionDialog.slotIndex = slotIndex
  1953. elif player.GetEnvanter() == 15 or player.GetEnvanter() == 16 or player.GetEnvanter() == 17:
  1954. envanter = 7
  1955. self.questionDialog = uiCommon.QuestionDialog()
  1956. self.questionDialog.SetText(localeInfo.ENVANTER_GENIS_1 % envanter)
  1957. self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.genislet))
  1958. self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
  1959. self.questionDialog.Open()
  1960. self.questionDialog.slotIndex = slotIndex
  1961. else:
  1962. self.wndPopupDialog = uiCommon.PopupDialog()
  1963. self.wndPopupDialog.SetText(localeInfo.ENVANTER_ZATEN_GENIS_3)
  1964. self.wndPopupDialog.Open()
  1965.  
  1966. def __UseItemQuestionDialog_OnCancel(self):
  1967. self.OnCloseQuestionDialog()
  1968.  
  1969. def __UseItemQuestionDialog_OnAccept(self):
  1970. self.__SendUseItemPacket(self.questionDialog.slotIndex)
  1971. self.OnCloseQuestionDialog()
  1972.  
  1973. def __SendUseItemToItemPacket(self, srcSlotPos, dstSlotPos):
  1974. # 개인상점 열고 있는 동안 아이템 사용 방지
  1975. if uiPrivateShopBuilder.IsBuildingPrivateShop():
  1976. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.USE_ITEM_FAILURE_PRIVATE_SHOP)
  1977. return
  1978.  
  1979. net.SendItemUseToItemPacket(srcSlotPos, dstSlotPos)
  1980.  
  1981. def __SendUseItemPacket(self, slotPos):
  1982. # 개인상점 열고 있는 동안 아이템 사용 방지
  1983. if uiPrivateShopBuilder.IsBuildingPrivateShop():
  1984. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.USE_ITEM_FAILURE_PRIVATE_SHOP)
  1985. return
  1986.  
  1987. net.SendItemUsePacket(slotPos)
  1988.  
  1989. def __SendMoveItemPacket(self, srcSlotPos, dstSlotPos, srcItemCount):
  1990. # 개인상점 열고 있는 동안 아이템 사용 방지
  1991. if uiPrivateShopBuilder.IsBuildingPrivateShop():
  1992. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_ITEM_FAILURE_PRIVATE_SHOP)
  1993. return
  1994.  
  1995. net.SendItemMovePacket(srcSlotPos, dstSlotPos, srcItemCount)
  1996.  
  1997. def SetDragonSoulRefineWindow(self, wndDragonSoulRefine):
  1998. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1999. self.wndDragonSoulRefine = wndDragonSoulRefine
  2000.  
  2001. if app.ENABLE_SASH_SYSTEM:
  2002. def SetSashWindow(self, wndSashCombine, wndSashAbsorption):
  2003. self.wndSashCombine = wndSashCombine
  2004. self.wndSashAbsorption = wndSashAbsorption
  2005.  
  2006. def isShowSashWindow(self):
  2007. if self.wndSashCombine:
  2008. if self.wndSashCombine.IsShow():
  2009. return 1
  2010.  
  2011. if self.wndSashAbsorption:
  2012. if self.wndSashAbsorption.IsShow():
  2013. return 1
  2014.  
  2015. return 0
  2016.  
  2017. if app.ENABLE_CHANGELOOK_SYSTEM:
  2018. def SetChangeLookWindow(self, wndChangeLook):
  2019. self.wndChangeLook = wndChangeLook
  2020.  
  2021. def isShowChangeLookWindow(self):
  2022. if self.wndChangeLook:
  2023. if self.wndChangeLook.IsShow():
  2024. return 1
  2025.  
  2026. return 0
  2027.  
  2028. def OnMoveWindow(self, x, y):
  2029. # print "Inventory Global Pos : ", self.GetGlobalPosition()
  2030. if self.wndBelt:
  2031. # print "Belt Global Pos : ", self.wndBelt.GetGlobalPosition()
  2032. self.wndBelt.AdjustPositionAndSize()
  2033.  
  2034. def __uiSwitchBot(self):
  2035. if FALSE == player.IsObserverMode():
  2036. if FALSE == self.wndbonusswitcher.IsShow():
  2037. self.wndbonusswitcher.Show()
  2038. self.wndbonusswitcher.SetTop()
  2039. else:
  2040. self.wndbonusswitcher.Hide()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement