Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.16 KB | None | 0 0
  1. # CUBE
  2. def BINARY_Cube_Open(self, npcVNUM):
  3. self.currentCubeNPC = npcVNUM
  4.  
  5. self.interface.OpenCubeWindow()
  6.  
  7.  
  8. if npcVNUM not in self.cubeInformation:
  9. net.SendChatPacket("/cube r_info")
  10. else:
  11. cubeInfoList = self.cubeInformation[npcVNUM]
  12.  
  13. i = 0
  14. for cubeInfo in cubeInfoList:
  15. self.interface.wndCube.AddCubeResultItem(cubeInfo["vnum"], cubeInfo["count"])
  16.  
  17. j = 0
  18. for materialList in cubeInfo["materialList"]:
  19. for materialInfo in materialList:
  20. itemVnum, itemCount = materialInfo
  21. self.interface.wndCube.AddMaterialInfo(i, j, itemVnum, itemCount)
  22. j = j + 1
  23.  
  24. i = i + 1
  25.  
  26. self.interface.wndCube.Refresh()
  27.  
  28. def BINARY_Cube_Close(self):
  29. self.interface.CloseCubeWindow()
  30.  
  31. def BINARY_Cube_UpdateInfo(self, gold, itemVnum, count):
  32. self.interface.UpdateCubeInfo(gold, itemVnum, count)
  33.  
  34. def BINARY_Cube_Succeed(self, itemVnum, count):
  35. print "ĹĄşę Á¦ŔŰ Ľş°ř"
  36. self.interface.SucceedCubeWork(itemVnum, count)
  37. pass
  38.  
  39. def BINARY_Cube_Failed(self):
  40. print "ĹĄşę Á¦ŔŰ ˝ÇĆĐ"
  41. self.interface.FailedCubeWork()
  42. pass
  43.  
  44. def BINARY_Cube_ResultList(self, npcVNUM, listText):
  45. # ResultList Text Format : 72723,1/72725,1/72730.1/50001,5 ŔĚ·±˝ÄŔ¸·Î "/" ą®ŔÚ·Î ±¸şĐµČ ¸®˝şĆ®¸¦ ÁÜ
  46. #print listText
  47.  
  48. if npcVNUM == 0:
  49. npcVNUM = self.currentCubeNPC
  50.  
  51. self.cubeInformation[npcVNUM] = []
  52.  
  53. try:
  54. for eachInfoText in listText.split("/"):
  55. eachInfo = eachInfoText.split(",")
  56. itemVnum = int(eachInfo[0])
  57. itemCount = int(eachInfo[1])
  58.  
  59. self.cubeInformation[npcVNUM].append({"vnum": itemVnum, "count": itemCount})
  60. self.interface.wndCube.AddCubeResultItem(itemVnum, itemCount)
  61.  
  62. resultCount = len(self.cubeInformation[npcVNUM])
  63. requestCount = 7
  64. modCount = resultCount % requestCount
  65. splitCount = resultCount / requestCount
  66. for i in xrange(splitCount):
  67. #print("/cube r_info %d %d" % (i * requestCount, requestCount))
  68. net.SendChatPacket("/cube r_info %d %d" % (i * requestCount, requestCount))
  69.  
  70. if 0 < modCount:
  71. #print("/cube r_info %d %d" % (splitCount * requestCount, modCount))
  72. net.SendChatPacket("/cube r_info %d %d" % (splitCount * requestCount, modCount))
  73.  
  74. except RuntimeError, msg:
  75. dbg.TraceError(msg)
  76. return 0
  77.  
  78. pass
  79.  
  80. def BINARY_Cube_MaterialInfo(self, startIndex, listCount, listText):
  81. # Material Text Format : 125,1|126,2|127,2|123,5&555,5&555,4/120000
  82. try:
  83. #print listText
  84.  
  85. if 3 > len(listText):
  86. dbg.TraceError("Wrong Cube Material Infomation")
  87. return 0
  88.  
  89.  
  90.  
  91. eachResultList = listText.split("@")
  92.  
  93. cubeInfo = self.cubeInformation[self.currentCubeNPC]
  94.  
  95. itemIndex = 0
  96. for eachResultText in eachResultList:
  97. cubeInfo[startIndex + itemIndex]["materialList"] = [[], [], [], [], []]
  98. materialList = cubeInfo[startIndex + itemIndex]["materialList"]
  99.  
  100. gold = 0
  101. splitResult = eachResultText.split("/")
  102. if 1 < len(splitResult):
  103. gold = int(splitResult[1])
  104.  
  105. #print "splitResult : ", splitResult
  106. eachMaterialList = splitResult[0].split("&")
  107.  
  108. i = 0
  109. for eachMaterialText in eachMaterialList:
  110. complicatedList = eachMaterialText.split("|")
  111.  
  112. if 0 < len(complicatedList):
  113. for complicatedText in complicatedList:
  114. (itemVnum, itemCount) = complicatedText.split(",")
  115. itemVnum = int(itemVnum)
  116. itemCount = int(itemCount)
  117. self.interface.wndCube.AddMaterialInfo(itemIndex + startIndex, i, itemVnum, itemCount)
  118.  
  119. materialList[i].append((itemVnum, itemCount))
  120.  
  121. else:
  122. itemVnum, itemCount = eachMaterialText.split(",")
  123. itemVnum = int(itemVnum)
  124. itemCount = int(itemCount)
  125. self.interface.wndCube.AddMaterialInfo(itemIndex + startIndex, i, itemVnum, itemCount)
  126.  
  127. materialList[i].append((itemVnum, itemCount))
  128.  
  129. i = i + 1
  130.  
  131.  
  132.  
  133. itemIndex = itemIndex + 1
  134.  
  135. self.interface.wndCube.Refresh()
  136.  
  137.  
  138. except RuntimeError, msg:
  139. dbg.TraceError(msg)
  140. return 0
  141.  
  142. pass
  143.  
  144. # END_OF_CUBE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement