Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

problem z bonus


Bastia.pl.

Rekomendowane odpowiedzi

Opublikowano

witam mam problem, gdy klikam nie otwiera sie bonus
 
Sysser

0314 11:48:40430 :: Traceback (most recent call last):

0314 11:48:40432 ::   File "ui.py", line 1016, in CallEvent

0314 11:48:40433 ::   File "ui.py", line 87, in __call__

0314 11:48:40434 ::   File "ui.py", line 69, in __call__

0314 11:48:40434 ::   File "uiInventory.py", line 435, in SieluEq

0314 11:48:40435 ::   File "system.py", line 130, in __pack_import

0314 11:48:40435 ::   File "
0314 11:48:40435 :: <string>
0314 11:48:40436 :: ", line 
0314 11:48:40436 :: 298
0314 11:48:40436 :: 

0314 11:48:40436 ::     
0314 11:48:40436 :: 
0314 11:48:40436 :: 

0314 11:48:40436 :: SyntaxError
0314 11:48:40436 :: : 
0314 11:48:40436 :: invalid syntax
0314 11:48:40436 :: 

uiinventory

			self.GetChild("Sielu").SetEvent(ui.__mem_func__(self.SieluEq))


                def SieluEq(self):
		try:
			if self.sielu.IsShow():
				self.sielu.Hide()
			else:
				self.sielu.Show()
		except:
			import sielu 
			self.sielu = sielu.CharacterBonusWindow()
			self.sielu.Show()
			pass

sielu.py 
 

#BY Adams Thoria.eu

import ui
import item
import locale
import player
import grp

class BonusListBoard(ui.ThinBoard):

	NEGATIVE_COLOR = grp.GenerateColor(0.9, 0.4745, 0.4627, 1.0)
	POSITIVE_COLOR = grp.GenerateColor(0.5411, 0.7254, 0.5568, 1.0)

	def __init__(self):
		ui.ThinBoard.__init__(self)
	
		self.lineHeight = 12
		self.childrenList = []
	
	def __del__(self):
		ui.ThinBoard.__del__(self)
	
	def Clear(self):
		self.lineHeight = 12
		self.childrenList = []
		
	def AppendTextLine(self, fn, value):
		textLine = ui.TextLine()
		textLine.SetParent(self)
		textLine.SetFontName(locale.UI_DEF_FONT)
		
		if value > 0:
			textLine.SetPackedFontColor(self.POSITIVE_COLOR)
		elif value < 0:
			textLine.SetPackedFontColor(self.NEGATIVE_COLOR)
			
		textLine.SetText(str(fn(value)))
		textLine.SetOutline()
		textLine.SetFeather(FALSE)
		textLine.Show()

		textLine.SetPosition(10, self.lineHeight)

		self.childrenList.append(textLine)

		self.lineHeight += 17
		return textLine

class CharacterBonusWindow(ui.BoardWithTitleBar):

	DEFAULT_TAB_IMAGE = "d:/ymir work/ui/game/windows/tab_button_large_01.sub"
	OVER_TAB_IMAGE = "d:/ymir work/ui/game/windows/tab_button_large_02.sub"
	DOWN_TAB_IMAGE = "d:/ymir work/ui/game/windows/tab_button_large_03.sub"
	
	AFFECT_DICT = {
		item.APPLY_MAX_HP : [locale.TOOLTIP_MAX_HP, 0],
		item.APPLY_MAX_SP : [locale.TOOLTIP_MAX_SP, 0],
		item.APPLY_CON : [locale.TOOLTIP_CON, 0],
		item.APPLY_INT : [locale.TOOLTIP_INT, 0],
		item.APPLY_STR : [locale.TOOLTIP_STR, 0],
		item.APPLY_DEX : [locale.TOOLTIP_DEX, 0],
		item.APPLY_ATT_SPEED : [locale.TOOLTIP_ATT_SPEED, 0],
		item.APPLY_MOV_SPEED : [locale.TOOLTIP_MOV_SPEED, 0],
		item.APPLY_CAST_SPEED : [locale.TOOLTIP_CAST_SPEED, 0],
		item.APPLY_HP_REGEN : [locale.TOOLTIP_HP_REGEN, 0],
		item.APPLY_SP_REGEN : [locale.TOOLTIP_SP_REGEN, 0],
		item.APPLY_POISON_PCT : [locale.TOOLTIP_APPLY_POISON_PCT, 0],
		item.APPLY_STUN_PCT : [locale.TOOLTIP_APPLY_STUN_PCT, 0],
		item.APPLY_SLOW_PCT : [locale.TOOLTIP_APPLY_SLOW_PCT, 0],
		item.APPLY_CRITICAL_PCT : [locale.TOOLTIP_APPLY_CRITICAL_PCT, 0],
		item.APPLY_PENETRATE_PCT : [locale.TOOLTIP_APPLY_PENETRATE_PCT, 0],

		item.APPLY_ATTBONUS_WARRIOR : [locale.TOOLTIP_APPLY_ATTBONUS_WARRIOR, 0],
		item.APPLY_ATTBONUS_ASSASSIN : [locale.TOOLTIP_APPLY_ATTBONUS_ASSASSIN, 0],
		item.APPLY_ATTBONUS_SURA : [locale.TOOLTIP_APPLY_ATTBONUS_SURA, 0],
		item.APPLY_ATTBONUS_SHAMAN : [locale.TOOLTIP_APPLY_ATTBONUS_SHAMAN, 0],
		item.APPLY_ATTBONUS_MONSTER : [locale.TOOLTIP_APPLY_ATTBONUS_MONSTER, 0],

		item.APPLY_ATTBONUS_HUMAN : [locale.TOOLTIP_APPLY_ATTBONUS_HUMAN, 0],
		item.APPLY_ATTBONUS_ANIMAL : [locale.TOOLTIP_APPLY_ATTBONUS_ANIMAL, 0],
		item.APPLY_ATTBONUS_ORC : [locale.TOOLTIP_APPLY_ATTBONUS_ORC, 0],
		item.APPLY_ATTBONUS_MILGYO : [locale.TOOLTIP_APPLY_ATTBONUS_MILGYO, 0],
		item.APPLY_ATTBONUS_UNDEAD : [locale.TOOLTIP_APPLY_ATTBONUS_UNDEAD, 0],
		item.APPLY_ATTBONUS_DEVIL : [locale.TOOLTIP_APPLY_ATTBONUS_DEVIL, 0],
		item.APPLY_STEAL_HP : [locale.TOOLTIP_APPLY_STEAL_HP, 0],
		item.APPLY_STEAL_SP : [locale.TOOLTIP_APPLY_STEAL_SP, 0],
		item.APPLY_MANA_BURN_PCT : [locale.TOOLTIP_APPLY_MANA_BURN_PCT, 0],
		item.APPLY_DAMAGE_SP_RECOVER : [locale.TOOLTIP_APPLY_DAMAGE_SP_RECOVER, 0],
		item.APPLY_BLOCK : [locale.TOOLTIP_APPLY_BLOCK, 0],
		item.APPLY_DODGE : [locale.TOOLTIP_APPLY_DODGE, 0],
		item.APPLY_RESIST_SWORD : [locale.TOOLTIP_APPLY_RESIST_SWORD, 0],
		item.APPLY_RESIST_TWOHAND : [locale.TOOLTIP_APPLY_RESIST_TWOHAND, 0],
		item.APPLY_RESIST_DAGGER : [locale.TOOLTIP_APPLY_RESIST_DAGGER, 0],
		item.APPLY_RESIST_BELL : [locale.TOOLTIP_APPLY_RESIST_BELL, 0],
		item.APPLY_RESIST_FAN : [locale.TOOLTIP_APPLY_RESIST_FAN, 0],
		item.APPLY_RESIST_BOW : [locale.TOOLTIP_RESIST_BOW, 0],
		item.APPLY_RESIST_FIRE : [locale.TOOLTIP_RESIST_FIRE, 0],
		item.APPLY_RESIST_ELEC : [locale.TOOLTIP_RESIST_ELEC, 0],
		item.APPLY_RESIST_MAGIC : [locale.TOOLTIP_RESIST_MAGIC, 0],
		item.APPLY_RESIST_WIND : [locale.TOOLTIP_APPLY_RESIST_WIND, 0],
		item.APPLY_REFLECT_MELEE : [locale.TOOLTIP_APPLY_REFLECT_MELEE, 0],
		item.APPLY_REFLECT_CURSE : [locale.TOOLTIP_APPLY_REFLECT_CURSE, 0],
		item.APPLY_POISON_REDUCE : [locale.TOOLTIP_APPLY_POISON_REDUCE, 0],
		item.APPLY_KILL_SP_RECOVER : [locale.TOOLTIP_APPLY_KILL_SP_RECOVER, 0],
		item.APPLY_EXP_DOUBLE_BONUS : [locale.TOOLTIP_APPLY_EXP_DOUBLE_BONUS, 0],
		item.APPLY_GOLD_DOUBLE_BONUS : [locale.TOOLTIP_APPLY_GOLD_DOUBLE_BONUS, 0],
		item.APPLY_ITEM_DROP_BONUS : [locale.TOOLTIP_APPLY_ITEM_DROP_BONUS, 0],
		item.APPLY_POTION_BONUS : [locale.TOOLTIP_APPLY_POTION_BONUS, 0],
		item.APPLY_KILL_HP_RECOVER : [locale.TOOLTIP_APPLY_KILL_HP_RECOVER, 0],
		item.APPLY_IMMUNE_STUN : [locale.TOOLTIP_APPLY_IMMUNE_STUN, 0],
		item.APPLY_IMMUNE_SLOW : [locale.TOOLTIP_APPLY_IMMUNE_SLOW, 0],
		item.APPLY_IMMUNE_FALL : [locale.TOOLTIP_APPLY_IMMUNE_FALL, 0],
		item.APPLY_BOW_DISTANCE : [locale.TOOLTIP_BOW_DISTANCE, 0],
		item.APPLY_DEF_GRADE_BONUS : [locale.TOOLTIP_DEF_GRADE, 0],
		item.APPLY_ATT_GRADE_BONUS : [locale.TOOLTIP_ATT_GRADE, 0],
		item.APPLY_MAGIC_ATT_GRADE : [locale.TOOLTIP_MAGIC_ATT_GRADE, 0],
		item.APPLY_MAGIC_DEF_GRADE : [locale.TOOLTIP_MAGIC_DEF_GRADE, 0],
		item.APPLY_MAX_STAMINA : [locale.TOOLTIP_MAX_STAMINA, 0],
		item.APPLY_MALL_ATTBONUS : [locale.TOOLTIP_MALL_ATTBONUS, 0],
		item.APPLY_MALL_DEFBONUS : [locale.TOOLTIP_MALL_DEFBONUS, 0],
		item.APPLY_MALL_EXPBONUS : [locale.TOOLTIP_MALL_EXPBONUS, 0],
		item.APPLY_MALL_ITEMBONUS : [locale.TOOLTIP_MALL_ITEMBONUS, 0],
		item.APPLY_MALL_GOLDBONUS : [locale.TOOLTIP_MALL_GOLDBONUS, 0],
		item.APPLY_SKILL_DAMAGE_BONUS : [locale.TOOLTIP_SKILL_DAMAGE_BONUS, 0],
		item.APPLY_NORMAL_HIT_DAMAGE_BONUS : [locale.TOOLTIP_NORMAL_HIT_DAMAGE_BONUS, 0],
		item.APPLY_SKILL_DEFEND_BONUS : [locale.TOOLTIP_SKILL_DEFEND_BONUS, 0],
		item.APPLY_NORMAL_HIT_DEFEND_BONUS : [locale.TOOLTIP_NORMAL_HIT_DEFEND_BONUS, 0],
		item.APPLY_PC_BANG_EXP_BONUS : [locale.TOOLTIP_MALL_EXPBONUS_P_STATIC, 0],
		item.APPLY_PC_BANG_DROP_BONUS : [locale.TOOLTIP_MALL_ITEMBONUS_P_STATIC, 0],
		item.APPLY_RESIST_WARRIOR : [locale.TOOLTIP_APPLY_RESIST_WARRIOR, 0],
		item.APPLY_RESIST_ASSASSIN : [locale.TOOLTIP_APPLY_RESIST_ASSASSIN, 0],
		item.APPLY_RESIST_SURA : [locale.TOOLTIP_APPLY_RESIST_SURA, 0],
		item.APPLY_RESIST_SHAMAN : [locale.TOOLTIP_APPLY_RESIST_SHAMAN, 0],
		item.APPLY_MAX_HP_PCT : [locale.TOOLTIP_APPLY_MAX_HP_PCT, 0],
		item.APPLY_MAX_SP_PCT : [locale.TOOLTIP_APPLY_MAX_SP_PCT, 0],
		item.APPLY_ENERGY : [locale.TOOLTIP_ENERGY, 0],
		item.APPLY_COSTUME_ATTR_BONUS : [locale.TOOLTIP_COSTUME_ATTR_BONUS, 0]
	}

	DEFAULT_X = 262
	
	def __init__(self):
		ui.BoardWithTitleBar.__init__(self)
		self.__BuildWindow()
		
	def __del__(self):
		ui.BoardWithTitleBar.__del__(self)
		
	def __BuildWindow(self):
		
		self.SetSize(self.DEFAULT_X, 33 + 26)
		self.AddFlag("float")
		self.AddFlag("movable")
		self.SetTitleName("Podsumowanie bonusów")
		self.SetCloseEvent(ui.__mem_func__(self.OnClose))
	
		self.bonusBoard = BonusListBoard()
		self.bonusBoard.SetParent(self)
		self.bonusBoard.SetPosition(10, 33 + 26)
		self.bonusBoard.SetSize(242, 192)
		self.bonusBoard.Show()
		
		self.tabs = {
			0: self.__CreateNewTab(0, "Walka"),
			1: self.__CreateNewTab(1, "Obrona"),
			2: self.__CreateNewTab(2, "Przeciwnicy")
		}
	
		self.tabs[0].Down()
		self.tab = 0
		
		self.bonus = {
			0: [  
				item.APPLY_MAX_HP,
				item.APPLY_MAX_SP,
				item.APPLY_CON,
				item.APPLY_INT,
				item.APPLY_STR,
				item.APPLY_DEX,
				item.APPLY_ATT_SPEED,
				item.APPLY_CAST_SPEED,
				item.APPLY_CRITICAL_PCT,
				item.APPLY_PENETRATE_PCT,
				item.APPLY_POISON_PCT,
				item.APPLY_STUN_PCT,
				item.APPLY_SLOW_PCT,
				item.APPLY_ATT_GRADE_BONUS,
				item.APPLY_MAGIC_ATT_GRADE
			],
			1: [ 
				item.APPLY_MOV_SPEED,
				item.APPLY_MANA_BURN_PCT,
				item.APPLY_STEAL_HP,
				item.APPLY_STEAL_SP,
				item.APPLY_BLOCK,
				item.APPLY_DODGE,
				item.APPLY_RESIST_SWORD,
				item.APPLY_RESIST_TWOHAND,
				item.APPLY_RESIST_DAGGER,
				item.APPLY_RESIST_BELL,
				item.APPLY_RESIST_FAN,
				item.APPLY_RESIST_BOW,
				item.APPLY_RESIST_FIRE,
				item.APPLY_RESIST_ELEC,
				item.APPLY_RESIST_MAGIC,
				item.APPLY_RESIST_WIND,
				item.APPLY_DEF_GRADE_BONUS,
				item.APPLY_MAGIC_DEF_GRADE
			],
			2: [ 
				item.APPLY_ATTBONUS_WARRIOR,
				item.APPLY_ATTBONUS_ASSASSIN,
				item.APPLY_ATTBONUS_SURA,
				item.APPLY_ATTBONUS_SHAMAN,
				item.APPLY_ATTBONUS_MONSTER,
				item.APPLY_ATTBONUS_HUMAN,
				item.APPLY_ATTBONUS_ANIMAL,
				item.APPLY_ATTBONUS_ORC,
				item.APPLY_ATTBONUS_MILGYO,
				item.APPLY_ATTBONUS_UNDEAD,
				item.APPLY_ATTBONUS_DEVIL
			]
		}
		
		self.OnTabClick(0)
	
	def __CreateNewTab(self, number, text):
		tab = ui.RadioButton()
		tab.SetParent(self)
		tab.SetUpVisual(self.DEFAULT_TAB_IMAGE)
		tab.SetOverVisual(self.OVER_TAB_IMAGE)
		tab.SetDownVisual(self.DOWN_TAB_IMAGE)
		tab.SetPosition(10 + (82 * number), 33) # + 196
		tab.SetText(text)
		tab.SetEvent(lambda arg = number : self.OnTabClick(arg))
		tab.Show()
		return tab
		
	def OnTabClick(self, number):
		self.tabs[self.tab].SetUp()
		self.tab = number
		
		self.RefreshBonus()
	
	def RefreshBonus(self):
		self.bonusBoard.Clear()
		
		for bonus in self.bonus[self.tab]:
			self.AFFECT_DICT[bonus][1] = 0
		
		for slotIndex in range(12):
			for j in xrange(player.ATTRIBUTE_SLOT_MAX_NUM):
				type, value = player.GetItemAttribute(player.EQUIPMENT_SLOT_START + slotIndex, j)
				
				if 0 == value:
					continue
				
				self.AFFECT_DICT[type][1] += value
		
			itemVnum = player.GetItemIndex(player.EQUIPMENT_SLOT_START + slotIndex)
		
			if 0 >= itemVnum:
				continue
		
			item.SelectItem(itemVnum)
		
			for i in xrange(item.ITEM_APPLY_MAX_NUM):
				(affectType, affectValue) = item.GetAffect(i)
				
				if 0 == affectValue:
					continue
				
				self.AFFECT_DICT[affectType][1] += affectValue
		
		for bonus in self.bonus[self.tab]:
			self.bonusBoard.AppendTextLine(self.AFFECT_DICT[bonus][0], self.AFFECT_DICT[bonus][1])
		
		self.bonusBoard.SetSize(242, (self.bonusBoard.lineHeight + 10))
		self.SetSize(self.DEFAULT_X, 33 + 26 + 10 + (self.bonusBoard.lineHeight + 10))
	
	def OnUpdate(self):
		self.RefreshBonus()
	
	def Open(self):
		if not self.IsShow():
			self.Show()
		else:
			self.Close()
			
	def Close(self):
		if self.IsShow():
			self.Hide()
			
	def OnClose(self):
		self.Close()
		
	def OnPressEscapeKey(self):
		self.Close()
		return TRUE
        

 
 
 
daje limit!!!

50374279859406698435.jpg

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...