Jump to content

Recommended Posts

Posted

  1. 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.

Posted

 

  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()
Posted

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 . _.

Posted

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

Posted

 

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.

 

 

 

  • Dilong locked this topic
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

This site uses cookies to enhance your browsing experience and provide relevant content. By continuing to browse, you agree to our We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. and Terms of Use. For more information on how we protect your data, please check our Privacy Policy.