Jump to content

Error en boton inventario


♥ TesT ♥

Mensajes recomendados

 

  1. Esos errores no son del uibonus.
  2. unknown Server Command: Te falta implementar esas ordenes a la lista de comandos.(game.py).
  3. Lo del setitemdata ni idea.
  4. 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()
Enlace para comentar
Compartir en otros sitios

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 :P

Enlace para comentar
Compartir en otros sitios

 

uiiventory.py

def _Tabla(self):
import uibonuspage
import constinfo
try:
if constinfo.bonuspage == 0:
exec 'uibonuspage.BonusBoardDialog().Show()'
else:
chat.AppendChat(chat.CHAT_TYPE_INFO, " Ya est?abierta")
except ImportError:
import dbg,app
dbg.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.

 

 

 

Enlace para comentar
Compartir en otros sitios

  • Dilong locked this tema
Guest
Este tema está cerrado a otras respuestas.
  • Recientemente navegando por este tema   0 miembros

    • No hay usuarios registrados visitando esta página.
×
×
  • Crear nuevo...