deadx2

Untitled

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