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] Pet Panel


Gość Jekan

Rekomendowane odpowiedzi

Opublikowano

Siema!

 

 

Wszystko dodałem dobrze i nie wiem czemu nie chcę działać:

 

Do uiscript:

import uiScriptLocale
SMALL_VALUE_FILE = 'd:/ymir work/ui/public/Parameter_Slot_00.sub'
MIDDLE_VALUE_FILE = 'd:/ymir work/ui/public/Parameter_Slot_01.sub'
LARGE_VALUE_FILE = 'd:/ymir work/ui/public/Parameter_Slot_03.sub'
XLARGE_VALUE_FILE = 'd:/ymir work/ui/public/parameter_slot_05.sub'
ICON_SLOT_FILE = 'd:/ymir work/ui/public/Slot_Base.sub'
FACE_SLOT_FILE = 'd:/ymir work/ui/game/windows/box_face.sub'
ROOT_PATH = 'd:/ymir work/ui/game/windows/'
window = {'name': 'PetPanel',
'x': 5,
'y': 35,
'style': ('movable',
	 'float'),
'width': 263,
'height': 200,
'children': ({'name': 'board',
		 'type': 'board',
		 'x': 0,
		 'y': 0,
		 'width': 263,
		 'height': 200,
		 'title': 'Statystyki',
		 'children': ({'name': 'titlebar',
						 'type': 'titlebar',
						 'style': ('attach'),
						 'x': 7,
						 'y': 7,
						 'width': 249,
						 'color': 'gray',
						 'children': ({'name': 'titlename',
									 'type': 'text',
									 'x': 0,
									 'y': 4,
									 'text': 'Zwierzak',
									 'horizontal_align': 'center',
									 'text_horizontal_align': 'center'})},
					 {'name': 'Bonus_Bar_Difese',
						 'type': 'horizontalbar',
						 'x': 15,
						 'y': 35,
						 'width': 233},
					 {'name': 'Bonus_Bar_Text_Difese',
						 'type': 'text',
						 'x': 18,
						 'y': 37,
						 'text': 'Bonusy'},
					 {'name': 'PoleBonow',
						 'type': 'window',
						 'x': 15,
						 'y': 55,
						 'width': 0,
						 'height': 0,
						 'children': ({'name': 'bonusname1',
									 'type': 'text',
									 'fontsize': 'MEDIUM',
									 'x': 0,
									 'y': 4,
									 'text': 'Nazwa Bonusu 1'},
									 {'name': 'Slot1',
									 'type': 'image',
									 'x': 140,
									 'y': 0,
									 'image': SMALL_VALUE_FILE,
									 'children': ({'name': 'bonuslvl1',
													 'type': 'text',
													 'text': '12',
													 'x': 0,
													 'y': 0,
													 'r': 1.0,
													 'g': 1.0,
													 'b': 1.0,
													 'a': 1.0,
													 'all_align': 'center'})},
									 {'name': 'Slot1',
									 'type': 'image',
									 'x': 181,
									 'y': 0,
									 'image': MIDDLE_VALUE_FILE,
									 'children': ({'name': 'bonusvalue1',
													 'type': 'text',
													 'text': '123456',
													 'x': 0,
													 'y': 0,
													 'r': 1.0,
													 'g': 1.0,
													 'b': 1.0,
													 'a': 1.0,
													 'all_align': 'center'})},
									 {'name': 'bonusname2',
									 'type': 'text',
									 'fontsize': 'MEDIUM',
									 'x': 0,
									 'y': 24,
									 'text': 'Nazwa Bonusu 2'},
									 {'name': 'Slot1',
									 'type': 'image',
									 'x': 140,
									 'y': 20,
									 'image': SMALL_VALUE_FILE,
									 'children': ({'name': 'bonuslvl2',
													 'type': 'text',
													 'text': '12',
													 'x': 0,
													 'y': 0,
													 'r': 1.0,
													 'g': 1.0,
													 'b': 1.0,
													 'a': 1.0,
													 'all_align': 'center'})},
									 {'name': 'Slot1',
									 'type': 'image',
									 'x': 181,
									 'y': 20,
									 'image': MIDDLE_VALUE_FILE,
									 'children': ({'name': 'bonusvalue2',
													 'type': 'text',
													 'text': '123456',
													 'x': 0,
													 'y': 0,
													 'r': 1.0,
													 'g': 1.0,
													 'b': 1.0,
													 'a': 1.0,
													 'all_align': 'center'})},
									 {'name': 'Slot1',
									 'type': 'image',
									 'x': 140,
									 'y': 40,
									 'image': SMALL_VALUE_FILE,
									 'children': ({'name': 'bonuslvl3',
													 'type': 'text',
													 'text': '12',
													 'x': 0,
													 'y': 0,
													 'r': 1.0,
													 'g': 1.0,
													 'b': 1.0,
													 'a': 1.0,
													 'all_align': 'center'})},
									 {'name': 'bonusname3',
									 'type': 'text',
									 'fontsize': 'MEDIUM',
									 'x': 0,
									 'y': 44,
									 'text': 'Nazwa Bonusu 3'},
									 {'name': 'Slot1',
									 'type': 'image',
									 'x': 181,
									 'y': 40,
									 'image': MIDDLE_VALUE_FILE,
									 'children': ({'name': 'bonusvalue3',
													 'type': 'text',
													 'text': '123456',
													 'x': 0,
													 'y': 0,
													 'r': 1.0,
													 'g': 1.0,
													 'b': 1.0,
													 'a': 1.0,
													 'all_align': 'center'})},
									 {'name': 'Bonus_Bar_Difese',
									 'type': 'horizontalbar',
									 'x': 0,
									 'y': 68,
									 'width': 233},
									 {'name': 'Bonus_Bar_Text_Difese',
									 'type': 'text',
									 'x': 3,
									 'y': 70,
									 'text': 'Do\x9cwiadczenie'},
									 {'name': 'exp_pasek_img',
									 'type': 'image',
									 'x': 0,
									 'y': 90,
									 'image': 'd:/ymir work/ui/game/guild/gauge.sub'},
									 {'name': 'exp_pasek',
									 'type': 'ani_image',
									 'x': 4,
									 'y': 90,
									 'delay': 6,
									 'images': ('D:/Ymir Work/UI/Pattern/SPGauge/01.tga',
												 'D:/Ymir Work/UI/Pattern/SPGauge/02.tga',
												 'D:/Ymir Work/UI/Pattern/SPGauge/03.tga',
												 'D:/Ymir Work/UI/Pattern/SPGauge/04.tga',
												 'D:/Ymir Work/UI/Pattern/SPGauge/05.tga',
												 'D:/Ymir Work/UI/Pattern/SPGauge/06.tga',
												 'D:/Ymir Work/UI/Pattern/SPGauge/07.tga')},
									 {'name': 'Slot1',
									 'type': 'image',
									 'x': 190,
									 'y': 88,
									 'image': SMALL_VALUE_FILE,
									 'children': ({'name': 'petlvl',
													 'type': 'text',
													 'text': '10',
													 'x': 0,
													 'y': 0,
													 'r': 1.0,
													 'g': 1.0,
													 'b': 1.0,
													 'a': 1.0,
													 'all_align': 'center'})})})})}

 

game.py na sam dół:

 

def __ShowPetPanel(self, dane):
petpanel = PetPanel()
self.petpanel.LoadData(str(dane))
self.petpanel.Open()
def __UpdatePetPanel(self, dane):
petpanel = PetPanel()
self.petpanel.LoadData(str(dane))
def __UpdatePetExp(self, dane):
petpanel = PetPanel()
self.PetPanel.SetExp(str(dane))
def __ClosePetPanel(self):
petpanel = PetPanel()
self.petpanel.Close()

AFFECT_DICT = {
item.APPLY_MAX_HP: 'Max P\xaf',
item.APPLY_MAX_SP: 'Max PE',
item.APPLY_CON: 'Witalno\x9c\xe6',
item.APPLY_INT: 'Inteligencja',
item.APPLY_STR: 'Si\xb3a',
item.APPLY_DEX: 'Zr\xeaczno\x9c\xe6',
item.APPLY_ATT_SPEED: 'Szybko\x9c\xe6 Ataku',
item.APPLY_MOV_SPEED: 'Szybko\x9c\xe6 Poruszania Si\xea',
item.APPLY_CAST_SPEED: 'Szybko\x9c\xe6 Zakl\xeacia',
item.APPLY_HP_REGEN: 'Regeneracja P\xaf',
item.APPLY_SP_REGEN: 'Regenracja PE',
item.APPLY_POISON_PCT: 'Szansa na Otrucie',
item.APPLY_STUN_PCT: 'Szansa na Omdlenie',
item.APPLY_SLOW_PCT: 'Szansa na Spowolnienie',
item.APPLY_CRITICAL_PCT: 'Szansa na Krytyczne Uderzenie',
item.APPLY_PENETRATE_PCT: 'Szansa na Przeszyw. Uderzenie',
item.APPLY_ATTBONUS_WARRIOR: 'Silny przeciwko Wojownikom',
item.APPLY_ATTBONUS_ASSASSIN: 'Silny przeciwko Ninja',
item.APPLY_ATTBONUS_SURA: 'Silny przeciwko Sura',
item.APPLY_ATTBONUS_SHAMAN: 'Silny przeciwko Szamanom',
item.APPLY_ATTBONUS_MONSTER: 'Silny przeciwko Potworom',
item.APPLY_ATTBONUS_HUMAN: 'Silny przeciwko Ludziom',
item.APPLY_ATTBONUS_ANIMAL: 'Silny przeciwko Zwierz\xeatom',
item.APPLY_ATTBONUS_ORC: 'Silny przeciwko Orkom',
item.APPLY_ATTBONUS_MILGYO: 'Silny przeciwko Mistykom',
item.APPLY_ATTBONUS_UNDEAD: 'Silny przeciwko Nieumar\xb3ym',
item.APPLY_ATTBONUS_DEVIL: 'Silny przeciwko Diab\xb3om',
item.APPLY_STEAL_HP: 'Obra\xbfenia dodane do P\xaf',
item.APPLY_STEAL_SP: 'Obra\xbfenia dodane do PE',
item.APPLY_MANA_BURN_PCT: 'Szansa na kradzie\xbf PE',
item.APPLY_DAMAGE_SP_RECOVER: 'Szansa na odzyskanie PE',
item.APPLY_BLOCK: 'Szansa na blok cios\xf3w',
item.APPLY_DODGE: 'Szansa na unikni\xeacie strza\xb3y',
item.APPLY_RESIST_SWORD: 'Odporno\x9c\xe6 na miecze',
item.APPLY_RESIST_TWOHAND: 'Odpor. na bro\xf1 dwur\xeaczn\xb9',
item.APPLY_RESIST_DAGGER: 'Odporno\x9c\xe6 na sztylety',
item.APPLY_RESIST_BELL: 'Odporno\x9c\xe6 na dzwony',
item.APPLY_RESIST_FAN: 'Odporno\x9c\xe6 na wachlarze',
item.APPLY_RESIST_BOW: 'Odporno\x9c\xe6 na strza\xb3y',
item.APPLY_RESIST_FIRE: 'Odporno\x9c\xe6 na ogie\xf1',
item.APPLY_RESIST_ELEC: 'Odporno\x9c\xe6 na b\xb3yskawice',
item.APPLY_RESIST_MAGIC: 'Odporno\x9c\xe6 na magi\xea',
item.APPLY_RESIST_WIND: 'Odporno\x9c\xe6 na wiatr',
item.APPLY_REFLECT_MELEE: 'Szansa na odbicie ciosu',
item.APPLY_REFLECT_CURSE: 'Szansa na odbicie kl\xb9twy',
item.APPLY_POISON_REDUCE: 'Odpono\x9c\xe6 na trucizny',
item.APPLY_KILL_SP_RECOVER: 'Szansa na odzyskanie PE',
item.APPLY_EXP_DOUBLE_BONUS: 'Szansa na bonus DO\x8c.',
item.APPLY_GOLD_DOUBLE_BONUS: 'Szansa na 2x ilo\x9c\xe6 Yang',
item.APPLY_ITEM_DROP_BONUS: 'Szansa na 2x ilo\x9c\xe6 przedmiot\xf3w',
item.APPLY_POTION_BONUS: 'Szybko\x9c\xe6 potowania',
item.APPLY_KILL_HP_RECOVER: 'Szansa na odzyskanie P\xaf',
item.APPLY_IMMUNE_STUN: 'Niewra\xbfliwo\x9c\xe6 na omdlenie',
item.APPLY_IMMUNE_SLOW: 'Niewra\xbfliwo\x9c\xe6 na spowolnienie',
item.APPLY_IMMUNE_FALL: 'Niewra\xbfliwo\x9c\xe6 na upadek',
item.APPLY_BOW_DISTANCE: 'Zasi\xeag \xb3uku',
item.APPLY_DEF_GRADE: 'Obrona',
item.APPLY_ATT_GRADE: 'Atak',
item.APPLY_MAGIC_ATT_GRADE: 'Atak Magiczny',
item.APPLY_MAGIC_DEF_GRADE: 'Obrona Magiczna',
item.APPLY_MAX_STAMINA: 'Wytrzyma\xb3o\x9c\xe6',
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: 'Obra\xbfenia Umiej\xeatno\x9cci',
item.APPLY_NORMAL_HIT_DAMAGE_BONUS: '\x8crednie Obra\xbfenia',
item.APPLY_SKILL_DEFEND_BONUS: 'Odporno\x9c\xe6 na umiej\xeatno\x9cci',
item.APPLY_NORMAL_HIT_DEFEND_BONUS: 'Odporno\x9c\xe6 na obra\xbfenia',
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: 'Odporno\x9c\xe6 na Wojownik\xf3w',
item.APPLY_RESIST_ASSASSIN: 'Odporno\x9c\xe6 na Ninja',
item.APPLY_RESIST_SURA: 'Odporno\x9c\xe6 na Sura',
item.APPLY_RESIST_SHAMAN: 'Odporno\x9c\xe6 na Szaman\xf3w'}
BONUS_IS_VALUE = (
item.APPLY_MAX_HP,
item.APPLY_MAX_SP,
item.APPLY_CON,
item.APPLY_INT,
item.APPLY_STR,
item.APPLY_DEX,
item.APPLY_MAX_STAMINA,
item.APPLY_DEF_GRADE,
item.APPLY_ATT_GRADE,
item.APPLY_MAGIC_ATT_GRADE,
item.APPLY_MAGIC_DEF_GRADE)
BONUS_IS_BOOL = (
item.APPLY_IMMUNE_STUN,
item.APPLY_IMMUNE_SLOW,
item.APPLY_IMMUNE_FALL)

class PetPanel(ui.ScriptWindow):
def __init__(self):
ui.Scriptwindow.__init__(self)
self.isLoaded = 0
def __del__(self):
ui.Scriptwindow.__del__(self)
self.isLoaded = 0
def IsShow(self):
return self.isLoaded
def __OnCloseButtonclick(self):
self.Close()
return TRUE

def LoadDialog(self):
try:
pyScrLoader = ui.PythonScriptLoader()
pyScrLoader.LoadScriptFile(self, 'UIScript/petpanel.py')
except:
import exception
exception.Abort('Muhahaha.LoadDialog.LoadScript')
try:
self.board = self.GetChild('board')
self.title = self.GetChild('titlename')
self.bonusname1 = self.GetChild('bonusname1')
self.bonusname2 = self.GetChild('bonusname2')
self.bonusname3 = self.GetChild('bonusname3')
self.bonuslvl1 = self.GetChild('bonuslvl1')
self.bonuslvl2 = self.GetChild('bonuslvl2')
self.bonuslvl3 = self.GetChild('bonuslvl3')
self.bonusvalue1 = self.GetChild('bonusvalue1')
self.bonusvalue2 = self.GetChild('bonusvalue2')
self.bonusvalue3 = self.GetChild('bonusvalue3')
self.exp_pasek = self.GetChild('exp_pasek')
self.petlvl = self.GetChild('petlvl')
self.titlebar = self.GetChild('titlebar')
self.titlebar.SetCloseEvent(ui.__mem_func__(self.Close))
except:
import exception
exception.Abort('Muhahaha.LoadDialog.BindObject')

def Destroy(self):
self.ClearDictionary()
self.isLoaded = 0
def SetTitleName(self, text):
self.title.SetText(text)

def Open(self):
self.Show()
self.SetTop()
snd.PlaySound('sound/ui/click.wav')
self.isLoaded = 1
xxa GetBonusValue(self, id, value):
if (id in BONUS_IS_VALUE):
return ('+' + value)
elif (id in BONUS_IS_BOOL):
return '---'
else:
return (('+' + value) + '%')
xxa SetExp(self, data):
split = data.split('|')
if (int(split[2]) != 0):
percentage = (((float(split[1]) / float(split[2])) * 100) * (float(173) / float(95)))
showpercent = ((float(split[1]) / float(split[2])) * 100)
else:
percentage = (100 * (float(173) / float(95)))
showpercent = 100
self.exp_pasek.SetPercentage(int(percentage), 100)
self.petlvl.SetText(('%.2f%s' % (showpercent, '%')))
def LoadData(self, data):
split = data.split('|')
self.SetTitleName(('Zwierzak: %s Lv. %s' % (split[0],
split[12])))
self.bonusname1.SetText(AFFECT_DICT[int(split[1])])
self.bonusname2.SetText(AFFECT_DICT[int(split[2])])
self.bonusname3.SetText(AFFECT_DICT[int(split[3])])
self.bonuslvl1.SetText(split[4])
self.bonuslvl2.SetText(split[5])
self.bonuslvl3.SetText(split[6])
self.bonusvalue1.SetText(self.GetBonusValue(int(split[1]), split[7]))
self.bonusvalue2.SetText(self.GetBonusValue(int(split[2]), split[8]))
self.bonusvalue3.SetText(self.GetBonusValue(int(split[3]), split[9]))
self.SetExp(((((split[12] + '|') + split[10]) + '|') + split[11]))
def Close(self):
self.Hide()
self.ClearDictionary()
self.isLoaded = 0
return
def OnPressEscapeKey(self):
self.ClearDictionary()
self.Hide()
self.isLoaded = 0
return TRUE

Wywołanie:

 

def __ServerCommand_Build(self):
serverCommandList={
"ConsoleEnable" : self.__Console_Enable,
"DayMode" : self.__DayMode_Update,
"PRESERVE_DayMode" : self.__PRESERVE_DayMode_Update,
"CloseRestartWindow" : self.__RestartDialog_Close,
"OpenPrivateShop" : self.__PrivateShop_Open,
"PartyHealReady" : self.PartyHealReady,
"ShowMeSafeboxPassword" : self.AskSafeboxPassword,
"CloseSafebox" : self.CommandCloseSafebox,
# ITEM_MALL
"CloseMall" : self.CommandCloseMall,
"ShowMeMallPassword" : self.AskMallPassword,
"item_mall" : self.__ItemMall_Open,
# END_OF_ITEM_MALL
"RefineSuceeded" : self.RefineSuceededMessage,
"RefineFailed" : self.RefineFailedMessage,
"xmas_snow" : self.__XMasSnow_Enable,
"xmas_boom" : self.__XMasBoom_Enable,
"xmas_song" : self.__XMasSong_Enable,
"xmas_tree" : self.__XMasTree_Enable,
"newyear_boom" : self.__XMasBoom_Enable,
"PartyRequest" : self.__PartyRequestQuestion,
"PartyRequestDenied" : self.__PartyRequestDenied,
"horse_state" : self.__Horse_UpdateState,
"hide_horse_state" : self.__Horse_HideState,
"WarUC"	 : self.__GuildWar_UpdateMemberCount,
"test_server" : self.__EnableTestServerFlag,
"mall" : self.__InGameShop_Show,
# WEDDING
"lover_login" : self.__LoginLover,
"lover_logout" : self.__LogoutLover,
"lover_near" : self.__LoverNear,
"lover_far" : self.__LoverFar,
"lover_divorce" : self.__LoverDivorce,
"PlayMusic" : self.__PlayMusic,
# END_OF_WEDDING
# PRIVATE_SHOP_PRICE_LIST
"MyShopPriceList" : self.__PrivateShop_PriceList,
# END_OF_PRIVATE_SHOP_PRICE_LIST
# NEW_EFFECTS
"buff1"	 : self.__buff1,
"buff2"	 : self.__buff2,
"buff3"	 : self.__buff3,
"buff4"	 : self.__buff4,
# END_NEW_EFFECTS
"energysystem" : self.__energysystem,
"showPetPanel" : self.__ShowPetPanel,
"updatePetPanel" : self.__UpdatePetPanel,
"updatePetExp" : self.__UpdatePetExp,
"closePetPanel" : self.__ClosePetPanel,
}

 

 

I nie wiem czemu nie działa, klient się odpala, ale po komendzie serwerowej cmdchat("showPetPanel") lub cmdchat("showpetpanel") nic się nie włącza.

 

 

W syserr mam taki błąd:

 

1213 15:42:37509 :: Unknown Server Command showPetPanel | showPetPanel

 

Proszę o pomoc :)

Opublikowano

Siema!

 

 

Wszystko dodałem dobrze i nie wiem czemu nie chcę działać:

 

Do uiscript:

import uiScriptLocale
SMALL_VALUE_FILE = 'd:/ymir work/ui/public/Parameter_Slot_00.sub'
MIDDLE_VALUE_FILE = 'd:/ymir work/ui/public/Parameter_Slot_01.sub'
LARGE_VALUE_FILE = 'd:/ymir work/ui/public/Parameter_Slot_03.sub'
XLARGE_VALUE_FILE = 'd:/ymir work/ui/public/parameter_slot_05.sub'
ICON_SLOT_FILE = 'd:/ymir work/ui/public/Slot_Base.sub'
FACE_SLOT_FILE = 'd:/ymir work/ui/game/windows/box_face.sub'
ROOT_PATH = 'd:/ymir work/ui/game/windows/'
window = {'name': 'PetPanel',
'x': 5,
'y': 35,
'style': ('movable',
	 'float'),
'width': 263,
'height': 200,
'children': ({'name': 'board',
		 'type': 'board',
		 'x': 0,
		 'y': 0,
		 'width': 263,
		 'height': 200,
		 'title': 'Statystyki',
		 'children': ({'name': 'titlebar',
						 'type': 'titlebar',
						 'style': ('attach'),
						 'x': 7,
						 'y': 7,
						 'width': 249,
						 'color': 'gray',
						 'children': ({'name': 'titlename',
									 'type': 'text',
									 'x': 0,
									 'y': 4,
									 'text': 'Zwierzak',
									 'horizontal_align': 'center',
									 'text_horizontal_align': 'center'})},
					 {'name': 'Bonus_Bar_Difese',
						 'type': 'horizontalbar',
						 'x': 15,
						 'y': 35,
						 'width': 233},
					 {'name': 'Bonus_Bar_Text_Difese',
						 'type': 'text',
						 'x': 18,
						 'y': 37,
						 'text': 'Bonusy'},
					 {'name': 'PoleBonow',
						 'type': 'window',
						 'x': 15,
						 'y': 55,
						 'width': 0,
						 'height': 0,
						 'children': ({'name': 'bonusname1',
									 'type': 'text',
									 'fontsize': 'MEDIUM',
									 'x': 0,
									 'y': 4,
									 'text': 'Nazwa Bonusu 1'},
									 {'name': 'Slot1',
									 'type': 'image',
									 'x': 140,
									 'y': 0,
									 'image': SMALL_VALUE_FILE,
									 'children': ({'name': 'bonuslvl1',
													 'type': 'text',
													 'text': '12',
													 'x': 0,
													 'y': 0,
													 'r': 1.0,
													 'g': 1.0,
													 'b': 1.0,
													 'a': 1.0,
													 'all_align': 'center'})},
									 {'name': 'Slot1',
									 'type': 'image',
									 'x': 181,
									 'y': 0,
									 'image': MIDDLE_VALUE_FILE,
									 'children': ({'name': 'bonusvalue1',
													 'type': 'text',
													 'text': '123456',
													 'x': 0,
													 'y': 0,
													 'r': 1.0,
													 'g': 1.0,
													 'b': 1.0,
													 'a': 1.0,
													 'all_align': 'center'})},
									 {'name': 'bonusname2',
									 'type': 'text',
									 'fontsize': 'MEDIUM',
									 'x': 0,
									 'y': 24,
									 'text': 'Nazwa Bonusu 2'},
									 {'name': 'Slot1',
									 'type': 'image',
									 'x': 140,
									 'y': 20,
									 'image': SMALL_VALUE_FILE,
									 'children': ({'name': 'bonuslvl2',
													 'type': 'text',
													 'text': '12',
													 'x': 0,
													 'y': 0,
													 'r': 1.0,
													 'g': 1.0,
													 'b': 1.0,
													 'a': 1.0,
													 'all_align': 'center'})},
									 {'name': 'Slot1',
									 'type': 'image',
									 'x': 181,
									 'y': 20,
									 'image': MIDDLE_VALUE_FILE,
									 'children': ({'name': 'bonusvalue2',
													 'type': 'text',
													 'text': '123456',
													 'x': 0,
													 'y': 0,
													 'r': 1.0,
													 'g': 1.0,
													 'b': 1.0,
													 'a': 1.0,
													 'all_align': 'center'})},
									 {'name': 'Slot1',
									 'type': 'image',
									 'x': 140,
									 'y': 40,
									 'image': SMALL_VALUE_FILE,
									 'children': ({'name': 'bonuslvl3',
													 'type': 'text',
													 'text': '12',
													 'x': 0,
													 'y': 0,
													 'r': 1.0,
													 'g': 1.0,
													 'b': 1.0,
													 'a': 1.0,
													 'all_align': 'center'})},
									 {'name': 'bonusname3',
									 'type': 'text',
									 'fontsize': 'MEDIUM',
									 'x': 0,
									 'y': 44,
									 'text': 'Nazwa Bonusu 3'},
									 {'name': 'Slot1',
									 'type': 'image',
									 'x': 181,
									 'y': 40,
									 'image': MIDDLE_VALUE_FILE,
									 'children': ({'name': 'bonusvalue3',
													 'type': 'text',
													 'text': '123456',
													 'x': 0,
													 'y': 0,
													 'r': 1.0,
													 'g': 1.0,
													 'b': 1.0,
													 'a': 1.0,
													 'all_align': 'center'})},
									 {'name': 'Bonus_Bar_Difese',
									 'type': 'horizontalbar',
									 'x': 0,
									 'y': 68,
									 'width': 233},
									 {'name': 'Bonus_Bar_Text_Difese',
									 'type': 'text',
									 'x': 3,
									 'y': 70,
									 'text': 'Do\x9cwiadczenie'},
									 {'name': 'exp_pasek_img',
									 'type': 'image',
									 'x': 0,
									 'y': 90,
									 'image': 'd:/ymir work/ui/game/guild/gauge.sub'},
									 {'name': 'exp_pasek',
									 'type': 'ani_image',
									 'x': 4,
									 'y': 90,
									 'delay': 6,
									 'images': ('D:/Ymir Work/UI/Pattern/SPGauge/01.tga',
												 'D:/Ymir Work/UI/Pattern/SPGauge/02.tga',
												 'D:/Ymir Work/UI/Pattern/SPGauge/03.tga',
												 'D:/Ymir Work/UI/Pattern/SPGauge/04.tga',
												 'D:/Ymir Work/UI/Pattern/SPGauge/05.tga',
												 'D:/Ymir Work/UI/Pattern/SPGauge/06.tga',
												 'D:/Ymir Work/UI/Pattern/SPGauge/07.tga')},
									 {'name': 'Slot1',
									 'type': 'image',
									 'x': 190,
									 'y': 88,
									 'image': SMALL_VALUE_FILE,
									 'children': ({'name': 'petlvl',
													 'type': 'text',
													 'text': '10',
													 'x': 0,
													 'y': 0,
													 'r': 1.0,
													 'g': 1.0,
													 'b': 1.0,
													 'a': 1.0,
													 'all_align': 'center'})})})})}

 

game.py na sam dół:

 

def __ShowPetPanel(self, dane):
petpanel = PetPanel()
self.petpanel.LoadData(str(dane))
self.petpanel.Open()
def __UpdatePetPanel(self, dane):
petpanel = PetPanel()
self.petpanel.LoadData(str(dane))
def __UpdatePetExp(self, dane):
petpanel = PetPanel()
self.PetPanel.SetExp(str(dane))
def __ClosePetPanel(self):
petpanel = PetPanel()
self.petpanel.Close()

AFFECT_DICT = {
item.APPLY_MAX_HP: 'Max P\xaf',
item.APPLY_MAX_SP: 'Max PE',
item.APPLY_CON: 'Witalno\x9c\xe6',
item.APPLY_INT: 'Inteligencja',
item.APPLY_STR: 'Si\xb3a',
item.APPLY_DEX: 'Zr\xeaczno\x9c\xe6',
item.APPLY_ATT_SPEED: 'Szybko\x9c\xe6 Ataku',
item.APPLY_MOV_SPEED: 'Szybko\x9c\xe6 Poruszania Si\xea',
item.APPLY_CAST_SPEED: 'Szybko\x9c\xe6 Zakl\xeacia',
item.APPLY_HP_REGEN: 'Regeneracja P\xaf',
item.APPLY_SP_REGEN: 'Regenracja PE',
item.APPLY_POISON_PCT: 'Szansa na Otrucie',
item.APPLY_STUN_PCT: 'Szansa na Omdlenie',
item.APPLY_SLOW_PCT: 'Szansa na Spowolnienie',
item.APPLY_CRITICAL_PCT: 'Szansa na Krytyczne Uderzenie',
item.APPLY_PENETRATE_PCT: 'Szansa na Przeszyw. Uderzenie',
item.APPLY_ATTBONUS_WARRIOR: 'Silny przeciwko Wojownikom',
item.APPLY_ATTBONUS_ASSASSIN: 'Silny przeciwko Ninja',
item.APPLY_ATTBONUS_SURA: 'Silny przeciwko Sura',
item.APPLY_ATTBONUS_SHAMAN: 'Silny przeciwko Szamanom',
item.APPLY_ATTBONUS_MONSTER: 'Silny przeciwko Potworom',
item.APPLY_ATTBONUS_HUMAN: 'Silny przeciwko Ludziom',
item.APPLY_ATTBONUS_ANIMAL: 'Silny przeciwko Zwierz\xeatom',
item.APPLY_ATTBONUS_ORC: 'Silny przeciwko Orkom',
item.APPLY_ATTBONUS_MILGYO: 'Silny przeciwko Mistykom',
item.APPLY_ATTBONUS_UNDEAD: 'Silny przeciwko Nieumar\xb3ym',
item.APPLY_ATTBONUS_DEVIL: 'Silny przeciwko Diab\xb3om',
item.APPLY_STEAL_HP: 'Obra\xbfenia dodane do P\xaf',
item.APPLY_STEAL_SP: 'Obra\xbfenia dodane do PE',
item.APPLY_MANA_BURN_PCT: 'Szansa na kradzie\xbf PE',
item.APPLY_DAMAGE_SP_RECOVER: 'Szansa na odzyskanie PE',
item.APPLY_BLOCK: 'Szansa na blok cios\xf3w',
item.APPLY_DODGE: 'Szansa na unikni\xeacie strza\xb3y',
item.APPLY_RESIST_SWORD: 'Odporno\x9c\xe6 na miecze',
item.APPLY_RESIST_TWOHAND: 'Odpor. na bro\xf1 dwur\xeaczn\xb9',
item.APPLY_RESIST_DAGGER: 'Odporno\x9c\xe6 na sztylety',
item.APPLY_RESIST_BELL: 'Odporno\x9c\xe6 na dzwony',
item.APPLY_RESIST_FAN: 'Odporno\x9c\xe6 na wachlarze',
item.APPLY_RESIST_BOW: 'Odporno\x9c\xe6 na strza\xb3y',
item.APPLY_RESIST_FIRE: 'Odporno\x9c\xe6 na ogie\xf1',
item.APPLY_RESIST_ELEC: 'Odporno\x9c\xe6 na b\xb3yskawice',
item.APPLY_RESIST_MAGIC: 'Odporno\x9c\xe6 na magi\xea',
item.APPLY_RESIST_WIND: 'Odporno\x9c\xe6 na wiatr',
item.APPLY_REFLECT_MELEE: 'Szansa na odbicie ciosu',
item.APPLY_REFLECT_CURSE: 'Szansa na odbicie kl\xb9twy',
item.APPLY_POISON_REDUCE: 'Odpono\x9c\xe6 na trucizny',
item.APPLY_KILL_SP_RECOVER: 'Szansa na odzyskanie PE',
item.APPLY_EXP_DOUBLE_BONUS: 'Szansa na bonus DO\x8c.',
item.APPLY_GOLD_DOUBLE_BONUS: 'Szansa na 2x ilo\x9c\xe6 Yang',
item.APPLY_ITEM_DROP_BONUS: 'Szansa na 2x ilo\x9c\xe6 przedmiot\xf3w',
item.APPLY_POTION_BONUS: 'Szybko\x9c\xe6 potowania',
item.APPLY_KILL_HP_RECOVER: 'Szansa na odzyskanie P\xaf',
item.APPLY_IMMUNE_STUN: 'Niewra\xbfliwo\x9c\xe6 na omdlenie',
item.APPLY_IMMUNE_SLOW: 'Niewra\xbfliwo\x9c\xe6 na spowolnienie',
item.APPLY_IMMUNE_FALL: 'Niewra\xbfliwo\x9c\xe6 na upadek',
item.APPLY_BOW_DISTANCE: 'Zasi\xeag \xb3uku',
item.APPLY_DEF_GRADE: 'Obrona',
item.APPLY_ATT_GRADE: 'Atak',
item.APPLY_MAGIC_ATT_GRADE: 'Atak Magiczny',
item.APPLY_MAGIC_DEF_GRADE: 'Obrona Magiczna',
item.APPLY_MAX_STAMINA: 'Wytrzyma\xb3o\x9c\xe6',
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: 'Obra\xbfenia Umiej\xeatno\x9cci',
item.APPLY_NORMAL_HIT_DAMAGE_BONUS: '\x8crednie Obra\xbfenia',
item.APPLY_SKILL_DEFEND_BONUS: 'Odporno\x9c\xe6 na umiej\xeatno\x9cci',
item.APPLY_NORMAL_HIT_DEFEND_BONUS: 'Odporno\x9c\xe6 na obra\xbfenia',
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: 'Odporno\x9c\xe6 na Wojownik\xf3w',
item.APPLY_RESIST_ASSASSIN: 'Odporno\x9c\xe6 na Ninja',
item.APPLY_RESIST_SURA: 'Odporno\x9c\xe6 na Sura',
item.APPLY_RESIST_SHAMAN: 'Odporno\x9c\xe6 na Szaman\xf3w'}
BONUS_IS_VALUE = (
item.APPLY_MAX_HP,
item.APPLY_MAX_SP,
item.APPLY_CON,
item.APPLY_INT,
item.APPLY_STR,
item.APPLY_DEX,
item.APPLY_MAX_STAMINA,
item.APPLY_DEF_GRADE,
item.APPLY_ATT_GRADE,
item.APPLY_MAGIC_ATT_GRADE,
item.APPLY_MAGIC_DEF_GRADE)
BONUS_IS_BOOL = (
item.APPLY_IMMUNE_STUN,
item.APPLY_IMMUNE_SLOW,
item.APPLY_IMMUNE_FALL)

class PetPanel(ui.ScriptWindow):
def __init__(self):
ui.Scriptwindow.__init__(self)
self.isLoaded = 0
def __del__(self):
ui.Scriptwindow.__del__(self)
self.isLoaded = 0
def IsShow(self):
return self.isLoaded
def __OnCloseButtonclick(self):
self.Close()
return TRUE

def LoadDialog(self):
try:
pyScrLoader = ui.PythonScriptLoader()
pyScrLoader.LoadScriptFile(self, 'UIScript/petpanel.py')
except:
import exception
exception.Abort('Muhahaha.LoadDialog.LoadScript')
try:
self.board = self.GetChild('board')
self.title = self.GetChild('titlename')
self.bonusname1 = self.GetChild('bonusname1')
self.bonusname2 = self.GetChild('bonusname2')
self.bonusname3 = self.GetChild('bonusname3')
self.bonuslvl1 = self.GetChild('bonuslvl1')
self.bonuslvl2 = self.GetChild('bonuslvl2')
self.bonuslvl3 = self.GetChild('bonuslvl3')
self.bonusvalue1 = self.GetChild('bonusvalue1')
self.bonusvalue2 = self.GetChild('bonusvalue2')
self.bonusvalue3 = self.GetChild('bonusvalue3')
self.exp_pasek = self.GetChild('exp_pasek')
self.petlvl = self.GetChild('petlvl')
self.titlebar = self.GetChild('titlebar')
self.titlebar.SetCloseEvent(ui.__mem_func__(self.Close))
except:
import exception
exception.Abort('Muhahaha.LoadDialog.BindObject')

def Destroy(self):
self.ClearDictionary()
self.isLoaded = 0
def SetTitleName(self, text):
self.title.SetText(text)

def Open(self):
self.Show()
self.SetTop()
snd.PlaySound('sound/ui/click.wav')
self.isLoaded = 1
xxa GetBonusValue(self, id, value):
if (id in BONUS_IS_VALUE):
return ('+' + value)
elif (id in BONUS_IS_BOOL):
return '---'
else:
return (('+' + value) + '%')
xxa SetExp(self, data):
split = data.split('|')
if (int(split[2]) != 0):
percentage = (((float(split[1]) / float(split[2])) * 100) * (float(173) / float(95)))
showpercent = ((float(split[1]) / float(split[2])) * 100)
else:
percentage = (100 * (float(173) / float(95)))
showpercent = 100
self.exp_pasek.SetPercentage(int(percentage), 100)
self.petlvl.SetText(('%.2f%s' % (showpercent, '%')))
def LoadData(self, data):
split = data.split('|')
self.SetTitleName(('Zwierzak: %s Lv. %s' % (split[0],
split[12])))
self.bonusname1.SetText(AFFECT_DICT[int(split[1])])
self.bonusname2.SetText(AFFECT_DICT[int(split[2])])
self.bonusname3.SetText(AFFECT_DICT[int(split[3])])
self.bonuslvl1.SetText(split[4])
self.bonuslvl2.SetText(split[5])
self.bonuslvl3.SetText(split[6])
self.bonusvalue1.SetText(self.GetBonusValue(int(split[1]), split[7]))
self.bonusvalue2.SetText(self.GetBonusValue(int(split[2]), split[8]))
self.bonusvalue3.SetText(self.GetBonusValue(int(split[3]), split[9]))
self.SetExp(((((split[12] + '|') + split[10]) + '|') + split[11]))
def Close(self):
self.Hide()
self.ClearDictionary()
self.isLoaded = 0
return
def OnPressEscapeKey(self):
self.ClearDictionary()
self.Hide()
self.isLoaded = 0
return TRUE

Wywołanie:

 

def __ServerCommand_Build(self):
serverCommandList={
"ConsoleEnable" : self.__Console_Enable,
"DayMode" : self.__DayMode_Update,
"PRESERVE_DayMode" : self.__PRESERVE_DayMode_Update,
"CloseRestartWindow" : self.__RestartDialog_Close,
"OpenPrivateShop" : self.__PrivateShop_Open,
"PartyHealReady" : self.PartyHealReady,
"ShowMeSafeboxPassword" : self.AskSafeboxPassword,
"CloseSafebox" : self.CommandCloseSafebox,
# ITEM_MALL
"CloseMall" : self.CommandCloseMall,
"ShowMeMallPassword" : self.AskMallPassword,
"item_mall" : self.__ItemMall_Open,
# END_OF_ITEM_MALL
"RefineSuceeded" : self.RefineSuceededMessage,
"RefineFailed" : self.RefineFailedMessage,
"xmas_snow" : self.__XMasSnow_Enable,
"xmas_boom" : self.__XMasBoom_Enable,
"xmas_song" : self.__XMasSong_Enable,
"xmas_tree" : self.__XMasTree_Enable,
"newyear_boom" : self.__XMasBoom_Enable,
"PartyRequest" : self.__PartyRequestQuestion,
"PartyRequestDenied" : self.__PartyRequestDenied,
"horse_state" : self.__Horse_UpdateState,
"hide_horse_state" : self.__Horse_HideState,
"WarUC"	 : self.__GuildWar_UpdateMemberCount,
"test_server" : self.__EnableTestServerFlag,
"mall" : self.__InGameShop_Show,
# WEDDING
"lover_login" : self.__LoginLover,
"lover_logout" : self.__LogoutLover,
"lover_near" : self.__LoverNear,
"lover_far" : self.__LoverFar,
"lover_divorce" : self.__LoverDivorce,
"PlayMusic" : self.__PlayMusic,
# END_OF_WEDDING
# PRIVATE_SHOP_PRICE_LIST
"MyShopPriceList" : self.__PrivateShop_PriceList,
# END_OF_PRIVATE_SHOP_PRICE_LIST
# NEW_EFFECTS
"buff1"	 : self.__buff1,
"buff2"	 : self.__buff2,
"buff3"	 : self.__buff3,
"buff4"	 : self.__buff4,
# END_NEW_EFFECTS
"energysystem" : self.__energysystem,
"showPetPanel" : self.__ShowPetPanel,
"updatePetPanel" : self.__UpdatePetPanel,
"updatePetExp" : self.__UpdatePetExp,
"closePetPanel" : self.__ClosePetPanel,
}

 

 

I nie wiem czemu nie działa, klient się odpala, ale po komendzie serwerowej cmdchat("showPetPanel") lub cmdchat("showpetpanel") nic się nie włącza.

 

 

W syserr mam taki błąd:

 

1213 15:42:37509 :: Unknown Server Command showPetPanel | showPetPanel

 

Proszę o pomoc :)

pokaz cale syserr i nie dawaj questa bo ten @up bedzie mial gotowca

Opublikowano

nie ma to jak krasc czyjas prace co nawet nie potrafisz tego zrobic zrob to sam a nie kradniesz tyle ...

^^ Kliknij tutaj w dól ^^



"Narodowiec, nie nazista. Prawdziwy Polak - nacjonalista! Czołem!"


CaM


Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...