Advertisement
deadx2

Untitled

Aug 13th, 2017
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 35.62 KB | None | 0 0
  1. import uimg, grp, nonplayer, math, constInfo, time, item, uiToolTip, uiCommon, event, chat
  2.  
  3. pos_x = [30, 30, 30+86, 30+86*2, 30+86*3, 30+86*4, 30+86*5, 30+86*6]
  4. pos_y = [94, 124, 124, 124, 124, 124, 124, 124]
  5.  
  6. class AchievementWindow(uimg.ScriptWindow):
  7.    
  8.     def __init__(self):
  9.         uimg.ScriptWindow.__init__(self)
  10.         self.isLoaded = False
  11.         self.__LoadWindow()
  12.        
  13.     def __LoadWindow(self):
  14.         try:
  15.             pyScrLoader = uimg.PythonScriptLoader()
  16.             pyScrLoader.LoadScriptFile(self, "UIScript/Achievement.py")
  17.         except:
  18.             import exception
  19.             exception.Abort("AchievementWindow.LoadWindow.LoadObject")
  20.            
  21.         self.categorys = [
  22.             ["|cffe6d0a2Poziom", 1],
  23.             ["|cffe6d0a2Twoja Droga", 2],
  24.             ["|cffe6d0a2Biolog", 3],
  25.             ["|cffe6d0a2Pupile", 4],
  26.             ["|cffe6d0a2Wyzwania", 5],
  27.             ["|cffe6d0a2Zabójstwa", 6],
  28.             ["|cffe6d0a2Inne", 7],
  29.         ]
  30.  
  31.         self.categorysName = [
  32.             ["|cffe6d0a2Podsumowanie", 0],
  33.             ["|cffe6d0a2Poziom", 1],
  34.             ["|cffe6d0a2Twoja Droga", 2],
  35.             ["|cffe6d0a2Biolog", 3],
  36.             ["|cffe6d0a2Pupile", 4],
  37.             ["|cffe6d0a2Wyzwania", 5],
  38.             ["|cffe6d0a2Zabójstwa", 6],
  39.             ["|cffe6d0a2Inne", 7],
  40.         ]
  41.        
  42.  
  43.         self.category = 0
  44.         self.categoryName = "|cffe6d0a2Podsumowanie"
  45.         self.type = 0
  46.         self.achievementsPos = 0
  47.         self.progress = {}
  48.        
  49.         self.BindObjects()
  50.         self.BindEvents()
  51.         self.isLoaded = True
  52.    
  53.     def BindObjects(self):
  54.         self.board = self.GetChild("board")
  55.        
  56.         self.PokazJebaneSkille = uimg.Button()
  57.         self.PokazJebaneSkille.SetParent(self.board)
  58.         self.PokazJebaneSkille.SetPosition(250+330, 40+3)
  59.         self.PokazJebaneSkille.SetUpVisual("illumina/skill_system/btn_skile_01.tga")
  60.         self.PokazJebaneSkille.SetOverVisual("illumina/skill_system/btn_skile_02.tga")
  61.         self.PokazJebaneSkille.SetDownVisual("illumina/skill_system/btn_skile_03.tga")
  62.     #   self.PokazJebaneSkille.SetText("Umiejetnosci")
  63.         self.PokazJebaneSkille.SetEvent(self.PokazTeSkille)
  64.         self.PokazJebaneSkille.Show()
  65.        
  66.         self.elements = {
  67.             'windows' : {'home' : self.GetChild("HomeWindow"), 'achievements' : self.GetChild("AchievementsWindow")},
  68.             'objects' : {
  69.                 'shopButton' : self.GetChild("AchievementshopButton"),
  70.         #       'leftArrow' : self.GetChild("LeftArrow"), 'rightArrow' : self.GetChild("RightArrow"),
  71.                 'home' : {
  72.                     'box_0' : AchievementBox(), 'box_1' : AchievementBox(), 'box_2' : AchievementBox(), 'box_3' : AchievementBox(),
  73.                     'last_box_0' : AchievementLastFinished(), 'last_box_1' : AchievementLastFinished(), 'last_box_2' : AchievementLastFinished(), 'last_box_3' : AchievementLastFinished(), 'last_box_4' : AchievementLastFinished(), 'last_box_5' : AchievementLastFinished(), 'last_box_6' : AchievementLastFinished(), 'last_box_7' : AchievementLastFinished(), 'last_box_8' : AchievementLastFinished(),
  74.                     'last_window' : self.GetChild("bgLastAchievements"),
  75.                     'upArrow' : self.GetChild("UpArrow"), 'downArrow' : self.GetChild("DownArrow"),
  76.                     'upArrowLast' : self.GetChild("LastUpArrow"), 'downArrowLast' : self.GetChild("LastDownArrow"),
  77.                 },
  78.                 'achievements' : {
  79.                     'scrollbar' : self.GetChild("ScrollBar"),
  80.                     'box_0' : AchievementBox(), 'box_1' : AchievementBox(), 'box_2' : AchievementBox(), 'box_3' : AchievementBox(), 'box_4' : AchievementBox(), 'box_5' : AchievementBox(), 'box_6' : AchievementBox(), 'box_7' : AchievementBox(), 'box_8' : AchievementBox(), 'box_9' : AchievementBox(),
  81.                     'btn_type_0' : self.GetChild("Type0Button"), 'btn_type_1' : self.GetChild("Type1Button"), 'btn_type_2' : self.GetChild("Type2Button"),
  82.                     'type_1' : [], 'type_2' : [],
  83.                 },
  84.             }
  85.         }
  86.         self.arrows = {'categorys' : 0, 'global_achievements' : 0, 'last_achievements' : 0}
  87.        
  88.     def ThinBoard(self, parent, moveable, x, y, width, heigh, center):
  89.         thin = uimg.ThinBoard()
  90.         if parent != None:
  91.             thin.SetParent(parent)
  92.         if moveable == TRUE:
  93.             thin.AddFlag('movable')
  94.             thin.AddFlag('float')
  95.         thin.SetSize(width, heigh)
  96.         thin.SetPosition(x, y)
  97.         if center == TRUE:
  98.             thin.SetCenterPosition()
  99.         thin.Show()
  100.         return thin
  101.    
  102.     def BindEvents(self):
  103.         self.globalProgress = AchievementProgressBar()
  104.         #self.globalProgress = uimg.ThinBoard()
  105.         self.globalProgress.SetParent(self.board)
  106.         self.globalProgress.SetSize(439, 24)
  107.         self.globalProgress.SetPosition(-1, 46+3)
  108.         self.globalProgress.SetWindowHorizontalAlignCenter()
  109.         self.globalProgress.SetText('|cffa08784Całość wykonanych osiągnięć ')
  110.         self.globalProgress.SetProgress(10, 155)
  111.         self.globalProgress.Show()
  112.        
  113.         self.board.SetCloseEvent(uimg.__mem_func__(self.Close))
  114.         self.shopButton = AchievementShopWindow()
  115.         self.elements['objects']['shopButton'].SetEvent(uimg.__mem_func__(self.shopButton.Open))
  116.        
  117.     #   self.elements['objects']['leftArrow'].SetEvent(uimg.__mem_func__(self.__OnClickArrow), 'CATEGORY_LEFT')
  118.     #   self.elements['objects']['rightArrow'].SetEvent(uimg.__mem_func__(self.__OnClickArrow), 'CATEGORY_RIGHT')
  119.        
  120.         self.elements['objects']['home']['upArrow'].SetEvent(uimg.__mem_func__(self.__OnClickArrow), 'GLOBAL_UP')
  121.         self.elements['objects']['home']['downArrow'].SetEvent(uimg.__mem_func__(self.__OnClickArrow), 'GLOBAL_DOWN')
  122.        
  123.         self.elements['objects']['home']['upArrowLast'].SetEvent(uimg.__mem_func__(self.__OnClickArrow), 'LAST_UP')
  124.         self.elements['objects']['home']['downArrowLast'].SetEvent(uimg.__mem_func__(self.__OnClickArrow), 'LAST_DOWN')
  125.        
  126.         self.elements['objects']['achievements']['scrollbar'].SetScrollEvent(uimg.__mem_func__(self.__OnScroll))
  127.        
  128.         self.elements['objects']['achievements']['box_0'].Open(self.elements['windows']['achievements'], -58, 65)
  129.         self.elements['objects']['achievements']['box_1'].Open(self.elements['windows']['achievements'], -58, 65+27)
  130.         self.elements['objects']['achievements']['box_2'].Open(self.elements['windows']['achievements'], -58, 65+27*2)
  131.         self.elements['objects']['achievements']['box_3'].Open(self.elements['windows']['achievements'], -58, 65+27*3)
  132.         self.elements['objects']['achievements']['box_4'].Open(self.elements['windows']['achievements'], -58, 65+27*4)
  133.         self.elements['objects']['achievements']['box_5'].Open(self.elements['windows']['achievements'], -58, 65+27*5)
  134.         self.elements['objects']['achievements']['box_6'].Open(self.elements['windows']['achievements'], -58, 65+27*6)
  135.         self.elements['objects']['achievements']['box_7'].Open(self.elements['windows']['achievements'], -58, 65+27*7)
  136.         self.elements['objects']['achievements']['box_8'].Open(self.elements['windows']['achievements'], -58, 65+27*8)
  137.         self.elements['objects']['achievements']['box_9'].Open(self.elements['windows']['achievements'], -58, 65+27*9)
  138.        
  139.         self.elements['objects']['home']['box_0'].Open(self.elements['windows']['home'], -120, 40)
  140.         self.elements['objects']['home']['box_1'].Open(self.elements['windows']['home'], -120, 40+58+14)
  141.         self.elements['objects']['home']['box_2'].Open(self.elements['windows']['home'], -120, 40+(58+14)*2)
  142.         self.elements['objects']['home']['box_3'].Open(self.elements['windows']['home'], -120, 40+(58+14)*3)
  143.        
  144.         self.elements['objects']['home']['last_box_0'].Open(self.elements['objects']['home']['last_window'], -107, 39)
  145.         self.elements['objects']['home']['last_box_1'].Open(self.elements['objects']['home']['last_window'], -107, 39+26)
  146.         self.elements['objects']['home']['last_box_2'].Open(self.elements['objects']['home']['last_window'], -107, 42+26*2)
  147.         self.elements['objects']['home']['last_box_3'].Open(self.elements['objects']['home']['last_window'], -107, 42+26*3)
  148.         self.elements['objects']['home']['last_box_4'].Open(self.elements['objects']['home']['last_window'], -107, 42+26*4)
  149.         self.elements['objects']['home']['last_box_5'].Open(self.elements['objects']['home']['last_window'], -107, 42+26*5)
  150.         self.elements['objects']['home']['last_box_6'].Open(self.elements['objects']['home']['last_window'], -107, 42+26*6)
  151.         self.elements['objects']['home']['last_box_7'].Open(self.elements['objects']['home']['last_window'], -107, 42+26*7)
  152.         self.elements['objects']['home']['last_box_8'].Open(self.elements['objects']['home']['last_window'], -107, 42+26*8)
  153.        
  154.         for i in xrange(3):
  155.             self.elements['objects']['achievements']['btn_type_%d' % i].SetEvent(uimg.__mem_func__(self.SetType), i)
  156.  
  157.     def __del__(self):
  158.         uimg.ScriptWindow.__del__(self)
  159.        
  160.     def SetCategory(self, category):
  161.         self.achievementsPos = 0
  162.         self.category = category
  163.         self.categoryName = self.categorysName[category][0]
  164.         self.RefreshCategorys()
  165.         if self.category == 0:
  166.             self.elements['windows']['achievements'].Hide()
  167.             self.elements['windows']['home'].Show()
  168.             self.arrows['global_achievements'] = 0
  169.             self.RefreshGlobalProgress()
  170.             self.RefreshLastFinished()
  171.         else:
  172.             self.CreateTypes()
  173.             self.elements['windows']['home'].Hide()
  174.             self.elements['windows']['achievements'].Show()
  175.             self.SetType(0)
  176.            
  177.     def CreateTypes(self):
  178.         self.elements['objects']['achievements']['type_1'] = []
  179.         self.elements['objects']['achievements']['type_2'] = []
  180.         try:
  181.             for i in xrange(len(constInfo.Achievements["achievements"][self.category])):
  182.                 if constInfo.Achievements["achievements"][self.category][i][0] < constInfo.Achievements["achievements"][self.category][i][1]:
  183.                     self.elements['objects']['achievements']['type_1'].append(constInfo.Achievements["achievements"][self.category][i])
  184.                 elif constInfo.Achievements["achievements"][self.category][i][0] >= constInfo.Achievements["achievements"][self.category][i][1]:
  185.                     self.elements['objects']['achievements']['type_2'].append(constInfo.Achievements["achievements"][self.category][i])
  186.         except:
  187.             pass
  188.  
  189.     def __OnClickArrow(self, arrow):
  190.         if arrow == 'CATEGORY_LEFT':
  191.             self.arrows['categorys'] -= 1
  192.             self.RefreshCategorys()
  193.         elif arrow == 'CATEGORY_RIGHT':
  194.             self.arrows['categorys'] += 1
  195.             self.RefreshCategorys()
  196.         elif arrow == 'GLOBAL_UP':
  197.             self.arrows['global_achievements'] -= 1
  198.             self.RefreshGlobalProgress()
  199.         elif arrow == 'GLOBAL_DOWN':
  200.             self.arrows['global_achievements'] += 1
  201.             self.RefreshGlobalProgress()
  202.         elif arrow == 'LAST_UP':
  203.             self.arrows['last_achievements'] -= 1
  204.             self.RefreshLastFinished()
  205.         elif arrow == 'LAST_DOWN':
  206.             self.arrows['last_achievements'] += 1
  207.             self.RefreshLastFinished()
  208.            
  209.     def PokazTeSkille(self):
  210.         event.QuestButtonClick(constInfo.Okienko)
  211.            
  212.  
  213.     def SetType(self, type):
  214.         for i in xrange(3):
  215.             self.elements['objects']['achievements']['btn_type_%d' % i].SetUp()
  216.         self.elements['objects']['achievements']['btn_type_%d' % type].Down()
  217.         self.type = type
  218.         self.achievementsPos = 0
  219.         self.elements['objects']['achievements']['scrollbar'].SetPos(0)
  220.         self.RefreshAchievements()
  221.        
  222.     def RefreshGlobalProgress(self):
  223.         self.SetGlobalProgress()
  224.         try:
  225.             for i in xrange(4):
  226.                 self.elements['objects']['home']['box_%d' % i].Hide()
  227.         except:
  228.             pass
  229.         try:
  230.             for i in xrange(min(4, len(self.categorys))):
  231.                 curCategory = self.categorys[self.arrows['global_achievements'] + i][1]
  232.                 self.elements['objects']['home']['box_%d' % i].SetContent(0, self.progress['current_category_%d' % curCategory], self.progress['max_category_%d' % curCategory], 0)
  233.                 self.elements['objects']['home']['box_%d' % i].SetTitle(self.categorys[curCategory-1][0])
  234.                 self.elements['objects']['home']['box_%d' % i].Show()
  235.         except:
  236.             pass
  237.        
  238.         if (self.categorys > 4):
  239.             if (self.arrows['global_achievements'] <= 0):
  240.                 self.elements['objects']['home']['downArrow'].Show()
  241.                 self.elements['objects']['home']['upArrow'].Hide()
  242.             elif (self.arrows['global_achievements']+4 < len(self.categorys)):
  243.                 self.elements['objects']['home']['downArrow'].Show()
  244.                 self.elements['objects']['home']['upArrow'].Show()
  245.             elif (self.arrows['global_achievements']+4 >= len(self.categorys)):
  246.                 self.elements['objects']['home']['downArrow'].Hide()
  247.                 self.elements['objects']['home']['upArrow'].Show()
  248.         else:
  249.             self.elements['objects']['home']['upArrow'].Hide()
  250.             self.elements['objects']['home']['downArrow'].Hide()
  251.            
  252.     def RefreshLastFinished(self):
  253.         for i in xrange(9):
  254.             self.elements['objects']['home']['last_box_%d' % i].Hide()
  255.  
  256.         try:
  257.             for i in xrange(min(9, len(constInfo.Achievements['last_achievements']))):
  258.         #   for i in xrange(9):
  259.                 curAchievement = constInfo.Achievements['last_achievements'][(len(constInfo.Achievements['last_achievements'])-1) - (self.arrows['last_achievements'] + i)]
  260.                 if curAchievement[0] == 2 or curAchievement[0] == 3 or curAchievement[0] == 4:
  261.                     self.elements['objects']['home']['last_box_%d' % i].SetText(self.GetDescByCat(curAchievement[0]) % (curAchievement[1], nonplayer.GetMonsterName(curAchievement[3])))
  262.                 else:
  263.                     self.elements['objects']['home']['last_box_%d' % i].SetText(self.GetDescByCat(curAchievement[0]) % curAchievement[1])
  264.                 self.elements['objects']['home']['last_box_%d' % i].SetPoints(curAchievement[2])
  265.                 self.elements['objects']['home']['last_box_%d' % i].Show()
  266.         except:
  267.             pass
  268.            
  269.         if (len(constInfo.Achievements['last_achievements']) > 9):
  270.             if (self.arrows['last_achievements'] <= 0):
  271.                 self.elements['objects']['home']['downArrowLast'].Show()
  272.                 self.elements['objects']['home']['upArrowLast'].Hide()
  273.             elif (self.arrows['last_achievements']+9 < len(constInfo.Achievements['last_achievements'])):
  274.                 self.elements['objects']['home']['downArrowLast'].Show()
  275.                 self.elements['objects']['home']['upArrowLast'].Show()
  276.             elif (self.arrows['last_achievements']+9 >= len(constInfo.Achievements['last_achievements'])):
  277.                 self.elements['objects']['home']['downArrowLast'].Hide()
  278.                 self.elements['objects']['home']['upArrowLast'].Show()
  279.         else:
  280.             self.elements['objects']['home']['upArrowLast'].Hide()
  281.             self.elements['objects']['home']['downArrowLast'].Hide()
  282.        
  283.     def RefreshCategorys(self):
  284.         try:
  285.             for i in xrange(8):
  286.                 self.elements['objects']['category_%d' % i].Hide()
  287.         except:
  288.             pass
  289.         try:
  290.             tmpCategorys = [["|cffe6d0a2Podsumowanie", 0]]
  291.             tmpCategorys += self.categorys
  292.             for i in xrange(min(8, len(tmpCategorys))):
  293.                 scrolledId = i + self.arrows['categorys']
  294.             #   self.elements['objects']['category_%d' % i] = self.CreateCategoryButton(self.board, 35+18+111*i, 94, tmpCategorys[scrolledId][0], self.SetCategory, tmpCategorys[scrolledId][1])
  295.                 self.elements['objects']['category_%d' % i] = self.CreateCategoryButton(self.board, pos_x[i], pos_y[i], tmpCategorys[scrolledId][0], self.SetCategory, tmpCategorys[scrolledId][1])
  296.             #   self.elements['objects']['category_%d' % i].Show()
  297.                 if self.categoryName == tmpCategorys[scrolledId][0]:
  298.                     self.elements['objects']['category_%d' % i].Down()
  299.                 self.elements['objects']['category_%d' % i].Show()
  300.         except:
  301.             pass
  302.         '''
  303.         if (len(tmpCategorys) > 5):
  304.             if (self.arrows['categorys'] <= 0):
  305.                 self.elements['objects']['rightArrow'].Show()
  306.                 self.elements['objects']['leftArrow'].Hide()
  307.             elif (self.arrows['categorys']+5 < len(tmpCategorys)):
  308.                 self.elements['objects']['leftArrow'].Show()
  309.                 self.elements['objects']['rightArrow'].Show()
  310.             elif (self.arrows['categorys']+5 >= len(tmpCategorys)):
  311.                 self.elements['objects']['rightArrow'].Hide()
  312.                 self.elements['objects']['leftArrow'].Show()
  313.         else:
  314.             self.elements['objects']['leftArrow'].Hide()
  315.             self.elements['objects']['rightArrow'].Hide()
  316.         '''
  317.     def RefreshAchievements(self):
  318.         self.CreateTypes()
  319.         for i in xrange(10):
  320.             self.elements['objects']['achievements']['box_%d' % i].Hide()
  321.  
  322.         try:
  323.             if self.type == 0:
  324.                 achievements = constInfo.Achievements["achievements"][self.category]
  325.             elif self.type == 1:
  326.                 achievements = self.elements['objects']['achievements']['type_1']
  327.             elif self.type == 2:
  328.                 achievements = self.elements['objects']['achievements']['type_2']
  329.                
  330.             for i in xrange(10):
  331.                 curAchievement = achievements[self.achievementsPos + i]
  332.                 self.elements['objects']['achievements']['box_%d' % i].SetContent(self.category, curAchievement[0], curAchievement[1], curAchievement[2], curAchievement[3])
  333.                 self.elements['objects']['achievements']['box_%d' % i].Show()
  334.         except:
  335.             self.elements['objects']['achievements']['scrollbar'].Hide()
  336.             return
  337.            
  338.         if len(achievements) <= 10:
  339.             self.elements['objects']['achievements']['scrollbar'].Hide()
  340.         else:
  341.             self.elements['objects']['achievements']['scrollbar'].SetMiddleBarSize(float(10)/float(len(achievements)))
  342.             self.elements['objects']['achievements']['scrollbar'].Show()
  343.            
  344.     def __OnScroll(self):
  345.         try:
  346.             if self.type == 0:
  347.                 achievementslen = len(constInfo.Achievements["achievements"][self.category])
  348.             elif self.type == 1:
  349.                 achievementslen = len(self.elements['objects']['achievements']['type_1'])
  350.             elif self.type == 2:
  351.                 achievementslen = len(self.elements['objects']['achievements']['type_2'])
  352.             self.achievementsPos = int(self.elements['objects']['achievements']['scrollbar'].GetPos() * (achievementslen-5))
  353.         except:
  354.             pass
  355.         self.RefreshAchievements()
  356.        
  357.     def SetGlobalProgress(self):
  358.         Finished,inProgress = 0,0
  359.         for i in xrange(len(self.categorys)):
  360.             self.progress['current_category_%d' % self.categorys[i][1]] = 0
  361.             self.progress['max_category_%d' % self.categorys[i][1]] = 0
  362.         for cat in constInfo.Achievements["achievements"]:
  363.             for i in xrange(len(constInfo.Achievements["achievements"][cat])):
  364.                 inProgress += 1
  365.                 if constInfo.Achievements["achievements"][cat][i][0] >= constInfo.Achievements["achievements"][cat][i][1]:
  366.                     self.progress['current_category_%d' % cat] += 1
  367.                     Finished += 1
  368.             self.progress['max_category_%d' % cat] = len(constInfo.Achievements["achievements"][cat])
  369.         self.globalProgress.SetProgress(Finished, inProgress)
  370.        
  371.     def SetAchievementFinisehd(self, category, valueReached, points, mobVnum):
  372.         firstLine = 'Has alcanzado un logro:'
  373.         if category == 2 or category == 3 or category == 4:
  374.             secondLine = self.GetDescByCat(category) % (valueReached, nonplayer.GetMonsterName(mobVnum))
  375.         else:
  376.             secondLine = self.GetDescByCat(category) % valueReached
  377.         thirdLine = '|cffa08784Punkty: %d' % points
  378.         self.finishedAchievement = FinishedAchievementDialog()
  379.         self.finishedAchievement.SetFirstLineText(firstLine)
  380.         self.finishedAchievement.SetSecondLineText(secondLine)
  381.         self.finishedAchievement.SetThirdLineText(thirdLine)
  382.         self.finishedAchievement.Open(10)
  383.        
  384.     def GetDescByCat(self, category):
  385.         return ("Subir al nivel %d","Matar a %dx %s","Matar a %dx %s","Romper %dx %s","|cffa08784Jugar |cffa07970%d |cffa08784minutos","Matar %dx jugadores")[category-1]
  386.        
  387.     def CreateCategoryButton(self, parent, x, y, text, func, arg):
  388.         Button = uimg.RadioButton()
  389.         Button.SetParent(parent)
  390.         Button.SetUpVisual("illumina/inne/btn_kod2_long_01.tga")
  391.         Button.SetOverVisual("illumina/inne/btn_kod2_long_02.tga")
  392.         Button.SetDownVisual("illumina/inne/btn_kod2_long_03.tga")
  393.         Button.SetText(text)
  394.  
  395.         Button.SetEvent(uimg.__mem_func__(func), arg)
  396.         Button.SetPosition(x, y)
  397.         #Button.Down()
  398.         Button.Show()
  399.         return Button
  400.        
  401.     def Destroy(self):
  402.         self.Close()
  403.         self.ClearDictionary()
  404.        
  405.     def Open(self):
  406.         if not self.isLoaded:
  407.             self.__LoadWindow()
  408.        
  409.         self.SetCategory(0)
  410.         self.SetCenterPosition()
  411.         self.SetTop()
  412.         self.Show()
  413.        
  414.     def Close(self):
  415.         self.Hide()
  416.         return TRUE
  417.        
  418.     def OnPressEscapeKey(self):
  419.         self.Close()
  420.         return TRUE
  421.        
  422.     def OnPressExitKey(self):
  423.         self.Close()
  424.         return TRUE
  425.  
  426. class AchievementBox(uimg.ScriptWindow):
  427.    
  428.     def __init__(self):
  429.         uimg.ScriptWindow.__init__(self)
  430.         self.data = [0,0]
  431.         self.isLoaded = False
  432.        
  433.     def LoadWindow(self):
  434.         try:
  435.             pyScrLoader = uimg.PythonScriptLoader()
  436.             pyScrLoader.LoadScriptFile(self, "UIScript/achievement_box.py")
  437.         except:
  438.             import exception
  439.             exception.Abort("AchievementBox.LoadWindow.LoadObject")
  440.            
  441.         try:
  442.             self.board = self.GetChild("board")
  443.             self.achievementTitle = self.GetChild("AchievementTitle")
  444.             self.achievementTitle.Hide()
  445.             self.achievementPoints = self.GetChild("AchievementPoints")
  446.            
  447.             self.achievementProgess = AchievementProgressBar()
  448.             self.achievementProgess.SetParent(self)
  449.             self.achievementProgess.SetSize(546, 24)
  450.             self.achievementProgess.SetPosition(-1, -1)
  451.             self.achievementProgess.SetProgress(15, 50)
  452.             self.achievementProgess.Show()
  453.         except:
  454.             import exception
  455.             exception.Abort("AchievementBox.LoadWindow.LoadObject")
  456.  
  457.         self.isLoaded = True
  458.        
  459.     def SetContent(self, category, curValue, maxValue, points, mobVnum = 0):
  460.         self.data = [curValue, maxValue]
  461.         self.achievementProgess.SetProgress(curValue, maxValue)
  462.         if points == 0:
  463.             self.achievementPoints.Hide()
  464.         else:
  465.             self.achievementPoints.SetText('|cffa07970%d' % points)
  466.             self.achievementPoints.Show()
  467.         if category == 0:
  468.             return
  469.         if category == 2 or category == 3 or category == 4:
  470.             self.achievementProgess.SetText(self.GetDescByCat(category) % (maxValue, nonplayer.GetMonsterName(mobVnum)))
  471.         else:  
  472.             self.achievementProgess.SetText(self.GetDescByCat(category) % maxValue)
  473.            
  474.     def SetTitle(self, title):
  475.         self.achievementTitle.SetText(title)
  476.         self.achievementTitle.Show()
  477.         self.achievementProgess.SetSize(250, 27)
  478.         self.achievementProgess.SetPosition(115, 11+3)
  479.         self.achievementProgess.SetProgress(self.data[0], self.data[1])
  480.         self.achievementProgess.SetProgressPosition(125/4)
  481.         self.board.SetSize(380, 56)
  482.         self.SetSize(380, 56)
  483.        
  484.     def GetDescByCat(self, category):
  485.         return ("Subir al nivel %d","Matar a %dx %s","Matar a %dx %s","Romper %dx %s","|cffa08784Jugar |cffa07970%d |cffa08784minutos","Matar %dx jugadores")[category-1]
  486.        
  487.     def __del__(self):
  488.         uimg.ScriptWindow.__del__(self)
  489.        
  490.     def Open(self, parent, x, y):
  491.         if not self.isLoaded:
  492.             self.LoadWindow()
  493.            
  494.         self.SetParent(parent)
  495.         self.SetPosition(x, y)
  496.         self.SetWindowHorizontalAlignCenter()
  497.         self.Show()
  498.  
  499. class AchievementProgressBar(uimg.Window):
  500.  
  501.     BACKGROUND_COLOR = grp.GenerateColor(0.0, 0.0, 0.0, 0.0)
  502.     DARK_COLOR = grp.GenerateColor(0.0, 0.0, 0.0, 0.0)
  503.    
  504.     PROGRESS_COLOR = grp.GenerateColor(1.0, 0.0, 0.0, 0.2)
  505.     FINISHED_COLOR = grp.GenerateColor(0.0, 1.0, 0.0, 0.2)
  506.    
  507.     def __init__(self, layer = "UI"):
  508.         uimg.Window.__init__(self, layer)
  509.  
  510.         self.width = 0
  511.         self.height = 0    
  512.         self.progress = 0
  513.         self.isFinished = False
  514.        
  515.         self.textLine = None
  516.         self.textLineExtra = None
  517.        
  518.     def __del__(self):
  519.         uimg.Window.__del__(self)
  520.  
  521.     def SetSize(self, width, height):
  522.         uimg.Window.SetSize(self, width, height)
  523.         self.width = width
  524.         self.height = height
  525.  
  526.     def SetProgress(self, current, max):
  527.         try:
  528.             self.progress = min(math.ceil((float(current)/float(max))*100.00), 100)
  529.         except:
  530.             self.progress = 0
  531.         if self.progress == 100:
  532.             self.isFinished = True
  533.         else:
  534.             self.isFinished = False
  535.        
  536.         if not self.textLine:      
  537.             textLine = uimg.TextLine()
  538.             textLine.SetParent(self)
  539.             textLine.SetOutline()
  540.             textLine.Show()
  541.             self.textLine = textLine
  542.        
  543.         if current > max:
  544.             self.textLine.SetText('|cffa07970%d/%d' % (max, max))
  545.         else:
  546.             self.textLine.SetText('|cffa07970%d/%d' % (current, max))
  547.         self.textLine.SetPosition(150, self.GetHeight()/2)
  548.         self.textLine.SetHorizontalAlignCenter()
  549.         self.textLine.SetWindowHorizontalAlignCenter()
  550.         self.textLine.SetVerticalAlignCenter()
  551.        
  552.     def SetText(self, text):
  553.         if not self.textLineExtra:     
  554.             textLineExtra = uimg.TextLine()
  555.             textLineExtra.SetParent(self)
  556.             textLineExtra.SetPosition(12, self.GetHeight()/2)
  557.             textLineExtra.SetVerticalAlignCenter()
  558.             textLineExtra.SetOutline()
  559.             textLineExtra.Show()
  560.             self.textLineExtra = textLineExtra
  561.        
  562.         self.textLineExtra.SetText('|cffa08784%s' % text)
  563.        
  564.     def SetProgressPosition(self, x):
  565.         self.textLine.SetPosition(x, self.GetHeight()/2)
  566.  
  567.     def OnRender(self):
  568.         xRender, yRender = self.GetGlobalPosition()
  569.        
  570.         widthRender = self.width
  571.         heightRender = self.height
  572.         grp.SetColor(self.BACKGROUND_COLOR)
  573.         grp.RenderBar(xRender, yRender, widthRender, heightRender)
  574.         grp.SetColor(self.DARK_COLOR)
  575.         grp.RenderLine(xRender, yRender, widthRender, 0)
  576.         grp.RenderLine(xRender, yRender, 0, heightRender)
  577.         grp.RenderLine(xRender, yRender+heightRender, widthRender+1, 0)
  578.         grp.RenderLine(xRender+widthRender, yRender, 0, heightRender)
  579.  
  580.         if self.isFinished:
  581.             grp.SetColor(self.FINISHED_COLOR)
  582.         else:
  583.             grp.SetColor(self.PROGRESS_COLOR)
  584.         grp.RenderBar(xRender + 2, yRender + 2, (self.width - 3) * self.progress / 100, heightRender - 3)      
  585.  
  586. class AchievementLastFinished(uimg.Window):
  587.  
  588.     BOARD_WIDTH = 175-38
  589.     BOARD_HEIGHT = 30
  590.    
  591.     def __init__(self):
  592.         uimg.Window.__init__(self)
  593.        
  594.         self.image_name = uimg.ImageBox()
  595.         self.image_name.SetParent(self)
  596.         self.image_name.SetPosition(0,0)
  597.         self.image_name.LoadImage("illumina/inne/tlo_osiagniecia2_1.tga")
  598.         self.image_name.Show()
  599.        
  600.         bg = uimg.TextLine()
  601.         bg.SetParent(self.image_name)
  602.         bg.SetPosition(0, 4)
  603.         bg.SetHorizontalAlignCenter()
  604.         bg.SetWindowHorizontalAlignCenter()
  605.         bg.Show()
  606.         self.Background = bg
  607.        
  608.         self.image_points = uimg.ImageBox()
  609.         self.image_points.SetParent(self)
  610.         self.image_points.SetPosition(179,0)
  611.         self.image_points.LoadImage("illumina/inne/tlo_osiagniecia2_2.tga")
  612.         self.image_points.Show()
  613.        
  614.         points_bg = uimg.TextLine()
  615.         points_bg.SetParent(self.image_points)
  616.         points_bg.SetPosition(0, 4)
  617.         points_bg.SetHorizontalAlignCenter()
  618.         points_bg.SetWindowHorizontalAlignCenter()
  619.         points_bg.Show()
  620.         self.Points = points_bg
  621.        
  622.     #   self.SetSize(self.BOARD_WIDTH+38, self.BOARD_HEIGHT)
  623.        
  624.     def SetText(self, text):
  625.         tmpText = text
  626.     #   if len(text) > 22:
  627.     #       tmpText = '|cffa08784%s...' % text[:22]        
  628.     #   self.Background.SetToolTipText(text)
  629.         self.Background.SetText(tmpText)
  630.        
  631.     def SetPoints(self, points):           
  632.         self.Points.SetText('|cffa07970+%d' % points)
  633.        
  634.     def __del__(self):
  635.         uimg.Window.__del__(self)
  636.        
  637.     def Open(self, parent, x, y):
  638.         self.SetParent(parent)
  639.         self.SetPosition(x, y)
  640.         self.SetWindowHorizontalAlignCenter()
  641.         self.Show()
  642.    
  643. class FinishedAchievementDialog(uimg.ScriptWindow):
  644.    
  645.     def __init__(self):
  646.         uimg.ScriptWindow.__init__(self)
  647.         self.__LoadDialog()
  648.  
  649.     def __del__(self):
  650.         uimg.ScriptWindow.__del__(self)
  651.  
  652.     def __LoadDialog(self):
  653.         try:
  654.             PythonScriptLoader = uimg.PythonScriptLoader()
  655.             PythonScriptLoader.LoadScriptFile(self, "UIScript/Achievement_finished_dialog.py")
  656.  
  657.         except:
  658.             import exception
  659.             exception.Abort("FinishedAchievementDialog.LoadDialog.BindObject")
  660.            
  661.         try:
  662.             self.firstLine = self.GetChild("FirstLine")
  663.             self.secondLine = self.GetChild("SecondLine")
  664.             self.thirdLine = self.GetChild("ThirdLine")
  665.         except:
  666.             import exception
  667.             exception.Abort("FinishedAchievementDialog.LoadDialog.BindObject")
  668.            
  669.     def SetFirstLineText(self, text):
  670.         self.firstLine.SetText(text)
  671.        
  672.     def SetSecondLineText(self, text):
  673.         if len(text) > 22:
  674.             text = '|cffa08784%s...' % text[:22]
  675.         self.secondLine.SetText(text)
  676.        
  677.     def SetThirdLineText(self, text):
  678.         self.thirdLine.SetText(text)
  679.  
  680.     def Open(self, waitTime):
  681.         self.endTime = time.clock() + waitTime
  682.         self.Show()    
  683.  
  684.     def Close(self):
  685.         self.Hide()
  686.  
  687.     def Destroy(self):
  688.         self.Hide()
  689.        
  690.     def OnUpdate(self):
  691.         lastTime = max(0, self.endTime - time.clock())
  692.         if 0 == lastTime:
  693.             self.Close()
  694.        
  695. #   def OnPressExitKey(self):
  696. #       self.Close()
  697. #       return TRUE
  698.        
  699. class AchievementShopWindow(uimg.ScriptWindow):
  700.  
  701.     def __init__(self):
  702.         uimg.ScriptWindow.__init__(self)
  703.         self.isLoaded = False
  704.        
  705.     def __LoadWindow(self):
  706.         try:
  707.             PythonScriptLoader = uimg.PythonScriptLoader()
  708.             PythonScriptLoader.LoadScriptFile(self, "UIScript/AchievementShop.py")
  709.  
  710.         except:
  711.             import exception
  712.             exception.Abort("AchievementShopWindow.LoadDialog.BindObject")
  713.            
  714.         self.categorys = [
  715.             ["|cffe6d0a2Bronie", 1],
  716.             ["|cffe6d0a2Zbroje", 2],
  717.             ["|cffe6d0a2Inne", 3],
  718.             ["|cffe6d0a2Inne2", 4],
  719.             ["|cffe6d0a2Inne3", 5],
  720.         ]
  721.    
  722.         self.arrows = {
  723.             'items' : 1,
  724.             'categorys' : 0,
  725.         }
  726.        
  727.         self.category = 0
  728.    
  729.         self.BindObjects()
  730.         self.BindEvents()
  731.         self.isLoaded = True
  732.        
  733.     def BindObjects(self):
  734.         self.board = self.GetChild("board")
  735.         self.elements = {
  736.             'items' : {
  737.                 'bg' : self.GetChild("bgItems"),
  738.                 'rightArrow' : self.GetChild("ItemsRightArrow"),
  739.                 'leftArrow' : self.GetChild("ItemsLeftArrow"),
  740.                 'pageNr' : self.GetChild("PageNumber"),
  741.                 'box_0' : ItemBox(),
  742.                 'box_1' : ItemBox(),
  743.                 'box_2' : ItemBox(),
  744.                 'box_3' : ItemBox(),
  745.                 'box_4' : ItemBox(),
  746.                 'box_5' : ItemBox(),
  747.                 'box_6' : ItemBox(),
  748.                 'box_7' : ItemBox(),
  749.                 'box_8' : ItemBox(),
  750.             },
  751.             'categorys' : {
  752.                 'bg' : self.GetChild("bgCategorys"),
  753.                 'upArrow' : self.GetChild("CategorysUpArrow"),
  754.                 'downArrow' : self.GetChild("CategorysDownArrow"),
  755.             },
  756.             'achievementPoints' : self.GetChild("APSlot"),
  757.         }
  758.        
  759.     def BindEvents(self):
  760.         self.board.SetCloseEvent(uimg.__mem_func__(self.Close))
  761.        
  762.         self.elements['items']['box_0'].Open(self.elements['items']['bg'], 3+10, 18)
  763.         self.elements['items']['box_1'].Open(self.elements['items']['bg'], 3+10+200+10, 18)
  764.         self.elements['items']['box_2'].Open(self.elements['items']['bg'], 3+10+(200+10)*2, 18)
  765.         self.elements['items']['box_3'].Open(self.elements['items']['bg'], 3+10, 18+122)
  766.         self.elements['items']['box_4'].Open(self.elements['items']['bg'], 3+10+200+10, 18+122)
  767.         self.elements['items']['box_5'].Open(self.elements['items']['bg'], 3+10+(200+10)*2, 18+122)
  768.         self.elements['items']['box_6'].Open(self.elements['items']['bg'], 3+10, 18+122*2)
  769.         self.elements['items']['box_7'].Open(self.elements['items']['bg'], 3+10+200+10, 18+122*2)
  770.         self.elements['items']['box_8'].Open(self.elements['items']['bg'], 3+10+(200+10)*2, 18+122*2)
  771.        
  772.         self.elements['categorys']['upArrow'].SetEvent(uimg.__mem_func__(self.__OnClickArrowButton), 'CATEGORY_UP')
  773.         self.elements['categorys']['downArrow'].SetEvent(uimg.__mem_func__(self.__OnClickArrowButton), 'CATEGORY_DOWN')
  774.         self.elements['items']['rightArrow'].SetEvent(uimg.__mem_func__(self.__OnClickArrowButton), 'ITEMS_RIGHT')
  775.         self.elements['items']['leftArrow'].SetEvent(uimg.__mem_func__(self.__OnClickArrowButton), 'ITEMS_LEFT')
  776.        
  777.     def __OnClickArrowButton(self, arrow):
  778.         if arrow == 'CATEGORY_UP':
  779.             self.arrows['categorys'] -= 1
  780.             self.RefreshCategorys()
  781.         elif arrow == 'CATEGORY_DOWN':
  782.             self.arrows['categorys'] += 1
  783.             self.RefreshCategorys()
  784.         elif arrow == 'ITEMS_LEFT':
  785.             self.arrows['items'] -= 1
  786.             self.RefreshItems()
  787.         elif arrow == 'ITEMS_RIGHT':
  788.             self.arrows['items'] += 1
  789.             self.RefreshItems()
  790.        
  791.     def RefreshCategorys(self):
  792.         try:
  793.             for i in xrange(12):
  794.                 self.elements['categorys']['category_%d' % i].Hide()
  795.         except:
  796.             pass
  797.         try:
  798.             for i in xrange(min(12, len(self.categorys))):
  799.                 scrolledId = i + self.arrows['categorys']
  800.                 self.elements['categorys']['category_%d' % i] = self.CreateCategoryButton(self.elements['categorys']['bg'], 0, 35+30*i, self.categorys[scrolledId][0], self.SetCategory, self.categorys[scrolledId][1])
  801.                 self.elements['categorys']['category_%d' % i].SetWindowHorizontalAlignCenter()
  802.                 if (self.category - 1) == i:
  803.                     self.elements['categorys']['category_%d' % i].Down()
  804.                 self.elements['categorys']['category_%d' % i].Show()
  805.         except:
  806.             pass
  807.            
  808.         if (len(self.categorys) > 12):
  809.             if (self.arrows['categorys'] <= 0):
  810.                 self.elements['categorys']['downArrow'].Show()
  811.                 self.elements['categorys']['upArrow'].Hide()
  812.             elif (self.arrows['categorys']+12 < len(self.categorys)):
  813.                 self.elements['categorys']['upArrow'].Show()
  814.                 self.elements['categorys']['downArrow'].Show()
  815.             elif (self.arrows['categorys']+12 >= len(self.categorys)):
  816.                 self.elements['categorys']['downArrow'].Hide()
  817.                 self.elements['categorys']['upArrow'].Show()
  818.         else:
  819.             self.elements['categorys']['upArrow'].Hide()
  820.             self.elements['categorys']['downArrow'].Hide()
  821.            
  822.     def CreateCategoryButton(self, parent, x, y, text, func, arg):
  823.         button = uimg.RadioButton()
  824.         button.SetParent(parent)
  825.         button.SetUpVisual("illumina/inne/btn_kod2_long_01.tga")
  826.         button.SetOverVisual("illumina/inne/btn_kod2_long_02.tga")
  827.         button.SetDownVisual("illumina/inne/btn_kod2_long_03.tga")
  828.         button.SetText(text)
  829.         button.SetEvent(uimg.__mem_func__(func), arg)
  830.         button.SetPosition(x, y)
  831.         button.Show()
  832.         return button
  833.  
  834.     def SetCategory(self, cat):
  835.         self.category = cat
  836.         self.arrows['items'] = 1
  837.         self.RefreshItems()
  838.         self.RefreshCategorys()
  839.        
  840.     def RefreshItems(self):
  841.         currentPage = self.arrows['items']
  842.         for i in xrange(9):
  843.             self.elements['items']['box_%d' % i].Hide()
  844.  
  845.         try:
  846.             for i in xrange(min(9, len(constInfo.Achievements['achievementshop'][self.category])-currentPage*9+9)):
  847.                 curItem = constInfo.Achievements['achievementshop'][self.category][i+(currentPage-1)*9]
  848.                 self.elements['items']['box_%d' % i].SetContent(curItem[0], curItem[1], curItem[2])
  849.                 self.elements['items']['box_%d' % i].Show()
  850.         except:
  851.             self.elements['items']['rightArrow'].Hide()
  852.             self.elements['items']['leftArrow'].Hide()
  853.             self.elements['items']['pageNr'].Hide()
  854.             return
  855.            
  856.         maxPage = math.ceil(float(len(constInfo.Achievements['achievementshop'][self.category]))/float(9))
  857.         if maxPage >= 1:
  858.             self.elements['items']['pageNr'].SetText('|cffa07970%d/%d' % (currentPage, maxPage))
  859.             self.elements['items']['pageNr'].Show()
  860.         else:
  861.             self.elements['items']['pageNr'].Hide()
  862.        
  863.         if currentPage * 9 >= len(constInfo.Achievements['achievementshop'][self.category]):
  864.             self.elements['items']['rightArrow'].Hide()
  865.         else:
  866.             self.elements['items']['rightArrow'].Show()
  867.  
  868.         if currentPage > 1:
  869.             self.elements['items']['leftArrow'].Show()
  870.         else:
  871.             self.elements['items']['leftArrow'].Hide()
  872.    
  873.     def OnUpdate(self):
  874.         self.elements['achievementPoints'].SetText("|cfff8d090%d Punkt?w" % constInfo.Achievements['POINTS'])
  875.        
  876.     def OnPressEscapeKey(self):
  877.         self.Close()
  878.         return TRUE
  879.    
  880.     def __del__(self):
  881.         uimg.ScriptWindow.__del__(self)
  882.        
  883.     def Close(self):
  884.         self.Hide()
  885.        
  886.     def Open(self):
  887.         if not self.isLoaded:
  888.             self.__LoadWindow()
  889.  
  890.         self.SetCategory(1)
  891.         self.RefreshCategorys()
  892.         self.SetCenterPosition()
  893.         self.SetTop()
  894.         self.Show()
  895.  
  896. class ItemBox(uimg.ScriptWindow):
  897.    
  898.     def __init__(self):
  899.         uimg.ScriptWindow.__init__(self)
  900.         self.id = 0
  901.         self.data = [0, 0]
  902.         self.isLoaded = False
  903.        
  904.     def __LoadWindow(self):
  905.         try:
  906.             PythonScriptLoader = uimg.PythonScriptLoader()
  907.             PythonScriptLoader.LoadScriptFile(self, "UIScript/AchievementShop_ItemBox.py")
  908.  
  909.         except:
  910.             import exception
  911.             exception.Abort("AchievementShop_ItemBox.LoadDialog.BindObject")
  912.            
  913.         self.itemName = self.GetChild("ItemName")
  914.         self.itemIcon = self.GetChild("ItemIcon")
  915.         self.itemPrice = self.GetChild("ItemPrice")
  916.         self.itemAmount = self.GetChild("ItemAmount")
  917.         self.buyButton = self.GetChild("BuyButton")
  918.         self.toolTip = uiToolTip.ItemToolTip()
  919.         self.toolTip.HideToolTip()
  920.        
  921.         self.itemIcon.SAFE_SetStringEvent("MOUSE_OVER_IN", self.toolTip.ShowToolTip)
  922.         self.itemIcon.SAFE_SetStringEvent("MOUSE_OVER_OUT", self.toolTip.HideToolTip)
  923.        
  924.         self.BuyQuestion = uiCommon.QuestionDialog()
  925.         self.BuyQuestion.SetAcceptEvent(lambda arg = TRUE: self.AnswerBuyItem(arg))
  926.         self.BuyQuestion.SetCancelEvent(lambda arg = FALSE: self.AnswerBuyItem(arg))
  927.        
  928.         self.buyButton.SetEvent(uimg.__mem_func__(self.__OnClickBuyButton))
  929.         self.isLoaded = True
  930.        
  931.     def SetContent(self, id, vnum, price):
  932.         self.id = id
  933.         self.data = [vnum, price]
  934.         item.SelectItem(vnum)
  935.        
  936.         self.itemName.SetText("|cffa07970" + item.GetItemName())
  937.         self.itemIcon.LoadImage(item.GetIconImageFileName())
  938.         self.itemIcon.SetPosition(35, (46,32,25)[item.GetItemSize()[1]-1])
  939.         self.itemIcon.SetScale(1, (1,1,0.8)[item.GetItemSize()[1]-1])
  940.         self.itemPrice.SetText('|cffa08784Kosztuje: |cffa07970%d %s' % (price, "|cffa08784Pkt"))
  941.         self.itemAmount.KillFocus()
  942.        
  943.         if item.IsFlag(4) == 1:
  944.             self.GetChild("ItemAmountSlot").Show()
  945.         else:
  946.             self.GetChild("ItemAmountSlot").Hide()
  947.        
  948.         self.toolTip.ClearToolTip()
  949.         self.toolTip.AddItemData(vnum, [0,0,0])
  950.         self.toolTip.HideToolTip()
  951.        
  952.     def __OnClickBuyButton(self):
  953.         self.itemAmount.KillFocus()
  954.         amount = self.itemAmount.GetText()[10]
  955.    
  956.  
  957.         if amount == '1':
  958.             self.BuyQuestion.SetText("|cffa08784Czy chcesz kupi? %s |cffa08784za |cffa07970%d %s?" % (self.itemName.GetText(), self.data[1], "|cffa08784Punkt?w"))
  959.         else:
  960.             self.BuyQuestion.SetText("|cffa08784Czy chcesz kupi? %sx %s |cffa08784za |cffa07970%d %s?" % (amount, self.itemName.GetText(), self.data[1]*int(amount), "|cffa08784Punkt?w"))
  961.         self.BuyQuestion.Open()
  962.        
  963.     def AnswerBuyItem(self, arg):
  964.         if arg:
  965.             constInfo.Achievements['QCMD'] = 'BUY_ITEM#%d#%s' % (self.id, self.itemAmount.GetText())
  966.             event.QuestButtonClick(constInfo.Achievements['QID'])
  967.         self.BuyQuestion.Close()
  968.        
  969.     def OnUpdate(self):
  970.         if not self.itemAmount.IsFocus() and (self.itemAmount.GetText() == '' or self.itemAmount.GetText() == '0'):
  971.             self.itemAmount.SetText('1')
  972.        
  973.     def __del__(self):
  974.         uimg.ScriptWindow.__del__(self)
  975.  
  976.     def Open(self, parent, x, y):
  977.         if not self.isLoaded:
  978.             self.__LoadWindow()
  979.            
  980.         self.SetParent(parent)
  981.         self.SetPosition(x, y)
  982.         self.SetTop()
  983.         self.Show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement