You last visited: Today at 21:47
Advertisement
uiswitch syserr bug
Discussion on uiswitch syserr bug within the Metin2 Private Server forum part of the Metin2 category.
11/11/2017, 14:47
#1
elite*gold: 0
Join Date: Oct 2017
Posts: 70
Received Thanks: 24
uiswitch syserr bug
Hey guys,*
So wanted to implement the switch for normal stats , uiswitch.py. But as i saw for many its creating some problems
The system works well , but the changers count is not decreasing each time we switch, and its outputting this error in syserr.
Quote:
1111 15:32:41995 :: Traceback (most recent call last):
1111 15:32:41995 :: * File "uiswitch.py", line 161, in OnUpdate
1111 15:32:41995 :: * File "uiswitch.py", line 140, in refresh
1111 15:32:41995 :: TypeError
1111 15:32:41995 :: :*
1111 15:32:41995 :: an integer is required
1111 15:32:41995 ::*
This is the uiswitch.py used on the client.*
Quote:
import ui
import player
import mouseModule
import net
import app
import chat
import snd
import item
import player
import chat
import grp
import uiScriptLocale
import uiRefine
import uiAttachMetin
import uiCommon
import locale
import constInfo
import ime
import grpText
import uiToolTip
Low = "low-work/system/"
class Switcher(ui.ScriptWindow):
POSITIVE_COLOR = grp.GenerateColor(0.5411, 0.7254, 0.5568, 1.0)
NEGATIVE_COLOR = grp.GenerateColor(0.9, 0.4745, 0.4627, 1.0)
def __init__(self):
import exception
ui.ScriptWindow.__init__(self)
def __del__(self):
ui.ScriptWindow.__del__(self)
def Show(self):
constInfo.SWITCH_BONUS = 1
self.__LoadWindow()
ui.ScriptWindow.Show(self)
def Close(self):
constInfo.SWITCH_BONUS = 0
self.Hide()
def OnPressEscapeKey(self):
self.Close()
return TRUE
def __LoadWindow(self):
try:
pyScrLoader = ui.PythonScriptLoader()
pyScrLoader.LoadScriptFile(self, Low + "binari2.py")
except:
import exception
exception.Abort("CostumeWindow.LoadWindow.LoadObje ct")
self.TitleBar = self.GetChild("TitleBar")
self.switchslot = self.GetChild("switchslot")
self.bonusslot = [self.GetChild2("bonus1"), self.GetChild2("bonus2"), self.GetChild2("bonus3"), self.GetChild2("bonus4"), self.GetChild2("bonus5"), ]
self.buttongira = self.GetChild("gira_bonus")
self.buttongira.SetEvent(ui.__mem_func__(self.__gi ra_bonus))
self.TitleBar.SetCloseEvent(ui.__mem_func__(self.C lose))
self.switchslot.SetSelectEmptySlotEvent(ui.__mem_f unc__(self.__OnSelectEmptySlot))
self.switchslot.SetSelectItemSlotEvent(ui.__mem_fu nc__(self.__OnSelectItemSlot))
self.toolTipCostume = uiToolTip.ToolTip(190)
self.toolTipCostume.SetTitle(item.GetItemName())
self.slotitem = None
self.slotgira = None
def __OnSelectItemSlot(self, selectedSlotPos):
isAttached = mouseModule.mouseController.isAttached()
if isAttached:
attachedSlotType = mouseModule.mouseController.GetAttachedType()
attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber( )
mouseModule.mouseController.DeattachObject()
itemIndex = player.GetItemIndex(attachedSlotPos)
itemCount = player.GetItemCount(attachedSlotPos)
item.SelectItem(itemIndex)
itemType = item.GetItemType()
if selectedSlotPos == 0:
self.slotitem = attachedSlotPos
if item.ITEM_TYPE_WEAPON == itemType or item.ITEM_TYPE_ARMOR == itemType:
self.switchslot.SetItemSlot(selectedSlotPos, itemIndex, 0)
attrSlot = [player.GetItemAttribute(attachedSlotPos, i) for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM)]
for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM-2):
type = attrSlot[i][0]
value = attrSlot[i][1]
affectString = self.__GetAffectString(type, value)
self.bonusslot[i].SetText(affectString)
else:
if selectedSlotPos == 0:
self.switchslot.SetItemSlot(0, 0, 0)
self.slotitem = None
def __OnSelectEmptySlot(self, selectedSlotPos):
isAttached = mouseModule.mouseController.isAttached()
if isAttached:
attachedSlotType = mouseModule.mouseController.GetAttachedType()
attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber( )
mouseModule.mouseController.DeattachObject()
itemIndex = player.GetItemIndex(attachedSlotPos)
itemCount = player.GetItemCount(attachedSlotPos)
item.SelectItem(itemIndex)
itemType = item.GetItemType()
if selectedSlotPos == 0:
self.slotitem = attachedSlotPos
if item.ITEM_TYPE_WEAPON == itemType or item.ITEM_TYPE_ARMOR == itemType:
self.switchslot.SetItemSlot(selectedSlotPos, itemIndex, 0)
attrSlot = [player.GetItemAttribute(attachedSlotPos, i) for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM)]
for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM-2):
type = attrSlot[i][0]
value = attrSlot[i][1]
affectString = self.__GetAffectString(type, value)
self.bonusslot[i].SetText(affectString)
if selectedSlotPos == 1 and itemIndex== 71084:
self.slotgira = attachedSlotPos
self.switchslot.SetItemSlot(selectedSlotPos, itemIndex, itemCount)
def __GetAffectString(self, affectType, affectValue):
if 0 == affectType:
return None
if 0 == affectValue:
return None
try:
return self.AFFECT_DICT[affectType](affectValue)
except TypeError:
return "UNKNOWN_VALUE[%s] %s" % (affectType, affectValue)
except KeyError:
return "UNKNOWN_TYPE[%s] %s" % (affectType, affectValue)
def __gira_bonus(self):
self.__Switch(self.slotitem,self.slotgira)
def __Switch(self,dstSlotPos,srcSlotPos):
net.SendItemUseToItemPacket(srcSlotPos,dstSlotPos)
self.refresh(dstSlotPos,srcSlotPos)
def refresh(self,dstSlotPos,srcSlotPos):
attrSlot = [player.GetItemAttribute(dstSlotPos, i) for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM)]
for i in xrange(5):
self.bonusslot[i].SetText("")
for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM-2):
type = attrSlot[i][0]
value = attrSlot[i][1]
affectString = self.__GetAffectString(type, value)
if int(value) < 0:
self.bonusslot[i].SetPackedFontColor(self.NEGATIVE_COLOR)
else:
self.bonusslot[i].SetPackedFontColor(self.POSITIVE_COLOR)
self.bonusslot[i].SetText(affectString)
itemIndex = player.GetItemIndex(srcSlotPos)
itemCount = player.GetItemCount(srcSlotPos)
self.switchslot.ClearSlot(1)
self.switchslot.SetItemSlot(1, itemIndex, itemCount)
def OnUpdate(self):
self.refresh(self.slotitem,self.slotgira)
AFFECT_DICT = {
item.APPLY_MAX_HP : locale.TOOLTIP_MAX_HP,
item.APPLY_MAX_SP : locale.TOOLTIP_MAX_SP,
item.APPLY_CON : locale.TOOLTIP_CON,
item.APPLY_INT : locale.TOOLTIP_INT,
item.APPLY_STR : locale.TOOLTIP_STR,
item.APPLY_DEX : locale.TOOLTIP_DEX,
item.APPLY_ATT_SPEED : locale.TOOLTIP_ATT_SPEED,
item.APPLY_MOV_SPEED : locale.TOOLTIP_MOV_SPEED,
item.APPLY_CAST_SPEED : locale.TOOLTIP_CAST_SPEED,
item.APPLY_HP_REGEN : locale.TOOLTIP_HP_REGEN,
item.APPLY_SP_REGEN : locale.TOOLTIP_SP_REGEN,
item.APPLY_POISON_PCT : locale.TOOLTIP_APPLY_POISON_PCT,
item.APPLY_STUN_PCT : locale.TOOLTIP_APPLY_STUN_PCT,
item.APPLY_SLOW_PCT : locale.TOOLTIP_APPLY_SLOW_PCT,
item.APPLY_CRITICAL_PCT : locale.TOOLTIP_APPLY_CRITICAL_PCT,
item.APPLY_PENETRATE_PCT : locale.TOOLTIP_APPLY_PENETRATE_PCT,
item.APPLY_ATTBONUS_WARRIOR : locale.TOOLTIP_APPLY_ATTBONUS_WARRIOR,
item.APPLY_ATTBONUS_ASSASSIN : locale.TOOLTIP_APPLY_ATTBONUS_ASSASSIN,
item.APPLY_ATTBONUS_SURA : locale.TOOLTIP_APPLY_ATTBONUS_SURA,
item.APPLY_ATTBONUS_SHAMAN : locale.TOOLTIP_APPLY_ATTBONUS_SHAMAN,
item.APPLY_ATTBONUS_MONSTER : locale.TOOLTIP_APPLY_ATTBONUS_MONSTER,
item.APPLY_ATTBONUS_HUMAN : locale.TOOLTIP_APPLY_ATTBONUS_HUMAN,
item.APPLY_ATTBONUS_ANIMAL : locale.TOOLTIP_APPLY_ATTBONUS_ANIMAL,
item.APPLY_ATTBONUS_ORC : locale.TOOLTIP_APPLY_ATTBONUS_ORC,
item.APPLY_ATTBONUS_MILGYO : locale.TOOLTIP_APPLY_ATTBONUS_MILGYO,
item.APPLY_ATTBONUS_UNDEAD : locale.TOOLTIP_APPLY_ATTBONUS_UNDEAD,
item.APPLY_ATTBONUS_DEVIL : locale.TOOLTIP_APPLY_ATTBONUS_DEVIL,
item.APPLY_STEAL_HP : locale.TOOLTIP_APPLY_STEAL_HP,
item.APPLY_STEAL_SP : locale.TOOLTIP_APPLY_STEAL_SP,
item.APPLY_MANA_BURN_PCT : locale.TOOLTIP_APPLY_MANA_BURN_PCT,
item.APPLY_DAMAGE_SP_RECOVER : locale.TOOLTIP_APPLY_DAMAGE_SP_RECOVER,
item.APPLY_BLOCK : locale.TOOLTIP_APPLY_BLOCK,
item.APPLY_DODGE : locale.TOOLTIP_APPLY_DODGE,
item.APPLY_RESIST_SWORD : locale.TOOLTIP_APPLY_RESIST_SWORD,
item.APPLY_RESIST_TWOHAND : locale.TOOLTIP_APPLY_RESIST_TWOHAND,
item.APPLY_RESIST_DAGGER : locale.TOOLTIP_APPLY_RESIST_DAGGER,
item.APPLY_RESIST_BELL : locale.TOOLTIP_APPLY_RESIST_BELL,
item.APPLY_RESIST_FAN : locale.TOOLTIP_APPLY_RESIST_FAN,
item.APPLY_RESIST_BOW : locale.TOOLTIP_RESIST_BOW,
item.APPLY_RESIST_FIRE : locale.TOOLTIP_RESIST_FIRE,
item.APPLY_RESIST_ELEC : locale.TOOLTIP_RESIST_ELEC,
item.APPLY_RESIST_MAGIC : locale.TOOLTIP_RESIST_MAGIC,
item.APPLY_RESIST_WIND : locale.TOOLTIP_APPLY_RESIST_WIND,
item.APPLY_REFLECT_MELEE : locale.TOOLTIP_APPLY_REFLECT_MELEE,
item.APPLY_REFLECT_CURSE : locale.TOOLTIP_APPLY_REFLECT_CURSE,
item.APPLY_POISON_REDUCE : locale.TOOLTIP_APPLY_POISON_REDUCE,
item.APPLY_KILL_SP_RECOVER : locale.TOOLTIP_APPLY_KILL_SP_RECOVER,
item.APPLY_EXP_DOUBLE_BONUS : locale.TOOLTIP_APPLY_EXP_DOUBLE_BONUS,
item.APPLY_GOLD_DOUBLE_BONUS : locale.TOOLTIP_APPLY_GOLD_DOUBLE_BONUS,
item.APPLY_ITEM_DROP_BONUS : locale.TOOLTIP_APPLY_ITEM_DROP_BONUS,
item.APPLY_POTION_BONUS : locale.TOOLTIP_APPLY_POTION_BONUS,
item.APPLY_KILL_HP_RECOVER : locale.TOOLTIP_APPLY_KILL_HP_RECOVER,
item.APPLY_IMMUNE_STUN : locale.TOOLTIP_APPLY_IMMUNE_STUN,
item.APPLY_IMMUNE_SLOW : locale.TOOLTIP_APPLY_IMMUNE_SLOW,
item.APPLY_IMMUNE_FALL : locale.TOOLTIP_APPLY_IMMUNE_FALL,
item.APPLY_BOW_DISTANCE : locale.TOOLTIP_BOW_DISTANCE,
item.APPLY_DEF_GRADE_BONUS : locale.TOOLTIP_DEF_GRADE,
item.APPLY_ATT_GRADE_BONUS : locale.TOOLTIP_ATT_GRADE,
item.APPLY_MAGIC_ATT_GRADE : locale.TOOLTIP_MAGIC_ATT_GRADE,
item.APPLY_MAGIC_DEF_GRADE : locale.TOOLTIP_MAGIC_DEF_GRADE,
item.APPLY_MAX_STAMINA : locale.TOOLTIP_MAX_STAMINA,
item.APPLY_MALL_ATTBONUS : locale.TOOLTIP_MALL_ATTBONUS,
item.APPLY_MALL_DEFBONUS : locale.TOOLTIP_MALL_DEFBONUS,
item.APPLY_MALL_EXPBONUS : locale.TOOLTIP_MALL_EXPBONUS,
item.APPLY_MALL_ITEMBONUS : locale.TOOLTIP_MALL_ITEMBONUS,
item.APPLY_MALL_GOLDBONUS : locale.TOOLTIP_MALL_GOLDBONUS,
item.APPLY_SKILL_DAMAGE_BONUS : locale.TOOLTIP_SKILL_DAMAGE_BONUS,
item.APPLY_NORMAL_HIT_DAMAGE_BONUS : locale.TOOLTIP_NORMAL_HIT_DAMAGE_BONUS,
item.APPLY_SKILL_DEFEND_BONUS : locale.TOOLTIP_SKILL_DEFEND_BONUS,
item.APPLY_NORMAL_HIT_DEFEND_BONUS : locale.TOOLTIP_NORMAL_HIT_DEFEND_BONUS,
item.APPLY_PC_BANG_EXP_BONUS : locale.TOOLTIP_MALL_EXPBONUS_P_STATIC,
item.APPLY_PC_BANG_DROP_BONUS : locale.TOOLTIP_MALL_ITEMBONUS_P_STATIC,
item.APPLY_RESIST_WARRIOR : locale.TOOLTIP_APPLY_RESIST_WARRIOR,
item.APPLY_RESIST_ASSASSIN : locale.TOOLTIP_APPLY_RESIST_ASSASSIN,
item.APPLY_RESIST_SURA : locale.TOOLTIP_APPLY_RESIST_SURA,
item.APPLY_RESIST_SHAMAN : locale.TOOLTIP_APPLY_RESIST_SHAMAN,
item.APPLY_MAX_HP_PCT : locale.TOOLTIP_APPLY_MAX_HP_PCT,
item.APPLY_MAX_SP_PCT : locale.TOOLTIP_APPLY_MAX_SP_PCT,
item.APPLY_ENERGY : locale.TOOLTIP_ENERGY,
item.APPLY_COSTUME_ATTR_BONUS : locale.TOOLTIP_COSTUME_ATTR_BONUS,
}
Thanks
Similar Threads
[SEARCH]Gold bug , castel bug ans speed repair bug for key bug or crystal bug
04/23/2020 - Browsergames - 3 Replies
Hi
I search key or crystal bug :)
I will give gold , castel and speed repair bug
Please send me skype : ciechomek111
[Syserr Fehler] Mysteriöser syserr eintrag
07/29/2014 - Metin2 Private Server - 9 Replies
Servus ,
leider spuckt google nicht sonderlich viel aus bzgl meines Anliegens ..
Kurz zu meinem Problem :
Wenn ich ein Dungeon starten möchte ( ein eigenes dungeon was vor kurzem noch ging .. ka wieso jetzt nicht mehr ) werde ich NICHT! in das Dungeon geportet und meine Fenster wird und bleibt so bis ich mich relogge. http://puu.sh/auOK8/bfaaf8a7ed.jpg
In der syserr steht dann folgender Fehler :
FilesZilla - No syserr/keine syserr
10/02/2012 - Metin2 Private Server - 6 Replies
Ich kann nicht finden SYSERR in filezilla, Ich suchte alle Ordner hier: / usr / regen / Kanal
aber theres keine syserr. Was kann ich tun?????
I can't find syserr in filezlla, I searched all the folders here: / usr / rain / channel
but theres no syserr. What to do???
FilesZilla - No syserr/keine syserr
04/19/2011 - Metin2 Private Server - 0 Replies
Ich kann nicht finden SYSERR in filezilla, Ich suchte alle Ordner hier: / usr / regen / Kanal
aber theres keine syserr. Was kann ich tun?????
I can't find syserr in filezlla, I searched all the folders here: / usr / rain / channel
but theres no syserr. What to do???
FilesZilla - No syserr/keine syserr
04/19/2011 - Metin2 Private Server - 1 Replies
Ich kann nicht finden SYSERR in filezilla, Ich suchte alle Ordner hier: / usr / regen / Kanal
aber theres keine syserr. Was kann ich tun?????
I can't find syserr in filezlla, I searched all the folders here: / usr / rain / channel
but theres no syserr. What to do???
All times are GMT +2. The time now is 21:47 .