deadx2

Untitled

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