deadx2

Untitled

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