♥ TesT ♥ Posted December 20, 2016 Report Share Posted December 20, 2016 Buenas tengo un problema con los botones del inventario se los saque al cliente del akron2 pero bueno no me los abre ...queria ver si alguien me podia dar una mano fotos:: Syser Gracias Link to comment Share on other sites More sharing options...
xMikuruMiu Posted December 20, 2016 Report Share Posted December 20, 2016 Revisa que tengas el archivo .py "uiBonuspage" en el root, sin ese archivo no funcionará el botón que muestras ahí Link to comment Share on other sites More sharing options...
♥ TesT ♥ Posted December 20, 2016 Author Report Share Posted December 20, 2016 si lo tengo Revisa que tengas el archivo .py "uiBonuspage" en el root, sin ese archivo no funcionará el botón que muestras ahí Link to comment Share on other sites More sharing options...
Deimos Posted December 21, 2016 Report Share Posted December 21, 2016 Esos errores no son del uibonus. unknown Server Command: Te falta implementar esas ordenes a la lista de comandos.(game.py). Lo del setitemdata ni idea. Podrias poner el uibonus aqui y podria decirte como va la funcion de apertura. Link to comment Share on other sites More sharing options...
♥ TesT ♥ Posted December 21, 2016 Author Report Share Posted December 21, 2016 Esos errores no son del uibonus. unknown Server Command: Te falta implementar esas ordenes a la lista de comandos.(game.py). Lo del setitemdata ni idea. Podrias poner el uibonus aqui y podria decirte como va la funcion de apertura. import ui import chat import app import player import snd import item import net import game class BonusBoardDialog(ui.ScriptWindow): MaxBoni = { "1": 2500, "2": 800, "3": 12, "4": 12, "5": 12, "6": 12, "7": 10, "9": 20, "10": 30, "11": 30, "12": 8, "13": 8, "14": 8, "15": 10, "16": 10, "17": 10, "18": 20, "19": 20, "20": 20, "21": 20, "22": 20, "23": 15, "24": 15, "27": 15, "28": 15, "29": 15, "30": 15, "31": 15, "32": 15, "33": 15, "34": 15, "35": 15, "36": 15, "37": 15, "38": 15, "39": 10, "41": 10, "43": 20, "44": 20, "45": 20, "48": 1, "53": 50 } BonusDict = ["PvP", "PvM", "Otros"] BonusIDListe = [["", 0, 0],["", 1, 1],["", 2, 2],["", 3, 3],["", 4, 4],["", 5, 5],["", 6, 6],["", 7, 7],["Bewegungsgeschwindigkeit", 8, 0],["", 9, 0],["Regeneración HP", 10, 32],["Regeneración MP", 11, 33],["Veneno", 12, 37],["Prob. Apagón", 13, 38],["Chance to Slow Target", 14, 39],["Críticos", 15, 40],["Penetración", 16, 41],["Fuerza Medio-Humanos", 17, 43],["Fuerza Contra Animales", 18, 44],["Fuerza Contra Orcos", 19, 45],["Fuerza Contra Esotéricos", 20, 46],["Fuerza Contra No-Muerto", 21, 47],["Fuerza contra Demonio", 22, 48],["Daño absorbido por HP", 23, 63],["Daño absorbido por MP", 24, 64],["Chance to consume opponent`s MP", 25, 65],["Chance to revocer MP when hit", 26, 66],["Bloquear ataques físicos", 27, 67],["Evitar flechas", 28, 68],["Resistencia Espada", 29, 69],["Resistencia dos manos", 30, 70],["Resistencia Dagas", 31, 71],["Resistencia Campana", 32, 72],["Resistencia Fan", 33, 73],["Resistencia flechas", 34, 74],["Increase Fire Resistance", 35, 75],["Increase Lightning Resistance", 36, 76],["Resistencia magia", 37, 77],["Decrease Wind Damage", 38, 78],["Chance to Reflect Physical Attack", 39, 79],["Chance to Reflect Curse", 40, 80],["Poison Resistance", 41, 81],["Chance to Restore MP", 42, 82],["EXP", 43, 83],["Doble Yang", 44, 84],["Doble Drop", 45, 85],["Potion`s Effect Increases", 46, 86],["Chance to restore HP", 47, 87],["Inmune apagón", 48, 88],["Immun gegen Verlangsamung", 49, 89],["Immun gegen Stürzen", 50, 90],["APPLY_SKILL", 51, 0],["Pfeilreichweite", 52, 95],["Poder de ataque +", 53, 0],["Verteidigungswert", 54, 96],["Magischer Angriffswert", 55, 97],["Magischer Verteidigungswert", 56, 98],["", 57, 0],["Max. Ausdauer", 58, 0],["Fuerza Guerrero", 59, 54],["Fuerza Ninja", 60, 55],["Fuerza Sura", 61, 56],["Fuerza Chamán", 62, 57],["Fuerza contra Monstruo", 63, 53],["Itemshop Angriffswert", 64, 114],["Itemshop Verteidigungswert", 65, 115],["Itemshop Exp-Bonus", 66, 116],["Itemshop Item-Bonus", 67, 117],["Itemshop Yang-Bonus", 68, 118],["APPLY_MAX_HP_PCT", 69, 119],["APPLY_MAX_SP_PCT", 70, 120],["Habilidad", 71, 121],["Media", 72, 122],["Daño de habilidad Resistance", 73, 123],["DaResistencia Chamán", 74, 124],["", 75, 0],["iCafe EXP-Bonus", 76, 125],["iCafe Item-Bonus", 77, 126],["Resistencia Guerrero", 78, 59],["Resistencia Ninja", 79, 60],["Resistencia Sura", 80, 61],["Resistencia Chamán", 81, 62],["Vitalidad", 3, 63],["Inteligencia", 4, 64],["Fuerza", 5, 65],["Destreza", 6, 66]] SpecialBoni = { 1: "Norm.State", 2: "Norm.State", 3: "Norm.State", 4: "Norm.State", 5: "Norm.State", 6: "Norm.State", 7: "Norm.State", 55: "Norm.State", 56: "Norm.State", 58: "Norm.State" } PvPOffenseBoni = ["Fuerza Medio-Humanos", "Críticos", "Penetración", "Media", "Habilidad", "Velocidad mágica"] PvPDefenseBoni = ["Resistencia Espada", "Resistencia dos manos", "Resistencia Dagas", "Resistencia Campana", "Resistencia Fan", "Resistencia flechas", "Evitar flechas", "Resistencia magia", "Bloquear ataques físicos", "Inmune apagón"] PvMOffenseBoni = ["Fuerza contra Monstruo", "Fuerza contra Demonio", "Fuerza Contra No-Muerto", "Fuerza Contra Animales", "Fuerza Contra Orcos", "Fuerza Contra Esotéricos", "Prob. Apagón", "Veneno", "Poder de ataque +"] PvMDefenseBoni = ["Bloquear ataques físicos", "Regeneración HP", "Regeneración MP", "Daño absorbido por HP", "Daño absorbido por MP", "EXP", "Doble Yang", "Doble Drop"] LeftoversOffenseBoni = ["Fuerza Guerrero", "Fuerza Ninja", "Fuerza Sura", "Fuerza Chamán"] LeftoversDefenseBoni = ["Resistencia Guerrero", "Resistencia Ninja", "Resistencia Sura", "Resistencia Chamán", "Vitalidad", "Inteligencia", "Fuerza", "Destreza", ] BonusList = [] UI = [] TestSystem = 0 ProcessTimeStamp = 0 def __init__(self): if constInfo.bonuspage == 0: ui.ScriptWindow.__init__(self) self.LoadUI() else: chat.AppendChat(chat.CHAT_TYPE_INFO, "No puedes abrir 2 ventanas de bonus.") def __del__(self): self.Hide() self.Board.Hide() constInfo.bonuspage = 0 def LoadUI(self): self.Board = ui.BoardWithTitleBar() self.Board.SetSize(373, 420) self.Board.SetCenterPosition() self.Board.AddFlag("movable") self.Board.AddFlag("float") self.Board.SetTitleName("|cff00ff00|H|hTabla de Bonus Nirvana2") self.Board.SetCloseEvent(self.__del__) self.Board.Show() constInfo.bonuspage = 1 Vertical = ui.Line() Vertical.SetParent(self.Board) Vertical.SetPosition(25, 60) Vertical.SetSize(330, 0) Vertical.SetColor(0xff777777) Vertical.Show() self.UI.append(Vertical) x = 25 for i in xrange(3): ChangeBonusDict = ui.Button() ChangeBonusDict.SetParent(self.Board) ChangeBonusDict.SetUpVisual("d:/ymir work/ui/public/large_button_01.sub") ChangeBonusDict.SetOverVisual("d:/ymir work/ui/public/large_button_02.sub") ChangeBonusDict.SetDownVisual("d:/ymir work/ui/public/large_button_03.sub") ChangeBonusDict.SetText(self.BonusDict) ChangeBonusDict.SetPosition(x, 380) ChangeBonusDict.SetEvent(lambda arg = ChangeBonusDict.GetText(): self.ChangeBonusDict(arg)) ChangeBonusDict.Show() x += 118 self.UI.append(ChangeBonusDict) x = 80 Type = ["Ofensivos", "Defensivo"] for i in xrange(2): BonusDescription = ui.TextLine() BonusDescription.SetParent(self.Board) BonusDescription.SetPosition(x, 35) BonusDescription.SetText(str(Type)) BonusDescription.SetFontColor(1.0, 0.63, 0) BonusDescription.Show() x += 180 self.UI.append(BonusDescription) self.SetBoni(self.BonusDict[0]) self.dict = self.BonusDict[0] def SetBoni(self, type): Offense = [[25, 70], [25, 100], [25, 130], [25, 160], [25, 190], [25, 220], [25, 250], [25, 280], [25, 310], [25, 340]] Defense = [[200, 70], [200, 100], [200, 130], [200, 160], [200, 190], [200, 220], [200, 250], [200, 280], [200, 310], [200, 340]] for bonus in self.BonusIDListe: if type == self.BonusDict[0]: self.CheckBonus(bonus, self.PvPOffenseBoni, Offense) self.CheckBonus(bonus, self.PvPDefenseBoni, Defense) elif type == self.BonusDict[1]: self.CheckBonus(bonus, self.PvMOffenseBoni, Offense) self.CheckBonus(bonus, self.PvMDefenseBoni, Defense) elif type == self.BonusDict[2]: self.CheckBonus(bonus, self.LeftoversOffenseBoni, Offense) self.CheckBonus(bonus, self.LeftoversDefenseBoni, Defense) else: return def CheckBonus(self, bonus, bonuslist, offset): for boni in bonuslist: if bonus[0] == boni: try: Index = bonuslist.index(boni) BonusDescription = ui.TextLine() BonusDescription.SetParent(self.Board) BonusDescription.SetPosition(offset[index][0], offset[index][1]) BonusDescription.SetText(str(bonus[0])) BonusDescription.Show() BonusSlotBar = ui.SlotBar() BonusSlotBar.SetParent(self.Board) BonusSlotBar.SetSize(155, 15) BonusSlotBar.SetPosition(offset[index][0], offset[index][1] + 15) BonusSlotBar.Show() BonusAttrLine = ui.TextLine() BonusAttrLine.SetParent(self.Board) BonusAttrLine.SetPosition(offset[index][0] + 5, offset[index][1] + 15) try: Type = self.SpecialBoni[bonus[1]] Attribute = self.EquipAttribute(bonus) except: Attribute = player.GetStatus(int(bonus[2])) if self.TestSystem != 1: BonusAttrLine.SetText(str(Attribute)) try: if int(Attribute) >= int(self.MaxBoni[str(bonus[1])]): BonusAttrLine.SetFontColor(1.0, 0.63, 0) elif int(Attribute) < 0: BonusAttrLine.SetFontColor(1.0, 0.0, 0) else: BonusAttrLine.SetFontColor(1, 1, 1) except: BonusAttrLine.SetFontColor(1, 1, 1) else: BonusAttrLine.SetText("Test system is active") BonusAttrLine.SetFontColor(0.1, 0.7, 1.0) BonusAttrLine.Show() self.BonusList.append([bonusDescription, BonusAttrLine, BonusSlotBar]) except: pass def EquipAttribute(self, bonus): value = 0 for slot in xrange(90, 101): for attr in xrange(0, 7): attr, val = player.GetItemAttribute(slot, attr) if int(attr) == bonus[1]: value += int(val) return int(value) def ChangeBonusDict(self, dict): self.dict = dict for bonus in self.BonusList: try: for array in bonus: array.Hide() except: pass self.SetBoni(dict) def OnTimer(self): import item if app.GetTime() > (self.ProcessTimeStamp + 0.5) and self.Board.IsShow(): self.SetBoni(self.dict) self.ProcessTimeStamp = app.GetTime() def OnUpdate(self): self.OnTimer() #BonusBoardDialog().Show() Link to comment Share on other sites More sharing options...
Deimos Posted December 21, 2016 Report Share Posted December 21, 2016 def __init__(self): ui.ScriptWindow.__init__(self) self.LoadUI()def OpenBonus(self): self.Board.Show()#En ve de self.bonus.Show() pon self.bonus.OpenBonus() deberia funcionar creo . _. Link to comment Share on other sites More sharing options...
♥ TesT ♥ Posted December 21, 2016 Author Report Share Posted December 21, 2016 def __init__(self): ui.ScriptWindow.__init__(self) self.LoadUI() def OpenBonus(self): self.Board.Show() #En ve de self.bonus.Show() pon self.bonus.OpenBonus() deberia funcionar creo . _. no pasa nada sigue igual Link to comment Share on other sites More sharing options...
xMikuruMiu Posted December 21, 2016 Report Share Posted December 21, 2016 uiiventory.pydef _Tabla(self):import uibonuspageimport constinfotry:if constinfo.bonuspage == 0:exec 'uibonuspage.BonusBoardDialog().Show()'else:chat.AppendChat(chat.CHAT_TYPE_INFO, " Ya est?abierta")except ImportError:import dbg,appdbg.Trace('uibonuspage.py Importing error :(')app.Abort()--------self.Tabla = self.GetChild("Tabl.Bonus")--------self.Tabla.SetEvent(ui.__mem_func__(self._Tabla))inventorywindow.py:Acomodar el botón a "Tabl.Bonus" constinfo.py bonuspage = 0 Nota: importante tener el uibonuspage.py en el root. Link to comment Share on other sites More sharing options...
Recommended Posts