Guest User

Untitled

a guest
Jan 18th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 152.79 KB | None | 0 0
  1. import os
  2. import app
  3. import dbg
  4. import grp
  5. import item
  6. import background
  7. import chr
  8. import chrmgr
  9. import player
  10. import snd
  11. import chat
  12. import event
  13. import textTail
  14. import snd
  15. import net
  16. import effect
  17. import wndMgr
  18. import fly
  19. import systemSetting
  20. import quest
  21. import guild
  22. import skill
  23. import messenger
  24. import localemg
  25. import constInfo
  26. import exchange
  27. import ime
  28. import uigkman
  29. import skills_language
  30. import time
  31.  
  32. import uimg
  33. import uiCommon
  34. import uiPhaseCurtain
  35. import uiMapNameShower
  36. import uiAffectShower
  37. import uiPlayerGauge
  38. import uiCharacter
  39. import uiTarget
  40. import handelscenter
  41.  
  42. # PRIVATE_SHOP_PRICE_LIST
  43. import uiPrivateShopBuilder
  44. # END_OF_PRIVATE_SHOP_PRICE_LIST
  45.  
  46. # OFFLINE_SHOP_PRICE_LIST
  47. import uiOfflineShopBuilder
  48. # END_OF_OFFLINE_SHOP_PRICE_LIST
  49. import uiOfflineShop
  50.  
  51. import mouseModule
  52. import consoleModule
  53. import localemg
  54.  
  55. import playerSettingModule
  56. import interfaceModule
  57.  
  58. import musicInfo
  59. import debugInfo
  60. import stringCommander
  61. import uipetsystem
  62. import uibabysystem
  63.  
  64. from _weakref import proxy
  65.  
  66. # TEXTTAIL_LIVINGTIME_CONTROL
  67. #if localemg.IsJAPAN():
  68. #   app.SetTextTailLivingTime(8.0)
  69. # END_OF_TEXTTAIL_LIVINGTIME_CONTROL
  70.  
  71. # SCREENSHOT_CWDSAVE
  72. SCREENSHOT_CWDSAVE = False
  73. SCREENSHOT_DIR = None
  74.  
  75. if localemg.IsEUROPE():
  76.     SCREENSHOT_CWDSAVE = True
  77.  
  78. if localemg.IsCIBN10():
  79.     SCREENSHOT_CWDSAVE = False
  80.     SCREENSHOT_DIR = "YT2W"
  81.  
  82. cameraDistance = 1550.0
  83. cameraPitch = 27.0
  84. cameraRotation = 0.0
  85. cameraHeight = 100.0
  86.  
  87. testAlignment = 0
  88. BPisLoaded = 0
  89.  
  90. class GameWindow(uimg.ScriptWindow):
  91.     def __init__(self, stream):
  92.         uimg.ScriptWindow.__init__(self, "GAME")
  93.         self.SetWindowName("game")
  94.         net.SetPhaseWindow(net.PHASE_WINDOW_GAME, self)
  95.         player.SetGameWindow(self)
  96.  
  97.         self.quickSlotPageIndex = 0
  98.         self.lastPKModeSendedTime = 0
  99.         self.pressNumber = None
  100.  
  101.         self.PointsWindowIsOpen = 0
  102.         self.SkillsWindowIsOpen = 0
  103.         self.SkillInfo = 0
  104.         self.SkillActivatedInfo = 0
  105.  
  106.         self.guildWarQuestionDialog = None
  107.         self.interface = None
  108.         self.targetBoard = None
  109.         self.console = None
  110.         self.mapNameShower = None
  111.         self.affectShower = None
  112.         self.playerGauge = None
  113.  
  114.         self.stream=stream
  115.         self.interface = interfaceModule.Interface()
  116.         self.interface.MakeInterface()
  117.         self.interface.ShowDefaultWindows()
  118.  
  119.         self.curtain = uiPhaseCurtain.PhaseCurtain()
  120.         self.curtain.speed = 0.03
  121.         self.curtain.Hide()
  122.  
  123.         self.targetBoard = uiTarget.TargetBoard()
  124.         self.targetBoard.SetWhisperEvent(uimg.__mem_func__(self.interface.OpenWhisperDialog))
  125.         self.targetBoard.Hide()
  126.  
  127.         self.petmain = self.interface.petmain
  128.         self.petmini = self.interface.petmini
  129.  
  130.         self.babymain = self.interface.babymain
  131.         self.babymini = self.interface.babymini
  132.  
  133.         self.console = consoleModule.ConsoleWindow()
  134.         self.console.BindGameClass(self)
  135.         self.console.SetConsoleSize(wndMgr.GetScreenWidth(), 200)
  136.         self.console.Hide()
  137.  
  138.         self.mapNameShower = uiMapNameShower.MapNameShower()
  139.         self.affectShower = uiAffectShower.AffectShower()
  140.  
  141.         self.playerGauge = uiPlayerGauge.PlayerGauge(self)
  142.         self.playerGauge.Hide()
  143.        
  144.         #wj 2014.1.2. ESC?? ?? ? ????? DropQuestionDialog? ??? ????. ??? ??? itemDropQuestionDialog? ???? ?? ?? ERROR? ???? init?? ??? ??? ??? ??.
  145.         self.itemDropQuestionDialog = None
  146.  
  147.         self.__SetQuickSlotMode()
  148.  
  149.         self.__ServerCommand_Build()
  150.         self.__ProcessPreservedServerCommand()
  151.        
  152.         self.wndHandelscenter = handelscenter.Handelscenter()
  153.         constInfo.HANDELSCENTER_STATE = self.wndHandelscenter
  154.        
  155.         # shop offline
  156.         self.uiNewShopCreate = None
  157.         self.uiNewShop = None
  158.        
  159.         # Teleportacja
  160.         import uiteleport
  161.         self.teleport = uiteleport.TeleportWindow()
  162.        
  163.         # Nagroda boss
  164.         import nagroda_boss
  165.         self.NagrodaBoss = nagroda_boss.NagrodaBoss()
  166.         self.NagrodaBoss.Hide()
  167.        
  168.         # Teleportacja Nowa
  169.         import teleportacja
  170.         self.teleportacja = teleportacja.MapaTeleportacyjna()
  171.         self.teleportacja.Hide()
  172.        
  173.         # Szarfy
  174.         import uiacce
  175.         self.Acce_okno = uiacce.AcceAbsorbWindow()
  176.        
  177.         # Tombola
  178.         import tombola
  179.         self.dlgTombola = tombola.TombolaWindow()
  180.         constInfo.TOMBOLA = self.dlgTombola
  181.        
  182.         # Bonowarka
  183.         import switchbot
  184.         self.wndBonowarka = switchbot.Bot()
  185.        
  186.         # Mega Wierzchowce
  187.         import uimounty
  188.         self.dlgMegaMounty = uimounty.MountyDialog()
  189.        
  190.         # Mega Zwierz?tka
  191.         import uipety
  192.         self.dlgMegaPety = uipety.PetyDialog()
  193.        
  194.         # Marmury Polimorfi
  195.         import sklep_marmur
  196.         self.dlgMarmury = sklep_marmur.marmury()
  197.        
  198.         # Mega Zwierz?tka
  199.         import uibonus
  200.         self.dlgBonus = uibonus.BonusWindow()
  201.        
  202.         # Mega Dzieci
  203.         import uidziecko
  204.         self.dlgDziecko = uidziecko.DzieckoDialog()
  205.        
  206.         # Biolog
  207.         import uibiolog_new
  208.         self.uibiolog_new_open = uibiolog_new.Biolog()
  209.         constInfo.BIOLOG_NEW = self.uibiolog_new_open
  210.        
  211.         # Wiki
  212.         import uiwiki
  213.         import uibiolog
  214.     #   self.dlgWiki = uiwiki.AgeofPlatonWiki()
  215.     #   self.dlgWiki = uibiolog.VenturisBiolog()
  216.        
  217.         # Wiki
  218.         import uibony
  219.         self.dlgBonusy = uibony.OknoBonow()
  220.        
  221.         # Tytuły
  222.         # if app.ENABLE_TITLE_SYSTEM:
  223.             # import title_system
  224.             # self.wndTitleSystem = title_system.Title_System()
  225.  
  226.     def __del__(self):
  227.         player.SetGameWindow(0)
  228.         net.ClearPhaseWindow(net.PHASE_WINDOW_GAME, self)
  229.         uimg.ScriptWindow.__del__(self)
  230.  
  231.     def Open(self):
  232.         app.SetFrameSkip(1)
  233.  
  234.         self.SetSize(wndMgr.GetScreenWidth(), wndMgr.GetScreenHeight())
  235.        
  236.         self.quickSlotPageIndex = 0
  237.         self.PickingCharacterIndex = -1
  238.         self.PickingItemIndex = -1
  239.         self.consoleEnable = False
  240.         self.isShowDebugInfo = False
  241.         self.ShowNameFlag = False
  242.        
  243.         self.enableXMasBoom = False
  244.         self.startTimeXMasBoom = 0.0
  245.         self.indexXMasBoom = 0
  246.        
  247.         self.SkillsSystemManage()
  248.         self.PointsWindow()
  249.         self.SkillsWindow()
  250.  
  251.         global cameraDistance, cameraPitch, cameraRotation, cameraHeight
  252.  
  253.         app.SetCamera(cameraDistance, cameraPitch, cameraRotation, cameraHeight)
  254.  
  255.         constInfo.SET_DEFAULT_CAMERA_MAX_DISTANCE()
  256.         constInfo.SET_DEFAULT_CHRNAME_COLOR()
  257.         constInfo.SET_DEFAULT_FOG_LEVEL()
  258.         constInfo.SET_DEFAULT_CONVERT_EMPIRE_LANGUAGE_ENABLE()
  259.         constInfo.SET_DEFAULT_USE_ITEM_WEAPON_TABLE_ATTACK_BONUS()
  260.         constInfo.SET_DEFAULT_USE_SKILL_EFFECT_ENABLE()
  261.  
  262.         # TWO_HANDED_WEAPON_ATTACK_SPEED_UP
  263.         constInfo.SET_TWO_HANDED_WEAPON_ATT_SPEED_DECREASE_VALUE()
  264.         # END_OF_TWO_HANDED_WEAPON_ATTACK_SPEED_UP
  265.        
  266.         import uiNewShop
  267.         self.uiNewShop = uiNewShop.ShopDialog()
  268.         constInfo.NEW_SHOP = self.uiNewShop
  269.         self.uiNewShop.BindInterface(self.interface)
  270.         self.uiNewShop.Close()
  271.         self.uiNewShopCreate = uiNewShop.ShopDialogCreate()
  272.         constInfo.NEW_SHOP_CREATE = self.uiNewShopCreate
  273.         self.uiNewShopCreate.Hide()
  274.  
  275.         import event
  276.         event.SetLeftTimeString(localemg.UI_LEFT_TIME)
  277.  
  278.         textTail.EnablePKTitle(constInfo.PVPMODE_ENABLE)
  279.  
  280.         if constInfo.PVPMODE_TEST_ENABLE:
  281.             self.testPKMode = uimg.TextLine()
  282.             self.testPKMode.SetFontName(localemg.UI_DEF_FONT)
  283.             self.testPKMode.SetPosition(0, 15)
  284.             self.testPKMode.SetWindowHorizontalAlignCenter()
  285.             self.testPKMode.SetHorizontalAlignCenter()
  286.             self.testPKMode.SetFeather()
  287.             self.testPKMode.SetOutline()
  288.             self.testPKMode.Show()
  289.  
  290.             self.testAlignment = uimg.TextLine()
  291.             self.testAlignment.SetFontName(localemg.UI_DEF_FONT)
  292.             self.testAlignment.SetPosition(0, 35)
  293.             self.testAlignment.SetWindowHorizontalAlignCenter()
  294.             self.testAlignment.SetHorizontalAlignCenter()
  295.             self.testAlignment.SetFeather()
  296.             self.testAlignment.SetOutline()
  297.             self.testAlignment.Show()
  298.  
  299.         self.__BuildKeyDict()
  300.         self.__BuildDebugInfo()
  301.  
  302.         # PRIVATE_SHOP_PRICE_LIST
  303.         uiPrivateShopBuilder.Clear()
  304.         # END_OF_PRIVATE_SHOP_PRICE_LIST
  305.  
  306.         # OFFLINE_SHOP_PRICE_LIST
  307.         uiOfflineShopBuilder.Clear()
  308.         # END_OF_OFFLINE_SHOP_PRICE_LIST
  309.  
  310.         # UNKNOWN_UPDATE
  311.         exchange.InitTrading()
  312.         # END_OF_UNKNOWN_UPDATE
  313.  
  314.         if debugInfo.IsDebugMode():
  315.             self.ToggleDebugInfo()
  316.  
  317.         ## Sound
  318.         snd.SetMusicVolume(systemSetting.GetMusicVolume()*net.GetFieldMusicVolume())
  319.         snd.SetSoundVolume(systemSetting.GetSoundVolume())
  320.  
  321.         netFieldMusicFileName = net.GetFieldMusicFileName()
  322.         if netFieldMusicFileName:
  323.             snd.FadeInMusic("BGM/" + netFieldMusicFileName)
  324.         elif musicInfo.fieldMusic != "":                       
  325.             snd.FadeInMusic("BGM/" + musicInfo.fieldMusic)
  326.  
  327.         self.__SetQuickSlotMode()
  328.         self.__SelectQuickPage(self.quickSlotPageIndex)
  329.  
  330.         self.SetFocus()
  331.         self.Show()
  332.         app.ShowCursor()
  333.  
  334.         net.SendEnterGamePacket()
  335.  
  336.         # START_GAME_ERROR_EXIT
  337.         try:
  338.             self.StartGame()
  339.         except:
  340.             import exception
  341.             exception.Abort("GameWindow.Open")
  342.         # END_OF_START_GAME_ERROR_EXIT
  343.        
  344.         # NPC? ??????? ?? ? ?? ????? ??? ??
  345.         # ex) cubeInformation[20383] = [ {"rewordVNUM": 72723, "rewordCount": 1, "materialInfo": "101,1&102,2", "price": 999 }, ... ]
  346.         self.cubeInformation = {}
  347.         self.currentCubeNPC = 0
  348.         self.acceInformation = {}
  349.         self.currentAcceNPC = 0
  350.        
  351.     def Close(self):
  352.         self.Hide()
  353.        
  354.         self.PointsBG.Hide()
  355.         self.SkillsBG.Hide()
  356.  
  357.         global cameraDistance, cameraPitch, cameraRotation, cameraHeight
  358.         (cameraDistance, cameraPitch, cameraRotation, cameraHeight) = app.GetCamera()
  359.  
  360.         if musicInfo.fieldMusic != "":
  361.             snd.FadeOutMusic("BGM/"+ musicInfo.fieldMusic)
  362.  
  363.         self.onPressKeyDict = None
  364.         self.onClickKeyDict = None
  365.  
  366.         chat.Close()
  367.         snd.StopAllSound()
  368.         grp.InitScreenEffect()
  369.         chr.Destroy()
  370.         textTail.Clear()
  371.         quest.Clear()
  372.         background.Destroy()
  373.         guild.Destroy()
  374.         messenger.Destroy()
  375.         skill.ClearSkillData()
  376.         wndMgr.Unlock()
  377.         mouseModule.mouseController.DeattachObject()
  378.  
  379.         self.uiNewShop.Hide()
  380.         self.uiNewShopCreate.Hide()
  381.         uiPrivateShopBuilder.Clear()
  382.  
  383.         if self.guildWarQuestionDialog:
  384.             self.guildWarQuestionDialog.Close()
  385.  
  386.         self.guildNameBoard = None
  387.         self.partyRequestQuestionDialog = None
  388.         self.partyInviteQuestionDialog = None
  389.         self.guildInviteQuestionDialog = None
  390.         self.guildWarQuestionDialog = None
  391.         self.messengerAddFriendQuestion = None
  392.  
  393.         # UNKNOWN_UPDATE
  394.         self.itemDropQuestionDialog = None
  395.         # END_OF_UNKNOWN_UPDATE
  396.  
  397.         # QUEST_CONFIRM
  398.         self.confirmDialog = None
  399.         # END_OF_QUEST_CONFIRM
  400.  
  401.         self.PrintCoord = None
  402.         self.FrameRate = None
  403.         self.Pitch = None
  404.         self.Splat = None
  405.         self.TextureNum = None
  406.         self.ObjectNum = None
  407.         self.ViewDistance = None
  408.         self.PrintMousePos = None
  409.  
  410.         self.ClearDictionary()
  411.  
  412.         self.petmain.Close()
  413.         self.petmini.Close()
  414.  
  415.         self.babymain.Close()
  416.         self.babymini.Close()
  417.  
  418.         self.playerGauge = None
  419.         self.mapNameShower = None
  420.         self.affectShower = None
  421.  
  422.         if self.console:
  423.             self.console.BindGameClass(0)
  424.             self.console.Close()
  425.             self.console=None
  426.        
  427.         if self.targetBoard:
  428.             self.targetBoard.Destroy()
  429.             self.targetBoard = None
  430.        
  431.         if app.ENABLE_TITLE_SYSTEM:
  432.             self.interface.wndTitle.Close()
  433.    
  434.         if self.interface:
  435.             self.interface.HideAllWindows()
  436.             self.interface.Close()
  437.             self.interface=None
  438.        
  439.         if self.wndHandelscenter.IsShow():
  440.             self.wndHandelscenter.Open()
  441.  
  442.         player.ClearSkillDict()
  443.         player.ResetCameraRotation()
  444.  
  445.         self.KillFocus()
  446.         app.HideCursor()
  447.  
  448.         print "---------------------------------------------------------------------------- CLOSE GAME WINDOW"
  449.  
  450.     def __BuildKeyDict(self):
  451.         onPressKeyDict = {}
  452.  
  453.         ##PressKey ? ??? ?? ?? ?? ???? ???.
  454.        
  455.         ## ?? ??? ???? ????.(?? ???? ? ??? ??)
  456.         ## F12 ? ?? ???? ???? ?? ?? ? ??.
  457.         onPressKeyDict[app.DIK_1]   = lambda : self.__PressNumKey(1)
  458.         onPressKeyDict[app.DIK_2]   = lambda : self.__PressNumKey(2)
  459.         onPressKeyDict[app.DIK_3]   = lambda : self.__PressNumKey(3)
  460.         onPressKeyDict[app.DIK_4]   = lambda : self.__PressNumKey(4)
  461.         onPressKeyDict[app.DIK_5]   = lambda : self.__PressNumKey(5)
  462.         onPressKeyDict[app.DIK_6]   = lambda : self.__PressNumKey(6)
  463.         onPressKeyDict[app.DIK_7]   = lambda : self.__PressNumKey(7)
  464.         onPressKeyDict[app.DIK_8]   = lambda : self.__PressNumKey(8)
  465.         onPressKeyDict[app.DIK_9]   = lambda : self.__PressNumKey(9)
  466.         onPressKeyDict[app.DIK_F1]  = lambda : self.__PressQuickSlot(4)
  467.         onPressKeyDict[app.DIK_F2]  = lambda : self.__PressQuickSlot(5)
  468.         onPressKeyDict[app.DIK_F3]  = lambda : self.__PressQuickSlot(6)
  469.         onPressKeyDict[app.DIK_F4]  = lambda : self.__PressQuickSlot(7)
  470.         #onPressKeyDict[app.DIK_X]  = lambda : self.__BonusPage()
  471.        
  472.     #   onPressKeyDict[app.DIK_F6]  = lambda : self.__Teleport_Open()
  473.         onPressKeyDict[app.DIK_TAB] = lambda : self.__Teleportacja()
  474.     #   onPressKeyDict[app.DIK_F7]  = lambda : self.__OpenAchievementsystemWindow()
  475.         onPressKeyDict[app.DIK_F8]  = lambda : self.__OnClickMagazynButton()
  476.         onPressKeyDict[app.DIK_F9]  = lambda : self.__HandelsOpen()
  477.         onPressKeyDict[app.DIK_F10] = lambda : self.__Tombola()
  478.         onPressKeyDict[app.DIK_F11] = lambda : self.__ClickBon_Switch()
  479.         # onPressKeyDict[app.DIK_P] = lambda : self.OpenPetMainGui()
  480.     #   onPressKeyDict[app.DIK_P]   = lambda : self.__Acce_okno()
  481.         onPressKeyDict[app.DIK_P]   = lambda : self.__MegaPety()
  482.     #   onPressKeyDict[app.DIK_K]   = lambda : self.__Wiki()
  483.         #onPressKeyDict[app.DIK_K]  = lambda : self.__bonusy()
  484.         onPressKeyDict[app.DIK_U] = lambda: self.OpenBabyMainGui()
  485.         if app.ENABLE_TITLE_SYSTEM:
  486.             onPressKeyDict[app.DIK_O]       = lambda : self.OpenTitleSystem()
  487.         onPressKeyDict[app.DIK_F12] = lambda : self.__Bonus()
  488.  
  489.         onPressKeyDict[app.DIK_LALT]        = lambda : self.ShowName()
  490.         onPressKeyDict[app.DIK_LCONTROL]    = lambda : self.ShowMouseImage()
  491.         onPressKeyDict[app.DIK_SYSRQ]       = lambda : self.SaveScreen()
  492.         onPressKeyDict[app.DIK_SPACE]       = lambda : self.StartAttack()
  493.  
  494.         #??? ???
  495.         onPressKeyDict[app.DIK_UP]          = lambda : self.MoveUp()
  496.         onPressKeyDict[app.DIK_DOWN]        = lambda : self.MoveDown()
  497.         onPressKeyDict[app.DIK_LEFT]        = lambda : self.MoveLeft()
  498.         onPressKeyDict[app.DIK_RIGHT]       = lambda : self.MoveRight()
  499.         onPressKeyDict[app.DIK_W]           = lambda : self.MoveUp()
  500.         onPressKeyDict[app.DIK_S]           = lambda : self.MoveDown()
  501.         onPressKeyDict[app.DIK_A]           = lambda : self.MoveLeft()
  502.         onPressKeyDict[app.DIK_D]           = lambda : self.MoveRight()
  503.  
  504.         onPressKeyDict[app.DIK_E]           = lambda: app.RotateCamera(app.CAMERA_TO_POSITIVE)
  505.         onPressKeyDict[app.DIK_R]           = lambda: app.ZoomCamera(app.CAMERA_TO_NEGATIVE)
  506.         #onPressKeyDict[app.DIK_F]          = lambda: app.ZoomCamera(app.CAMERA_TO_POSITIVE)
  507.         onPressKeyDict[app.DIK_T]           = lambda: app.PitchCamera(app.CAMERA_TO_NEGATIVE)
  508.         onPressKeyDict[app.DIK_G]           = self.__PressGKey
  509.         onPressKeyDict[app.DIK_Q]           = self.__PressQKey
  510.  
  511.         onPressKeyDict[app.DIK_NUMPAD9]     = lambda: app.MovieResetCamera()
  512.         onPressKeyDict[app.DIK_NUMPAD4]     = lambda: app.MovieRotateCamera(app.CAMERA_TO_NEGATIVE)
  513.         onPressKeyDict[app.DIK_NUMPAD6]     = lambda: app.MovieRotateCamera(app.CAMERA_TO_POSITIVE)
  514.         onPressKeyDict[app.DIK_PGUP]        = lambda: app.MovieZoomCamera(app.CAMERA_TO_NEGATIVE)
  515.         onPressKeyDict[app.DIK_PGDN]        = lambda: app.MovieZoomCamera(app.CAMERA_TO_POSITIVE)
  516.         onPressKeyDict[app.DIK_NUMPAD8]     = lambda: app.MoviePitchCamera(app.CAMERA_TO_NEGATIVE)
  517.         onPressKeyDict[app.DIK_NUMPAD2]     = lambda: app.MoviePitchCamera(app.CAMERA_TO_POSITIVE)
  518.         onPressKeyDict[app.DIK_GRAVE]       = lambda : self.PickUpItem()
  519.         onPressKeyDict[app.DIK_Z]           = lambda : self.PickUpItem()
  520.         onPressKeyDict[app.DIK_C]           = lambda state = "STATUS": self.interface.ToggleCharacterWindow(state)
  521.         onPressKeyDict[app.DIK_V]           = lambda state = "SKILL": self.interface.ToggleCharacterWindow(state)
  522.         #onPressKeyDict[app.DIK_B]          = lambda state = "EMOTICON": self.interface.ToggleCharacterWindow(state)
  523.         onPressKeyDict[app.DIK_N]           = lambda state = "QUEST": self.interface.ToggleCharacterWindow(state)
  524.         onPressKeyDict[app.DIK_X]           = lambda state = "BONUS": self.interface.ToggleCharacterWindow(state)
  525.         onPressKeyDict[app.DIK_I]           = lambda : self.interface.ToggleInventoryWindow()
  526.         #onPressKeyDict[app.DIK_O]          = lambda : self.interface.ToggleDragonSoulWindowWithNoInfo()
  527.         onPressKeyDict[app.DIK_M]           = lambda : self.interface.PressMKey()
  528.         #onPressKeyDict[app.DIK_H]          = lambda : self.interface.OpenHelpWindow()
  529.         onPressKeyDict[app.DIK_ADD]         = lambda : self.interface.MiniMapScaleUp()
  530.         onPressKeyDict[app.DIK_SUBTRACT]    = lambda : self.interface.MiniMapScaleDown()
  531.         onPressKeyDict[app.DIK_L]           = lambda : self.interface.ToggleChatLogWindow()
  532.         onPressKeyDict[app.DIK_COMMA]       = lambda : self.ShowConsole()       # "`" key
  533.         onPressKeyDict[app.DIK_LSHIFT]      = lambda : self.__SetQuickPageMode()
  534.  
  535.         onPressKeyDict[app.DIK_J]           = lambda : self.__PressJKey()
  536.         onPressKeyDict[app.DIK_H]           = lambda : self.__PressHKey()
  537.         onPressKeyDict[app.DIK_B]           = lambda : self.__PressBKey()
  538.         onPressKeyDict[app.DIK_F]           = lambda : self.__PressFKey()
  539.  
  540.         # CUBE_TEST
  541.         onPressKeyDict[app.DIK_K]           = lambda : self.interface.OpenCubeWindow()
  542.         # CUBE_TEST_END
  543.  
  544.         self.onPressKeyDict = onPressKeyDict
  545.  
  546.         onClickKeyDict = {}
  547.         onClickKeyDict[app.DIK_UP] = lambda : self.StopUp()
  548.         onClickKeyDict[app.DIK_DOWN] = lambda : self.StopDown()
  549.         onClickKeyDict[app.DIK_LEFT] = lambda : self.StopLeft()
  550.         onClickKeyDict[app.DIK_RIGHT] = lambda : self.StopRight()
  551.         onClickKeyDict[app.DIK_SPACE] = lambda : self.EndAttack()
  552.  
  553.         onClickKeyDict[app.DIK_W] = lambda : self.StopUp()
  554.         onClickKeyDict[app.DIK_S] = lambda : self.StopDown()
  555.         onClickKeyDict[app.DIK_A] = lambda : self.StopLeft()
  556.         onClickKeyDict[app.DIK_D] = lambda : self.StopRight()
  557.         onClickKeyDict[app.DIK_Q] = lambda: app.RotateCamera(app.CAMERA_STOP)
  558.         onClickKeyDict[app.DIK_E] = lambda: app.RotateCamera(app.CAMERA_STOP)
  559.         onClickKeyDict[app.DIK_R] = lambda: app.ZoomCamera(app.CAMERA_STOP)
  560.         onClickKeyDict[app.DIK_F] = lambda: app.ZoomCamera(app.CAMERA_STOP)
  561.         onClickKeyDict[app.DIK_T] = lambda: app.PitchCamera(app.CAMERA_STOP)
  562.         onClickKeyDict[app.DIK_G] = lambda: self.__ReleaseGKey()
  563.         onClickKeyDict[app.DIK_NUMPAD4] = lambda: app.MovieRotateCamera(app.CAMERA_STOP)
  564.         onClickKeyDict[app.DIK_NUMPAD6] = lambda: app.MovieRotateCamera(app.CAMERA_STOP)
  565.         onClickKeyDict[app.DIK_PGUP] = lambda: app.MovieZoomCamera(app.CAMERA_STOP)
  566.         onClickKeyDict[app.DIK_PGDN] = lambda: app.MovieZoomCamera(app.CAMERA_STOP)
  567.         onClickKeyDict[app.DIK_NUMPAD8] = lambda: app.MoviePitchCamera(app.CAMERA_STOP)
  568.         onClickKeyDict[app.DIK_NUMPAD2] = lambda: app.MoviePitchCamera(app.CAMERA_STOP)
  569.         onClickKeyDict[app.DIK_LALT] = lambda: self.HideName()
  570.         onClickKeyDict[app.DIK_LCONTROL] = lambda: self.HideMouseImage()
  571.         onClickKeyDict[app.DIK_LSHIFT] = lambda: self.__SetQuickSlotMode()
  572.  
  573.         #if constInfo.PVPMODE_ACCELKEY_ENABLE:
  574.         #   onClickKeyDict[app.DIK_B] = lambda: self.ChangePKMode()
  575.  
  576.         self.onClickKeyDict=onClickKeyDict
  577.  
  578.     def __PressNumKey(self,num):
  579.         if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
  580.            
  581.             if num >= 1 and num <= 9:
  582.                 if(chrmgr.IsPossibleEmoticon(-1)):             
  583.                     chrmgr.SetEmoticon(-1,int(num)-1)
  584.                     net.SendEmoticon(int(num)-1)
  585.         else:
  586.             if num >= 1 and num <= 4:
  587.                 self.pressNumber(num-1)
  588.  
  589.     def __ClickBKey(self):
  590.         if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
  591.             return
  592.         else:
  593.             if constInfo.PVPMODE_ACCELKEY_ENABLE:
  594.                 self.ChangePKMode()
  595.  
  596.  
  597.     def __PressJKey(self):
  598.         if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
  599.             if player.IsMountingHorse():
  600.                 net.SendChatPacket("/unmount")
  601.             else:
  602.                 #net.SendChatPacket("/user_horse_ride")
  603.                 if not uiPrivateShopBuilder.IsBuildingPrivateShop() or not uiOfflineShopBuilder.IsBuildingOfflineShop():
  604.                     for i in xrange(player.INVENTORY_PAGE_SIZE):
  605.                         if player.GetItemIndex(i) in (71114, 71116, 71118, 71120):
  606.                             net.SendItemUsePacket(i)
  607.                             break
  608.     def __PressHKey(self):
  609.         if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
  610.             net.SendChatPacket("/user_horse_ride")
  611.         else:
  612.             self.interface.OpenHelpWindow()
  613.  
  614.     def __PressBKey(self):
  615.         if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
  616.             net.SendChatPacket("/user_horse_back")
  617.         else:
  618.             state = "EMOTICON"
  619.             self.interface.ToggleCharacterWindow(state)
  620.  
  621.     def __PressFKey(self):
  622.         if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
  623.             net.SendChatPacket("/user_horse_feed") 
  624.         else:
  625.             app.ZoomCamera(app.CAMERA_TO_POSITIVE)
  626.  
  627.     def __PressGKey(self):
  628.         if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
  629.             net.SendChatPacket("/ride")
  630.         else:
  631.             if self.ShowNameFlag:
  632.                 self.interface.ToggleGuildWindow()
  633.             else:
  634.                 app.PitchCamera(app.CAMERA_TO_POSITIVE)
  635.  
  636.     def __ReleaseGKey(self):
  637.         app.PitchCamera(app.CAMERA_STOP)
  638.    
  639.     if app.ENABLE_TITLE_SYSTEM:
  640.         def OpenTitleSystem(self):     
  641.             self.interface.wndTitle.OpenWindow()
  642.  
  643.     def __PressQKey(self):
  644.         if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
  645.             if 0==interfaceModule.IsQBHide:
  646.                 interfaceModule.IsQBHide = 1
  647.                 self.interface.HideAllQuestButton()
  648.             else:
  649.                 interfaceModule.IsQBHide = 0
  650.                 self.interface.ShowAllQuestButton()
  651.         else:
  652.             app.RotateCamera(app.CAMERA_TO_NEGATIVE)
  653.  
  654.     def __SetQuickSlotMode(self):
  655.         self.pressNumber=uimg.__mem_func__(self.__PressQuickSlot)
  656.  
  657.     def __SetQuickPageMode(self):
  658.         self.pressNumber=uimg.__mem_func__(self.__SelectQuickPage)
  659.  
  660.     def __PressQuickSlot(self, localSlotIndex):
  661.         if localemg.IsARABIC():
  662.             if 0 <= localSlotIndex and localSlotIndex < 4:
  663.                 player.RequestUseLocalQuickSlot(3-localSlotIndex)
  664.             else:
  665.                 player.RequestUseLocalQuickSlot(11-localSlotIndex)
  666.         else:
  667.             player.RequestUseLocalQuickSlot(localSlotIndex)        
  668.  
  669.     def __SelectQuickPage(self, pageIndex):
  670.         self.quickSlotPageIndex = pageIndex
  671.         player.SetQuickPage(pageIndex)
  672.  
  673.     def ToggleDebugInfo(self):
  674.         self.isShowDebugInfo = not self.isShowDebugInfo
  675.  
  676.         if self.isShowDebugInfo:
  677.             self.PrintCoord.Show()
  678.             self.FrameRate.Show()
  679.             self.Pitch.Show()
  680.             self.Splat.Show()
  681.             self.TextureNum.Show()
  682.             self.ObjectNum.Show()
  683.             self.ViewDistance.Show()
  684.             self.PrintMousePos.Show()
  685.         else:
  686.             self.PrintCoord.Hide()
  687.             self.FrameRate.Hide()
  688.             self.Pitch.Hide()
  689.             self.Splat.Hide()
  690.             self.TextureNum.Hide()
  691.             self.ObjectNum.Hide()
  692.             self.ViewDistance.Hide()
  693.             self.PrintMousePos.Hide()
  694.  
  695.     def __BuildDebugInfo(self):
  696.         ## Character Position Coordinate
  697.         self.PrintCoord = uimg.TextLine()
  698.         self.PrintCoord.SetFontName(localemg.UI_DEF_FONT)
  699.         self.PrintCoord.SetPosition(wndMgr.GetScreenWidth() - 270, 0)
  700.        
  701.         ## Frame Rate
  702.         self.FrameRate = uimg.TextLine()
  703.         self.FrameRate.SetFontName(localemg.UI_DEF_FONT)
  704.         self.FrameRate.SetPosition(wndMgr.GetScreenWidth() - 270, 20)
  705.  
  706.         ## Camera Pitch
  707.         self.Pitch = uimg.TextLine()
  708.         self.Pitch.SetFontName(localemg.UI_DEF_FONT)
  709.         self.Pitch.SetPosition(wndMgr.GetScreenWidth() - 270, 40)
  710.  
  711.         ## Splat
  712.         self.Splat = uimg.TextLine()
  713.         self.Splat.SetFontName(localemg.UI_DEF_FONT)
  714.         self.Splat.SetPosition(wndMgr.GetScreenWidth() - 270, 60)
  715.        
  716.         ##
  717.         self.PrintMousePos = uimg.TextLine()
  718.         self.PrintMousePos.SetFontName(localemg.UI_DEF_FONT)
  719.         self.PrintMousePos.SetPosition(wndMgr.GetScreenWidth() - 270, 80)
  720.  
  721.         # TextureNum
  722.         self.TextureNum = uimg.TextLine()
  723.         self.TextureNum.SetFontName(localemg.UI_DEF_FONT)
  724.         self.TextureNum.SetPosition(wndMgr.GetScreenWidth() - 270, 100)
  725.  
  726.         # ???? ??? ??
  727.         self.ObjectNum = uimg.TextLine()
  728.         self.ObjectNum.SetFontName(localemg.UI_DEF_FONT)
  729.         self.ObjectNum.SetPosition(wndMgr.GetScreenWidth() - 270, 120)
  730.  
  731.         # ????
  732.         self.ViewDistance = uimg.TextLine()
  733.         self.ViewDistance.SetFontName(localemg.UI_DEF_FONT)
  734.         self.ViewDistance.SetPosition(0, 0)
  735.  
  736.     def __NotifyError(self, msg):
  737.         chat.AppendChat(chat.CHAT_TYPE_INFO, msg)
  738.  
  739.     def ChangePKMode(self):
  740.  
  741.         if not app.IsPressed(app.DIK_LCONTROL):
  742.             return
  743.  
  744.         if player.GetStatus(player.LEVEL)<constInfo.PVPMODE_PROTECTED_LEVEL:
  745.             self.__NotifyError(localemg.OPTION_PVPMODE_PROTECT % (constInfo.PVPMODE_PROTECTED_LEVEL))
  746.             return
  747.  
  748.         curTime = app.GetTime()
  749.         if curTime - self.lastPKModeSendedTime < constInfo.PVPMODE_ACCELKEY_DELAY:
  750.             return
  751.  
  752.         self.lastPKModeSendedTime = curTime
  753.  
  754.         curPKMode = player.GetPKMode()
  755.         nextPKMode = curPKMode + 1
  756.         if nextPKMode == player.PK_MODE_PROTECT:
  757.             if 0 == player.GetGuildID():
  758.                 chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.OPTION_PVPMODE_CANNOT_SET_GUILD_MODE)
  759.                 nextPKMode = 0
  760.             else:
  761.                 nextPKMode = player.PK_MODE_GUILD
  762.  
  763.         elif nextPKMode == player.PK_MODE_MAX_NUM:
  764.             nextPKMode = 0
  765.  
  766.         net.SendChatPacket("/PKMode " + str(nextPKMode))
  767.         print "/PKMode " + str(nextPKMode)
  768.  
  769.     def OnChangePKMode(self):
  770.  
  771.         self.interface.OnChangePKMode()
  772.  
  773.         try:
  774.             self.__NotifyError(localemg.OPTION_PVPMODE_MESSAGE_DICT[player.GetPKMode()])
  775.         except KeyError:
  776.             print "UNKNOWN PVPMode[%d]" % (player.GetPKMode())
  777.  
  778.         if constInfo.PVPMODE_TEST_ENABLE:
  779.             curPKMode = player.GetPKMode()
  780.             alignment, grade = chr.testGetPKData()
  781.             self.pkModeNameDict = { 0 : "PEACE", 1 : "REVENGE", 2 : "FREE", 3 : "PROTECT", }
  782.             self.testPKMode.SetText("Current PK Mode : " + self.pkModeNameDict.get(curPKMode, "UNKNOWN"))
  783.             self.testAlignment.SetText("Current Alignment : " + str(alignment) + " (" + localemg.TITLE_NAME_LIST[grade] + ")")
  784.  
  785.     ###############################################################################################
  786.     ###############################################################################################
  787.     ## Game Callback Functions
  788.  
  789.     # Start
  790.     def StartGame(self):
  791.         self.RefreshInventory()
  792.         self.RefreshEquipment()
  793.         self.RefreshCharacter()
  794.         self.RefreshSkill()
  795.  
  796.     # Refresh
  797.     def CheckGameButton(self):
  798.         if self.interface:
  799.             self.interface.CheckGameButton()
  800.  
  801.     def RefreshAlignment(self):
  802.         self.interface.RefreshAlignment()
  803.  
  804.     def RefreshStatus(self):
  805.         self.CheckGameButton()
  806.  
  807.         if self.interface:
  808.             self.interface.RefreshStatus()
  809.  
  810.         if self.playerGauge:
  811.             self.playerGauge.RefreshGauge()
  812.  
  813.     # def RefreshStamina(self):
  814.         # self.interface.RefreshStamina()
  815.  
  816.     def RefreshSkill(self):
  817.         self.CheckGameButton()
  818.         if self.interface:
  819.             self.interface.RefreshSkill()
  820.  
  821.     def RefreshQuest(self):
  822.         self.interface.RefreshQuest()
  823.  
  824.     def RefreshMessenger(self):
  825.         self.interface.RefreshMessenger()
  826.  
  827.     def RefreshGuildInfoPage(self):
  828.         self.interface.RefreshGuildInfoPage()
  829.  
  830.     def RefreshGuildBoardPage(self):
  831.         self.interface.RefreshGuildBoardPage()
  832.  
  833.     def RefreshGuildMemberPage(self):
  834.         self.interface.RefreshGuildMemberPage()
  835.  
  836.     def RefreshGuildMemberPageGradeComboBox(self):
  837.         self.interface.RefreshGuildMemberPageGradeComboBox()
  838.  
  839.     def RefreshGuildSkillPage(self):
  840.         self.interface.RefreshGuildSkillPage()
  841.  
  842.     def RefreshGuildGradePage(self):
  843.         self.interface.RefreshGuildGradePage()
  844.  
  845.     def RefreshMobile(self):
  846.         if self.interface:
  847.             self.interface.RefreshMobile()
  848.  
  849.     def OnMobileAuthority(self):
  850.         self.interface.OnMobileAuthority()
  851.  
  852.     def OnBlockMode(self, mode):
  853.         self.interface.OnBlockMode(mode)
  854.  
  855.     def OpenQuestWindow(self, skin, idx):
  856.         if constInfo.INPUT_IGNORE == 1:
  857.             return
  858.         if constInfo.INPUT == 1:
  859.             return
  860.         if constInfo.CApiSetHide == 1:
  861.             net.SendQuestInputStringPacket(str(constInfo.SendString))
  862.             constInfo.CApiSetHide = 0
  863.             return
  864.         if constInfo.GETINPUTSTUS == 0:
  865.             self.interface.OpenQuestWindow(skin, idx)
  866.         #   return
  867.     #   else:
  868.         self.interface.OpenQuestWindow(skin, idx)
  869.  
  870.     def AskGuildName(self):
  871.  
  872.         guildNameBoard = uiCommon.InputDialog()
  873.         guildNameBoard.SetTitle(localemg.GUILD_NAME)
  874.         guildNameBoard.SetAcceptEvent(uimg.__mem_func__(self.ConfirmGuildName))
  875.         guildNameBoard.SetCancelEvent(uimg.__mem_func__(self.CancelGuildName))
  876.         guildNameBoard.Open()
  877.  
  878.         self.guildNameBoard = guildNameBoard
  879.  
  880.     def ConfirmGuildName(self):
  881.         guildName = self.guildNameBoard.GetText()
  882.         if not guildName:
  883.             return
  884.  
  885.         if net.IsInsultIn(guildName):
  886.             self.PopupMessage(localemg.GUILD_CREATE_ERROR_INSULT_NAME)
  887.             return
  888.  
  889.         net.SendAnswerMakeGuildPacket(guildName)
  890.         self.guildNameBoard.Close()
  891.         self.guildNameBoard = None
  892.         return True
  893.  
  894.     def CancelGuildName(self):
  895.         self.guildNameBoard.Close()
  896.         self.guildNameBoard = None
  897.         return True
  898.  
  899.     ## Refine
  900.     def PopupMessage(self, msg):
  901.         self.stream.popupWindow.Close()
  902.         self.stream.popupWindow.Open(msg, 0, ("|cffe6d0a2"+localemg.UI_OK))
  903.  
  904.     def OpenRefineDialog(self, targetItemPos, nextGradeItemVnum, cost, prob, type=0):
  905.         self.interface.OpenRefineDialog(targetItemPos, nextGradeItemVnum, cost, prob, type)
  906.  
  907.     def AppendMaterialToRefineDialog(self, vnum, count):
  908.         self.interface.AppendMaterialToRefineDialog(vnum, count)
  909.  
  910.     def RunUseSkillEvent(self, slotIndex, coolTime):
  911.         self.interface.OnUseSkill(slotIndex, coolTime)
  912.  
  913.     def ClearAffects(self):
  914.         self.affectShower.ClearAffects()
  915.  
  916.     def SetAffect(self, affect):
  917.         self.affectShower.SetAffect(affect)
  918.  
  919.     def ResetAffect(self, affect):
  920.         self.affectShower.ResetAffect(affect)
  921.  
  922.     # UNKNOWN_UPDATE
  923.     def BINARY_NEW_AddAffect(self, type, pointIdx, value, duration):
  924.         self.affectShower.BINARY_NEW_AddAffect(type, pointIdx, value, duration)
  925.         if chr.NEW_AFFECT_DRAGON_SOUL_DECK1 == type or chr.NEW_AFFECT_DRAGON_SOUL_DECK2 == type:
  926.             self.interface.DragonSoulActivate(type - chr.NEW_AFFECT_DRAGON_SOUL_DECK1)
  927.         elif chr.NEW_AFFECT_DRAGON_SOUL_QUALIFIED == type:
  928.             self.BINARY_DragonSoulGiveQuilification()
  929.  
  930.     def BINARY_NEW_RemoveAffect(self, type, pointIdx):
  931.         self.affectShower.BINARY_NEW_RemoveAffect(type, pointIdx)
  932.         if chr.NEW_AFFECT_DRAGON_SOUL_DECK1 == type or chr.NEW_AFFECT_DRAGON_SOUL_DECK2 == type:
  933.             self.interface.DragonSoulDeactivate()
  934.    
  935.  
  936.  
  937.     # END_OF_UNKNOWN_UPDATE
  938.  
  939.     def ActivateSkillSlot(self, slotIndex):
  940.         if self.interface:
  941.             self.interface.OnActivateSkill(slotIndex)
  942.  
  943.     def DeactivateSkillSlot(self, slotIndex):
  944.         if self.interface:
  945.             self.interface.OnDeactivateSkill(slotIndex)
  946.  
  947.     def RefreshEquipment(self):
  948.         if self.interface:
  949.             self.interface.RefreshInventory()
  950.  
  951.     def RefreshInventory(self):
  952.         if self.interface:
  953.             self.interface.RefreshInventory()
  954.  
  955.     def RefreshCharacter(self):
  956.         if self.interface:
  957.             self.interface.RefreshCharacter()
  958.  
  959.     def OnGameOver(self):
  960.         self.CloseTargetBoard()
  961.         self.OpenRestartDialog()
  962.  
  963.     def OpenRestartDialog(self):
  964.         self.interface.OpenRestartDialog()
  965.  
  966.     def ChangeCurrentSkill(self, skillSlotNumber):
  967.         self.interface.OnChangeCurrentSkill(skillSlotNumber)
  968.  
  969.     ## TargetBoard
  970.     def SetPCTargetBoard(self, vid, name):
  971.         self.targetBoard.Open(vid, name)
  972.        
  973.         if app.IsPressed(app.DIK_LCONTROL):
  974.            
  975.             if not player.IsSameEmpire(vid):
  976.                 return
  977.  
  978.             if player.IsMainCharacterIndex(vid):
  979.                 return     
  980.             elif chr.INSTANCE_TYPE_BUILDING == chr.GetInstanceType(vid):
  981.                 return
  982.  
  983.             self.interface.OpenWhisperDialog(name)
  984.        
  985.         if constInfo.GUILDSTORAGE["open"] == 1:
  986.             return
  987.            
  988.  
  989.     def RefreshTargetBoardByVID(self, vid):
  990.         self.targetBoard.RefreshByVID(vid)
  991.  
  992.     def RefreshTargetBoardByName(self, name):
  993.         self.targetBoard.RefreshByName(name)
  994.        
  995.     def __RefreshTargetBoard(self):
  996.         self.targetBoard.Refresh()
  997.        
  998.     def SetHPTargetBoard(self, vid, hpPercentage):
  999.         if vid != self.targetBoard.GetTargetVID():
  1000.             self.targetBoard.ResetTargetBoard()
  1001.             self.targetBoard.SetEnemyVID(vid)
  1002.  
  1003.         self.targetBoard.SetHP(hpPercentage)
  1004.         self.targetBoard.Show()
  1005.  
  1006.     def CloseTargetBoardIfDifferent(self, vid):
  1007.         if vid != self.targetBoard.GetTargetVID():
  1008.             self.targetBoard.Close()
  1009.  
  1010.     def CloseTargetBoard(self):
  1011.         self.targetBoard.Close()
  1012.  
  1013.     ## View Equipment
  1014.     def OpenEquipmentDialog(self, vid):
  1015.         self.interface.OpenEquipmentDialog(vid)
  1016.  
  1017.     def SetEquipmentDialogItem(self, vid, slotIndex, vnum, count):
  1018.         self.interface.SetEquipmentDialogItem(vid, slotIndex, vnum, count)
  1019.  
  1020.     def SetEquipmentDialogSocket(self, vid, slotIndex, socketIndex, value):
  1021.         self.interface.SetEquipmentDialogSocket(vid, slotIndex, socketIndex, value)
  1022.  
  1023.     def SetEquipmentDialogAttr(self, vid, slotIndex, attrIndex, type, value):
  1024.         self.interface.SetEquipmentDialogAttr(vid, slotIndex, attrIndex, type, value)
  1025.  
  1026.     # SHOW_LOCAL_MAP_NAME
  1027.     def ShowMapName(self, mapName, x, y):
  1028.  
  1029.         if self.mapNameShower:
  1030.             self.mapNameShower.ShowMapName(mapName, x, y)
  1031.  
  1032.         if self.interface:
  1033.             self.interface.SetMapName(mapName)
  1034.     # END_OF_SHOW_LOCAL_MAP_NAME   
  1035.  
  1036.     def BINARY_OpenAtlasWindow(self):
  1037.         self.interface.BINARY_OpenAtlasWindow()
  1038.  
  1039.     ## Chat
  1040.     def OnRecvWhisper(self, mode, name, line):
  1041.         if name in constInfo.ZablokowaniGracze and mode != chat.WHISPER_TYPE_GM:
  1042.             # chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, name, "Zostałeś zablokowany przez tego gracza!")
  1043.             net.SendWhisperPacket(name, "Zostałeś zablokowany przez tego gracza!")
  1044.             return
  1045.         else:
  1046.             if mode == chat.WHISPER_TYPE_GM:
  1047.                 self.interface.RegisterGameMasterName(name)
  1048.             chat.AppendWhisper(mode, name, line)
  1049.             self.interface.RecvWhisper(name)
  1050.        
  1051. #       if line.find("xxbanasinifiniverxx") != -1:
  1052. #           race = net.GetMainActorRace()
  1053. #           if not guild.IsGuildEnable():
  1054. #               net.SendWhisperPacket(name, "xxbuyursinifimkardesimxx"+str(race)+"xx"+"Brak Gildii.xx"+str(player.GetStatus(player.LEVEL))+"xx")
  1055. #           else:
  1056. #               net.SendWhisperPacket(name, "xxbuyursinifimkardesimxx"+str(race)+"xx"+str(player.GetGuildName())+"xx"+str(player.GetStatus(player.LEVEL))+"xx")
  1057. #           return
  1058. #       if line.find("xxbuyursinifimkardesimxx") != -1:
  1059. #           constInfo.ticsinif = int(line.split("xx")[2])
  1060. #           constInfo.ticlonca = line.split("xx")[3]
  1061. #           constInfo.ticlevel = line.split("xx")[4]
  1062. #           return
  1063.  
  1064.         if line.find("zacqooleavenhpspq") != -1:
  1065.             chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.RAKIPKABULETMEDILANXD)
  1066.             return
  1067.         if line.find("zacqooleavenhpsp") != -1:
  1068.             chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.RAKIPKABULETMEDILANXD2)
  1069.             return
  1070.  
  1071.         if line.find('HP kabul etmedi') != -1:
  1072.             chat.AppendChat(chat.CHAT_TYPE_INFO, name + ' adli oyuncu HP ve SP gostermesini redetti. ')
  1073.             constInfo.DUELLODAIZINVARMI = "Kabul etmedi."
  1074.             return
  1075.         elif line.find('HP kabul ettimaq') != -1:
  1076.             chat.AppendChat(chat.CHAT_TYPE_INFO, name + " adli oyuncu duello'da HP ve SP gosterme'yi kabul etti. ")
  1077.             constInfo.DUELLODAIZINVARMI = "Kabul etti."
  1078.             return
  1079.         elif line.find('C kabul etmedi') != -1:
  1080.             chat.AppendChat(chat.CHAT_TYPE_INFO, name + ' adli oyuncu HP ve SP gotermesini redetti. ')
  1081.             constInfo.DUELLODAIZINVARMI = "Kabul etmedi."
  1082.             return
  1083.         elif line.find('C kabul ettimaq') != -1:
  1084.             chat.AppendChat(chat.CHAT_TYPE_INFO, name + " adli oyuncu duello'da HP ve SP gosterme'yi kabul etti. ")
  1085.             constInfo.DUELLODAIZINVARMI = "Kabul etti."
  1086.             return
  1087.         else:
  1088.             pass
  1089.  
  1090.     def OnRecvWhisperSystemMessage(self, mode, name, line):
  1091.         chat.AppendWhisper(chat.WHISPER_TYPE_SYSTEM, name, line)
  1092.         self.interface.RecvWhisper(name)
  1093.  
  1094.     def OnRecvWhisperError(self, mode, name, line):
  1095.         if localemg.WHISPER_ERROR.has_key(mode):
  1096.             chat.AppendWhisper(chat.WHISPER_TYPE_SYSTEM, name, localemg.WHISPER_ERROR[mode](name))
  1097.         else:
  1098.             chat.AppendWhisper(chat.WHISPER_TYPE_SYSTEM, name, "Whisper Unknown Error(mode=%d, name=%s)" % (mode, name))
  1099.         self.interface.RecvWhisper(name)
  1100.  
  1101.     def RecvWhisper(self, name):
  1102.         self.interface.RecvWhisper(name)
  1103.  
  1104.     def OnPickMoney(self, money):
  1105.         chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.GAME_PICK_MONEY % (money))
  1106.  
  1107.     def OnShopError(self, type):
  1108.         try:
  1109.             self.PopupMessage("|cffa08784"+localemg.SHOP_ERROR_DICT[type])
  1110.         except KeyError:
  1111.             self.PopupMessage("|cffa08784"+localemg.SHOP_ERROR_UNKNOWN % (type))
  1112.  
  1113.     def OnSafeBoxError(self):
  1114.         self.PopupMessage(localemg.SAFEBOX_ERROR)
  1115.  
  1116.     def OnFishingSuccess(self, isFish, fishName):
  1117.         chat.AppendChatWithDelay(chat.CHAT_TYPE_INFO, localemg.FISHING_SUCCESS(isFish, fishName), 2000)
  1118.  
  1119.     # ADD_FISHING_MESSAGE
  1120.     def OnFishingNotifyUnknown(self):
  1121.         chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.FISHING_UNKNOWN)
  1122.  
  1123.     def OnFishingWrongPlace(self):
  1124.         chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.FISHING_WRONG_PLACE)
  1125.     # END_OF_ADD_FISHING_MESSAGE
  1126.  
  1127.     def OnFishingNotify(self, isFish, fishName):
  1128.         chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.FISHING_NOTIFY(isFish, fishName))
  1129.  
  1130.     def OnFishingFailure(self):
  1131.         chat.AppendChatWithDelay(chat.CHAT_TYPE_INFO, localemg.FISHING_FAILURE, 2000)
  1132.  
  1133.     def OnCannotPickItem(self):
  1134.         chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.GAME_CANNOT_PICK_ITEM)
  1135.  
  1136.     # MINING
  1137.     def OnCannotMining(self):
  1138.         chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.GAME_CANNOT_MINING)
  1139.     # END_OF_MINING
  1140.  
  1141.     def OnCannotUseSkill(self, vid, type):
  1142.         if localemg.USE_SKILL_ERROR_TAIL_DICT.has_key(type):
  1143.             textTail.RegisterInfoTail(vid, localemg.USE_SKILL_ERROR_TAIL_DICT[type])
  1144.  
  1145.         if localemg.USE_SKILL_ERROR_CHAT_DICT.has_key(type):
  1146.             chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.USE_SKILL_ERROR_CHAT_DICT[type])
  1147.  
  1148.     def OnCannotShotError(self, vid, type):
  1149.         textTail.RegisterInfoTail(vid, localemg.SHOT_ERROR_TAIL_DICT.get(type, localemg.SHOT_ERROR_UNKNOWN % (type)))
  1150.  
  1151.     ## PointReset
  1152.     def StartPointReset(self):
  1153.         self.interface.OpenPointResetDialog()
  1154.  
  1155.     ## Shop
  1156.     def StartShop(self, vid):
  1157.         self.interface.OpenShopDialog(vid)
  1158.         if constInfo.GUILDSTORAGE["open"] == 1:
  1159.             return
  1160.  
  1161.     def EndShop(self):
  1162.         self.interface.CloseShopDialog()
  1163.  
  1164.     def RefreshShop(self):
  1165.         self.interface.RefreshShopDialog()
  1166.  
  1167.     def SetShopSellingPrice(self, Price):
  1168.         pass
  1169.  
  1170.     ## OfflineShop
  1171.     def StartOfflineShop(self, vid):
  1172.         self.interface.OpenOfflineShopDialog(vid)
  1173.        
  1174.     def EndOfflineShop(self):
  1175.         self.interface.CloseOfflineShopDialog()
  1176.        
  1177.     def RefreshOfflineShop(self):
  1178.         self.interface.RefreshOfflineShopDialog()
  1179.  
  1180.     ## Exchange
  1181.     def StartExchange(self):
  1182.         self.interface.StartExchange()
  1183.         if constInfo.GUILDSTORAGE["open"] == 1:
  1184.             net.SendExchangeExitPacket()
  1185.             chat.AppendChat(chat.CHAT_TYPE_INFO, "Nie mo?esz handlowa? kiedy magazyn gildii jest otwarty.")
  1186.             return
  1187.  
  1188.     def EndExchange(self):
  1189.         self.interface.EndExchange()
  1190.  
  1191.     def RefreshExchange(self):
  1192.         self.interface.RefreshExchange()
  1193.  
  1194.     ## Party
  1195.     def RecvPartyInviteQuestion(self, leaderVID, leaderName):
  1196.         partyInviteQuestionDialog = uiCommon.QuestionDialog()
  1197.         partyInviteQuestionDialog.SetText(leaderName + localemg.PARTY_DO_YOU_JOIN)
  1198.         partyInviteQuestionDialog.SetAcceptEvent(lambda arg=True: self.AnswerPartyInvite(arg))
  1199.         partyInviteQuestionDialog.SetCancelEvent(lambda arg=False: self.AnswerPartyInvite(arg))
  1200.         partyInviteQuestionDialog.Open()
  1201.         partyInviteQuestionDialog.partyLeaderVID = leaderVID
  1202.         self.partyInviteQuestionDialog = partyInviteQuestionDialog
  1203.  
  1204.     def AnswerPartyInvite(self, answer):
  1205.  
  1206.         if not self.partyInviteQuestionDialog:
  1207.             return
  1208.  
  1209.         partyLeaderVID = self.partyInviteQuestionDialog.partyLeaderVID
  1210.  
  1211.         distance = player.GetCharacterDistance(partyLeaderVID)
  1212.         if distance < 0.0 or distance > 5000:
  1213.             answer = False
  1214.  
  1215.         net.SendPartyInviteAnswerPacket(partyLeaderVID, answer)
  1216.  
  1217.         self.partyInviteQuestionDialog.Close()
  1218.         self.partyInviteQuestionDialog = None
  1219.  
  1220.     def AddPartyMember(self, pid, name):
  1221.         self.interface.AddPartyMember(pid, name)
  1222.  
  1223.     def UpdatePartyMemberInfo(self, pid):
  1224.         self.interface.UpdatePartyMemberInfo(pid)
  1225.  
  1226.     def RemovePartyMember(self, pid):
  1227.         self.interface.RemovePartyMember(pid)
  1228.         self.__RefreshTargetBoard()
  1229.  
  1230.     def LinkPartyMember(self, pid, vid):
  1231.         self.interface.LinkPartyMember(pid, vid)
  1232.  
  1233.     def UnlinkPartyMember(self, pid):
  1234.         self.interface.UnlinkPartyMember(pid)
  1235.  
  1236.     def UnlinkAllPartyMember(self):
  1237.         self.interface.UnlinkAllPartyMember()
  1238.  
  1239.     def ExitParty(self):
  1240.         self.interface.ExitParty()
  1241.         self.RefreshTargetBoardByVID(self.targetBoard.GetTargetVID())
  1242.  
  1243.     def ChangePartyParameter(self, distributionMode):
  1244.         self.interface.ChangePartyParameter(distributionMode)
  1245.  
  1246.     ## Messenger
  1247.     def OnMessengerAddFriendQuestion(self, name):
  1248.         messengerAddFriendQuestion = uiCommon.QuestionDialog2()
  1249.         messengerAddFriendQuestion.SetText1(localemg.MESSENGER_DO_YOU_ACCEPT_ADD_FRIEND_1 % (name))
  1250.         messengerAddFriendQuestion.SetText2(localemg.MESSENGER_DO_YOU_ACCEPT_ADD_FRIEND_2)
  1251.         messengerAddFriendQuestion.SetAcceptEvent(uimg.__mem_func__(self.OnAcceptAddFriend))
  1252.         messengerAddFriendQuestion.SetCancelEvent(uimg.__mem_func__(self.OnDenyAddFriend))
  1253.         messengerAddFriendQuestion.Open()
  1254.         messengerAddFriendQuestion.name = name
  1255.         self.messengerAddFriendQuestion = messengerAddFriendQuestion
  1256.  
  1257.     def OnAcceptAddFriend(self):
  1258.         name = self.messengerAddFriendQuestion.name
  1259.         net.SendChatPacket("/messenger_auth y " + name)
  1260.         self.OnCloseAddFriendQuestionDialog()
  1261.         return True
  1262.  
  1263.     def OnDenyAddFriend(self):
  1264.         name = self.messengerAddFriendQuestion.name
  1265.         net.SendChatPacket("/messenger_auth n " + name)
  1266.         self.OnCloseAddFriendQuestionDialog()
  1267.         return True
  1268.  
  1269.     def OnCloseAddFriendQuestionDialog(self):
  1270.         self.messengerAddFriendQuestion.Close()
  1271.         self.messengerAddFriendQuestion = None
  1272.         return True
  1273.  
  1274.     ## SafeBox
  1275.     def OpenSafeboxWindow(self, size):
  1276.         self.interface.OpenSafeboxWindow(size)
  1277.  
  1278.     def RefreshSafebox(self):
  1279.         self.interface.RefreshSafebox()
  1280.  
  1281.     def RefreshSafeboxMoney(self):
  1282.         self.interface.RefreshSafeboxMoney()
  1283.  
  1284.     # ITEM_MALL
  1285.     def OpenMallWindow(self, size):
  1286.         self.interface.OpenMallWindow(size)
  1287.  
  1288.     def RefreshMall(self):
  1289.         self.interface.RefreshMall()
  1290.     # END_OF_ITEM_MALL
  1291.  
  1292.     ## Guild
  1293.     def RecvGuildInviteQuestion(self, guildID, guildName):
  1294.         guildInviteQuestionDialog = uiCommon.QuestionDialog()
  1295.         guildInviteQuestionDialog.SetText("|cffa07970"+guildName + "|cffa08784"+localemg.GUILD_DO_YOU_JOIN)
  1296.         guildInviteQuestionDialog.SetAcceptEvent(lambda arg=True: self.AnswerGuildInvite(arg))
  1297.         guildInviteQuestionDialog.SetCancelEvent(lambda arg=False: self.AnswerGuildInvite(arg))
  1298.         guildInviteQuestionDialog.Open()
  1299.         guildInviteQuestionDialog.guildID = guildID
  1300.         self.guildInviteQuestionDialog = guildInviteQuestionDialog
  1301.  
  1302.     def AnswerGuildInvite(self, answer):
  1303.  
  1304.         if not self.guildInviteQuestionDialog:
  1305.             return
  1306.  
  1307.         guildLeaderVID = self.guildInviteQuestionDialog.guildID
  1308.         net.SendGuildInviteAnswerPacket(guildLeaderVID, answer)
  1309.  
  1310.         self.guildInviteQuestionDialog.Close()
  1311.         self.guildInviteQuestionDialog = None
  1312.  
  1313.    
  1314.     def DeleteGuild(self):
  1315.         self.interface.DeleteGuild()
  1316.  
  1317.     ## Clock
  1318.     def ShowClock(self, second):
  1319.         self.interface.ShowClock(second)
  1320.  
  1321.     def HideClock(self):
  1322.         self.interface.HideClock()
  1323.  
  1324.     ## Emotion
  1325.     def BINARY_ActEmotion(self, emotionIndex):
  1326.         if self.interface.wndCharacter:
  1327.             self.interface.wndCharacter.ActEmotion(emotionIndex)
  1328.  
  1329.     ###############################################################################################
  1330.     ###############################################################################################
  1331.     ## Keyboard Functions
  1332.  
  1333.     def CheckFocus(self):
  1334.         if False == self.IsFocus():
  1335.             if True == self.interface.IsOpenChat():
  1336.                 self.interface.ToggleChat()
  1337.  
  1338.             self.SetFocus()
  1339.  
  1340.     def SaveScreen(self):
  1341.         print "save screen"
  1342.  
  1343.         # SCREENSHOT_CWDSAVE
  1344.         if SCREENSHOT_CWDSAVE:
  1345.             if not os.path.exists(os.getcwd()+os.sep+"screenshot"):
  1346.                 os.mkdir(os.getcwd()+os.sep+"screenshot")
  1347.  
  1348.             (succeeded, name) = grp.SaveScreenShotToPath(os.getcwd()+os.sep+"screenshot"+os.sep)
  1349.         elif SCREENSHOT_DIR:
  1350.             (succeeded, name) = grp.SaveScreenShot(SCREENSHOT_DIR)
  1351.         else:
  1352.             (succeeded, name) = grp.SaveScreenShot()
  1353.         # END_OF_SCREENSHOT_CWDSAVE
  1354.  
  1355.         if succeeded:
  1356.             pass
  1357.             """
  1358.             chat.AppendChat(chat.CHAT_TYPE_INFO, name + localemg.SCREENSHOT_SAVE1)
  1359.             chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.SCREENSHOT_SAVE2)
  1360.             """
  1361.         else:
  1362.             chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.SCREENSHOT_SAVE_FAILURE)
  1363.  
  1364.     def ShowConsole(self):
  1365.         if debugInfo.IsDebugMode() or True == self.consoleEnable:
  1366.             player.EndKeyWalkingImmediately()
  1367.             self.console.OpenWindow()
  1368.  
  1369.     def ShowName(self):
  1370.         self.ShowNameFlag = True
  1371.         self.playerGauge.EnableShowAlways()
  1372.         player.SetQuickPage(self.quickSlotPageIndex+1)
  1373.  
  1374.     # ADD_ALWAYS_SHOW_NAME
  1375.     def __IsShowName(self):
  1376.  
  1377.         if systemSetting.IsAlwaysShowName():
  1378.             return True
  1379.  
  1380.         if self.ShowNameFlag:
  1381.             return True
  1382.  
  1383.         return False
  1384.     # END_OF_ADD_ALWAYS_SHOW_NAME
  1385.    
  1386.     def HideName(self):
  1387.         self.ShowNameFlag = False
  1388.         self.playerGauge.DisableShowAlways()
  1389.         player.SetQuickPage(self.quickSlotPageIndex)
  1390.  
  1391.     def ShowMouseImage(self):
  1392.         self.interface.ShowMouseImage()
  1393.  
  1394.     def HideMouseImage(self):
  1395.         self.interface.HideMouseImage()
  1396.  
  1397.     def StartAttack(self):
  1398.         player.SetAttackKeyState(True)
  1399.  
  1400.     def EndAttack(self):
  1401.         player.SetAttackKeyState(False)
  1402.  
  1403.     def MoveUp(self):
  1404.         player.SetSingleDIKKeyState(app.DIK_UP, True)
  1405.  
  1406.     def MoveDown(self):
  1407.         player.SetSingleDIKKeyState(app.DIK_DOWN, True)
  1408.  
  1409.     def MoveLeft(self):
  1410.         player.SetSingleDIKKeyState(app.DIK_LEFT, True)
  1411.  
  1412.     def MoveRight(self):
  1413.         player.SetSingleDIKKeyState(app.DIK_RIGHT, True)
  1414.  
  1415.     def StopUp(self):
  1416.         player.SetSingleDIKKeyState(app.DIK_UP, False)
  1417.  
  1418.     def StopDown(self):
  1419.         player.SetSingleDIKKeyState(app.DIK_DOWN, False)
  1420.  
  1421.     def StopLeft(self):
  1422.         player.SetSingleDIKKeyState(app.DIK_LEFT, False)
  1423.  
  1424.     def StopRight(self):
  1425.         player.SetSingleDIKKeyState(app.DIK_RIGHT, False)
  1426.  
  1427.     def PickUpItem(self):
  1428.         player.PickCloseItem()
  1429.  
  1430.     ###############################################################################################
  1431.     ###############################################################################################
  1432.     ## Event Handler
  1433.  
  1434.     def OnKeyDown(self, key):
  1435.         if self.interface.wndWeb and self.interface.wndWeb.IsShow():
  1436.             return
  1437.  
  1438.         if key == app.DIK_ESC:
  1439.             self.RequestDropItem(False)
  1440.             constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(0)
  1441.             constInfo.SET_ITEM_DROP_QUESTION_DIALOG_STATUS(0)
  1442.  
  1443.         try:
  1444.             self.onPressKeyDict[key]()
  1445.         except KeyError:
  1446.             pass
  1447.         except:
  1448.             raise
  1449.  
  1450.         return True
  1451.  
  1452.     def OnKeyUp(self, key):
  1453.         try:
  1454.             self.onClickKeyDict[key]()
  1455.         except KeyError:
  1456.             pass
  1457.         except:
  1458.             raise
  1459.  
  1460.         return True
  1461.  
  1462.     def OnMouseLeftButtonDown(self):
  1463.         if self.interface.BUILD_OnMouseLeftButtonDown():
  1464.             return
  1465.  
  1466.         if mouseModule.mouseController.isAttached():
  1467.             self.CheckFocus()
  1468.         else:
  1469.             hyperlink = uimg.GetHyperlink()
  1470.             if hyperlink:
  1471.                 return
  1472.             else:
  1473.                 self.CheckFocus()
  1474.                 player.SetMouseState(player.MBT_LEFT, player.MBS_PRESS);
  1475.  
  1476.         return True
  1477.  
  1478.     def OnMouseLeftButtonUp(self):
  1479.  
  1480.         if self.interface.BUILD_OnMouseLeftButtonUp():
  1481.             return
  1482.  
  1483.         if mouseModule.mouseController.isAttached():
  1484.  
  1485.             attachedType = mouseModule.mouseController.GetAttachedType()
  1486.             attachedItemIndex = mouseModule.mouseController.GetAttachedItemIndex()
  1487.             attachedItemSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
  1488.             attachedItemCount = mouseModule.mouseController.GetAttachedItemCount()
  1489.  
  1490.             ## QuickSlot
  1491.             if player.SLOT_TYPE_QUICK_SLOT == attachedType:
  1492.                 player.RequestDeleteGlobalQuickSlot(attachedItemSlotPos)
  1493.  
  1494.             ## Inventory
  1495.             elif player.SLOT_TYPE_INVENTORY == attachedType:
  1496.  
  1497.                 if player.ITEM_MONEY == attachedItemIndex:
  1498.                     self.__PutMoney(attachedType, attachedItemCount, self.PickingCharacterIndex)
  1499.                 else:
  1500.                     self.__PutItem(attachedType, attachedItemIndex, attachedItemSlotPos, attachedItemCount, self.PickingCharacterIndex)
  1501.  
  1502.             ## DragonSoul
  1503.             elif player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == attachedType:
  1504.                 self.__PutItem(attachedType, attachedItemIndex, attachedItemSlotPos, attachedItemCount, self.PickingCharacterIndex)
  1505.            
  1506.             mouseModule.mouseController.DeattachObject()
  1507.  
  1508.         else:
  1509.             hyperlink = uimg.GetHyperlink()
  1510.             if hyperlink:
  1511.                 if app.IsPressed(app.DIK_LALT):
  1512.                     link = chat.GetLinkFromHyperlink(hyperlink)
  1513.                     ime.PasteString(link)
  1514.                 else:
  1515.                     self.interface.MakeHyperlinkTooltip(hyperlink)
  1516.                 return
  1517.             else:
  1518.                 player.SetMouseState(player.MBT_LEFT, player.MBS_CLICK)
  1519.  
  1520.         #player.EndMouseWalking()
  1521.         return True
  1522.  
  1523.     def __PutItem(self, attachedType, attachedItemIndex, attachedItemSlotPos, attachedItemCount, dstChrID):
  1524.         if player.SLOT_TYPE_INVENTORY == attachedType or player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == attachedType:
  1525.             attachedInvenType = player.SlotTypeToInvenType(attachedType)
  1526.             if True == chr.HasInstance(self.PickingCharacterIndex) and player.GetMainCharacterIndex() != dstChrID:
  1527.                 if player.IsEquipmentSlot(attachedItemSlotPos) and player.SLOT_TYPE_DRAGON_SOUL_INVENTORY != attachedType:
  1528.                     self.stream.popupWindow.Close()
  1529.                     self.stream.popupWindow.Open(localemg.EXCHANGE_FAILURE_EQUIP_ITEM, 0, ("|cffe6d0a2"+localemg.UI_OK))
  1530.                 else:
  1531.                     if chr.IsNPC(dstChrID):
  1532.                         net.SendGiveItemPacket(dstChrID, attachedInvenType, attachedItemSlotPos, attachedItemCount)
  1533.                     else:
  1534.                         net.SendExchangeStartPacket(dstChrID)
  1535.                         net.SendExchangeItemAddPacket(attachedInvenType, attachedItemSlotPos, 0)
  1536.             else:
  1537.                 self.__DropItem(attachedType, attachedItemIndex, attachedItemSlotPos, attachedItemCount)
  1538.  
  1539.     def __PutMoney(self, attachedType, attachedMoney, dstChrID):
  1540.         if True == chr.HasInstance(dstChrID) and player.GetMainCharacterIndex() != dstChrID:
  1541.             net.SendExchangeStartPacket(dstChrID)
  1542.             net.SendExchangeElkAddPacket(attachedMoney)
  1543.         else:
  1544.             self.__DropMoney(attachedType, attachedMoney)
  1545.  
  1546.     def __DropMoney(self, attachedType, attachedMoney):
  1547.         # PRIVATESHOP_DISABLE_ITEM_DROP - ???? ?? ?? ?? ??? ?? ??
  1548.         if uiPrivateShopBuilder.IsBuildingPrivateShop():           
  1549.             chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.DROP_ITEM_FAILURE_PRIVATE_SHOP)
  1550.             return
  1551.         # END_OF_PRIVATESHOP_DISABLE_ITEM_DROP
  1552.        
  1553.         # OFFLINESHOP_DISABLE_ITEM_DROP
  1554.         if (uiOfflineShopBuilder.IsBuildingOfflineShop()):
  1555.             chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.DROP_ITEM_FAILURE_OFFLINE_SHOP)
  1556.             return
  1557.         # END_OF_OFFLINESHOP_DISABLE_ITEM_DROP
  1558.        
  1559.         # OFFLINESHOP_DISABLE_ITEM_DROP2
  1560.         if (uiOfflineShop.IsEditingOfflineShop()):
  1561.             chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.DROP_ITEM_FAILURE_OFFLINE_SHOP)
  1562.             return
  1563.         # END_OF_OFFLINESHOP_DISABLE_ITEM_DROP2
  1564.        
  1565.         if attachedMoney>=1000:
  1566.             self.stream.popupWindow.Close()
  1567.             self.stream.popupWindow.Open(localemg.DROP_MONEY_FAILURE_1000_OVER, 0, ("|cffe6d0a2"+localemg.UI_OK))
  1568.             return
  1569.  
  1570.         itemDropQuestionDialog = uiCommon.QuestionDialog()
  1571.         itemDropQuestionDialog.SetText(localemg.DO_YOU_DROP_MONEY % (attachedMoney))
  1572.         itemDropQuestionDialog.SetAcceptEvent(lambda arg=True: self.RequestDropItem(arg))
  1573.         itemDropQuestionDialog.SetCancelEvent(lambda arg=False: self.RequestDropItem(arg))
  1574.         itemDropQuestionDialog.Open()
  1575.         itemDropQuestionDialog.dropType = attachedType
  1576.         itemDropQuestionDialog.dropCount = attachedMoney
  1577.         itemDropQuestionDialog.dropNumber = player.ITEM_MONEY
  1578.         self.itemDropQuestionDialog = itemDropQuestionDialog
  1579.  
  1580.     def __DropItem(self, attachedType, attachedItemIndex, attachedItemSlotPos, attachedItemCount):
  1581.         # PRIVATESHOP_DISABLE_ITEM_DROP - ???? ?? ?? ?? ??? ?? ??
  1582.         if uiPrivateShopBuilder.IsBuildingPrivateShop():           
  1583.             chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.DROP_ITEM_FAILURE_PRIVATE_SHOP)
  1584.             return
  1585.         # END_OF_PRIVATESHOP_DISABLE_ITEM_DROP
  1586.        
  1587.         # OFFLINESHOP_DISABLE_ITEM_DROP
  1588.         if (uiOfflineShopBuilder.IsBuildingOfflineShop()):
  1589.             chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.DROP_ITEM_FAILURE_OFFLINE_SHOP)
  1590.             return
  1591.         # END_OFF_OFFLINESHOP_DISABLE_ITEM_DROP
  1592.        
  1593.         # OFFLINESHOP_DISABLE_ITEM_DROP2
  1594.         if (uiOfflineShop.IsEditingOfflineShop()):
  1595.             chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.DROP_ITEM_FAILURE_OFFLINE_SHOP)
  1596.             return
  1597.         # END_OF_OFFLINESHOP_DISABLE_ITEM_DROP2
  1598.        
  1599.         if player.SLOT_TYPE_INVENTORY == attachedType and player.IsEquipmentSlot(attachedItemSlotPos):
  1600.             self.stream.popupWindow.Close()
  1601.             self.stream.popupWindow.Open(localemg.DROP_ITEM_FAILURE_EQUIP_ITEM, 0, ("|cffe6d0a2"+localemg.UI_OK))
  1602.  
  1603.         else:
  1604.             if player.SLOT_TYPE_INVENTORY == attachedType:
  1605.                 dropItemIndex = player.GetItemIndex(attachedItemSlotPos)
  1606.  
  1607.                 item.SelectItem(dropItemIndex)
  1608.                 dropItemName = item.GetItemName()
  1609.  
  1610.                 ## Question Text
  1611.                 questionText = localemg.HOW_MANY_ITEM_DO_YOU_DROP(dropItemName, attachedItemCount)
  1612.  
  1613.                 ## Dialog
  1614.                 itemDropQuestionDialog = uiCommon.QuestionDialog()
  1615.                 itemDropQuestionDialog.SetText(questionText)
  1616.                 itemDropQuestionDialog.SetAcceptEvent(lambda arg=True: self.RequestDropItem(arg))
  1617.                 itemDropQuestionDialog.SetCancelEvent(lambda arg=False: self.RequestDropItem(arg))
  1618.                 itemDropQuestionDialog.Open()
  1619.                 itemDropQuestionDialog.dropType = attachedType
  1620.                 itemDropQuestionDialog.dropNumber = attachedItemSlotPos
  1621.                 itemDropQuestionDialog.dropCount = attachedItemCount
  1622.                 self.itemDropQuestionDialog = itemDropQuestionDialog
  1623.  
  1624.                 constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(1)
  1625.             elif player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == attachedType:
  1626.                 dropItemIndex = player.GetItemIndex(player.DRAGON_SOUL_INVENTORY, attachedItemSlotPos)
  1627.  
  1628.                 item.SelectItem(dropItemIndex)
  1629.                 dropItemName = item.GetItemName()
  1630.  
  1631.                 ## Question Text
  1632.                 questionText = localemg.HOW_MANY_ITEM_DO_YOU_DROP(dropItemName, attachedItemCount)
  1633.  
  1634.                 ## Dialog
  1635.                 itemDropQuestionDialog = uiCommon.QuestionDialog()
  1636.                 itemDropQuestionDialog.SetText(questionText)
  1637.                 itemDropQuestionDialog.SetAcceptEvent(lambda arg=True: self.RequestDropItem(arg))
  1638.                 itemDropQuestionDialog.SetCancelEvent(lambda arg=False: self.RequestDropItem(arg))
  1639.                 itemDropQuestionDialog.Open()
  1640.                 itemDropQuestionDialog.dropType = attachedType
  1641.                 itemDropQuestionDialog.dropNumber = attachedItemSlotPos
  1642.                 itemDropQuestionDialog.dropCount = attachedItemCount
  1643.                 self.itemDropQuestionDialog = itemDropQuestionDialog
  1644.  
  1645.                 constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(1)
  1646.                
  1647.         if constInfo.GUILDSTORAGE["open"] == 1:
  1648.             chat.AppendChat(chat.CHAT_TYPE_INFO, "Nie mo?esz usun?? przedmiotu kiedy magazyn Gildii jest otwarty.")
  1649.             return
  1650.  
  1651.     def RequestDropItem(self, answer):
  1652.         if not self.itemDropQuestionDialog:
  1653.             return
  1654.  
  1655.         if answer:
  1656.             dropType = self.itemDropQuestionDialog.dropType
  1657.             dropCount = self.itemDropQuestionDialog.dropCount
  1658.             dropNumber = self.itemDropQuestionDialog.dropNumber
  1659.  
  1660.             if player.SLOT_TYPE_INVENTORY == dropType:
  1661.                 if dropNumber == player.ITEM_MONEY:
  1662.                     net.SendGoldDropPacketNew(dropCount)
  1663.                     snd.PlaySound("sound/ui/money.wav")
  1664.                 else:
  1665.                     # PRIVATESHOP_DISABLE_ITEM_DROP
  1666.                     self.__SendDropItemPacket(dropNumber, dropCount)
  1667.                     # END_OF_PRIVATESHOP_DISABLE_ITEM_DROP
  1668.             elif player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == dropType:
  1669.                     # PRIVATESHOP_DISABLE_ITEM_DROP
  1670.                     self.__SendDropItemPacket(dropNumber, dropCount, player.DRAGON_SOUL_INVENTORY)
  1671.                     # END_OF_PRIVATESHOP_DISABLE_ITEM_DROP
  1672.  
  1673.         self.itemDropQuestionDialog.Close()
  1674.         self.itemDropQuestionDialog = None
  1675.  
  1676.         constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(0)
  1677.  
  1678.     # PRIVATESHOP_DISABLE_ITEM_DROP - OFFLINESHOP_DISABLE_ITEM_DROP
  1679.     def __SendDropItemPacket(self, itemVNum, itemCount, itemInvenType = player.INVENTORY):
  1680.         if uiPrivateShopBuilder.IsBuildingPrivateShop():
  1681.             chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.DROP_ITEM_FAILURE_PRIVATE_SHOP)
  1682.             return
  1683.        
  1684.         if (uiOfflineShopBuilder.IsBuildingOfflineShop()):
  1685.             chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.DROP_ITEM_FAILURE_OFFLINE_SHOP)
  1686.             return
  1687.        
  1688.         if (uiOfflineShop.IsEditingOfflineShop()):
  1689.             chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.DROP_ITEM_FAILURE_OFFLINE_SHOP)
  1690.             return
  1691.  
  1692.         net.SendItemDropPacketNew(itemInvenType, itemVNum, itemCount)
  1693.     # END_OF_PRIVATESHOP_DISABLE_ITEM_DROP - END_OF_OFFLINESHOP_DISABLE_ITEM_DROP
  1694.  
  1695.     def OnMouseRightButtonDown(self):
  1696.  
  1697.         self.CheckFocus()
  1698.  
  1699.         if True == mouseModule.mouseController.isAttached():
  1700.             mouseModule.mouseController.DeattachObject()
  1701.  
  1702.         else:
  1703.             player.SetMouseState(player.MBT_RIGHT, player.MBS_PRESS)
  1704.  
  1705.         return True
  1706.  
  1707.     def OnMouseRightButtonUp(self):
  1708.         if True == mouseModule.mouseController.isAttached():
  1709.             return True
  1710.  
  1711.         player.SetMouseState(player.MBT_RIGHT, player.MBS_CLICK)
  1712.         return True
  1713.  
  1714.     def OnMouseMiddleButtonDown(self):
  1715.         player.SetMouseMiddleButtonState(player.MBS_PRESS)
  1716.  
  1717.     def OnMouseMiddleButtonUp(self):
  1718.         player.SetMouseMiddleButtonState(player.MBS_CLICK)
  1719.  
  1720.     def OnUpdate(self):
  1721.         app.UpdateGame()
  1722.         if self.SkillActivatedInfo == 1:
  1723.             if self.SkillEffectUpdate <= time.clock():
  1724.                 self.SkillEffectUpdate = time.clock() + 1.5
  1725.                 self.UpdateSkillEffect()
  1726.                
  1727.             self.UpdateSkillTimeBar()
  1728.        
  1729.         if self.mapNameShower.IsShow():
  1730.             self.mapNameShower.Update()
  1731.        
  1732.         # if app.ENABLE_TITLE_SYSTEM:
  1733.             # self.interface.wndTitle.OnUpdate()
  1734.  
  1735.     #   if self.isShowDebugInfo:
  1736.     #       self.UpdateDebugInfo()
  1737.  
  1738.         if self.enableXMasBoom:
  1739.             self.__XMasBoom_Update()
  1740.  
  1741.         self.interface.BUILD_OnUpdate()
  1742.        
  1743.        
  1744.     def UpdateDebugInfo(self):
  1745.         #
  1746.         # ??? ?? ? FPS ??
  1747.         (x, y, z) = player.GetMainCharacterPosition()
  1748.         nUpdateTime = app.GetUpdateTime()
  1749.         nUpdateFPS = app.GetUpdateFPS()
  1750.         nRenderFPS = app.GetRenderFPS()
  1751.         nFaceCount = app.GetFaceCount()
  1752.         fFaceSpeed = app.GetFaceSpeed()
  1753.         nST=background.GetRenderShadowTime()
  1754.         (fAveRT, nCurRT) =  app.GetRenderTime()
  1755.         (iNum, fFogStart, fFogEnd, fFarCilp) = background.GetDistanceSetInfo()
  1756.         (iPatch, iSplat, fSplatRatio, sTextureNum) = background.GetRenderedSplatNum()
  1757.         if iPatch == 0:
  1758.             iPatch = 1
  1759.  
  1760.         #(dwRenderedThing, dwRenderedCRC) = background.GetRenderedGraphicThingInstanceNum()
  1761.  
  1762.         self.PrintCoord.SetText("Coordinate: %.2f %.2f %.2f ATM: %d" % (x, y, z, app.GetAvailableTextureMemory()/(1024*1024)))
  1763.         xMouse, yMouse = wndMgr.GetMousePosition()
  1764.         self.PrintMousePos.SetText("MousePosition: %d %d" % (xMouse, yMouse))          
  1765.  
  1766.         self.FrameRate.SetText("UFPS: %3d UT: %3d FS %.2f" % (nUpdateFPS, nUpdateTime, fFaceSpeed))
  1767.  
  1768.         if fAveRT>1.0:
  1769.             self.Pitch.SetText("RFPS: %3d RT:%.2f(%3d) FC: %d(%.2f) " % (nRenderFPS, fAveRT, nCurRT, nFaceCount, nFaceCount/fAveRT))
  1770.  
  1771.         self.Splat.SetText("PATCH: %d SPLAT: %d BAD(%.2f)" % (iPatch, iSplat, fSplatRatio))
  1772.         #self.Pitch.SetText("Pitch: %.2f" % (app.GetCameraPitch())
  1773.         #self.TextureNum.SetText("TN : %s" % (sTextureNum))
  1774.         #self.ObjectNum.SetText("GTI : %d, CRC : %d" % (dwRenderedThing, dwRenderedCRC))
  1775.         self.ViewDistance.SetText("Num : %d, FS : %f, FE : %f, FC : %f" % (iNum, fFogStart, fFogEnd, fFarCilp))
  1776.  
  1777.     def OnRender(self):
  1778.         app.RenderGame()
  1779.        
  1780.         if self.console.Console.collision:
  1781.             background.RenderCollision()
  1782.             chr.RenderCollision()
  1783.  
  1784.         (x, y) = app.GetCursorPosition()
  1785.  
  1786.         ########################
  1787.         # Picking
  1788.         ########################
  1789.         textTail.UpdateAllTextTail()
  1790.  
  1791.         if True == wndMgr.IsPickedWindow(self.hWnd):
  1792.  
  1793.             self.PickingCharacterIndex = chr.Pick()
  1794.  
  1795.             if -1 != self.PickingCharacterIndex:
  1796.                 textTail.ShowCharacterTextTail(self.PickingCharacterIndex)
  1797.             if 0 != self.targetBoard.GetTargetVID():
  1798.                 textTail.ShowCharacterTextTail(self.targetBoard.GetTargetVID())
  1799.  
  1800.             # ADD_ALWAYS_SHOW_NAME
  1801.             if not self.__IsShowName():
  1802.                 self.PickingItemIndex = item.Pick()
  1803.                 if -1 != self.PickingItemIndex:
  1804.                     textTail.ShowItemTextTail(self.PickingItemIndex)
  1805.             # END_OF_ADD_ALWAYS_SHOW_NAME
  1806.            
  1807.         ## Show all name in the range
  1808.        
  1809.         # ADD_ALWAYS_SHOW_NAME
  1810.         if self.__IsShowName():
  1811.             textTail.ShowAllTextTail()
  1812.             self.PickingItemIndex = textTail.Pick(x, y)
  1813.         # END_OF_ADD_ALWAYS_SHOW_NAME
  1814.         if systemSetting.IsShowSalesText():
  1815.             uiPrivateShopBuilder.UpdateADBoard()
  1816.  
  1817.         textTail.UpdateShowingTextTail()
  1818.         textTail.ArrangeTextTail()
  1819.         if -1 != self.PickingItemIndex:
  1820.             textTail.SelectItemName(self.PickingItemIndex)
  1821.  
  1822.         grp.PopState()
  1823.         grp.SetInterfaceRenderState()
  1824.  
  1825.         textTail.Render()
  1826.         textTail.HideAllTextTail()
  1827.  
  1828.     def OnPressEscapeKey(self):
  1829.         if app.TARGET == app.GetCursor():
  1830.             app.SetCursor(app.NORMAL)
  1831.  
  1832.         elif True == mouseModule.mouseController.isAttached():
  1833.             mouseModule.mouseController.DeattachObject()
  1834.  
  1835.         else:
  1836.             self.interface.OpenSystemDialog()
  1837.  
  1838.         return True
  1839.  
  1840.     def OnIMEReturn(self):
  1841.         if app.IsPressed(app.DIK_LSHIFT):
  1842.             self.interface.OpenWhisperDialogWithoutTarget()
  1843.         else:
  1844.             self.interface.ToggleChat()
  1845.         return True
  1846.  
  1847.     def OnPressExitKey(self):
  1848.         self.interface.ToggleSystemDialog()
  1849.         return True
  1850.  
  1851.     ## BINARY CALLBACK
  1852.     ######################################################################################
  1853.    
  1854.     # WEDDING
  1855.     def BINARY_LoverInfo(self, name, lovePoint):
  1856.         if self.interface.wndMessenger:
  1857.             self.interface.wndMessenger.OnAddLover(name, lovePoint)
  1858.         if self.affectShower:
  1859.             self.affectShower.SetLoverInfo(name, lovePoint)
  1860.  
  1861.     def BINARY_UpdateLovePoint(self, lovePoint):
  1862.         if self.interface.wndMessenger:
  1863.             self.interface.wndMessenger.OnUpdateLovePoint(lovePoint)
  1864.         if self.affectShower:
  1865.             self.affectShower.OnUpdateLovePoint(lovePoint)
  1866.     # END_OF_WEDDING
  1867.    
  1868.     # QUEST_CONFIRM
  1869.     def BINARY_OnQuestConfirm(self, msg, timeout, pid):
  1870.         confirmDialog = uiCommon.QuestionDialogWithTimeLimit()
  1871.         confirmDialog.Open(msg, timeout)
  1872.         confirmDialog.SetAcceptEvent(lambda answer=True, pid=pid: net.SendQuestConfirmPacket(answer, pid) or self.confirmDialog.Hide())
  1873.         confirmDialog.SetCancelEvent(lambda answer=False, pid=pid: net.SendQuestConfirmPacket(answer, pid) or self.confirmDialog.Hide())
  1874.         self.confirmDialog = confirmDialog
  1875.     # END_OF_QUEST_CONFIRM
  1876.  
  1877.     # GIFT command
  1878.     def Gift_Show(self):
  1879.         self.interface.ShowGift()
  1880.  
  1881.     # CUBE
  1882.     def BINARY_Cube_Open(self, npcVNUM):
  1883.         # dbg.TraceError(npcVNUM)
  1884.         self.currentCubeNPC = npcVNUM
  1885.        
  1886.         self.interface.OpenCubeWindow()
  1887.  
  1888.        
  1889.         if npcVNUM not in self.cubeInformation:
  1890.             net.SendChatPacket("/cube r_info")
  1891.         else:
  1892.             cubeInfoList = self.cubeInformation[npcVNUM]
  1893.            
  1894.             i = 0
  1895.             for cubeInfo in cubeInfoList:                              
  1896.                 self.interface.wndCube.AddCubeResultItem(cubeInfo["vnum"], cubeInfo["count"])
  1897.                
  1898.                 j = 0              
  1899.                 for materialList in cubeInfo["materialList"]:
  1900.                     for materialInfo in materialList:
  1901.                         itemVnum, itemCount = materialInfo
  1902.                         self.interface.wndCube.AddMaterialInfo(i, j, itemVnum, itemCount)
  1903.                     j = j + 1                      
  1904.                        
  1905.                 i = i + 1
  1906.                
  1907.             self.interface.wndCube.Refresh()
  1908.  
  1909.     def BINARY_Cube_Close(self):
  1910.         self.interface.CloseCubeWindow()
  1911.  
  1912.     # ??? ??? ??, ???? ???? VNUM? ?? ?? update
  1913.     def BINARY_Cube_UpdateInfo(self, gold, itemVnum, count):
  1914.         self.interface.UpdateCubeInfo(gold, itemVnum, count)
  1915.        
  1916.     def BINARY_Cube_Succeed(self, itemVnum, count):
  1917.         print "?? ?? ??"
  1918.         self.interface.SucceedCubeWork(itemVnum, count)
  1919.         pass
  1920.  
  1921.     def BINARY_Cube_Failed(self):
  1922.         print "?? ?? ??"
  1923.         self.interface.FailedCubeWork()
  1924.         pass
  1925.  
  1926.     def BINARY_Cube_ResultList(self, npcVNUM, listText):
  1927.         # ResultList Text Format : 72723,1/72725,1/72730.1/50001,5  ????? "/" ??? ??? ???? ?
  1928.         #print listText
  1929.         print npcVNUM
  1930.         print listText
  1931.         dbg.TraceError(npcVNUM)
  1932.         dbg.TraceError(listText)
  1933.        
  1934.         if npcVNUM == 0:
  1935.             npcVNUM = self.currentCubeNPC
  1936.        
  1937.         self.cubeInformation[npcVNUM] = []
  1938.        
  1939.         try:
  1940.             for eachInfoText in listText.split("/"):
  1941.                 eachInfo = eachInfoText.split(",")
  1942.                 itemVnum    = int(eachInfo[0])
  1943.                 itemCount   = int(eachInfo[1])
  1944.  
  1945.                 self.cubeInformation[npcVNUM].append({"vnum": itemVnum, "count": itemCount})
  1946.                 self.interface.wndCube.AddCubeResultItem(itemVnum, itemCount)
  1947.            
  1948.             resultCount = len(self.cubeInformation[npcVNUM])
  1949.             requestCount = 7
  1950.             modCount = resultCount % requestCount
  1951.             splitCount = resultCount / requestCount
  1952.             for i in xrange(splitCount):
  1953.                 #print("/cube r_info %d %d" % (i * requestCount, requestCount))
  1954.                 net.SendChatPacket("/cube r_info %d %d" % (i * requestCount, requestCount))
  1955.                
  1956.             if 0 < modCount:
  1957.                 #print("/cube r_info %d %d" % (splitCount * requestCount, modCount))               
  1958.                 net.SendChatPacket("/cube r_info %d %d" % (splitCount * requestCount, modCount))
  1959.  
  1960.         except RuntimeError, msg:
  1961.             dbg.TraceError(msg)
  1962.             return 0
  1963.            
  1964.         pass
  1965.        
  1966.     def BINARY_Cube_ResultList(self, data):
  1967.         # ResultList Text Format : 72723,1/72725,1/72730.1/50001,5  ????? "/" ??? ??? ???? ?
  1968.         #print listText
  1969.         print data
  1970.         dbg.TraceError(data)
  1971.        
  1972.         comand = data.split("$")
  1973.         npcVNUM = comand[0]
  1974.         listText = comand[1]
  1975.        
  1976.        
  1977.         if npcVNUM == 0:
  1978.             npcVNUM = self.currentCubeNPC
  1979.        
  1980.         self.cubeInformation[npcVNUM] = []
  1981.        
  1982.         try:
  1983.             for eachInfoText in listText.split("/"):
  1984.                 eachInfo = eachInfoText.split(",")
  1985.                 itemVnum    = int(eachInfo[0])
  1986.                 itemCount   = int(eachInfo[1])
  1987.  
  1988.                 self.cubeInformation[npcVNUM].append({"vnum": itemVnum, "count": itemCount})
  1989.                 self.interface.wndCube.AddCubeResultItem(itemVnum, itemCount)
  1990.            
  1991.             resultCount = len(self.cubeInformation[npcVNUM])
  1992.             requestCount = 7
  1993.             modCount = resultCount % requestCount
  1994.             splitCount = resultCount / requestCount
  1995.             for i in xrange(splitCount):
  1996.                 #print("/cube r_info %d %d" % (i * requestCount, requestCount))
  1997.                 net.SendChatPacket("/cube r_info %d %d" % (i * requestCount, requestCount))
  1998.                
  1999.             if 0 < modCount:
  2000.                 #print("/cube r_info %d %d" % (splitCount * requestCount, modCount))               
  2001.                 net.SendChatPacket("/cube r_info %d %d" % (splitCount * requestCount, modCount))
  2002.  
  2003.         except RuntimeError, msg:
  2004.             dbg.TraceError(msg)
  2005.             return 0
  2006.            
  2007.         pass
  2008.        
  2009.     def BINARY_Cube_MaterialInfo(self, startIndex, listCount, listText):
  2010.         # Material Text Format : 125,1|126,2|127,2|123,5&555,5&555,4/120000
  2011.         try:
  2012.             #print listText
  2013.            
  2014.             if 3 > len(listText):
  2015.                 dbg.TraceError("Wrong Cube Material Infomation")
  2016.                 return 0
  2017.  
  2018.            
  2019.            
  2020.             eachResultList = listText.split("@")
  2021.  
  2022.             cubeInfo = self.cubeInformation[self.currentCubeNPC]           
  2023.            
  2024.             itemIndex = 0
  2025.             for eachResultText in eachResultList:
  2026.                 cubeInfo[startIndex + itemIndex]["materialList"] = [[], [], [], [], []]
  2027.                 materialList = cubeInfo[startIndex + itemIndex]["materialList"]
  2028.                
  2029.                 gold = 0
  2030.                 splitResult = eachResultText.split("/")
  2031.                 if 1 < len(splitResult):
  2032.                     gold = int(splitResult[1])
  2033.                    
  2034.                 #print "splitResult : ", splitResult
  2035.                 eachMaterialList = splitResult[0].split("&")
  2036.                
  2037.                 i = 0
  2038.                 for eachMaterialText in eachMaterialList:
  2039.                     complicatedList = eachMaterialText.split("|")
  2040.                    
  2041.                     if 0 < len(complicatedList):
  2042.                         for complicatedText in complicatedList:
  2043.                             (itemVnum, itemCount) = complicatedText.split(",")
  2044.                             itemVnum = int(itemVnum)
  2045.                             itemCount = int(itemCount)
  2046.                             self.interface.wndCube.AddMaterialInfo(itemIndex + startIndex, i, itemVnum, itemCount)
  2047.                            
  2048.                             materialList[i].append((itemVnum, itemCount))
  2049.                            
  2050.                     else:
  2051.                         itemVnum, itemCount = eachMaterialText.split(",")
  2052.                         itemVnum = int(itemVnum)
  2053.                         itemCount = int(itemCount)
  2054.                         self.interface.wndCube.AddMaterialInfo(itemIndex + startIndex, i, itemVnum, itemCount)
  2055.                        
  2056.                         materialList[i].append((itemVnum, itemCount))
  2057.                        
  2058.                     i = i + 1
  2059.                    
  2060.                    
  2061.                    
  2062.                 itemIndex = itemIndex + 1
  2063.                
  2064.             self.interface.wndCube.Refresh()
  2065.            
  2066.                
  2067.         except RuntimeError, msg:
  2068.             dbg.TraceError(msg)
  2069.             return 0
  2070.            
  2071.         pass
  2072.        
  2073.     # def BINARY_Cube_MaterialInfo(self, data):
  2074.         # # Material Text Format : 125,1|126,2|127,2|123,5&555,5&555,4/120000
  2075.         # try:
  2076.        
  2077.             # print data
  2078.             # dbg.TraceError(data)
  2079.            
  2080.             # comand = data.split("$")
  2081.             # npcVNUM = comand[0]
  2082.             # listText = comand[1]
  2083.            
  2084.             # # (self, startIndex, listCount, listText):
  2085.            
  2086.             # if 3 > len(listText):
  2087.                 # dbg.TraceError("Wrong Cube Material Infomation")
  2088.                 # return 0
  2089.  
  2090.            
  2091.            
  2092.             # eachResultList = listText.split("@")
  2093.  
  2094.             # cubeInfo = self.cubeInformation[self.currentCubeNPC]         
  2095.            
  2096.             # itemIndex = 0
  2097.             # for eachResultText in eachResultList:
  2098.                 # cubeInfo[startIndex + itemIndex]["materialList"] = [[], [], [], [], []]
  2099.                 # materialList = cubeInfo[startIndex + itemIndex]["materialList"]
  2100.                
  2101.                 # gold = 0
  2102.                 # splitResult = eachResultText.split("/")
  2103.                 # if 1 < len(splitResult):
  2104.                     # gold = int(splitResult[1])
  2105.                    
  2106.                 # #print "splitResult : ", splitResult
  2107.                 # eachMaterialList = splitResult[0].split("&")
  2108.                
  2109.                 # i = 0
  2110.                 # for eachMaterialText in eachMaterialList:
  2111.                     # complicatedList = eachMaterialText.split("|")
  2112.                    
  2113.                     # if 0 < len(complicatedList):
  2114.                         # for complicatedText in complicatedList:
  2115.                             # (itemVnum, itemCount) = complicatedText.split(",")
  2116.                             # itemVnum = int(itemVnum)
  2117.                             # itemCount = int(itemCount)
  2118.                             # self.interface.wndCube.AddMaterialInfo(itemIndex + startIndex, i, itemVnum, itemCount)
  2119.                            
  2120.                             # materialList[i].append((itemVnum, itemCount))
  2121.                            
  2122.                     # else:
  2123.                         # itemVnum, itemCount = eachMaterialText.split(",")
  2124.                         # itemVnum = int(itemVnum)
  2125.                         # itemCount = int(itemCount)
  2126.                         # self.interface.wndCube.AddMaterialInfo(itemIndex + startIndex, i, itemVnum, itemCount)
  2127.                        
  2128.                         # materialList[i].append((itemVnum, itemCount))
  2129.                        
  2130.                     # i = i + 1
  2131.                    
  2132.                    
  2133.                    
  2134.                 # itemIndex = itemIndex + 1
  2135.                
  2136.             # self.interface.wndCube.Refresh()
  2137.            
  2138.                
  2139.         # except RuntimeError, msg:
  2140.             # dbg.TraceError(msg)
  2141.             # return 0
  2142.            
  2143.         # pass
  2144.    
  2145.     # END_OF_CUBE
  2146.  
  2147.     def BINARY_Acce_Open(self, npcVNUM):
  2148.         self.interface.OpenAcceWindow()
  2149.  
  2150.     def BINARY_Acce_Close(self):
  2151.         self.interface.CloseAcceWindow()
  2152.  
  2153.     def BINARY_Acce_UpdateInfo(self, gold, itemVnum, count, rItemVnum, rCount):
  2154.         self.interface.UpdateAcceInfo(gold, itemVnum, count, rItemVnum, rCount)
  2155.  
  2156.     def BINARY_Acce_Succeed(self, itemVnum, count):
  2157.         print "Making acce has succesfully!"
  2158.         self.interface.SucceedAcceWork(itemVnum, count)
  2159.         pass
  2160.  
  2161.     def BINARY_Acce_Failed(self):
  2162.         print "Making acce has failed!"
  2163.         self.interface.FailedAcceWork()
  2164.         pass
  2165.  
  2166.     def BINARY_Acce_Abs_Open(self, npcVNUM):
  2167.         self.interface.OpenAcceAbsWindow()
  2168.  
  2169.     def BINARY_Acce_Abs_Succeed(self):
  2170.         print "Acce absorption has succesfully!"
  2171.         self.interface.SucceedAcceAbsWork()
  2172.         pass
  2173.    
  2174.     # ???  
  2175.     def BINARY_Highlight_Item(self, inven_type, inven_pos):
  2176.         self.interface.Highligt_Item(inven_type, inven_pos)
  2177.    
  2178.     def BINARY_DragonSoulGiveQuilification(self):
  2179.         self.interface.DragonSoulGiveQuilification()
  2180.        
  2181.     def BINARY_DragonSoulRefineWindow_Open(self):
  2182.         self.interface.OpenDragonSoulRefineWindow()
  2183.  
  2184.     def BINARY_DragonSoulRefineWindow_RefineFail(self, reason, inven_type, inven_pos):
  2185.         self.interface.FailDragonSoulRefine(reason, inven_type, inven_pos)
  2186.  
  2187.     def BINARY_DragonSoulRefineWindow_RefineSucceed(self, inven_type, inven_pos):
  2188.         self.interface.SucceedDragonSoulRefine(inven_type, inven_pos)
  2189.    
  2190.     # END of DRAGON SOUL REFINE WINDOW
  2191.    
  2192.     def BINARY_SetBigMessage(self, message):
  2193.         self.interface.bigBoard.SetTip(message)
  2194.  
  2195.     def BINARY_SetTipMessage(self, message):
  2196.         self.interface.tipBoard.SetTip(message)    
  2197.  
  2198.     def BINARY_AppendNotifyMessage(self, type):
  2199.         if not type in localemg.NOTIFY_MESSAGE:
  2200.             return
  2201.         chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.NOTIFY_MESSAGE[type])
  2202.  
  2203.     def BINARY_Guild_EnterGuildArea(self, areaID):
  2204.         self.interface.BULID_EnterGuildArea(areaID)
  2205.  
  2206.     def BINARY_Guild_ExitGuildArea(self, areaID):
  2207.         self.interface.BULID_ExitGuildArea(areaID)
  2208.  
  2209.     def BINARY_GuildWar_OnSendDeclare(self, guildID):
  2210.         pass
  2211.  
  2212.     def BINARY_GuildWar_OnRecvDeclare(self, guildID, warType):
  2213.         mainCharacterName = player.GetMainCharacterName()
  2214.         masterName = guild.GetGuildMasterName()
  2215.         if mainCharacterName == masterName:
  2216.             self.__GuildWar_OpenAskDialog(guildID, warType)
  2217.  
  2218.     def BINARY_GuildWar_OnRecvPoint(self, gainGuildID, opponentGuildID, point):
  2219.         self.interface.OnRecvGuildWarPoint(gainGuildID, opponentGuildID, point)
  2220.  
  2221.     def BINARY_GuildWar_OnStart(self, guildSelf, guildOpp):
  2222.         self.interface.OnStartGuildWar(guildSelf, guildOpp)
  2223.  
  2224.     def BINARY_GuildWar_OnEnd(self, guildSelf, guildOpp):
  2225.         self.interface.OnEndGuildWar(guildSelf, guildOpp)
  2226.  
  2227.     def BINARY_BettingGuildWar_SetObserverMode(self, isEnable):
  2228.         self.interface.BINARY_SetObserverMode(isEnable)
  2229.  
  2230.     def BINARY_BettingGuildWar_UpdateObserverCount(self, observerCount):
  2231.         self.interface.wndMiniMap.UpdateObserverCount(observerCount)
  2232.  
  2233.     def __GuildWar_UpdateMemberCount(self, guildID1, memberCount1, guildID2, memberCount2, observerCount):
  2234.         guildID1 = int(guildID1)
  2235.         guildID2 = int(guildID2)
  2236.         memberCount1 = int(memberCount1)
  2237.         memberCount2 = int(memberCount2)
  2238.         observerCount = int(observerCount)
  2239.  
  2240.         self.interface.UpdateMemberCount(guildID1, memberCount1, guildID2, memberCount2)
  2241.         self.interface.wndMiniMap.UpdateObserverCount(observerCount)
  2242.  
  2243.     def __GuildWar_OpenAskDialog(self, guildID, warType):
  2244.  
  2245.         guildName = guild.GetGuildName(guildID)
  2246.  
  2247.         # REMOVED_GUILD_BUG_FIX
  2248.         if "Noname" == guildName:
  2249.             return
  2250.         # END_OF_REMOVED_GUILD_BUG_FIX
  2251.  
  2252.         import uiGuild
  2253.         questionDialog = uiGuild.AcceptGuildWarDialog()
  2254.         questionDialog.SAFE_SetAcceptEvent(self.__GuildWar_OnAccept)
  2255.         questionDialog.SAFE_SetCancelEvent(self.__GuildWar_OnDecline)
  2256.         questionDialog.Open(guildName, warType)
  2257.  
  2258.         self.guildWarQuestionDialog = questionDialog
  2259.  
  2260.     def __GuildWar_CloseAskDialog(self):
  2261.         self.guildWarQuestionDialog.Close()
  2262.         self.guildWarQuestionDialog = None
  2263.  
  2264.     def __GuildWar_OnAccept(self):
  2265.  
  2266.         guildName = self.guildWarQuestionDialog.GetGuildName()
  2267.  
  2268.         net.SendChatPacket("/war " + guildName)
  2269.         self.__GuildWar_CloseAskDialog()
  2270.  
  2271.         return 1
  2272.  
  2273.     def __GuildWar_OnDecline(self):
  2274.  
  2275.         guildName = self.guildWarQuestionDialog.GetGuildName()
  2276.  
  2277.         net.SendChatPacket("/nowar " + guildName)
  2278.         self.__GuildWar_CloseAskDialog()
  2279.  
  2280.         return 1
  2281.     ## BINARY CALLBACK
  2282.     ######################################################################################
  2283.  
  2284.     def __ServerCommand_Build(self):
  2285.         serverCommandList={
  2286.             "ConsoleEnable"         : self.__Console_Enable,
  2287.             "DayMode"               : self.__DayMode_Update,
  2288.             "PRESERVE_DayMode"      : self.__PRESERVE_DayMode_Update,
  2289.             "CloseRestartWindow"    : self.__RestartDialog_Close,
  2290.             "OpenPrivateShop"       : self.__PrivateShop_Open,
  2291.             "OpenOfflineShop"       : self.__OfflineShop_Open,
  2292.             "PartyHealReady"        : self.PartyHealReady,
  2293.             "ShowMeSafeboxPassword" : self.AskSafeboxPassword,
  2294.             "CloseSafebox"          : self.CommandCloseSafebox,
  2295.             "Teleport"              : self.Teleport,
  2296.             "Klient_Data"           : self.__Data,
  2297.             "Klient_Godzina"        : self.__Godzina,
  2298.             "SmoczeMonety"          : self.__SM,
  2299.             "PunktyOsiagniec"       : self.__PO,
  2300.             "Coinsy"                : self.__C,
  2301.            
  2302.             ### PVP ###
  2303.             "PythonToLua"           : self.__PythonToLua,
  2304.             "PythonIslem"           : self.__PythonIslem,
  2305.             "LuaToPython"           : self.__LuaToPython,
  2306.             ### PVP ###
  2307.            
  2308.             ##NEW SHOP
  2309.             "shop"              :self.NewShop,
  2310.             "shop_clear"        :self.ShopClear,
  2311.             "shop_add"          :self.ShopAdd,
  2312.             "shop_item"         :self.ShopItem,
  2313.             "shop_cost"         :self.ShopCost,
  2314.             "shop_cost_clear"   :self.ShopCostClear,
  2315.             "shop_item_clear"   :self.ShopItemClear,
  2316.            
  2317.             #####GIFT SYSTEM
  2318.             "gift_clear"    :self.gift_clear,
  2319.             "gift_item"     :self.gift_item,
  2320.             "gift_info"     :self.gift_show,
  2321.             "gift_load"     :self.gift_load,
  2322.             ###
  2323.            
  2324.             "GUILDSTORAGE"          : self._GuildStorageCMD,
  2325.             "GUILDSTORAGE_ADDITEM"  : self._GuildStorageAddItem,
  2326.             "GUILDSTORAGE_ADDITEMSLOT" : self._GuildStorageAddItemSlot,
  2327.             "GUILDSTORAGE_ADDMEMBER" : self._GuildStorageAddMemberToList,
  2328.             "GUILDSTORAGE_ADDTEMPSLOT" : self._GuildStorageTempSlotsAdd,
  2329.             "GUILDSTORAGE_ADDLOG"       : self._GuildStorageAddLog,
  2330.             "getinputbegin"         : self.__Inputget1,
  2331.             "getinputend"           : self.__Inputget2,
  2332.             "getinput"              : self.__Inputget3,
  2333.            
  2334.             "PStonesQuest"          : self.PStonesQuest,
  2335.             "GetInputStart"         : self.GetInputStart,
  2336.             "GetInputStop"          : self.GetInputStop,
  2337.             "GetInput"              : self.GetInput,
  2338.            
  2339.             "gkmanage"              : self.__gkbuild,
  2340.            
  2341.             "Handelscenter"         : self.__Handelscenter,
  2342.            
  2343.             "load_mini_sklep"       : self.__load_mini_sklep,
  2344.            
  2345.             "refresh_skill_droga"   : self.refresh_skill_droga,
  2346.            
  2347.             "sklep_marmury"         : self.__sklepmarmury,
  2348.            
  2349.             #biolog
  2350.             "biolog"                : self.biologui,
  2351.             "oddaj"                 : self.oddaj,
  2352.             "openbio"               : self.biologopen,
  2353.             #biolog
  2354.            
  2355.             "BiologWczytaj"         : self.WczytajBiologa,
  2356.             "OddajBiolog"           : self.OddajBiologowi,
  2357.            
  2358.             #TOMBOLA
  2359.             "tombola_start"     : self.__tombola_start,
  2360.             "tombola_end"       : self.__tombola_end,
  2361.             "tombola_info"      : self.__tombola_info,
  2362.             "tombola_prepare"   : self.__tombola_prepare,
  2363.             "tombola_run"       : self.__tombola_run,
  2364.            
  2365.             #DEMIRGAME & TURKMMO [P-NEW] PVP SYSTEM
  2366.             "demirvidgame"          : self.demirvidgame,
  2367.             "demirvid"              : self.demirvid,
  2368.             "demirstartgame"        : self.demirstartgame,
  2369.             "demirongame"           : self.demirongame,
  2370.             "demirendgame"          : self.demirendgame,  
  2371.             "demirwsgame"           : self.demirwsgame,
  2372.             "demirwsvidgame"        : self.demirwsgame,
  2373.             "demirgogame"           : self.demirgogame,
  2374.             "demirgovidgame"        : self.demirgogame,
  2375.             "demirwingame"          : self.demirwingame,
  2376.             #DEMIRGAME & TURKMMO [P-NEW] PVP SYSTEM
  2377.  
  2378.             # ITEM_MALL
  2379.             "CloseMall"             : self.CommandCloseMall,
  2380.             "ShowMeMallPassword"    : self.AskMallPassword,
  2381.             "item_mall"             : self.__ItemMall_Open,
  2382.             # END_OF_ITEM_MALL
  2383.  
  2384.             "RefineSuceeded"        : self.RefineSuceededMessage,
  2385.             "RefineFailed"          : self.RefineFailedMessage,
  2386.             "xmas_snow"             : self.__XMasSnow_Enable,
  2387.             "xmas_boom"             : self.__XMasBoom_Enable,
  2388.             "xmas_song"             : self.__XMasSong_Enable,
  2389.             "xmas_tree"             : self.__XMasTree_Enable,
  2390.             "newyear_boom"          : self.__XMasBoom_Enable,
  2391.             "PartyRequest"          : self.__PartyRequestQuestion,
  2392.             "PartyRequestDenied"    : self.__PartyRequestDenied,
  2393.             "horse_state"           : self.__Horse_UpdateState,
  2394.             "hide_horse_state"      : self.__Horse_HideState,
  2395.             "WarUC"                 : self.__GuildWar_UpdateMemberCount,
  2396.             "test_server"           : self.__EnableTestServerFlag,
  2397.             "mall"                  : self.__InGameShop_Show,
  2398.             "ACHIEVEMENTS"          : self.ManagerAchievements,
  2399.  
  2400.             "PetEvolution"          : self.SetPetEvolution,
  2401.             "PetName"               : self.SetPetName,
  2402.             "PetLevel"              : self.SetPetLevel,
  2403.             "PetDuration"           : self.SetPetDuration,
  2404.             "PetBonus"              : self.SetPetBonus,
  2405.             "PetSkill"              : self.SetPetskill,
  2406.             "PetIcon"               : self.SetPetIcon,
  2407.             "PetExp"                : self.SetPetExp,
  2408.             "PetUnsummon"           : self.PetUnsummon,
  2409.             "OpenPetIncubator"      : self.OpenPetIncubator,
  2410.  
  2411.             "BabyEvolution"         : self.SetBabyEvolution,
  2412.             "BabyName"              : self.SetBabyName,
  2413.             "BabyLevel"             : self.SetBabyLevel,
  2414.             "BabyDuration"          : self.SetBabyDuration,
  2415.             "BabyBonus"             : self.SetBabyBonus,
  2416.             "BabySkill"             : self.SetBabyskill,
  2417.             "BabyIcon"              : self.SetBabyIcon,
  2418.             "BabyExp"               : self.SetBabyExp,
  2419.             "BabyUnsummon"          : self.BabyUnsummon,
  2420.             "OpenBabyIncubator"     : self.OpenBabyIncubator,
  2421.  
  2422.             # WEDDING
  2423.             "lover_login"           : self.__LoginLover,
  2424.             "lover_logout"          : self.__LogoutLover,
  2425.             "lover_near"            : self.__LoverNear,
  2426.             "lover_far"             : self.__LoverFar,
  2427.             "lover_divorce"         : self.__LoverDivorce,
  2428.             "PlayMusic"             : self.__PlayMusic,
  2429.             # END_OF_WEDDING
  2430.            
  2431.             "cube_npc_id"           : self.BINARY_Cube_Open,
  2432.             "cs_result"             : self.BINARY_Cube_ResultList,
  2433.             "cs_need"               : self.BINARY_Cube_MaterialInfo,
  2434.  
  2435.             # nowe skile za PO
  2436.             "quest_points"              : self.__QuestPoints,
  2437.             "points_status"             : self.__PointsStatus,
  2438.             "points_item_vnum"          : self.__PointsItem,
  2439.             "points_value"              : self.__PointsValue,
  2440.             "quest_skills"              : self.__QuestSkills,
  2441.             "skills_levels"             : self.__SkillsLevels,
  2442.             "skills_points"             : self.__SkillsPoints,
  2443.             "skills_val_info"           : self.__SkillsValue,
  2444.             "skills_nextval_info"       : self.__SkillsNextValue,
  2445.             "skills_dur_info"           : self.__SkillsDuration,
  2446.             "skills_mp_info"            : self.__SkillsMP,
  2447.             "get_input_status"          : self.__GetInputStatus,
  2448.             "GetInput"                  : self.__GetInput,
  2449.             "activated_skill"           : self.__SkillActivated,
  2450.             "skills_bar"                : self.__SetSkillsBar,
  2451.             "PokazSkille"                   : self.PokazOknoSkill,
  2452.             "PokazSkille2"                  : self.PokazOknoSkill2,
  2453.             # nowe skile za PO koniec
  2454.             "Gui_Wybor_Boss_Nagroda"        : self.Gui_Wybor_Boss_Nagroda,
  2455.             "Odbierz_Nagrode_Boss"          : self.Odbierz_Nagrode_Boss,
  2456.  
  2457.             # PRIVATE_SHOP_PRICE_LIST
  2458.             "MyShopPriceList"       : self.__PrivateShop_PriceList,
  2459.             # END_OF_PRIVATE_SHOP_PRICE_LIST
  2460.             "AcceMessage"               : self.AcceMessage,
  2461.             "AcceAbsMessage"            : self.AcceAbsMessage,
  2462.         }
  2463.  
  2464.         self.serverCommander=stringCommander.Analyzer()
  2465.         for serverCommandItem in serverCommandList.items():
  2466.             self.serverCommander.SAFE_RegisterCallBack(
  2467.                 serverCommandItem[0], serverCommandItem[1]
  2468.             )
  2469.    
  2470. # twoja droga
  2471.     def refresh_skill_droga(self, qid):
  2472.         #skill_slot.Show()
  2473.         #self.interface.HideAllWindows()
  2474.         #self.interface.Close()
  2475.         #self.interface=None
  2476.         #self.interface = interfaceModule.Interface()
  2477.         #self.interface.MakeInterface()
  2478.         #self.interface.SetOpenBoniSwitcherEvent(self.__BoniSwitcherShow)
  2479.         #self.interface.ShowDefaultWindows()
  2480.         #skill.SetSkillOtherIcon(playerSettingModule.SKILL_DROGA,"d:/ymir work/ui/skill/common/support/button_najemnik.sub")
  2481.         #playerSettingModule.SKILL_DROGA = int(qid)
  2482.         #skill_slot.AppendImage("d:/ymir work/ui/skill/common/support/button_najemnik.sub")
  2483.         #skill_slot.Show()
  2484.         #self.interface.HideAllWindows()
  2485.         #self.interface.Close()
  2486.         #self.interface=None
  2487.         #self.interface = interfaceModule.Interface()
  2488.         #self.interface.MakeInterface()
  2489.         #self.interface.SetOpenBoniSwitcherEvent(self.__BoniSwitcherShow)
  2490.         #self.interface.ShowDefaultWindows()
  2491.         #self.RefreshCharacter()
  2492.         #self.RefreshSkill()
  2493.         #skill.SetSkillOtherIcon( int(qid), "d:/ymir work/ui/skill/common/support/button_najemnik.sub")
  2494.         #self.RefreshCharacter()
  2495.         #self.RefreshSkill()   
  2496.         slotwindow = constInfo.SILLPAGE
  2497.         skill_slot = player.GetSkillSlotIndex(playerSettingModule.SKILL_DROGA)
  2498.         #chat.AppendChat(chat.CHAT_TYPE_INFO, str(skill_slot))
  2499.         player.ClearSlotSkill(skill_slot,playerSettingModule.SKILL_DROGA)
  2500.         playerSettingModule.SKILL_DROGA = int(qid)
  2501.         player.SetSkill(skill_slot,playerSettingModule.SKILL_DROGA)
  2502.         slotwindow.SetSkillSlot(skill_slot, playerSettingModule.SKILL_DROGA, player.GetSkillLevel(skill_slot))
  2503.  
  2504. # // twoja droga
  2505.  
  2506.     def BINARY_ServerCommand_Run(self, line):
  2507.         #dbg.TraceError(line)
  2508.         try:
  2509.             #print " BINARY_ServerCommand_Run", line
  2510.             return self.serverCommander.Run(line)
  2511.         except RuntimeError, msg:
  2512.             dbg.TraceError(msg)
  2513.             return 0
  2514.  
  2515.     def __ProcessPreservedServerCommand(self):
  2516.         try:
  2517.             command = net.GetPreservedServerCommand()
  2518.             while command:
  2519.                 print " __ProcessPreservedServerCommand", command
  2520.                 self.serverCommander.Run(command)
  2521.                 command = net.GetPreservedServerCommand()
  2522.         except RuntimeError, msg:
  2523.             dbg.TraceError(msg)
  2524.             return 0
  2525.  
  2526.     def PartyHealReady(self):
  2527.         self.interface.PartyHealReady()
  2528.  
  2529.     def AskSafeboxPassword(self):
  2530.         self.interface.AskSafeboxPassword()
  2531.  
  2532.     def __sklepmarmury(self, vid=0):
  2533.         constInfo.MARMURY_BUTTON = int(vid)
  2534.        
  2535.     # ITEM_MALL
  2536.     def AskMallPassword(self):
  2537.         self.interface.AskMallPassword()
  2538.  
  2539.     def __ItemMall_Open(self):
  2540.         self.interface.OpenItemMall();
  2541.  
  2542.     def CommandCloseMall(self):
  2543.         self.interface.CommandCloseMall()
  2544.     # END_OF_ITEM_MALL
  2545.  
  2546.     def AcceMessage(self):
  2547.         snd.PlaySound("sound/ui/make_soket.wav")
  2548.         self.PopupMessage(localemg.ACCE_DEL_SERVEITEM)
  2549.  
  2550.     def AcceAbsMessage(self):
  2551.         snd.PlaySound("sound/ui/make_soket.wav")
  2552.         self.PopupMessage(localemg.ACCE_DEL_ABSORDITEM)
  2553.  
  2554.     def RefineSuceededMessage(self):
  2555.         snd.PlaySound("sound/ui/make_soket.wav")
  2556.         self.PopupMessage(localemg.REFINE_SUCCESS)
  2557.  
  2558.     def RefineFailedMessage(self):
  2559.         snd.PlaySound("sound/ui/jaeryun_fail.wav")
  2560.         self.PopupMessage(localemg.REFINE_FAILURE)
  2561.  
  2562.     def CommandCloseSafebox(self):
  2563.         self.interface.CommandCloseSafebox()
  2564.  
  2565.     # PRIVATE_SHOP_PRICE_LIST
  2566.     def __PrivateShop_PriceList(self, itemVNum, itemPrice):
  2567.         uiPrivateShopBuilder.SetPrivateShopItemPrice(itemVNum, itemPrice)  
  2568.     # END_OF_PRIVATE_SHOP_PRICE_LIST
  2569.  
  2570.     def __Horse_HideState(self):
  2571.         self.affectShower.SetHorseState(0, 0, 0)
  2572.  
  2573.     def __Horse_UpdateState(self, level, health, battery):
  2574.         self.affectShower.SetHorseState(int(level), int(health), int(battery))
  2575.  
  2576.     def __IsXMasMap(self):
  2577.         mapDict = ( "metin2_map_n_flame_01",
  2578.                     "metin2_map_n_desert_01",
  2579.                     "metin2_map_spiderdungeon",
  2580.                     "metin2_map_deviltower1", )
  2581.  
  2582.         if background.GetCurrentMapName() in mapDict:
  2583.             return False
  2584.  
  2585.         return True
  2586.  
  2587.     def __XMasSnow_Enable(self, mode):
  2588.  
  2589.         self.__XMasSong_Enable(mode)
  2590.  
  2591.         if "1"==mode:
  2592.  
  2593.             if not self.__IsXMasMap():
  2594.                 return
  2595.  
  2596.             print "XMAS_SNOW ON"
  2597.             background.EnableSnow(1)
  2598.  
  2599.         else:
  2600.             print "XMAS_SNOW OFF"
  2601.             background.EnableSnow(0)
  2602.  
  2603.     def __XMasBoom_Enable(self, mode):
  2604.         if "1"==mode:
  2605.  
  2606.             if not self.__IsXMasMap():
  2607.                 return
  2608.  
  2609.             print "XMAS_BOOM ON"
  2610.             self.__DayMode_Update("dark")
  2611.             self.enableXMasBoom = True
  2612.             self.startTimeXMasBoom = app.GetTime()
  2613.         else:
  2614.             print "XMAS_BOOM OFF"
  2615.             self.__DayMode_Update("light")
  2616.             self.enableXMasBoom = False
  2617.  
  2618.     def __XMasTree_Enable(self, grade):
  2619.  
  2620.         print "XMAS_TREE ", grade
  2621.         background.SetXMasTree(int(grade))
  2622.  
  2623.     def __XMasSong_Enable(self, mode):
  2624.         if "1"==mode:
  2625.             print "XMAS_SONG ON"
  2626.  
  2627.             XMAS_BGM = "xmas.mp3"
  2628.  
  2629.             if app.IsExistFile("BGM/" + XMAS_BGM)==1:
  2630.                 if musicInfo.fieldMusic != "":
  2631.                     snd.FadeOutMusic("BGM/" + musicInfo.fieldMusic)
  2632.  
  2633.                 musicInfo.fieldMusic=XMAS_BGM
  2634.                 snd.FadeInMusic("BGM/" + musicInfo.fieldMusic)
  2635.  
  2636.         else:
  2637.             print "XMAS_SONG OFF"
  2638.  
  2639.             if musicInfo.fieldMusic != "":
  2640.                 snd.FadeOutMusic("BGM/" + musicInfo.fieldMusic)
  2641.  
  2642.             musicInfo.fieldMusic=musicInfo.METIN2THEMA
  2643.             snd.FadeInMusic("BGM/" + musicInfo.fieldMusic)
  2644.  
  2645.     def __RestartDialog_Close(self):
  2646.         self.interface.CloseRestartDialog()
  2647.  
  2648.     def __Console_Enable(self):
  2649.         constInfo.CONSOLE_ENABLE = True
  2650.         self.consoleEnable = True
  2651.         app.EnableSpecialCameraMode()
  2652.         uimg.EnablePaste(True)
  2653.     '''
  2654.     ## PrivateShop
  2655.     def __PrivateShop_Open(self):
  2656.         self.interface.OpenPrivateShopInputNameDialog()
  2657.  
  2658.     def BINARY_PrivateShop_Appear(self, vid, text):
  2659.         self.interface.AppearPrivateShop(vid, text)
  2660.  
  2661.     def BINARY_PrivateShop_Disappear(self, vid):
  2662.         self.interface.DisappearPrivateShop(vid)
  2663.     '''
  2664.     ## PrivateShop
  2665.     def __PrivateShop_Open(self):
  2666.     #   self.interface.OpenPrivateShopInputNameDialog()
  2667.         self.uiNewShop.Show()
  2668.  
  2669. #   def BINARY_PrivateShop_Appear(self, vid, text):
  2670. #       if (chr.GetInstanceType(vid) == chr.INSTANCE_TYPE_PLAYER):
  2671. #           self.interface.AppearPrivateShop(vid, text)
  2672.  
  2673.     def BINARY_PrivateShop_Appear(self, vid, text):
  2674.         if chr.GetInstanceType(vid) in [chr.INSTANCE_TYPE_PLAYER, chr.INSTANCE_TYPE_NPC]:
  2675.             self.interface.AppearPrivateShop(vid, text)
  2676.  
  2677.     def BINARY_PrivateShop_Disappear(self, vid):
  2678.         if (chr.GetInstanceType(vid) == chr.INSTANCE_TYPE_PLAYER):
  2679.             self.interface.DisappearPrivateShop(vid)
  2680.        
  2681.     # OfflineShop
  2682.     def __OfflineShop_Open(self):
  2683.         self.interface.OpenOfflineShopInputNameDialog()
  2684.    
  2685.     def BINARY_OfflineShop_Appear(self, vid, text):
  2686.         if (chr.GetInstanceType(vid) == chr.INSTANCE_TYPE_NPC):
  2687.             self.interface.AppearOfflineShop(vid, text)
  2688.        
  2689.     def BINARY_OfflineShop_Disappear(self, vid):   
  2690.         if (chr.GetInstanceType(vid) == chr.INSTANCE_TYPE_NPC):
  2691.             self.interface.DisappearOfflineShop(vid)
  2692.  
  2693.     ## DayMode
  2694.     def __PRESERVE_DayMode_Update(self, mode):
  2695.         if "light"==mode:
  2696.             background.SetEnvironmentData(0)
  2697.         elif "dark"==mode:
  2698.  
  2699.             if not self.__IsXMasMap():
  2700.                 return
  2701.  
  2702.             background.RegisterEnvironmentData(1, constInfo.ENVIRONMENT_NIGHT)
  2703.             background.SetEnvironmentData(1)
  2704.  
  2705.     def __DayMode_Update(self, mode):
  2706.         if "light"==mode:
  2707.             self.curtain.SAFE_FadeOut(self.__DayMode_OnCompleteChangeToLight)
  2708.         elif "dark"==mode:
  2709.  
  2710.             if not self.__IsXMasMap():
  2711.                 return
  2712.  
  2713.             self.curtain.SAFE_FadeOut(self.__DayMode_OnCompleteChangeToDark)
  2714.  
  2715.     def __DayMode_OnCompleteChangeToLight(self):
  2716.         background.SetEnvironmentData(0)
  2717.         self.curtain.FadeIn()
  2718.  
  2719.     def __DayMode_OnCompleteChangeToDark(self):
  2720.         background.RegisterEnvironmentData(1, constInfo.ENVIRONMENT_NIGHT)
  2721.         background.SetEnvironmentData(1)
  2722.         self.curtain.FadeIn()
  2723.  
  2724.     ## XMasBoom
  2725.     def __XMasBoom_Update(self):
  2726.  
  2727.         self.BOOM_DATA_LIST = ( (2, 5), (5, 2), (7, 3), (10, 3), (20, 5) )
  2728.         if self.indexXMasBoom >= len(self.BOOM_DATA_LIST):
  2729.             return
  2730.  
  2731.         boomTime = self.BOOM_DATA_LIST[self.indexXMasBoom][0]
  2732.         boomCount = self.BOOM_DATA_LIST[self.indexXMasBoom][1]
  2733.  
  2734.         if app.GetTime() - self.startTimeXMasBoom > boomTime:
  2735.  
  2736.             self.indexXMasBoom += 1
  2737.  
  2738.             for i in xrange(boomCount):
  2739.                 self.__XMasBoom_Boom()
  2740.  
  2741.     def __XMasBoom_Boom(self):
  2742.         x, y, z = player.GetMainCharacterPosition()
  2743.         randX = app.GetRandom(-150, 150)
  2744.         randY = app.GetRandom(-150, 150)
  2745.  
  2746.         snd.PlaySound3D(x+randX, -y+randY, z, "sound/common/etc/salute.mp3")
  2747.  
  2748.     def __PartyRequestQuestion(self, vid):
  2749.         vid = int(vid)
  2750.         partyRequestQuestionDialog = uiCommon.QuestionDialog()
  2751.         partyRequestQuestionDialog.SetText(chr.GetNameByVID(vid) + localemg.PARTY_DO_YOU_ACCEPT)
  2752.         partyRequestQuestionDialog.SetAcceptText(localemg.UI_ACCEPT)
  2753.         partyRequestQuestionDialog.SetCancelText(localemg.UI_DENY)
  2754.         partyRequestQuestionDialog.SetAcceptEvent(lambda arg=True: self.__AnswerPartyRequest(arg))
  2755.         partyRequestQuestionDialog.SetCancelEvent(lambda arg=False: self.__AnswerPartyRequest(arg))
  2756.         partyRequestQuestionDialog.Open()
  2757.         partyRequestQuestionDialog.vid = vid
  2758.         self.partyRequestQuestionDialog = partyRequestQuestionDialog
  2759.  
  2760.     def __AnswerPartyRequest(self, answer):
  2761.         if not self.partyRequestQuestionDialog:
  2762.             return
  2763.  
  2764.         vid = self.partyRequestQuestionDialog.vid
  2765.  
  2766.         if answer:
  2767.             net.SendChatPacket("/party_request_accept " + str(vid))
  2768.         else:
  2769.             net.SendChatPacket("/party_request_deny " + str(vid))
  2770.  
  2771.         self.partyRequestQuestionDialog.Close()
  2772.         self.partyRequestQuestionDialog = None
  2773.  
  2774.     def __PartyRequestDenied(self):
  2775.         self.PopupMessage(localemg.PARTY_REQUEST_DENIED)
  2776.  
  2777.     def __EnableTestServerFlag(self):
  2778.         app.EnableTestServerFlag()
  2779.  
  2780.     def __InGameShop_Show(self, url):
  2781.         if constInfo.IN_GAME_SHOP_ENABLE:
  2782.             self.interface.OpenWebWindow(url)
  2783.  
  2784.     def ManagerAchievements(self, cmd):
  2785.         # dbg.TraceError(cmd)
  2786.         cmd = cmd.split("#")
  2787.         if cmd[0] == 'QID':
  2788.             constInfo.Achievements['QID'] = int(cmd[1])
  2789.         elif cmd[0] == 'INPUT':
  2790.             constInfo.INPUT_IGNORE = int(cmd[1])
  2791.         elif cmd[0] == 'SEND':
  2792.             net.SendQuestInputStringPacket(constInfo.Achievements['QCMD'])
  2793.             constInfo.Achievements['QCMD'] = ''
  2794.         elif cmd[0] == 'SET_CATEGORY':
  2795.             constInfo.Achievements['achievements'][int(cmd[1])] = []
  2796.         elif cmd[0] == 'SET_ACHIEVEMENT':
  2797.             constInfo.Achievements['achievements'][int(cmd[1])].append([int(cmd[3]), int(cmd[4]), int(cmd[5]), int(cmd[6]), int(cmd[2])])
  2798.         elif cmd[0] == 'SET_ACHIEVEMENT_STRING':
  2799.             constInfo.Achievements['achievements'][int(cmd[1])].append([int(cmd[3]), int(cmd[4]), int(cmd[5]), cmd[6].replace('&', ' '), int(cmd[2])])
  2800.         elif cmd[0] == 'UPDATE_ACHIEVEMENT':
  2801.             for i in xrange(len(constInfo.Achievements['achievements'][int(cmd[1])])):
  2802.                 if int(cmd[1]) == 2 or int(cmd[1]) == 3:
  2803.                     if constInfo.Achievements['achievements'][int(cmd[1])][i][4] == int(cmd[4]):
  2804.                         constInfo.Achievements['achievements'][int(cmd[1])][i][0] = int(cmd[3])
  2805.                 elif constInfo.Achievements['achievements'][int(cmd[1])][i][2] == int(cmd[4]) and constInfo.Achievements['achievements'][int(cmd[1])][i][4] == int(cmd[2]):
  2806.                     constInfo.Achievements['achievements'][int(cmd[1])][i][0] = int(cmd[3])
  2807.         elif cmd[0] == 'REFRESH_ACHIEVEMENTS':
  2808.             self.interface.wndAchievements.RefreshAchievements()
  2809.             self.interface.wndAchievements.RefreshGlobalProgress()
  2810.         elif cmd[0] == 'CLEAR_LAST_FINISHED':
  2811.             constInfo.Achievements['last_achievements'] = []
  2812.         elif cmd[0] == 'SET_FINISHED':
  2813.             self.interface.wndAchievements.SetAchievementFinisehd(int(cmd[1]), int(cmd[3]), int(cmd[4]), int(cmd[5]))
  2814.         elif cmd[0] == 'SET_LAST_FINISHED':
  2815.             achievementInfo = cmd[1].split(',')
  2816.             constInfo.Achievements['last_achievements'].append([int(achievementInfo[0]), int(achievementInfo[2]), int(achievementInfo[3]), int(achievementInfo[4])])
  2817.         elif cmd[0] == 'REFRESH_LAST_FINISHED':
  2818.             self.interface.wndAchievements.RefreshLastFinished()
  2819.         elif cmd[0] == 'SET_AP':
  2820.             constInfo.Achievements['POINTS'] = int(cmd[1])
  2821.         elif cmd[0] == 'SET_ACHIEVEMENTSHOP_CATEGORY':
  2822.             constInfo.Achievements['achievementshop'][int(cmd[1])] = []
  2823.         elif cmd[0] == 'SET_ACHIEVEMENTSHOP_ITEM':
  2824.             constInfo.Achievements['achievementshop'][int(cmd[1])].append([int(cmd[2]), int(cmd[3]), int(cmd[4])])
  2825.  
  2826. # BONUS
  2827.     def __BonusPage(self):
  2828.         import uiBonusPage
  2829.         global BPisLoaded
  2830.         try:
  2831.             if BPisLoaded != 1:
  2832.                 exec 'uiBonusPage.BonusBoardDialog().Show()'
  2833.             else:
  2834.                 pass
  2835.         except ImportError:
  2836.             import dbg,app
  2837.             dbg.Trace('uiBonusPage.py Importing error')
  2838.             app.Abort()
  2839.  
  2840.     def __Teleportacja(self):
  2841.         if FALSE == player.IsObserverMode():
  2842.             if FALSE == self.teleportacja.IsShow():
  2843.                 self.teleportacja.Open()
  2844.                 self.teleportacja.SetTop()
  2845.             else:
  2846.                 self.teleportacja.Hide()
  2847.  
  2848.     def __Teleport_Open(self):
  2849.         self.teleport.Open()
  2850.            
  2851.     def Teleport(self, getString):
  2852.         if getString.find("index") != -1:
  2853.             self.teleport.UpdateIndex(int(getString.split("x")[1]))
  2854.         else:
  2855.             constInfo.SendString = str(self.teleport.SendToServer)
  2856.             constInfo.CApiSetHide = 1
  2857.    
  2858.     def __OnClickMagazynButton(self):
  2859.         constInfo.GUILDSTORAGE["questCMD"] = 'OPEN'
  2860.         event.QuestButtonClick(int(constInfo.GUILDSTORAGE["qid"]))
  2861.  
  2862.     def __OpenAchievementsystemWindow(self):
  2863.         import uiAchievements
  2864.         self.achievement = uiAchievements.AchievementWindow()
  2865.         self.achievement.Open()
  2866.    
  2867.     def __SM(self, coins):
  2868.         constInfo.SM = int(coins)
  2869.  
  2870.     def __PO(self, coins):
  2871.         constInfo.PO = int(coins)
  2872.  
  2873.     def __C(self, coins):
  2874.         constInfo.C = int(coins)
  2875.            
  2876.     def __Data(self, coins):
  2877.         constInfo.aktualna_data = str(coins)
  2878.  
  2879.     def __Godzina(self, coins):
  2880.         constInfo.aktualna_godznia = str(coins)
  2881.        
  2882.     # WEDDING
  2883.     def __LoginLover(self):
  2884.         if self.interface.wndMessenger:
  2885.             self.interface.wndMessenger.OnLoginLover()
  2886.  
  2887.     def __LogoutLover(self):
  2888.         if self.interface.wndMessenger:
  2889.             self.interface.wndMessenger.OnLogoutLover()
  2890.         if self.affectShower:
  2891.             self.affectShower.HideLoverState()
  2892.  
  2893.     def __LoverNear(self):
  2894.         if self.affectShower:
  2895.             self.affectShower.ShowLoverState()
  2896.  
  2897.     def __LoverFar(self):
  2898.         if self.affectShower:
  2899.             self.affectShower.HideLoverState()
  2900.  
  2901.     def __LoverDivorce(self):
  2902.         if self.interface.wndMessenger:
  2903.             self.interface.wndMessenger.ClearLoverInfo()
  2904.         if self.affectShower:
  2905.             self.affectShower.ClearLoverState()
  2906.  
  2907.     def __PlayMusic(self, flag, filename):
  2908.         flag = int(flag)
  2909.         if flag:
  2910.             snd.FadeOutAllMusic()
  2911.             musicInfo.SaveLastPlayFieldMusic()
  2912.             snd.FadeInMusic("BGM/" + filename)
  2913.         else:
  2914.             snd.FadeOutAllMusic()
  2915.             musicInfo.LoadLastPlayFieldMusic()
  2916.             snd.FadeInMusic("BGM/" + musicInfo.fieldMusic)
  2917.  
  2918.     # END_OF_WEDDING
  2919.    
  2920.     def _GuildStorageCMD(self, command):
  2921.         cmd = command.split("/")
  2922.        
  2923.         if cmd[0] == "OPEN":
  2924.             self.interface.GuildStorageWindow.Open(int(cmd[1]))
  2925.         elif cmd[0] == "REFRESH":
  2926.             self.interface.GuildStorageWindow.RefreshSlots()
  2927.         elif cmd[0] == "REFRESH_MONEY":
  2928.             self.interface.GuildStorageWindow.SetMoney(cmd[1])
  2929.         elif cmd[0] == "REFRESH_MEMBERS":
  2930.             self.interface.GuildStorageWindow.Adminpanel["board"].RefreshMembers(0)
  2931.         elif cmd[0] == "CLEAR_TEMPSLOTS":
  2932.             constInfo.GUILDSTORAGE["tempslots"] = {"TAB0" : {},"TAB1" : {},"TAB2" : {}, "TAB3" : {}, "TAB4" : {}, "TAB5" : {}}
  2933.         elif cmd[0] == "COMPARE_TEMPSLOTS":
  2934.             for i in range(6):
  2935.                 if constInfo.GUILDSTORAGE["tempslots"]["TAB"+str(i)] != constInfo.GUILDSTORAGE["slots"]["TAB"+str(i)]:
  2936.                     constInfo.GUILDSTORAGE["slots"]["TAB"+str(i)] = {}
  2937.                     constInfo.GUILDSTORAGE["slots"]["TAB"+str(i)] = constInfo.GUILDSTORAGE["tempslots"]["TAB"+str(i)]
  2938.                     self.interface.GuildStorageWindow.RefreshSlots()
  2939.         elif cmd[0] == "QID":
  2940.             self.GuildStorageQID(cmd[1])
  2941.         elif cmd[0] == "QUESTCMD":
  2942.             self._GuildStorageQuestCMD()
  2943.         elif cmd[0] == "MEMBER_COMPLETE":
  2944.             constInfo.GUILDSTORAGE["members"] = {}
  2945.             self.interface.GuildStorageWindow.ClearMembers()
  2946.             constInfo.GUILDSTORAGE["questCMD"] = "GETMEMBERLIST"
  2947.             event.QuestButtonClick(int(constInfo.GUILDSTORAGE["qid"]))
  2948.            
  2949.     def __Inputget1(self):
  2950.         constInfo.INPUT_IGNORE = 1
  2951.        
  2952.     def __Inputget2(self):
  2953.         constInfo.INPUT_IGNORE = 0
  2954.        
  2955.     def __Inputget3(self):
  2956.         net.SendQuestInputStringPacket(str(constInfo.INPUT_DATA))
  2957.                
  2958.     def _GuildStorageAddItemSlot(self, slot, tab ,itemVnum, count, socket0, socket1, socket2, socket3, socket4, socket5, attrtype0,attrvalue0, attrtype1,attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6):
  2959.         self.interface.GuildStorageWindow.AddItemSlot(slot, tab ,itemVnum, count, socket0, socket1, socket2, socket3, socket4, socket5, attrtype0,attrvalue0, attrtype1,attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6)
  2960.    
  2961.     def _GuildStorageAddItem(self, slot ,itemVnum, count, socket0, socket1, socket2, socket3, socket4, socket5, attrtype0,attrvalue0, attrtype1,attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6):
  2962.         slotsWidth = 15
  2963.         slotsHeight = 8
  2964.         slot = int(slot)
  2965.         if slot <= 120:
  2966.             constInfo.GUILDSTORAGE["slots"]["TAB0"][slot] = [int(itemVnum),int(count), int(socket0), int(socket1), int(socket2), int(socket3), int(socket4), int(socket5), int(attrtype0),int(attrvalue0), int(attrtype1),int(attrvalue1), int(attrtype2), int(attrvalue2), int(attrtype3), int(attrvalue3), int(attrtype4), int(attrvalue4), int(attrtype5), int(attrvalue5), int(attrtype6), int(attrvalue6)]
  2967.         elif slot > 120 and slot <= 240:
  2968.             constInfo.GUILDSTORAGE["slots"]["TAB1"][slot-120] = [int(itemVnum),int(count), int(socket0), int(socket1), int(socket2), int(socket3), int(socket4), int(socket5), int(attrtype0),int(attrvalue0), int(attrtype1),int(attrvalue1), int(attrtype2), int(attrvalue2), int(attrtype3), int(attrvalue3), int(attrtype4), int(attrvalue4), int(attrtype5), int(attrvalue5), int(attrtype6), int(attrvalue6)]
  2969.         elif slot > 240 and slot <= 360:
  2970.             constInfo.GUILDSTORAGE["slots"]["TAB2"][slot-240] = [int(itemVnum),int(count), int(socket0), int(socket1), int(socket2), int(socket3), int(socket4), int(socket5), int(attrtype0),int(attrvalue0), int(attrtype1),int(attrvalue1), int(attrtype2), int(attrvalue2), int(attrtype3), int(attrvalue3), int(attrtype4), int(attrvalue4), int(attrtype5), int(attrvalue5), int(attrtype6), int(attrvalue6)]
  2971.         elif slot > 360 and slot <= 480:
  2972.             constInfo.GUILDSTORAGE["slots"]["TAB3"][slot-360] = [int(itemVnum),int(count), int(socket0), int(socket1), int(socket2), int(socket3), int(socket4), int(socket5), int(attrtype0),int(attrvalue0), int(attrtype1),int(attrvalue1), int(attrtype2), int(attrvalue2), int(attrtype3), int(attrvalue3), int(attrtype4), int(attrvalue4), int(attrtype5), int(attrvalue5), int(attrtype6), int(attrvalue6)]
  2973.         elif slot > 480 and slot <= 600:
  2974.             constInfo.GUILDSTORAGE["slots"]["TAB4"][slot-480] = [int(itemVnum),int(count), int(socket0), int(socket1), int(socket2), int(socket3), int(socket4), int(socket5), int(attrtype0),int(attrvalue0), int(attrtype1),int(attrvalue1), int(attrtype2), int(attrvalue2), int(attrtype3), int(attrvalue3), int(attrtype4), int(attrvalue4), int(attrtype5), int(attrvalue5), int(attrtype6), int(attrvalue6)]
  2975.         elif slot > 600 and slot <= 720:
  2976.             constInfo.GUILDSTORAGE["slots"]["TAB5"][slot-600] = [int(itemVnum),int(count), int(socket0), int(socket1), int(socket2), int(socket3), int(socket4), int(socket5), int(attrtype0),int(attrvalue0), int(attrtype1),int(attrvalue1), int(attrtype2), int(attrvalue2), int(attrtype3), int(attrvalue3), int(attrtype4), int(attrvalue4), int(attrtype5), int(attrvalue5), int(attrtype6), int(attrvalue6)]
  2977.            
  2978.     def _GuildStorageTempSlotsAdd(self,slot ,itemVnum, count, socket0, socket1, socket2, socket3, socket4, socket5, attrtype0,attrvalue0, attrtype1,attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6):
  2979.         slot = int(slot)
  2980.         if slot <= 120:
  2981.             constInfo.GUILDSTORAGE["tempslots"]["TAB0"][slot] = [int(itemVnum),int(count), int(socket0), int(socket1), int(socket2), int(socket3), int(socket4), int(socket5), int(attrtype0),int(attrvalue0), int(attrtype1),int(attrvalue1), int(attrtype2), int(attrvalue2), int(attrtype3), int(attrvalue3), int(attrtype4), int(attrvalue4), int(attrtype5), int(attrvalue5), int(attrtype6), int(attrvalue6)]
  2982.         elif slot > 120 and slot <= 240:
  2983.             constInfo.GUILDSTORAGE["tempslots"]["TAB1"][slot-120] = [int(itemVnum),int(count), int(socket0), int(socket1), int(socket2), int(socket3), int(socket4), int(socket5), int(attrtype0),int(attrvalue0), int(attrtype1),int(attrvalue1), int(attrtype2), int(attrvalue2), int(attrtype3), int(attrvalue3), int(attrtype4), int(attrvalue4), int(attrtype5), int(attrvalue5), int(attrtype6), int(attrvalue6)]
  2984.         elif slot > 240 and slot <= 360:
  2985.             constInfo.GUILDSTORAGE["tempslots"]["TAB2"][slot-240] = [int(itemVnum),int(count), int(socket0), int(socket1), int(socket2), int(socket3), int(socket4), int(socket5), int(attrtype0),int(attrvalue0), int(attrtype1),int(attrvalue1), int(attrtype2), int(attrvalue2), int(attrtype3), int(attrvalue3), int(attrtype4), int(attrvalue4), int(attrtype5), int(attrvalue5), int(attrtype6), int(attrvalue6)]
  2986.         elif slot > 360 and slot <= 480:
  2987.             constInfo.GUILDSTORAGE["tempslots"]["TAB3"][slot-360] = [int(itemVnum),int(count), int(socket0), int(socket1), int(socket2), int(socket3), int(socket4), int(socket5), int(attrtype0),int(attrvalue0), int(attrtype1),int(attrvalue1), int(attrtype2), int(attrvalue2), int(attrtype3), int(attrvalue3), int(attrtype4), int(attrvalue4), int(attrtype5), int(attrvalue5), int(attrtype6), int(attrvalue6)]
  2988.         elif slot > 480 and slot <= 600:
  2989.             constInfo.GUILDSTORAGE["tempslots"]["TAB4"][slot-480] = [int(itemVnum),int(count), int(socket0), int(socket1), int(socket2), int(socket3), int(socket4), int(socket5), int(attrtype0),int(attrvalue0), int(attrtype1),int(attrvalue1), int(attrtype2), int(attrvalue2), int(attrtype3), int(attrvalue3), int(attrtype4), int(attrvalue4), int(attrtype5), int(attrvalue5), int(attrtype6), int(attrvalue6)]
  2990.         elif slot > 600 and slot <= 720:
  2991.             constInfo.GUILDSTORAGE["tempslots"]["TAB5"][slot-600] = [int(itemVnum),int(count), int(socket0), int(socket1), int(socket2), int(socket3), int(socket4), int(socket5), int(attrtype0),int(attrvalue0), int(attrtype1),int(attrvalue1), int(attrtype2), int(attrvalue2), int(attrtype3), int(attrvalue3), int(attrtype4), int(attrvalue4), int(attrtype5), int(attrvalue5), int(attrtype6), int(attrvalue6)]
  2992.            
  2993.     def _GuildStorageAddLog(self,id,name,date,type,do,desc):
  2994.         date = date.replace("+-+"," ")
  2995.         desc = desc.replace("+-+"," ")
  2996.         self.interface.GuildStorageWindow.LogsInsert(id,name,date,type,do,desc)
  2997.         constInfo.GUILDSTORAGE["logs"][int(id)] = [name,date,type,do,desc]
  2998.        
  2999.     def _GuildStorageQuestCMD(self):
  3000.         net.SendQuestInputStringPacket(str(constInfo.GUILDSTORAGE["questCMD"]))
  3001.         constInfo.GUILDSTORAGE["questCMD"] = "NULL#"
  3002.    
  3003.     def GuildStorageQID(self, qid):
  3004.         constInfo.GUILDSTORAGE["qid"] = int(qid)
  3005.        
  3006.     def _GuildStorageAddMemberToList(self,memberId,member,authority0,authority1,authority2,authority3):
  3007.         constInfo.GUILDSTORAGE["members"]["member"+memberId] = [member,int(authority0),int(authority1),int(authority2),int(authority3)]
  3008.        
  3009.     def __gkbuild(self, cmd):
  3010.         l = "/"
  3011.         cmd = cmd.split("|")
  3012.         if cmd[0] == "QID":
  3013.             constInfo.GKMANAGER["GKMANAGEQID"] = int(cmd[1])
  3014.         elif cmd[0] == "INFO":
  3015.             if cmd[1] == "1":
  3016.                 constInfo.GKMANAGER["1"] = cmd[2]+l+cmd[3]+l+cmd[4]+l+cmd[5]
  3017.                 constInfo.GKMANAGER["SI"] = 1
  3018.             elif cmd[1] == "2":
  3019.                 constInfo.GKMANAGER["2"] = cmd[2]+l+cmd[3]+l+cmd[4]+l+cmd[5]
  3020.                 constInfo.GKMANAGER["SI"] = 2
  3021.             elif cmd[1] == "3":
  3022.                 constInfo.GKMANAGER["3"] = cmd[2]+l+cmd[3]+l+cmd[4]+l+cmd[5]
  3023.                 constInfo.GKMANAGER["SI"] = 3
  3024.             elif cmd[1] == "4":
  3025.                 constInfo.GKMANAGER["4"] = cmd[2]+l+cmd[3]+l+cmd[4]+l+cmd[5]
  3026.                 constInfo.GKMANAGER["SI"] = 4
  3027.             elif cmd[1] == "5":
  3028.                 constInfo.GKMANAGER["5"] = cmd[2]+l+cmd[3]+l+cmd[4]+l+cmd[5]
  3029.                 constInfo.GKMANAGER["SI"] = 5
  3030.             elif cmd[1] == "6":
  3031.                 constInfo.GKMANAGER["6"] = cmd[2]+l+cmd[3]+l+cmd[4]+l+cmd[5]
  3032.                 constInfo.GKMANAGER["SI"] = 6
  3033.             elif cmd[1] == "7":
  3034.                 constInfo.GKMANAGER["7"] = cmd[2]+l+cmd[3]+l+cmd[4]+l+cmd[5]
  3035.                 constInfo.GKMANAGER["SI"] = 7
  3036.             elif cmd[1] == "8":
  3037.                 constInfo.GKMANAGER["8"] = cmd[2]+l+cmd[3]+l+cmd[4]+l+cmd[5]
  3038.                 constInfo.GKMANAGER["SI"] = 8
  3039.             elif cmd[1] == "9":
  3040.                 constInfo.GKMANAGER["9"] = cmd[2]+l+cmd[3]+l+cmd[4]+l+cmd[5]
  3041.                 constInfo.GKMANAGER["SI"] = 9
  3042.         elif cmd[0] == "OPEN":
  3043.             import uigkman
  3044.             constInfo.GKMANAGER["side"] = 0
  3045.             constInfo.GKMANAGER["sideup"] = 1
  3046.             uigkman.Dialog1().Show()
  3047.         elif cmd[0] == "SIDE":
  3048.             net.SendQuestInputStringPacket(str(constInfo.GKMANAGER["side"]))
  3049.         elif cmd[0] == "INPUT":
  3050.             net.SendQuestInputStringPacket(str(constInfo.GKMANAGER["cmd"]))
  3051.             constInfo.GKMANAGER["cmd"] = ""
  3052.         elif cmd[0] == "BACKSIDE":
  3053.             constInfo.GKMANAGER["side"] = constInfo.GKMANAGER["side"]-1
  3054.            
  3055.     def ClickGuildStorageButton(self):
  3056.         constInfo.GUILDSTORAGE["questCMD"] = 'OPEN'
  3057.         event.QuestButtonClick(int(constInfo.GUILDSTORAGE["qid"]))
  3058.  
  3059.     def __Handelscenter(self, info):
  3060.         CMD = info.split("/")
  3061.         if CMD[0]=="itemvonliste":
  3062.             self.wndHandelscenter.SetPercantage(int(CMD[27]), int(CMD[28]))
  3063.             constInfo.HANDELSCENTER_CONFIG[CMD[1]].append({"id": CMD[2], "vnum" : int(CMD[3]), "anzahl" : CMD[4], "yang" : CMD[5], "owner" : CMD[6], "boni1" : [int(CMD[7]), int(CMD[8])], "boni2" : [int(CMD[9]), int(CMD[10])], "boni3" : [int(CMD[11]), int(CMD[12])], "boni4" : [int(CMD[13]), int(CMD[14])], "boni5" : [int(CMD[15]), int(CMD[16])], "boni6" : [int(CMD[17]), int(CMD[18])], "boni7" : [int(CMD[19]), int(CMD[20])], "socket0" : int(CMD[21]), "socket1" : int(CMD[22]), "socket2" : int(CMD[23]), "socket3" : int(CMD[24]), "socket4" : int(CMD[25]), "socket5" : int(CMD[26])})
  3064.         elif CMD[0]=="logs":
  3065.             constInfo.HANDELSCENTER_CONFIG["LOGS"].append({"owner" : CMD[1], "vnum": CMD[2], "count" : CMD[3], "preis": CMD[4], "buyer":CMD[5], "date": CMD[6]})
  3066.         elif CMD[0]=="finishlogs":
  3067.             self.wndHandelscenter.AddToLog()
  3068.         elif CMD[0]=="yangingui":
  3069.             constInfo.HANDELSCENTER_CONFIG["YANG"] = int(CMD[1])
  3070.         elif CMD[0]=="index":
  3071.             constInfo.HANDELSCENTER_CONFIG["index"] = int(CMD[1])
  3072.         elif CMD[0]=="noitems":
  3073.             constInfo.HANDELSCENTER_CONFIG[CMD[1]] = []
  3074.             self.wndHandelscenter.Scrollbar()
  3075.         elif CMD[0]=="remove":
  3076.             constInfo.HANDELSCENTER_CONFIG[CMD[1]].pop(int(CMD[2]))
  3077.             self.wndHandelscenter.Scrollbar()
  3078.         elif CMD[0]=="input":
  3079.             net.SendQuestInputStringPacket(str(constInfo.HANDELSCENTER_CONFIG["CMD"]))
  3080.         elif CMD[0]=="finishsending":
  3081.             self.wndHandelscenter.Scrollbar()
  3082.         elif CMD[0]=="nologs":
  3083.             self.wndHandelscenter.NoLogs()
  3084.  
  3085.     def __HandelsOpen(self):
  3086.         if  self . wndHandelscenter . IsShow ():
  3087.             self . wndHandelscenter . Open ()
  3088.         else :
  3089.             self . wndHandelscenter . Open ()
  3090.             constInfo . HANDELSCENTER_CONFIG [ "CMD" ]  =  "open"
  3091.             event . QuestButtonClick ( constInfo . HANDELSCENTER_CONFIG [ "index" ])
  3092.  
  3093.            
  3094.     #DEMIRGAME & TURKMMO [P-NEW] PVP SYSTEM
  3095.     def demirvidgame(self, id):
  3096.         import constInfo
  3097.         constInfo.demirvidgame = int(id)
  3098.  
  3099.     def demirongame(self):
  3100.         constInfo.INPUT_IGNORE = 1
  3101.  
  3102.     def demirendgame(self):
  3103.         constInfo.INPUT_IGNORE = 0
  3104.            
  3105.     def demirstartgame(self):
  3106.         net.SendQuestInputStringPacket(str(constInfo.demirstartgame))
  3107.  
  3108.     def demirvid(self, id):
  3109.         constInfo.demirvid = int(id)
  3110.  
  3111.     def demirwsgame(self):
  3112.         net.SendChatPacket("(demirwsgame)")
  3113.         return
  3114.  
  3115.     def demirgogame(self):
  3116.         net.SendChatPacket("(demirgogame)")
  3117.         return
  3118.  
  3119.     def demirwingame(self):
  3120.         net.SendChatPacket("(demirwingame)")
  3121.         return
  3122.     #DEMIRGAME & TURKMMO [P-NEW] PVP SYSTEM
  3123.  
  3124.     # Tombola
  3125.     def __Tombola(self):
  3126.         if FALSE == player.IsObserverMode():
  3127.             self.dlgTombola.Open()
  3128.    
  3129.     # TOMBOLA
  3130.     def __tombola_start(self, qid):
  3131.         constInfo.CMDRESOLVER_QUID = qid
  3132.  
  3133.     def __tombola_info(self, qid):
  3134.         constInfo.TOMBOLA_INFO = qid
  3135.  
  3136.     def __tombola_end(self, qid):
  3137.         constInfo.CMDRESOLVER_QUID2 = qid
  3138.  
  3139.     def __tombola_prepare(self, data):#item_id|item_count|item_id|item_count|item_id|item_count|item_id|item_count
  3140.         self.dlgTombola.OnPrepare(str(data))
  3141.  
  3142.     def __tombola_run(self, data):#toPosition|speedDown
  3143.         self.dlgTombola.OnRun(str(data))
  3144.  
  3145.     # Bonowarka
  3146.     def __ClickBon_Switch(self):
  3147.         if self.wndBonowarka:
  3148.             if self.wndBonowarka.IsShow():
  3149.                 self.wndBonowarka.Hide()
  3150.             else:
  3151.                 self.wndBonowarka.Show()
  3152.  
  3153.     def __MegaMounty(self):
  3154.         if FALSE == player.IsObserverMode():
  3155.             if FALSE == self.dlgMegaMounty.IsShow():
  3156.                 self.dlgMegaMounty.Show()
  3157.                 self.dlgMegaMounty.SetTop()
  3158.             else:
  3159.                 self.dlgMegaMounty.Hide()
  3160.  
  3161.     def __MegaPety(self):
  3162.         if FALSE == player.IsObserverMode():
  3163.             if FALSE == self.dlgMarmury.IsShow():
  3164.                 self.dlgMarmury.Show()
  3165.                 self.dlgMarmury.SetTop()
  3166.             else:
  3167.                 self.dlgMarmury.Hide()
  3168.  
  3169.     def __Bonus(self):
  3170.         if FALSE == player.IsObserverMode():
  3171.             if FALSE == self.dlgBonus.IsShow():
  3172.                 self.dlgBonus.Show()
  3173.                 self.dlgBonus.SetTop()
  3174.             else:
  3175.                 self.dlgBonus.Hide()
  3176.  
  3177.     def __Dziecko(self):
  3178.         if FALSE == player.IsObserverMode():
  3179.             if FALSE == self.dlgDziecko.IsShow():
  3180.                 self.dlgDziecko.Show()
  3181.                 self.dlgDziecko.SetTop()
  3182.             else:
  3183.                 self.dlgDziecko.Hide()
  3184.  
  3185.     # def __Wiki(self):
  3186.         # if FALSE == player.IsObserverMode():
  3187.             # if FALSE == self.dlgWiki.IsShow():
  3188.                 # self.dlgWiki.Show()
  3189.                 # self.dlgWiki.SetTop()
  3190.             # else:
  3191.                 # self.dlgWiki.Hide()
  3192.    
  3193.     def __bonusy(self):
  3194.         if FALSE == player.IsObserverMode():
  3195.             if FALSE == self.dlgBonusy.IsShow():
  3196.                 self.dlgBonusy.Show()
  3197.                 self.dlgBonusy.SetTop()
  3198.             else:
  3199.                 self.dlgBonusy.Hide()
  3200.  
  3201.     # Mini Sklep
  3202.     def __load_mini_sklep(self, qid):
  3203.         constInfo.MINISKLEP = qid
  3204.  
  3205.     # biolog
  3206.     def oddaj(self, qid):
  3207.         constInfo.oddajbiol = int(qid)
  3208.  
  3209.     def biologui(self, arg):
  3210.         data = arg.split("|")
  3211.         constInfo.itembiolog = int(data[0])
  3212.         constInfo.czasbiolog = int(data[1])
  3213.         constInfo.oddane = int(data[2])
  3214.         constInfo.dooddania = int(data[3])
  3215.         constInfo.lvlbiolog = int(data[4])
  3216.    
  3217.     def biologopen(self):
  3218.         self.uibiolog_new_open.Show()
  3219.  
  3220.     def PStonesQuest(self, qid):
  3221.         constInfo.stones_quest = int(qid)
  3222.        
  3223.     def GetInputStart(self):
  3224.         constInfo.INPUT_IGNORE = 1
  3225.  
  3226.     def GetInputStop(self):
  3227.         constInfo.INPUT_IGNORE = 0
  3228.  
  3229.     def GetInput(self):
  3230.         net.SendQuestInputStringPacket(str(constInfo.INPUT_DATA))
  3231.  
  3232.     # Pet System Official
  3233.     def SetPetEvolution(self, evo):
  3234.         petname = ["Spokojny", "Drapieżny", "Dziki", "Wrogi"]
  3235.         self.petmain.SetEvolveName(petname[int(evo)])
  3236.    
  3237.     def SetPetName(self, name):
  3238.         if len(name) > 1 and name != "":
  3239.             self.petmini.Show()
  3240.         self.petmain.SetName(name)
  3241.    
  3242.     def SetPetLevel(self, level):
  3243.         self.petmain.SetLevel(level)
  3244.    
  3245.     def SetPetDuration(self, dur, durt):
  3246.         if int(durt) > 0:
  3247.             self.petmini.SetDuration(dur, durt)
  3248.         self.petmain.SetDuration(dur, durt)
  3249.    
  3250.     def SetPetBonus(self, hp, dif, sp):
  3251.         self.petmain.SetHp(hp)
  3252.         self.petmain.SetDef(dif)
  3253.         self.petmain.SetSp(sp)
  3254.        
  3255.     def SetPetskill(self, slot, idx, lv):
  3256.         if int(lv) > 0:
  3257.             self.petmini.SetSkill(slot, idx, lv)
  3258.         self.petmain.SetSkill(slot, idx, lv)
  3259.         self.affectShower.BINARY_NEW_AddAffect(5400+int(idx),int(constInfo.LASTAFFECT_POINT)+1,int(constInfo.LASTAFFECT_VALUE)+1, 0)
  3260.         if int(slot)==0:
  3261.             constInfo.SKILL_PET1=5400+int(idx)
  3262.         if int(slot)==1:
  3263.             constInfo.SKILL_PET2=5400+int(idx)
  3264.         if int(slot)==2:
  3265.             constInfo.SKILL_PET3=5400+int(idx)
  3266.  
  3267.     def SetPetIcon(self, vnum):
  3268.         if int(vnum) > 0:
  3269.             self.petmini.SetImageSlot(vnum)
  3270.         self.petmain.SetImageSlot(vnum)
  3271.        
  3272.     def SetPetExp(self, exp, expi, exptot):
  3273.         if int(exptot) > 0:
  3274.             self.petmini.SetExperience(exp, expi, exptot)
  3275.         self.petmain.SetExperience(exp, expi, exptot)
  3276.        
  3277.     def PetUnsummon(self):
  3278.         self.petmini.SetDefaultInfo()
  3279.         self.petmini.Close()
  3280.         self.petmain.SetDefaultInfo()
  3281.         self.affectShower.BINARY_NEW_RemoveAffect(int(constInfo.SKILL_PET1),0)
  3282.         self.affectShower.BINARY_NEW_RemoveAffect(int(constInfo.SKILL_PET2),0)
  3283.         self.affectShower.BINARY_NEW_RemoveAffect(int(constInfo.SKILL_PET3),0)
  3284.         constInfo.SKILL_PET1 = 0
  3285.         constInfo.SKILL_PET2 = 0
  3286.         constInfo.SKILL_PET3 = 0
  3287.    
  3288.     def OpenPetMainGui(self):
  3289.         self.petmain.Show()
  3290.         self.petmain.SetTop()
  3291.        
  3292.    
  3293.     def OpenPetIncubator(self, pet_new = 0):
  3294.         import uipetincubatrice
  3295.         self.petinc = uipetincubatrice.PetSystemIncubator(pet_new)
  3296.         self.petinc.Show()
  3297.         self.petinc.SetTop()
  3298.        
  3299.     def OpenPetMini(self):
  3300.         self.petmini.Show()
  3301.         self.petmini.SetTop()
  3302.        
  3303.     def OpenPetFeed(self):
  3304.        
  3305.         self.feedwind = uipetfeed.PetFeedWindow()
  3306.         self.feedwind.Show()
  3307.         self.feedwind.SetTop()
  3308.  
  3309.     def Gift_Show(self):
  3310.         if constInfo.PET_MAIN == 0:
  3311.             self.petmain.Show()
  3312.             constInfo.PET_MAIN =1
  3313.             self.petmain.SetTop()
  3314.         else:
  3315.             self.petmain.Hide()
  3316.             constInfo.PET_MAIN =0
  3317.  
  3318.  
  3319.     # Pet System Official
  3320.  
  3321.     def SetBabyEvolution(self, evo):
  3322.         babyname = ["Niemowlę", "Dziewczynka", "Nastolatka", "Dorosła"]
  3323.     #   babyname = ["Niemowlę", "Chłopiec", "Nastolatek", "Dorosły"]
  3324.         self.babymain.SetEvolveName(babyname[int(evo)])
  3325.    
  3326.     def SetBabyName(self, name):
  3327.         if len(name) > 1 and name != "":
  3328.             self.babymini.Show()
  3329.         self.babymain.SetName(name)
  3330.    
  3331.     def SetBabyLevel(self, level):
  3332.         self.babymain.SetLevel(level)
  3333.    
  3334.     def SetBabyDuration(self, dur, durt):
  3335.         if int(durt) > 0:
  3336.             self.babymini.SetDuration(dur, durt)
  3337.         self.babymain.SetDuration(dur, durt)
  3338.    
  3339.     def SetBabyBonus(self, hp, dif, sp):
  3340.         self.babymain.SetHp(hp)
  3341.         self.babymain.SetDef(dif)
  3342.         self.babymain.SetSp(sp)
  3343.        
  3344.     def SetBabyskill(self, slot, idx, lv):
  3345.         if int(lv) > 0:
  3346.             self.babymini.SetSkill(slot, idx, lv)
  3347.         self.babymain.SetSkill(slot, idx, lv)
  3348.         self.affectShower.BINARY_NEW_AddAffect(5500+int(idx),int(constInfo.BABYLASTAFFECT_POINT)+1,int(constInfo.BABYLASTAFFECT_VALUE)+1, 0)
  3349.         if int(slot)==0:
  3350.             constInfo.SKILL_BABY1=5500+int(idx)
  3351.         if int(slot)==1:
  3352.             constInfo.SKILL_BABY2=5500+int(idx)
  3353.         if int(slot)==2:
  3354.             constInfo.SKILL_BABY3=5500+int(idx)
  3355.  
  3356.     def SetBabyIcon(self, vnum):
  3357.         if int(vnum) > 0:
  3358.             self.babymini.SetImageSlot(vnum)
  3359.         self.babymain.SetImageSlot(vnum)
  3360.        
  3361.     def SetBabyExp(self, exp, expi, exptot):
  3362.         if int(exptot) > 0:
  3363.             self.babymini.SetExperience(exp, expi, exptot)
  3364.         self.babymain.SetExperience(exp, expi, exptot)
  3365.        
  3366.     def BabyUnsummon(self):
  3367.         self.babymini.SetDefaultInfo()
  3368.         self.babymini.Close()
  3369.         self.babymain.SetDefaultInfo()
  3370.         self.affectShower.BINARY_NEW_RemoveAffect(int(constInfo.SKILL_BABY1),0)
  3371.         self.affectShower.BINARY_NEW_RemoveAffect(int(constInfo.SKILL_BABY2),0)
  3372.         self.affectShower.BINARY_NEW_RemoveAffect(int(constInfo.SKILL_BABY3),0)
  3373.         constInfo.SKILL_BABY1 = 0
  3374.         constInfo.SKILL_BABY2 = 0
  3375.         constInfo.SKILL_BABY3 = 0
  3376.    
  3377.     def OpenBabyMainGui(self):
  3378.         self.babymain.Show()
  3379.         self.babymain.SetTop()
  3380.        
  3381.    
  3382.     def OpenBabyIncubator(self, baby_new = 0):
  3383.         import uibabyincubatrice
  3384.         self.babyinc = uibabyincubatrice.BabySystemIncubator(baby_new)
  3385.         self.babyinc.Show()
  3386.         self.babyinc.SetTop()
  3387.        
  3388.     def OpenBabyMini(self):
  3389.         self.babymini.Show()
  3390.         self.babymini.SetTop()
  3391.        
  3392.     def OpenBabyFeed(self):
  3393.        
  3394.         self.babyfeedwind = uibabyfeed.BabyFeedWindow()
  3395.         self.babyfeedwind.Show()
  3396.         self.babyfeedwind.SetTop()
  3397.  
  3398.     def BabyGift_Show(self):
  3399.         if constInfo.BABY_MAIN == 0:
  3400.             self.babymain.Show()
  3401.             constInfo.BABY_MAIN =1
  3402.             self.babymain.SetTop()
  3403.         else:
  3404.             self.babymain.Hide()
  3405.             constInfo.BABY_MAIN =0
  3406.  
  3407.     ### PVP ##
  3408.     def __PythonToLua(self, id):
  3409.         constInfo.PYTHONTOLUA = int(id)
  3410.  
  3411.     def __PythonIslem(self, PythonIslem):
  3412.         if PythonIslem == "PYTHONISLEM":
  3413.             net.SendQuestInputStringPacket(constInfo.PYTHONISLEM)
  3414.         elif PythonIslem == "PLAYER_VID":
  3415.             net.SendQuestInputStringPacket(str(constInfo.PLAYER_VID))
  3416.    
  3417.     def __LuaToPython(self, LuaToPython):
  3418.         if LuaToPython.find("#quest_input#") != -1:
  3419.             constInfo.INPUT = 1
  3420.         elif LuaToPython.find("#quest_inputbitir#") != -1:
  3421.             constInfo.INPUT = 0
  3422.         elif LuaToPython.find("#rakip_hp_sp#") != -1:
  3423.             constInfo.PLAYER_HP = LuaToPython.split("|")[1]
  3424.             constInfo.PLAYER_MAX_HP = LuaToPython.split("|")[2]
  3425.             constInfo.PLAYER_SP = LuaToPython.split("|")[3]
  3426.             constInfo.PLAYER_MAX_SP = LuaToPython.split("|")[4]
  3427.     ### PVP ##
  3428.  
  3429.     #### nowe skile za PO ###
  3430.     def SkillsSystemManage(self):
  3431.         self.ManageBG = uimg.AniImageBox()
  3432.         self.ManageBG.AppendImage("illumina/skill_system/lapka_po.tga")
  3433.         self.ManageBG.SetSize(51, 96)
  3434.         #self.ManageBG.SetPosition(6, wndMgr.GetScreenHeight() - 170)
  3435.         self.ManageBG.SetPosition(wndMgr.GetScreenWidth() - 185, 0)
  3436.         self.ManageBG.AddFlag("float")
  3437.         self.ManageBG.Show()
  3438.        
  3439.         self.PointsButton = uimg.Button()
  3440.         self.PointsButton.SetParent(self.ManageBG)
  3441.         self.PointsButton.SetPosition(-3, 11+13)
  3442.         self.PointsButton.SetUpVisual("illumina/skill_system/btn_po_01.tga")
  3443.         self.PointsButton.SetOverVisual("illumina/skill_system/btn_po_02.tga")
  3444.         self.PointsButton.SetDownVisual("illumina/skill_system/btn_po_03.tga")
  3445.         self.PointsButton.SetEvent(uimg.__mem_func__(self.OpenPointsWindow))
  3446.         self.PointsButton.Show()
  3447.         '''
  3448.         self.SkillsButton = uimg.Button()
  3449.         self.SkillsButton.SetParent(self.ManageBG)
  3450.         self.SkillsButton.SetPosition(17, 57+10)
  3451.         self.SkillsButton.SetUpVisual("new_skills_system/manage_interface/skills_button.tga")
  3452.         self.SkillsButton.SetOverVisual("new_skills_system/manage_interface/skills_button_o.tga")
  3453.         self.SkillsButton.SetDownVisual("new_skills_system/manage_interface/skills_button.tga")
  3454.         self.SkillsButton.SetEvent(uimg.__mem_func__(self.OpenSkillsWindow))
  3455.         self.SkillsButton.Show()
  3456.         '''
  3457.    
  3458.     def __QuestPoints(self, value):
  3459.         constInfo.QUESTPOINTS = int(value)
  3460.        
  3461.     def OpenPointsWindow(self):
  3462.         if self.PointsWindowIsOpen == 0:
  3463.             self.PointsBG.Show()
  3464.             self.PointsWindowIsOpen = 1
  3465.         else:
  3466.             self.PointsBG.Hide()
  3467.             self.PointsWindowIsOpen = 0
  3468.    
  3469.     def PointsWindow(self):
  3470.         self.PointsBG = uimg.AniImageBox()
  3471.         self.PointsBG.AppendImage("illumina/skill_system/background_punkty.tga")
  3472.         self.PointsBG.SetSize(210, 181)
  3473.         self.PointsBG.SetPosition(wndMgr.GetScreenWidth() - 400, 0)
  3474.         #self.PointsBG.AddFlag('movable')
  3475.         self.PointsBG.AddFlag("float")
  3476.         self.PointsBG.Hide()
  3477.        
  3478.         self.PointsTitle = uimg.TextLine()
  3479.         self.PointsTitle.SetDefaultFontName()
  3480.         self.PointsTitle.SetParent(self.PointsBG)
  3481.         self.PointsTitle.SetPosition(20+40, 4)
  3482.         self.PointsTitle.SetFontName("Tahoma:12")
  3483.         self.PointsTitle.SetText("|cffe6d0a2Punkty Umiejętności")
  3484.         self.PointsTitle.SetOutline()
  3485.         self.PointsTitle.Show()
  3486.        
  3487.         self.PointsText = uimg.TextLine()
  3488.         self.PointsText.SetDefaultFontName()
  3489.         self.PointsText.SetParent(self.PointsBG)
  3490.         self.PointsText.SetPosition(79-37, 84-52)
  3491.         self.PointsText.SetFontName("Tahoma:12")
  3492.         self.PointsText.SetFontColor(0.9, 0.6, 0.5)
  3493.         self.PointsText.SetText(skills_language.PointsText)
  3494.         self.PointsText.SetOutline()
  3495.         self.PointsText.Show()
  3496.        
  3497.         self.PointsValueText = uimg.TextLine()
  3498.         self.PointsValueText.SetDefaultFontName()
  3499.         self.PointsValueText.SetParent(self.PointsBG)
  3500.         self.PointsValueText.SetPosition(167-40, 84-52)
  3501.         self.PointsValueText.SetFontColor(0.6, 0.9, 0.3)
  3502.         self.PointsValueText.SetFontName("Tahoma:12")
  3503.         self.PointsValueText.SetText("0")
  3504.         self.PointsValueText.SetOutline()
  3505.         self.PointsValueText.Show()
  3506.        
  3507.         self.PointsBar = uimg.AniImageBox()
  3508.         self.PointsBar.AppendImage("illumina/skill_system/pasek_ladowania_po.tga")
  3509.         self.PointsBar.SetParent(self.PointsBG)
  3510.         self.PointsBar.SetPosition(114-48, 145-74)
  3511.         self.PointsBar.SetPercentage(0, 100)
  3512.         self.PointsBar.Show()
  3513.        
  3514.         self.PointsItemInfo = uimg.TextLine()
  3515.         self.PointsItemInfo.SetDefaultFontName()
  3516.         self.PointsItemInfo.SetParent(self.PointsBG)
  3517.         self.PointsItemInfo.SetPosition(114-34, 125-71)
  3518.         self.PointsItemInfo.SetFontColor(1, 0.9, 0.65)
  3519.         self.PointsItemInfo.SetFontName("Tahoma:11")
  3520.         self.PointsItemInfo.SetText(skills_language.ItemInfo + "x0")
  3521.         self.PointsItemInfo.SetOutline()
  3522.         self.PointsItemInfo.Show()
  3523.        
  3524.         self.PointsStatusText = uimg.TextLine()
  3525.         self.PointsStatusText.SetDefaultFontName()
  3526.         self.PointsStatusText.SetParent(self.PointsBG)
  3527.         self.PointsStatusText.SetPosition(92-55, 170-82)
  3528.         self.PointsStatusText.SetFontName("Tahoma:12")
  3529.         self.PointsStatusText.SetOutline()
  3530.         self.PointsStatusText.Show()
  3531.        
  3532.         self.PointsItem = uimg.PointsButton()
  3533.         self.PointsItem.SetParent(self.PointsBG)
  3534.         self.PointsItem.SetPosition(22, 51)
  3535.         self.PointsItem.Hide()
  3536.                
  3537.     def __PointsStatus(self, value):
  3538.         value = int(value)
  3539.         self.PointsStatusText.SetText(skills_language.PointsStatus[value])
  3540.         if value == 0:
  3541.             self.PointsStatusText.SetFontColor(0.9, 0.6, 0.6)
  3542.             self.PointsStatusImg = uimg.AniImageBox()
  3543.             self.PointsStatusImg.SetParent(self.PointsBG)
  3544.             self.PointsStatusImg.AppendImage("illumina/skill_system/status_po_red.tga")
  3545.             self.PointsStatusImg.SetPosition(72-55, 170-82)
  3546.             self.PointsStatusImg.Show()
  3547.         elif value == 1:
  3548.             self.PointsStatusText.SetFontColor(1, 0.7, 0)
  3549.             self.PointsStatusImg = uimg.AniImageBox()
  3550.             self.PointsStatusImg.SetParent(self.PointsBG)
  3551.             self.PointsStatusImg.AppendImage("illumina/skill_system/status_po_yellow.tga")
  3552.             self.PointsStatusImg.SetPosition(72-55, 170-82)
  3553.             self.PointsStatusImg.Show()
  3554.         else:
  3555.             self.PointsStatusText.SetFontColor(0.6, 0.9, 0.3)
  3556.             self.PointsStatusImg = uimg.AniImageBox()
  3557.             self.PointsStatusImg.SetParent(self.PointsBG)
  3558.             self.PointsStatusImg.AppendImage("illumina/skill_system/status_po_green.tga")
  3559.             self.PointsStatusImg.SetPosition(72-55, 170-82)
  3560.             self.PointsStatusImg.Show()
  3561.            
  3562.     def __PointsItem(self, value):
  3563.         vnum_item = int(value)
  3564.         if vnum_item == 0:
  3565.             self.PointsItem.Hide()
  3566.             self.PointsItemInfo.SetText(skills_language.ItemInfo + "x0")
  3567.             self.PointsBar.SetPercentage(0, 100)
  3568.         else:
  3569.             if vnum_item >= 10901 and vnum_item <= 10910:
  3570.                 self.PointsItem = uimg.PointsButton()
  3571.                 self.PointsItem.SetParent(self.PointsBG)
  3572.                 self.PointsItem.SetPosition(22, 51)
  3573.                 self.PointsItem.SetUpVisual("icon/inne/item_po_01.tga")
  3574.                 self.PointsItem.SetOverVisual("icon/inne/item_po_01.tga")
  3575.                 self.PointsItem.SetDownVisual("icon/inne/item_po_01.tga")
  3576.                 self.PointsItem.Show()
  3577.                 self.PointsItemInfo.SetText(skills_language.ItemInfo + "x1")
  3578.             elif vnum_item >= 10911 and vnum_item <= 10920:
  3579.                 self.PointsItem = uimg.PointsButton()
  3580.                 self.PointsItem.SetParent(self.PointsBG)
  3581.                 self.PointsItem.SetPosition(22, 51)
  3582.                 self.PointsItem.SetUpVisual("icon/inne/item_po_02.tga")
  3583.                 self.PointsItem.SetOverVisual("icon/inne/item_po_02.tga")
  3584.                 self.PointsItem.SetDownVisual("icon/inne/item_po_02.tga")
  3585.                 self.PointsItem.Show()
  3586.                 self.PointsItemInfo.SetText(skills_language.ItemInfo + "x2")
  3587.             elif vnum_item >= 10921 and vnum_item <= 10930:
  3588.                 self.PointsItem = uimg.PointsButton()
  3589.                 self.PointsItem.SetParent(self.PointsBG)
  3590.                 self.PointsItem.SetPosition(22, 51)
  3591.                 self.PointsItem.SetUpVisual("icon/inne/item_po_03.tga")
  3592.                 self.PointsItem.SetOverVisual("icon/inne/item_po_03.tga")
  3593.                 self.PointsItem.SetDownVisual("icon/inne/item_po_03.tga")
  3594.                 self.PointsItem.Show()
  3595.                 self.PointsItemInfo.SetText(skills_language.ItemInfo + "x3")
  3596.                
  3597.             if vnum_item == 10901 or vnum_item == 10911 or vnum_item == 10921:
  3598.                 self.PointsItem.SetFormToolTipText("TEXT", "Pozosta?: 0-10%", 0, -17)
  3599.                 self.PointsBar.SetPercentage(10, 100)
  3600.             elif vnum_item == 10902 or vnum_item == 10912 or vnum_item == 10922:
  3601.                 self.PointsItem.SetFormToolTipText("TEXT", "Pozosta?: 10-20%", 0, -17)
  3602.                 self.PointsBar.SetPercentage(20, 100)
  3603.             elif vnum_item == 10903 or vnum_item == 10913 or vnum_item == 10923:
  3604.                 self.PointsItem.SetFormToolTipText("TEXT", "Pozosta?: 20-30%", 0, -17)
  3605.                 self.PointsBar.SetPercentage(30, 100)
  3606.             elif vnum_item == 10904 or vnum_item == 10914 or vnum_item == 10924:
  3607.                 self.PointsItem.SetFormToolTipText("TEXT", "Pozosta?: 30-40%", 0, -17)
  3608.                 self.PointsBar.SetPercentage(40, 100)
  3609.             elif vnum_item == 10905 or vnum_item == 10915 or vnum_item == 10925:
  3610.                 self.PointsItem.SetFormToolTipText("TEXT", "Pozosta?: 40-50%", 0, -17)
  3611.                 self.PointsBar.SetPercentage(50, 100)
  3612.             elif vnum_item == 10906 or vnum_item == 10916 or vnum_item == 10926:
  3613.                 self.PointsItem.SetFormToolTipText("TEXT", "Pozosta?: 50-60%", 0, -17)
  3614.                 self.PointsBar.SetPercentage(60, 100)
  3615.             elif vnum_item == 10907 or vnum_item == 10917 or vnum_item == 10927:
  3616.                 self.PointsItem.SetFormToolTipText("TEXT", "Pozosta?: 60-70%", 0, -17)
  3617.                 self.PointsBar.SetPercentage(70, 100)
  3618.             elif vnum_item == 10908 or vnum_item == 10918 or vnum_item == 10928:
  3619.                 self.PointsItem.SetFormToolTipText("TEXT", "Pozosta?: 70-80%", 0, -17)
  3620.                 self.PointsBar.SetPercentage(80, 100)
  3621.             elif vnum_item == 10909 or vnum_item == 10919 or vnum_item == 10929:
  3622.                 self.PointsItem.SetFormToolTipText("TEXT", "Pozosta?: 80-90%", 0, -17)
  3623.                 self.PointsBar.SetPercentage(90, 100)
  3624.             elif vnum_item == 10910 or vnum_item == 10920 or vnum_item == 10930:
  3625.                 self.PointsItem.SetFormToolTipText("TEXT", "Pozosta?: 90-100%", 0, -17)
  3626.                 self.PointsBar.SetPercentage(100, 100)
  3627.                
  3628.     def __PointsValue(self, value):
  3629.         self.PointsValueText.SetText(value)
  3630.        
  3631.     def OpenSkillsWindow(self):
  3632.         if self.SkillsWindowIsOpen == 0:
  3633.             self.SkillsBG.Show()
  3634.             self.SkillsWindowIsOpen = 1
  3635.         else:
  3636.             self.SkillsBG.Hide()
  3637.             self.SkillsWindowIsOpen = 0
  3638.        
  3639.     def SkillsWindow(self):
  3640.         self.SkillsBG = uimg.AniImageBox()
  3641.         self.SkillsBG.AppendImage("illumina/skill_system/background.tga")
  3642.         self.SkillsBG.SetSize(416, 283)
  3643.         self.SkillsBG.SetPosition(wndMgr.GetScreenWidth()/2-193, wndMgr.GetScreenHeight()/2 - 135)
  3644.         self.SkillsBG.AddFlag('movable')
  3645.         self.SkillsBG.AddFlag("float")
  3646.         self.SkillsBG.Hide()
  3647.        
  3648.         self.SkillsClose = uimg.Button()
  3649.         self.SkillsClose.SetParent(self.SkillsBG)
  3650.         self.SkillsClose.SetPosition(350+30, 15+1)
  3651.         self.SkillsClose.SetUpVisual("illumina/skill_system/close_01.tga")
  3652.         self.SkillsClose.SetOverVisual("illumina/skill_system/close_02.tga")
  3653.         self.SkillsClose.SetDownVisual("illumina/skill_system/close_03.tga")
  3654.         self.SkillsClose.SetEvent(uimg.__mem_func__(self.OpenSkillsWindow))
  3655.         self.SkillsClose.Show()
  3656.        
  3657.         self.SkillsBar = uimg.AniImageBox()
  3658.         self.SkillsBar.AppendImage("illumina/skill_system/pasek_ladowania.tga")
  3659.         self.SkillsBar.SetParent(self.SkillsBG)
  3660.         self.SkillsBar.SetPosition(32-10, 257-3)
  3661.         self.SkillsBar.SetPercentage(100, 100)
  3662.         self.SkillsBar.Show()
  3663.        
  3664.         self.SkillBarStatus = uimg.TextLine()
  3665.         self.SkillBarStatus.SetDefaultFontName()
  3666.         self.SkillBarStatus.SetParent(self.SkillsBG)
  3667.         self.SkillBarStatus.SetPosition(186-13, 267-30)
  3668.         self.SkillBarStatus.SetFontColor(0.8, 0.7, 0.6)
  3669.         self.SkillBarStatus.SetFontName("Tahoma:12")
  3670.         self.SkillBarStatus.SetText("0/100")
  3671.         self.SkillBarStatus.SetOutline()
  3672.         self.SkillBarStatus.Show()
  3673.        
  3674.         self.SkillBarTitle = uimg.TextLine()
  3675.         self.SkillBarTitle.SetDefaultFontName()
  3676.         self.SkillBarTitle.SetParent(self.SkillsBG)
  3677.         self.SkillBarTitle.SetPosition(186-13-10, 267-30-20)
  3678.         self.SkillBarTitle.SetText("|cffe6d0a2Energia Boga Anarchii")
  3679.         self.SkillBarTitle.SetOutline()
  3680.         self.SkillBarTitle.Show()
  3681.        
  3682.         self.SkillTitle = uimg.TextLine()
  3683.         self.SkillTitle.SetDefaultFontName()
  3684.         self.SkillTitle.SetParent(self.SkillsBG)
  3685.         self.SkillTitle.SetPosition(186-13-10-3, 13+9)
  3686.         self.SkillTitle.SetText("|cffe6d0a2Anarchiczne Umiejętności")
  3687.         self.SkillTitle.SetOutline()
  3688.         self.SkillTitle.Show()
  3689.        
  3690.         ###### SKILLS ######
  3691.        
  3692.         self.Skill1Button = uimg.Button()
  3693.         self.Skill1Button.SetParent(self.SkillsBG)
  3694.         self.Skill1Button.SetPosition(34-9, 90-19)
  3695.         self.Skill1Button.SetUpVisual("illumina/skill_system/skille/skil1_a.tga")
  3696.         self.Skill1Button.SetOverVisual("illumina/skill_system/skille/skil1_b.tga")
  3697.         self.Skill1Button.SetDownVisual("illumina/skill_system/skille/skil1_c.tga")
  3698.         self.Skill1Button.SetEvent(lambda arg=1: self.InfoSkill(arg))
  3699.         self.Skill1Button.Show()
  3700.        
  3701.         self.Skill2Button = uimg.Button()
  3702.         self.Skill2Button.SetParent(self.SkillsBG)
  3703.         self.Skill2Button.SetPosition(144+7, 90-19)
  3704.         self.Skill2Button.SetUpVisual("illumina/skill_system/skille/skil2_a.tga")
  3705.         self.Skill2Button.SetOverVisual("illumina/skill_system/skille/skil2_b.tga")
  3706.         self.Skill2Button.SetDownVisual("illumina/skill_system/skille/skil2_c.tga")
  3707.         self.Skill2Button.SetEvent(lambda arg=2: self.InfoSkill(arg))
  3708.         self.Skill2Button.Show()
  3709.        
  3710.         self.Skill3Button = uimg.Button()
  3711.         self.Skill3Button.SetParent(self.SkillsBG)
  3712.         self.Skill3Button.SetPosition(254+23, 90-19)
  3713.         self.Skill3Button.SetUpVisual("illumina/skill_system/skille/skil11_a.tga")
  3714.         self.Skill3Button.SetOverVisual("illumina/skill_system/skille/skil11_b.tga")
  3715.         self.Skill3Button.SetDownVisual("illumina/skill_system/skille/skil11_c.tga")
  3716.         self.Skill3Button.SetEvent(lambda arg=3: self.InfoSkill(arg))
  3717.         self.Skill3Button.Show()
  3718.        
  3719.         self.Skill4Button = uimg.Button()
  3720.         self.Skill4Button.SetParent(self.SkillsBG)
  3721.         self.Skill4Button.SetPosition(34-9, 180-26)
  3722.         self.Skill4Button.SetUpVisual("illumina/skill_system/skille/skil4_a.tga")
  3723.         self.Skill4Button.SetOverVisual("illumina/skill_system/skille/skil4_b.tga")
  3724.         self.Skill4Button.SetDownVisual("illumina/skill_system/skille/skil4_c.tga")
  3725.         self.Skill4Button.SetEvent(lambda arg=4: self.InfoSkill(arg))
  3726.         self.Skill4Button.Show()
  3727.        
  3728.         self.Skill5Button = uimg.Button()
  3729.         self.Skill5Button.SetParent(self.SkillsBG)
  3730.         self.Skill5Button.SetPosition(144+7, 180-26)
  3731.         self.Skill5Button.SetUpVisual("illumina/skill_system/skille/skil7_a.tga")
  3732.         self.Skill5Button.SetOverVisual("illumina/skill_system/skille/skil7_b.tga")
  3733.         self.Skill5Button.SetDownVisual("illumina/skill_system/skille/skil7_c.tga")
  3734.         self.Skill5Button.SetEvent(lambda arg=5: self.InfoSkill(arg))
  3735.         self.Skill5Button.Show()
  3736.        
  3737.         self.Skill6Button = uimg.Button()
  3738.         self.Skill6Button.SetParent(self.SkillsBG)
  3739.         self.Skill6Button.SetPosition(254+23, 180-26)
  3740.         self.Skill6Button.SetUpVisual("illumina/skill_system/skille/skil10_a.tga")
  3741.         self.Skill6Button.SetOverVisual("illumina/skill_system/skille/skil10_b.tga")
  3742.         self.Skill6Button.SetDownVisual("illumina/skill_system/skille/skil10_c.tga")
  3743.         self.Skill6Button.SetEvent(lambda arg=6: self.InfoSkill(arg))
  3744.         self.Skill6Button.Show()
  3745.        
  3746.         self.Skill1Name = uimg.TextLine()
  3747.         self.Skill1Name.SetDefaultFontName()
  3748.         self.Skill1Name.SetParent(self.SkillsBG)
  3749.         self.Skill1Name.SetPosition(39-13, 72-18)
  3750.         self.Skill1Name.SetFontColor(0.8, 0.7, 0.6)
  3751.         self.Skill1Name.SetFontName("Tahoma:12")
  3752.         self.Skill1Name.SetText(skills_language.SkillName[1])
  3753.         self.Skill1Name.SetOutline()
  3754.         self.Skill1Name.Show()
  3755.        
  3756.         self.Skill2Name = uimg.TextLine()
  3757.         self.Skill2Name.SetDefaultFontName()
  3758.         self.Skill2Name.SetParent(self.SkillsBG)
  3759.         self.Skill2Name.SetPosition(149+3, 72-18)
  3760.         self.Skill2Name.SetFontColor(0.8, 0.7, 0.6)
  3761.         self.Skill2Name.SetFontName("Tahoma:12")
  3762.         self.Skill2Name.SetText(skills_language.SkillName[2])
  3763.         self.Skill2Name.SetOutline()
  3764.         self.Skill2Name.Show()
  3765.        
  3766.         self.Skill3Name = uimg.TextLine()
  3767.         self.Skill3Name.SetDefaultFontName()
  3768.         self.Skill3Name.SetParent(self.SkillsBG)
  3769.         self.Skill3Name.SetPosition(259+19, 72-18)
  3770.         self.Skill3Name.SetFontColor(0.8, 0.7, 0.6)
  3771.         self.Skill3Name.SetFontName("Tahoma:12")
  3772.         self.Skill3Name.SetText(skills_language.SkillName[3])
  3773.         self.Skill3Name.SetOutline()
  3774.         self.Skill3Name.Show()
  3775.        
  3776.         self.Skill4Name = uimg.TextLine()
  3777.         self.Skill4Name.SetDefaultFontName()
  3778.         self.Skill4Name.SetParent(self.SkillsBG)
  3779.         self.Skill4Name.SetPosition(39-13, 162-25)
  3780.         self.Skill4Name.SetFontColor(0.8, 0.7, 0.6)
  3781.         self.Skill4Name.SetFontName("Tahoma:12")
  3782.         self.Skill4Name.SetText(skills_language.SkillName[4])
  3783.         self.Skill4Name.SetOutline()
  3784.         self.Skill4Name.Show()
  3785.        
  3786.         self.Skill5Name = uimg.TextLine()
  3787.         self.Skill5Name.SetDefaultFontName()
  3788.         self.Skill5Name.SetParent(self.SkillsBG)
  3789.         self.Skill5Name.SetPosition(149+3, 162-25)
  3790.         self.Skill5Name.SetFontColor(0.8, 0.7, 0.6)
  3791.         self.Skill5Name.SetFontName("Tahoma:12")
  3792.         self.Skill5Name.SetText(skills_language.SkillName[5])
  3793.         self.Skill5Name.SetOutline()
  3794.         self.Skill5Name.Show()
  3795.        
  3796.         self.Skill6Name = uimg.TextLine()
  3797.         self.Skill6Name.SetDefaultFontName()
  3798.         self.Skill6Name.SetParent(self.SkillsBG)
  3799.         self.Skill6Name.SetPosition(259+19, 162-25)
  3800.         self.Skill6Name.SetFontColor(0.8, 0.7, 0.6)
  3801.         self.Skill6Name.SetFontName("Tahoma:12")
  3802.         self.Skill6Name.SetText(skills_language.SkillName[6])
  3803.         self.Skill6Name.SetOutline()
  3804.         self.Skill6Name.Show()
  3805.        
  3806.         self.Skill1Level = uimg.TextLine()
  3807.         self.Skill1Level.SetDefaultFontName()
  3808.         self.Skill1Level.SetParent(self.SkillsBG)
  3809.         self.Skill1Level.SetPosition(92-8, 89-18)
  3810.         self.Skill1Level.SetFontColor(0.9, 0.4, 0.4)
  3811.         self.Skill1Level.SetFontName("Tahoma:12")
  3812.         self.Skill1Level.SetOutline()
  3813.         self.Skill1Level.Show()
  3814.        
  3815.         self.Skill2Level = uimg.TextLine()
  3816.         self.Skill2Level.SetDefaultFontName()
  3817.         self.Skill2Level.SetParent(self.SkillsBG)
  3818.         self.Skill2Level.SetPosition(202+8, 89-18)
  3819.         self.Skill2Level.SetFontColor(0.9, 0.4, 0.4)
  3820.         self.Skill2Level.SetFontName("Tahoma:12")
  3821.         self.Skill2Level.SetOutline()
  3822.         self.Skill2Level.Show()
  3823.        
  3824.         self.Skill3Level = uimg.TextLine()
  3825.         self.Skill3Level.SetDefaultFontName()
  3826.         self.Skill3Level.SetParent(self.SkillsBG)
  3827.         self.Skill3Level.SetPosition(312+24, 89-18)
  3828.         self.Skill3Level.SetFontColor(0.9, 0.4, 0.4)
  3829.         self.Skill3Level.SetFontName("Tahoma:12")
  3830.         self.Skill3Level.SetOutline()
  3831.         self.Skill3Level.Show()
  3832.        
  3833.         self.Skill4Level = uimg.TextLine()
  3834.         self.Skill4Level.SetDefaultFontName()
  3835.         self.Skill4Level.SetParent(self.SkillsBG)
  3836.         self.Skill4Level.SetPosition(92-8, 179-25)
  3837.         self.Skill4Level.SetFontColor(0.9, 0.4, 0.4)
  3838.         self.Skill4Level.SetFontName("Tahoma:12")
  3839.         self.Skill4Level.SetOutline()
  3840.         self.Skill4Level.Show()
  3841.        
  3842.         self.Skill5Level = uimg.TextLine()
  3843.         self.Skill5Level.SetDefaultFontName()
  3844.         self.Skill5Level.SetParent(self.SkillsBG)
  3845.         self.Skill5Level.SetPosition(202+8, 179-25)
  3846.         self.Skill5Level.SetFontColor(0.9, 0.4, 0.4)
  3847.         self.Skill5Level.SetFontName("Tahoma:12")
  3848.         self.Skill5Level.SetOutline()
  3849.         self.Skill5Level.Show()
  3850.        
  3851.         self.Skill6Level = uimg.TextLine()
  3852.         self.Skill6Level.SetDefaultFontName()
  3853.         self.Skill6Level.SetParent(self.SkillsBG)
  3854.         self.Skill6Level.SetPosition(312+24, 179-25)
  3855.         self.Skill6Level.SetFontColor(0.9, 0.4, 0.4)
  3856.         self.Skill6Level.SetFontName("Tahoma:12")
  3857.         self.Skill6Level.SetOutline()
  3858.         self.Skill6Level.Show()
  3859.        
  3860.         self.Skill1Points = uimg.TextLine()
  3861.         self.Skill1Points.SetDefaultFontName()
  3862.         self.Skill1Points.SetParent(self.SkillsBG)
  3863.         self.Skill1Points.SetPosition(92-8, 106-22)
  3864.         self.Skill1Points.SetFontColor(1, 0.6, 0.3)
  3865.         self.Skill1Points.SetFontName("Tahoma:12")
  3866.         self.Skill1Points.SetOutline()
  3867.         self.Skill1Points.Show()
  3868.        
  3869.         self.Skill2Points = uimg.TextLine()
  3870.         self.Skill2Points.SetDefaultFontName()
  3871.         self.Skill2Points.SetParent(self.SkillsBG)
  3872.         self.Skill2Points.SetPosition(202+8, 106-22)
  3873.         self.Skill2Points.SetFontColor(1, 0.6, 0.3)
  3874.         self.Skill2Points.SetFontName("Tahoma:12")
  3875.         self.Skill2Points.SetOutline()
  3876.         self.Skill2Points.Show()
  3877.        
  3878.         self.Skill3Points = uimg.TextLine()
  3879.         self.Skill3Points.SetDefaultFontName()
  3880.         self.Skill3Points.SetParent(self.SkillsBG)
  3881.         self.Skill3Points.SetPosition(312+24, 106-22)
  3882.         self.Skill3Points.SetFontColor(1, 0.6, 0.3)
  3883.         self.Skill3Points.SetFontName("Tahoma:12")
  3884.         self.Skill3Points.SetOutline()
  3885.         self.Skill3Points.Show()
  3886.        
  3887.         self.Skill4Points = uimg.TextLine()
  3888.         self.Skill4Points.SetDefaultFontName()
  3889.         self.Skill4Points.SetParent(self.SkillsBG)
  3890.         self.Skill4Points.SetPosition(92-8, 196-29)
  3891.         self.Skill4Points.SetFontColor(1, 0.6, 0.3)
  3892.         self.Skill4Points.SetFontName("Tahoma:12")
  3893.         self.Skill4Points.SetOutline()
  3894.         self.Skill4Points.Show()
  3895.        
  3896.         self.Skill5Points = uimg.TextLine()
  3897.         self.Skill5Points.SetDefaultFontName()
  3898.         self.Skill5Points.SetParent(self.SkillsBG)
  3899.         self.Skill5Points.SetPosition(202+8, 196-29)
  3900.         self.Skill5Points.SetFontColor(1, 0.6, 0.3)
  3901.         self.Skill5Points.SetFontName("Tahoma:12")
  3902.         self.Skill5Points.SetOutline()
  3903.         self.Skill5Points.Show()
  3904.        
  3905.         self.Skill6Points = uimg.TextLine()
  3906.         self.Skill6Points.SetDefaultFontName()
  3907.         self.Skill6Points.SetParent(self.SkillsBG)
  3908.         self.Skill6Points.SetPosition(312+24, 196-29)
  3909.         self.Skill6Points.SetFontColor(1, 0.6, 0.3)
  3910.         self.Skill6Points.SetFontName("Tahoma:12")
  3911.         self.Skill6Points.SetOutline()
  3912.         self.Skill6Points.Show()
  3913.        
  3914.         self.Skill1PlusButton = uimg.Button()
  3915.         self.Skill1PlusButton.SetParent(self.SkillsBG)
  3916.         self.Skill1PlusButton.SetPosition(92-11, 125-25)
  3917.         self.Skill1PlusButton.SetUpVisual("illumina/skill_system/btn_plus_01.tga")
  3918.         self.Skill1PlusButton.SetOverVisual("illumina/skill_system/btn_plus_02.tga")
  3919.         self.Skill1PlusButton.SetDownVisual("illumina/skill_system/btn_plus_03.tga")
  3920.         self.Skill1PlusButton.SetText("|cffe6d0a2Ulepsz")
  3921.         self.Skill1PlusButton.SetEvent(lambda arg=1: self.SkillPlus(arg))
  3922.         self.Skill1PlusButton.Show()
  3923.        
  3924.         self.Skill2PlusButton = uimg.Button()
  3925.         self.Skill2PlusButton.SetParent(self.SkillsBG)
  3926.         self.Skill2PlusButton.SetPosition(202+5, 125-25)
  3927.         self.Skill2PlusButton.SetUpVisual("illumina/skill_system/btn_plus_01.tga")
  3928.         self.Skill2PlusButton.SetOverVisual("illumina/skill_system/btn_plus_02.tga")
  3929.         self.Skill2PlusButton.SetDownVisual("illumina/skill_system/btn_plus_03.tga")
  3930.         self.Skill2PlusButton.SetText("|cffe6d0a2Ulepsz")
  3931.         self.Skill2PlusButton.SetEvent(lambda arg=2: self.SkillPlus(arg))
  3932.         self.Skill2PlusButton.Show()
  3933.        
  3934.         self.Skill3PlusButton = uimg.Button()
  3935.         self.Skill3PlusButton.SetParent(self.SkillsBG)
  3936.         self.Skill3PlusButton.SetPosition(312+21, 125-25)
  3937.         self.Skill3PlusButton.SetUpVisual("illumina/skill_system/btn_plus_01.tga")
  3938.         self.Skill3PlusButton.SetOverVisual("illumina/skill_system/btn_plus_02.tga")
  3939.         self.Skill3PlusButton.SetDownVisual("illumina/skill_system/btn_plus_03.tga")
  3940.         self.Skill3PlusButton.SetText("|cffe6d0a2Ulepsz")
  3941.         self.Skill3PlusButton.SetEvent(lambda arg=3: self.SkillPlus(arg))
  3942.         self.Skill3PlusButton.Show()
  3943.        
  3944.         self.Skill4PlusButton = uimg.Button()
  3945.         self.Skill4PlusButton.SetParent(self.SkillsBG)
  3946.         self.Skill4PlusButton.SetPosition(92-11, 215-32)
  3947.         self.Skill4PlusButton.SetUpVisual("illumina/skill_system/btn_plus_01.tga")
  3948.         self.Skill4PlusButton.SetOverVisual("illumina/skill_system/btn_plus_02.tga")
  3949.         self.Skill4PlusButton.SetDownVisual("illumina/skill_system/btn_plus_03.tga")
  3950.         self.Skill4PlusButton.SetText("|cffe6d0a2Ulepsz")
  3951.         self.Skill4PlusButton.SetEvent(lambda arg=4: self.SkillPlus(arg))
  3952.         self.Skill4PlusButton.Show()
  3953.        
  3954.         self.Skill5PlusButton = uimg.Button()
  3955.         self.Skill5PlusButton.SetParent(self.SkillsBG)
  3956.         self.Skill5PlusButton.SetPosition(202+5, 215-32)
  3957.         self.Skill5PlusButton.SetUpVisual("illumina/skill_system/btn_plus_01.tga")
  3958.         self.Skill5PlusButton.SetOverVisual("illumina/skill_system/btn_plus_02.tga")
  3959.         self.Skill5PlusButton.SetDownVisual("illumina/skill_system/btn_plus_03.tga")
  3960.         self.Skill5PlusButton.SetText("|cffe6d0a2Ulepsz")
  3961.         self.Skill5PlusButton.SetEvent(lambda arg=5: self.SkillPlus(arg))
  3962.         self.Skill5PlusButton.Show()
  3963.        
  3964.         self.Skill6PlusButton = uimg.Button()
  3965.         self.Skill6PlusButton.SetParent(self.SkillsBG)
  3966.         self.Skill6PlusButton.SetPosition(312+21, 215-32)
  3967.         self.Skill6PlusButton.SetUpVisual("illumina/skill_system/btn_plus_01.tga")
  3968.         self.Skill6PlusButton.SetOverVisual("illumina/skill_system/btn_plus_02.tga")
  3969.         self.Skill6PlusButton.SetDownVisual("illumina/skill_system/btn_plus_03.tga")
  3970.         self.Skill6PlusButton.SetText("|cffe6d0a2Ulepsz")
  3971.         self.Skill6PlusButton.SetEvent(lambda arg=6: self.SkillPlus(arg))
  3972.         self.Skill6PlusButton.Show()
  3973.        
  3974.         self.InfoSkillsWindow()
  3975.         self.SkillActivatedWnd()
  3976.        
  3977.     def CloseInfoSkillsWindow(self):
  3978.         self.InfoSkillsBG.Hide()
  3979.         self.SkillInfo = 0
  3980.         self.SkillsBG.SetSize(387, 290)
  3981.    
  3982.     def InfoSkillsWindow(self):
  3983.         self.InfoSkillsBG = uimg.AniImageBox()
  3984.         self.InfoSkillsBG.SetParent(self.SkillsBG)
  3985.         self.InfoSkillsBG.AppendImage("illumina/skill_system/background_info.tga")
  3986.         self.InfoSkillsBG.SetSize(204, 253)
  3987.         self.InfoSkillsBG.SetPosition(387+19, 25-9)
  3988.         self.InfoSkillsBG.AddFlag("float")
  3989.         self.InfoSkillsBG.Hide()
  3990.        
  3991.         self.InfoSkillsClose = uimg.Button()
  3992.         self.InfoSkillsClose.SetParent(self.InfoSkillsBG)
  3993.         self.InfoSkillsClose.SetPosition(183-15, 16)
  3994.         self.InfoSkillsClose.SetUpVisual("illumina/skill_system/close_01.tga")
  3995.         self.InfoSkillsClose.SetOverVisual("illumina/skill_system/close_02.tga")
  3996.         self.InfoSkillsClose.SetDownVisual("illumina/skill_system/close_03.tga")
  3997.         self.InfoSkillsClose.SetEvent(uimg.__mem_func__(self.CloseInfoSkillsWindow))
  3998.         self.InfoSkillsClose.Show()
  3999.        
  4000.         self.ActivationSkill = uimg.Button()
  4001.         self.ActivationSkill.SetParent(self.InfoSkillsBG)
  4002.         self.ActivationSkill.SetPosition(37, 173+40)
  4003.         self.ActivationSkill.SetUpVisual("illumina/inne/btn_kod2_01.tga")
  4004.         self.ActivationSkill.SetOverVisual("illumina/inne/btn_kod2_02.tga")
  4005.         self.ActivationSkill.SetDownVisual("illumina/inne/btn_kod2_03.tga")
  4006.         #self.ActivationSkill.SetText("|cffe6d0a2Aktywuj")
  4007.         self.ActivationSkill.SetEvent(uimg.__mem_func__(self.SkillActivation))
  4008.         self.ActivationSkill.Show()
  4009.        
  4010.         self.SkillNameInfo = uimg.TextLine()
  4011.         self.SkillNameInfo.SetDefaultFontName()
  4012.         self.SkillNameInfo.SetParent(self.InfoSkillsBG)
  4013.         self.SkillNameInfo.SetPosition(16-3, 25+24)
  4014.         self.SkillNameInfo.SetFontColor(0.95, 0.9, 0.75)
  4015.         self.SkillNameInfo.SetFontName("Tahoma:12")
  4016.         self.SkillNameInfo.SetText("")
  4017.         self.SkillNameInfo.SetOutline()
  4018.         self.SkillNameInfo.Show()
  4019.        
  4020.         self.SkillDescInfo = uimg.TextLine()
  4021.         self.SkillDescInfo.SetDefaultFontName()
  4022.         self.SkillDescInfo.SetParent(self.InfoSkillsBG)
  4023.         self.SkillDescInfo.SetPosition(16-3, 43+20)
  4024.         self.SkillDescInfo.SetFontColor(1, 0.7, 0)
  4025.         self.SkillDescInfo.SetFontName("Tahoma:12")
  4026.         self.SkillDescInfo.SetMultiLine()
  4027.         self.SkillDescInfo.SetLimitWidth(162)
  4028.         self.SkillDescInfo.SetText("")
  4029.         self.SkillDescInfo.Show()
  4030.        
  4031.         self.SkillValInfo = uimg.TextLine()
  4032.         self.SkillValInfo.SetDefaultFontName()
  4033.         self.SkillValInfo.SetParent(self.InfoSkillsBG)
  4034.         self.SkillValInfo.SetPosition(16-3, 114+20)
  4035.         self.SkillValInfo.SetFontColor(0.15, 0.85, 0)
  4036.         self.SkillValInfo.SetFontName("Tahoma:12")
  4037.         self.SkillValInfo.SetOutline()
  4038.         self.SkillValInfo.Show()
  4039.        
  4040.         self.SkillNextValInfo = uimg.TextLine()
  4041.         self.SkillNextValInfo.SetDefaultFontName()
  4042.         self.SkillNextValInfo.SetParent(self.InfoSkillsBG)
  4043.         self.SkillNextValInfo.SetPosition(16-3, 128+20)
  4044.         self.SkillNextValInfo.SetFontColor(0.9, 0.2, 0.2)
  4045.         self.SkillNextValInfo.SetFontName("Tahoma:12")
  4046.         self.SkillNextValInfo.SetOutline()
  4047.         self.SkillNextValInfo.Show()
  4048.        
  4049.         self.SkillTimeInfo = uimg.TextLine()
  4050.         self.SkillTimeInfo.SetDefaultFontName()
  4051.         self.SkillTimeInfo.SetParent(self.InfoSkillsBG)
  4052.         self.SkillTimeInfo.SetPosition(16-3, 143+19)
  4053.         self.SkillTimeInfo.SetFontColor(1, 0.7, 0)
  4054.         self.SkillTimeInfo.SetFontName("Tahoma:12")
  4055.         self.SkillTimeInfo.SetOutline()
  4056.         self.SkillTimeInfo.Show()
  4057.        
  4058.         self.SkillMPinfo = uimg.TextLine()
  4059.         self.SkillMPinfo.SetDefaultFontName()
  4060.         self.SkillMPinfo.SetParent(self.InfoSkillsBG)
  4061.         self.SkillMPinfo.SetPosition(16-3, 114+62)
  4062.         self.SkillMPinfo.SetFontColor(1, 0.7, 0)
  4063.         self.SkillMPinfo.SetFontName("Tahoma:12")
  4064.         self.SkillMPinfo.SetOutline()
  4065.         self.SkillMPinfo.Show()
  4066.        
  4067.         self.SkillTitleBok = uimg.TextLine()
  4068.         self.SkillTitleBok.SetDefaultFontName()
  4069.         self.SkillTitleBok.SetParent(self.InfoSkillsBG)
  4070.         self.SkillTitleBok.SetPosition(70, 13+9)
  4071.         self.SkillTitleBok.SetText("|cffe6d0a2Informacje")
  4072.         self.SkillTitleBok.SetOutline()
  4073.         self.SkillTitleBok.Show()
  4074.        
  4075.     def InfoSkill(self, value):
  4076.         self.CloseInfoSkillsWindow()
  4077.         SkillInfo = int(value)
  4078.         self.SkillInfo = SkillInfo
  4079.         self.SkillsBG.SetSize(387 + 203, 290)
  4080.         self.InfoSkillsBG.Show()
  4081.        
  4082.         self.SkillNameInfo.SetText(skills_language.SkillName[SkillInfo])
  4083.         self.SkillDescInfo.SetText(skills_language.SkillDesc[SkillInfo])
  4084.         self.SkillValInfo.SetText(skills_language.SkillActLevel + str(self.SkillValue[SkillInfo]))
  4085.         self.SkillMPinfo.SetText("Wymagana Energia: " + str(self.SkillMP[SkillInfo]))
  4086.         self.SkillTimeInfo.SetText(skills_language.SkillDuration + str(self.SkillDuration[SkillInfo]) + " sec")
  4087.         if self.level_skill[SkillInfo] == 0:
  4088.             self.ActivationSkill.SetUpVisual("illumina/skill_system/btn_avtiv_no.tga")
  4089.             self.ActivationSkill.SetOverVisual("illumina/skill_system/btn_avtiv_no.tga")
  4090.             self.ActivationSkill.SetDownVisual("illumina/skill_system/btn_avtiv_no.tga")
  4091.         else:
  4092.             self.ActivationSkill.SetUpVisual("illumina/skill_system/btn_avtiv_01.tga")
  4093.             self.ActivationSkill.SetOverVisual("illumina/skill_system/btn_avtiv_02.tga")
  4094.             self.ActivationSkill.SetDownVisual("illumina/skill_system/btn_avtiv_03.tga")
  4095.         if self.level_skill[SkillInfo]!= 17:
  4096.             self.SkillNextValInfo.SetText(skills_language.SkillNextLevel + str(self.SkillNextValue[SkillInfo]))
  4097.         #self.ButonActivareMagie.SetEvent(uimg.__mem_func__(self.activareMagie1))
  4098.    
  4099.     def __SkillsLevels(self, value1, value2, value3, value4, value5, value6):
  4100.         self.level_skill = []
  4101.         self.level_skill.append(0)
  4102.         self.level_skill.append(int(value1))
  4103.         self.level_skill.append(int(value2))
  4104.         self.level_skill.append(int(value3))
  4105.         self.level_skill.append(int(value4))
  4106.         self.level_skill.append(int(value5))
  4107.         self.level_skill.append(int(value6))
  4108.        
  4109.         self.Skill1Level.SetText(skills_language.SkillLevel + value1)
  4110.         self.Skill2Level.SetText(skills_language.SkillLevel + value2)
  4111.         self.Skill3Level.SetText(skills_language.SkillLevel + value3)
  4112.         self.Skill4Level.SetText(skills_language.SkillLevel + value4)
  4113.         self.Skill5Level.SetText(skills_language.SkillLevel + value5)
  4114.         self.Skill6Level.SetText(skills_language.SkillLevel + value6)
  4115.        
  4116.     def __SkillsPoints(self, value1, value2, value3, value4, value5, value6):
  4117.         if self.level_skill[1] == 17:
  4118.             self.Skill1Points.SetText(skills_language.PointsMaxLevel)
  4119.             self.Skill1PlusButton.Hide()
  4120.         else:
  4121.             self.Skill1Points.SetText(value1 + " " + skills_language.PointsLevel)  
  4122.         if self.level_skill[2] == 17:
  4123.             self.Skill2Points.SetText(skills_language.PointsMaxLevel)
  4124.             self.Skill2PlusButton.Hide()
  4125.         else:
  4126.             self.Skill2Points.SetText(value2 + " " + skills_language.PointsLevel)  
  4127.         if self.level_skill[3] == 17:
  4128.             self.Skill3Points.SetText(skills_language.PointsMaxLevel)
  4129.             self.Skill3PlusButton.Hide()
  4130.         else:
  4131.             self.Skill3Points.SetText(value3 + " " + skills_language.PointsLevel)  
  4132.         if self.level_skill[4] == 17:
  4133.             self.Skill4Points.SetText(skills_language.PointsMaxLevel)
  4134.             self.Skill4PlusButton.Hide()
  4135.         else:
  4136.             self.Skill4Points.SetText(value4 + " " + skills_language.PointsLevel)  
  4137.         if self.level_skill[5] == 17:
  4138.             self.Skill5Points.SetText(skills_language.PointsMaxLevel)
  4139.             self.Skill5PlusButton.Hide()
  4140.         else:
  4141.             self.Skill5Points.SetText(value5 + " " + skills_language.PointsLevel)  
  4142.         if self.level_skill[6] == 17:
  4143.             self.Skill6Points.SetText(skills_language.PointsMaxLevel)
  4144.             self.Skill6PlusButton.Hide()
  4145.         else:
  4146.             self.Skill6Points.SetText(value6 + " " + skills_language.PointsLevel)
  4147.        
  4148.     def __QuestSkills(self, value):
  4149.         constInfo.QUESTSKILLS = int(value)
  4150.        
  4151.     def __SkillsValue(self, value1, value2, value3, value4, value5, value6):
  4152.         self.SkillValue = []
  4153.         self.SkillValue.append(0)
  4154.         self.SkillValue.append(int(value1))
  4155.         self.SkillValue.append(int(value2))
  4156.         self.SkillValue.append(int(value3))
  4157.         self.SkillValue.append(int(value4))
  4158.         self.SkillValue.append(int(value5))
  4159.         self.SkillValue.append(int(value6))
  4160.        
  4161.     def __SkillsNextValue(self, value1, value2, value3, value4, value5, value6):
  4162.         self.SkillNextValue = []
  4163.         self.SkillNextValue.append(0)
  4164.         self.SkillNextValue.append(int(value1))
  4165.         self.SkillNextValue.append(int(value2))
  4166.         self.SkillNextValue.append(int(value3))
  4167.         self.SkillNextValue.append(int(value4))
  4168.         self.SkillNextValue.append(int(value5))
  4169.         self.SkillNextValue.append(int(value6))
  4170.  
  4171.     def __SkillsDuration(self, value1, value2, value3, value4, value5, value6):
  4172.         self.SkillDuration = []
  4173.         self.SkillDuration.append(0)
  4174.         self.SkillDuration.append(int(value1))
  4175.         self.SkillDuration.append(int(value2))
  4176.         self.SkillDuration.append(int(value3))
  4177.         self.SkillDuration.append(int(value4))
  4178.         self.SkillDuration.append(int(value5))
  4179.         self.SkillDuration.append(int(value6))
  4180.        
  4181.     def __SkillsMP(self, value1, value2, value3, value4, value5, value6):
  4182.         self.SkillMP = []
  4183.         self.SkillMP.append(0)
  4184.         self.SkillMP.append(int(value1))
  4185.         self.SkillMP.append(int(value2))
  4186.         self.SkillMP.append(int(value3))
  4187.         self.SkillMP.append(int(value4))
  4188.         self.SkillMP.append(int(value5))
  4189.         self.SkillMP.append(int(value6))
  4190.        
  4191.         if self.SkillInfo != 0:
  4192.             self.InfoSkill(self.SkillInfo)
  4193.        
  4194.     def __GetInputStatus(self, value):
  4195.         constInfo.GETINPUTSTUS = int(value)
  4196.    
  4197.     def __GetInput(self):
  4198.         net.SendQuestInputStringPacket("1")
  4199.        
  4200.     def SkillPlus(self, value):
  4201.         questskills = int(constInfo.QUESTSKILLS)
  4202.         event.QuestButtonClick(questskills)
  4203.         net.SendQuestInputStringPacket("skill" + str(value) + "_plus")
  4204.        
  4205.     def SkillActivatedWnd(self):
  4206.         self.SkillActivatedBG = uimg.AniImageBox()
  4207.         self.SkillActivatedBG.AppendImage("illumina/skill_system/background_activ_skill.tga")
  4208.         self.SkillActivatedBG.SetPosition(wndMgr.GetScreenWidth() - 160+15, 170)
  4209.         self.SkillActivatedBG.AddFlag("float")
  4210.         self.SkillActivatedBG.Hide()
  4211.        
  4212.         self.SkillActivatedBar = uimg.AniImageBox()
  4213.         self.SkillActivatedBar.AppendImage("illumina/skill_system/pasek_ladowania_small.tga")
  4214.         self.SkillActivatedBar.SetParent(self.SkillActivatedBG)
  4215.         self.SkillActivatedBar.SetPosition(56-7, 27+7)
  4216.         self.SkillActivatedBar.SetPercentage(100, 100)
  4217.         self.SkillActivatedBar.Show()
  4218.        
  4219.         self.SkillActivatedName = uimg.TextLine()
  4220.         self.SkillActivatedName.SetDefaultFontName()
  4221.         self.SkillActivatedName.SetParent(self.SkillActivatedBG)
  4222.         self.SkillActivatedName.SetPosition(50, 14)
  4223.         self.SkillActivatedName.SetFontColor(0.95, 0.9, 0.75)
  4224.         self.SkillActivatedName.SetFontName("Tahoma:12")
  4225.         self.SkillActivatedName.SetText("")
  4226.         self.SkillActivatedName.SetOutline()
  4227.         self.SkillActivatedName.Show()
  4228.        
  4229.     def __SkillActivated(self, value1, value2):
  4230.         self.SkillActivatedIcon = uimg.AniImageBox()
  4231.         self.SkillActivatedIcon.SetParent(self.SkillActivatedBG)
  4232.         self.SkillActivatedIcon.AppendImage("illumina/skill_system/skille/skil" + value1 + "_small.tga")
  4233.         self.SkillActivatedIcon.SetPosition(5+5, 4+6)
  4234.         self.SkillActivatedIcon.AddFlag("float")
  4235.         self.SkillActivatedIcon.Show()
  4236.        
  4237.         skill = int(value1)
  4238.         self.SkillActivatedName.SetText(skills_language.SkillName[skill])
  4239.        
  4240.         self.SkillFullTime = int(value2)
  4241.         self.SkillEndTime = int(value2) + time.clock()
  4242.        
  4243.         self.SkillActivatedBG.Show()
  4244.         self.SkillActivatedInfo = 1
  4245.        
  4246.         self.SkillActivated = skill
  4247.         self.SkillEffectUpdate = time.clock()
  4248.        
  4249.     def UpdateSkillEffect(self):
  4250.         net.SendChatPacket("(skill" + str(self.SkillActivated) + "_effect)")
  4251.        
  4252.     def UpdateSkillTimeBar(self):
  4253.         self.SkillTimeLeft = self.SkillEndTime - time.clock()
  4254.         if self.SkillTimeLeft <= 0:
  4255.             self.SkillActivatedBG.Hide()
  4256.             self.SkillActivatedInfo = 0
  4257.         else:
  4258.             self.SkillActivatedBar.SetPercentage(self.SkillTimeLeft * 100 / self.SkillFullTime, 100)
  4259.            
  4260.     def __SetSkillsBar(self, value):
  4261.         self.SkillsBar.SetPercentage(int(value), 100)
  4262.         self.SkillBarStatus.SetText("Energia: " + value + "/100")
  4263.        
  4264.     def SkillActivation(self):
  4265.         questskills = int(constInfo.QUESTSKILLS)
  4266.         event.QuestButtonClick(questskills)
  4267.         net.SendQuestInputStringPacket("skill" + str(self.SkillInfo) + "_activation")
  4268.    
  4269.     #### nowe skile za PO ###
  4270.  
  4271.     if app.ENABLE_SEND_TARGET_INFO:
  4272.         def BINARY_AddTargetMonsterDropInfo(self, raceNum, itemVnum, itemCount):
  4273.             if not raceNum in constInfo.MONSTER_INFO_DATA:
  4274.                 constInfo.MONSTER_INFO_DATA.update({raceNum : {}})
  4275.                 constInfo.MONSTER_INFO_DATA[raceNum].update({"items" : []})
  4276.             curList = constInfo.MONSTER_INFO_DATA[raceNum]["items"]
  4277.  
  4278.             isUpgradeable = False
  4279.             isMetin = False
  4280.             item.SelectItem(itemVnum)
  4281.             if item.GetItemType(1,2,3,4,5,6) == item.ITEM_TYPE_WEAPON or item.GetItemType(1,2,3,4,5,6) == item.ITEM_TYPE_ARMOR:
  4282.                 isUpgradeable = True
  4283.             elif item.GetItemType(1,2,3,4,5,6) == item.ITEM_TYPE_METIN:
  4284.                 isMetin = True
  4285.  
  4286.             for curItem in curList:
  4287.                 if isUpgradeable:
  4288.                     if curItem.has_key("vnum_list") and curItem["vnum_list"][0] / 10 * 10 == itemVnum / 10 * 10:
  4289.                         if not (itemVnum in curItem["vnum_list"]):
  4290.                             curItem["vnum_list"].append(itemVnum)
  4291.                         return
  4292.                 elif isMetin:
  4293.                     if curItem.has_key("vnum_list"):
  4294.                         baseVnum = curItem["vnum_list"][0]
  4295.                     if curItem.has_key("vnum_list") and (baseVnum - baseVnum%1000) == (itemVnum - itemVnum%1000):
  4296.                         if not (itemVnum in curItem["vnum_list"]):
  4297.                             curItem["vnum_list"].append(itemVnum)
  4298.                         return
  4299.                 else:
  4300.                     if curItem.has_key("vnum") and curItem["vnum"] == itemVnum and curItem["count"] == itemCount:
  4301.                         return
  4302.  
  4303.             if isUpgradeable or isMetin:
  4304.                 curList.append({"vnum_list":[itemVnum], "count":itemCount})
  4305.             else:
  4306.                 curList.append({"vnum":itemVnum, "count":itemCount})
  4307.  
  4308.         def BINARY_RefreshTargetMonsterDropInfo(self, raceNum):
  4309.             self.targetBoard.RefreshMonsterInfoBoard()
  4310.  
  4311.     def PokazOknoSkill(self, qid):
  4312.         constInfo.Okienko = int(qid)
  4313.    
  4314.     def PokazOknoSkill2(self):
  4315.         if self.SkillsWindowIsOpen == 0:
  4316.             self.SkillsBG.Show()
  4317.             self.SkillsWindowIsOpen = 1
  4318.         else:
  4319.             self.SkillsBG.Hide()
  4320.             self.SkillsWindowIsOpen = 0
  4321.    
  4322.     def Gui_Wybor_Boss_Nagroda(self, i1, i2, i3, c1, c2, c3):
  4323.         self.NagrodaBoss.UstawItemy(i1, i2, i3, c1, c2, c3)
  4324.         self.NagrodaBoss.Open()
  4325.    
  4326.     def Odbierz_Nagrode_Boss(self, qid):
  4327.         constInfo.Nagroda_Za_Bossa_Odbierz = int(qid)
  4328.  
  4329.     def __Acce_okno(self):
  4330.         if FALSE == player.IsObserverMode():
  4331.             if FALSE == self.Acce_okno.IsShow():
  4332.                 self.Acce_okno.Show()
  4333.                 self.Acce_okno.SetTop()
  4334.             else:
  4335.                 self.Acce_okno.Hide()
  4336.  
  4337.     def WczytajBiologa(self, etap, oddane, szansa, czas):
  4338.         self.interface.wndBiolog.WczytajBiologa(etap, oddane, szansa, czas)
  4339.  
  4340.     def OddajBiologowi(self, qid):
  4341.         constInfo.OddajBiolog = int(qid)
  4342.  
  4343.  
  4344.         ####SHOP SYSTEM#####
  4345.     def NewShop(self):
  4346.         if self.uiNewShop:
  4347.             self.uiNewShop.Show()
  4348.    
  4349.     def ShopClear(self):
  4350.         if self.uiNewShop:
  4351.             self.uiNewShop.HideAll()
  4352.         constInfo.MyShops=[]
  4353.     def ShopCostClear(self):
  4354.         constInfo.shop_cost=[]
  4355.     def ShopCost(self,id,time,time_val,price):
  4356.         constInfo.shop_cost.append({"id":int(id),"time":int(time),"time_val":int(time_val),"price":int(price)})
  4357.     def ShopAdd(self,shop_id,shop_vid,szSign,gold,sold,count,days,date_close):
  4358.         chat.AppendChat(chat.CHAT_TYPE_INFO, " id "+ shop_id + " vid " + shop_vid + " name " + szSign + " gold " + gold + " sold " + sold + " days " + days + " time " + date_close + " count " + count)
  4359.         if self.uiNewShop:
  4360.             shop={
  4361.                 "id":shop_id,
  4362.                 "vid":shop_vid,
  4363.                 "name":szSign.replace("\\"," ").replace("_","#"),
  4364.                 "gold":gold,
  4365.                 "sold":sold,
  4366.                 "items":int(count)-int(sold),
  4367.                 "days":days,
  4368.                 "time":date_close
  4369.             }
  4370.             self.uiNewShop.Load(shop)
  4371.         #   self.uiNewShop.Load(2)
  4372.             constInfo.MyShops.append(shop)
  4373.     def ShopItemClear(self):
  4374.         if self.uiNewShop:
  4375.             self.uiNewShop.ClearItems()
  4376.     def ShopItem(self,data):
  4377.         d=data.split("#")
  4378.         id=d[0]
  4379.         vnum=d[1]
  4380.         count=d[2]
  4381.         slot=d[3]
  4382.         price=d[4]
  4383.         s=d[5]
  4384.         a=d[6]
  4385.         sockets=[]
  4386.         for key in s.split("|"):
  4387.             sockets.append(int(key))
  4388.    
  4389.         attrs=[]
  4390.         for key in a.split("|"):
  4391.             a=key.split(",")
  4392.             attrs.append([int(a[0]),int(a[1])])
  4393.         if self.uiNewShop:
  4394.             self.uiNewShop.AddItem(slot,{"id":id,"vnum":vnum,"count":count,"price":price,"sockets":sockets,"attrs":attrs})
  4395.        
  4396.     ####GIFT SYSTEM#####
  4397.     def gift_clear(self):
  4398.         constInfo.gift_items={}
  4399.         self.interface.ClearGift()
  4400.     def gift_item(self, id, vnum, count, pos, date_add, give, reason, szSockets, szAttrs):
  4401.         sockets=[]
  4402.         for key in szSockets.split("|"):
  4403.             sockets.append(int(key))
  4404.      
  4405.         attrs=[]
  4406.         for key in szAttrs.split("|"):
  4407.             a=key.split(",")
  4408.             attrs.append([int(a[0]),int(a[1])])
  4409.         constInfo.gift_items[int(pos)]={"id":int(id),"vnum":int(vnum),"count":int(count),"pos":int(pos),"date_add":int(date_add),"reason":reason.replace("_"," "),"give":give.replace("_"," "),"sockets":sockets,"attrs":attrs}
  4410.     def gift_load(self):
  4411.         self.interface.wndGiftBox.Refresh()
  4412.     def gift_show(self,pages):
  4413.         self.interface.wndGiftBox.pageNum=int(pages)
  4414.         # self.interface.OpenGift()
Add Comment
Please, Sign In to add comment