Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import app
- import dbg
- import grp
- import item
- import background
- import chr
- import chrmgr
- import player
- import snd
- import chat
- import textTail
- import snd
- import net
- import effect
- import wndMgr
- import fly
- import systemSetting
- import quest
- import guild
- import skill
- import messenger
- if app.ENABLE_ADMIN_BAN_MANAGER:
- import uiadmintool
- import constInfo
- import exchange
- import ime
- import uiScriptLocale
- import ui
- import uiCommon
- import uiPhaseCurtain
- import uiMapNameShower
- import uiAffectShower
- import uiPlayerGauge
- import uiCharacter
- import uiTarget
- import uipacanele
- import uiPrivateShopBuilder
- import serverInfo
- import mouseModule
- import consoleModule
- import uisystem
- import localeInfo
- import uikick
- import uiban
- import uiunban
- import uiblockchat
- import playerSettingModule
- import interfaceModule
- import WhisperManager
- import musicInfo
- import debugInfo
- import stringCommander
- if app.ENABLE_SPECIAL_CHAT:
- import uispecialchat
- import uiItemLottery
- import uitriviapanel
- import uibosstracking
- from _weakref import proxy
- SCREENSHOT_CWDSAVE = False
- SCREENSHOT_DIR = None
- if localeInfo.IsEUROPE():
- SCREENSHOT_CWDSAVE = True
- if localeInfo.IsCIBN10():
- SCREENSHOT_CWDSAVE = False
- SCREENSHOT_DIR = "YT2W"
- cameraDistance = 1550.0
- cameraPitch = 27.0
- cameraRotation = 0.0
- cameraHeight = 100.0
- testAlignment = 0
- # PROFESSIONAL_BIOLOG_SYSTEM
- if app.ENABLE_BIOLOG_SYSTEM:
- import uiprofessionalbiolog
- # END_OF_PROFESSIONAL_BIOLOG_SYSTEM
- BPisLoaded = 0
- class GameWindow(ui.ScriptWindow):
- def __init__(self, stream):
- ui.ScriptWindow.__init__(self, "GAME")
- self.SetWindowName("game")
- net.SetPhaseWindow(net.PHASE_WINDOW_GAME, self)
- player.SetGameWindow(self)
- self.quickSlotPageIndex = 0
- self.lastPKModeSendedTime = 0
- self.pressNumber = None
- self.uiNewShopCreate = None
- self.uiNewShop = None
- if app.ENABLE_SPECIAL_CHAT:
- self.specialChat = None
- self.guildWarQuestionDialog = None
- self.interface = None
- self.targetBoard = None
- self.console = None
- self.mapNameShower = None
- self.affectShower = None
- self.playerGauge = None
- self.mount = None
- self.stream=stream
- self.interface = interfaceModule.Interface()
- self.interface.MakeInterface()
- self.interface.ShowDefaultWindows()
- import uiPrivateShopSearch
- self.PrivateShopSearch = uiPrivateShopSearch.PrivateShopSearch(self.interface)
- self.PrivateShopSearch.Close(1)
- self.curtain = uiPhaseCurtain.PhaseCurtain()
- self.curtain.speed = 0.03
- self.curtain.Hide()
- self.targetBoard = uiTarget.TargetBoard()
- self.targetBoard.SetWhisperEvent(ui.__mem_func__(self.interface.OpenWhisperDialog))
- self.targetBoard.Hide()
- self.console = consoleModule.ConsoleWindow()
- self.console.BindGameClass(self)
- self.console.SetConsoleSize(wndMgr.GetScreenWidth(), 200)
- self.console.Hide()
- self.mapNameShower = uiMapNameShower.MapNameShower()
- self.affectShower = uiAffectShower.AffectShower()
- self.triviapanel = uitriviapanel.TriviaPanelWindow()
- self.pacanele = uipacanele.Pacanele()
- self.pacanele.Hide()
- if app.ENABLE_ADMIN_BAN_MANAGER:
- self.wndAdminTool = uiadmintool.AdminTool()
- constInfo.wndItemLottery = uiItemLottery.ItemLotteryWindow()
- self.playerGauge = uiPlayerGauge.PlayerGauge(self)
- self.playerGauge.Hide()
- self.bosstracking = uibosstracking.BossTrackingSystemWindow()
- self.bosstracking.Hide()
- if app.ENABLE_WHISPER_ADMIN_SYSTEM:
- self.adminWhisperManager = WhisperManager.WhisperManager()
- # self.mount = uimount_window.New_Window_Mount()
- #wj 2014.1.2. ESC키를 누를 시 우선적으로 DropQuestionDialog를 끄도록 만들었다. 하지만 처음에 itemDropQuestionDialog가 선언되어 있지 않아 ERROR가 발생하여 init에서 선언과 동시에 초기화 시킴.
- self.itemDropQuestionDialog = None
- self.__SetQuickSlotMode()
- self.__ServerCommand_Build()
- self.__ProcessPreservedServerCommand()
- def __del__(self):
- player.SetGameWindow(0)
- net.ClearPhaseWindow(net.PHASE_WINDOW_GAME, self)
- ui.ScriptWindow.__del__(self)
- def Open(self):
- app.SetFrameSkip(1)
- self.SetSize(wndMgr.GetScreenWidth(), wndMgr.GetScreenHeight())
- self.quickSlotPageIndex = 0
- self.PickingCharacterIndex = -1
- self.PickingItemIndex = -1
- self.consoleEnable = False
- self.isShowDebugInfo = False
- self.ShowNameFlag = False
- self.litere_event = ui.Button()
- self.litere_event.SetParent(self)
- self.litere_event.SetPosition(wndMgr.GetScreenWidth()-370,0)
- self.litere_event.SetUpVisual("d:/ymir work/eventlitere/status_letters.tga")
- self.litere_event.SetOverVisual("d:/ymir work/eventlitere/status_letters.tga")
- self.litere_event.SetDownVisual("d:/ymir work/eventlitere/status_letters.tga")
- self.litere_event.SetToolTipText("Open Event")
- self.litere_event.SetEvent(lambda : net.SendChatPacket("/letters_open"))
- import uiNewShop
- self.uiNewShop = uiNewShop.ShopDialog()
- self.uiNewShop.Close()
- self.uiNewShopCreate = uiNewShop.ShopDialogCreate()
- self.uiNewShopCreate.Hide()
- self.enableXMasBoom = False
- self.startTimeXMasBoom = 0.0
- self.indexXMasBoom = 0
- global cameraDistance, cameraPitch, cameraRotation, cameraHeight
- app.SetCamera(cameraDistance, cameraPitch, cameraRotation, cameraHeight)
- constInfo.SET_DEFAULT_CAMERA_MAX_DISTANCE()
- constInfo.SET_DEFAULT_CHRNAME_COLOR()
- constInfo.SET_DEFAULT_FOG_LEVEL()
- constInfo.SET_DEFAULT_CONVERT_EMPIRE_LANGUAGE_ENABLE()
- constInfo.SET_DEFAULT_USE_ITEM_WEAPON_TABLE_ATTACK_BONUS()
- constInfo.SET_DEFAULT_USE_SKILL_EFFECT_ENABLE()
- # TWO_HANDED_WEAPON_ATTACK_SPEED_UP
- constInfo.SET_TWO_HANDED_WEAPON_ATT_SPEED_DECREASE_VALUE()
- # END_OF_TWO_HANDED_WEAPON_ATTACK_SPEED_UP
- import event
- event.SetLeftTimeString(localeInfo.UI_LEFT_TIME)
- textTail.EnablePKTitle(constInfo.PVPMODE_ENABLE)
- if constInfo.PVPMODE_TEST_ENABLE:
- self.testPKMode = ui.TextLine()
- self.testPKMode.SetFontName(localeInfo.UI_DEF_FONT)
- self.testPKMode.SetPosition(0, 15)
- self.testPKMode.SetWindowHorizontalAlignCenter()
- self.testPKMode.SetHorizontalAlignCenter()
- self.testPKMode.SetFeather()
- self.testPKMode.SetOutline()
- self.testPKMode.Show()
- self.testAlignment = ui.TextLine()
- self.testAlignment.SetFontName(localeInfo.UI_DEF_FONT)
- self.testAlignment.SetPosition(0, 35)
- self.testAlignment.SetWindowHorizontalAlignCenter()
- self.testAlignment.SetHorizontalAlignCenter()
- self.testAlignment.SetFeather()
- self.testAlignment.SetOutline()
- self.testAlignment.Show()
- if app.ENABLE_SPECIAL_CHAT:
- if self.specialChat:
- self.specialChat.Hide()
- specialChat = uispecialchat.SpecialChat(self, wndMgr.GetScreenWidth() - 400 - 40, wndMgr.GetScreenHeight()/1.1)
- self.specialChat = specialChat
- self.__BuildKeyDict()
- self.__BuildDebugInfo()
- uiPrivateShopBuilder.Clear()
- exchange.InitTrading()
- snd.SetMusicVolume(systemSetting.GetMusicVolume()*net.GetFieldMusicVolume())
- snd.SetSoundVolume(systemSetting.GetSoundVolume())
- netFieldMusicFileName = net.GetFieldMusicFileName()
- if netFieldMusicFileName:
- snd.FadeInMusic("BGM/" + netFieldMusicFileName)
- elif musicInfo.fieldMusic != "":
- snd.FadeInMusic("BGM/" + musicInfo.fieldMusic)
- self.__SetQuickSlotMode()
- self.__SelectQuickPage(self.quickSlotPageIndex)
- self.SetFocus()
- self.Show()
- app.ShowCursor()
- net.SendEnterGamePacket()
- try:
- self.StartGame()
- except:
- import exception
- exception.Abort("GameWindow.Open")
- self.cubeInformation = {}
- self.currentCubeNPC = 0
- if systemSetting.IsShowOfflineShop() == 0:
- net.SendChatPacket("/show_hide_shops 0")
- else:
- net.SendChatPacket("/show_hide_shops 1")
- def Close(self):
- self.Hide()
- global cameraDistance, cameraPitch, cameraRotation, cameraHeight
- (cameraDistance, cameraPitch, cameraRotation, cameraHeight) = app.GetCamera()
- if musicInfo.fieldMusic != "":
- snd.FadeOutMusic("BGM/"+ musicInfo.fieldMusic)
- self.onPressKeyDict = None
- self.onClickKeyDict = None
- chat.Close()
- snd.StopAllSound()
- grp.InitScreenEffect()
- chr.Destroy()
- textTail.Clear()
- quest.Clear()
- background.Destroy()
- guild.Destroy()
- messenger.Destroy()
- skill.ClearSkillData()
- wndMgr.Unlock()
- self.uiNewShop.Hide()
- self.uiNewShopCreate.Hide()
- uiPrivateShopBuilder.Clear()
- mouseModule.mouseController.DeattachObject()
- if self.guildWarQuestionDialog:
- self.guildWarQuestionDialog.Close()
- self.guildNameBoard = None
- self.partyRequestQuestionDialog = None
- self.partyInviteQuestionDialog = None
- self.guildInviteQuestionDialog = None
- self.guildWarQuestionDialog = None
- self.messengerAddFriendQuestion = None
- # UNKNOWN_UPDATE
- self.itemDropQuestionDialog = None
- # END_OF_UNKNOWN_UPDATE
- # QUEST_CONFIRM
- self.confirmDialog = None
- # END_OF_QUEST_CONFIRM
- self.PrintCoord = None
- self.FrameRate = None
- self.Pitch = None
- self.Splat = None
- self.TextureNum = None
- self.ObjectNum = None
- self.ViewDistance = None
- self.PrintMousePos = None
- self.ClearDictionary()
- self.playerGauge = None
- self.mapNameShower = None
- self.affectShower = None
- self.mount = None
- if self.console:
- self.console.BindGameClass(0)
- self.console.Close()
- self.console=None
- if self.bosstracking:
- self.bosstracking.Destroy()
- self.bosstracking = None
- if self.targetBoard:
- self.targetBoard.Destroy()
- self.targetBoard = None
- if self.interface:
- self.interface.HideAllWindows()
- self.interface.Close()
- self.interface=None
- if self.PrivateShopSearch:
- self.PrivateShopSearch.Close(1)
- self.PrivateShopSearch = None
- if app.ENABLE_SPECIAL_CHAT:
- if self.specialChat:
- self.specialChat.ClearAll()
- self.specialChat.Destroy()
- player.ClearSkillDict()
- player.ResetCameraRotation()
- self.KillFocus()
- app.HideCursor()
- print "---------------------------------------------------------------------------- CLOSE GAME WINDOW"
- def BossTracking(self):
- import constInfo
- constInfo.BOSS_TRACKING = 1
- def GetBossTrackingInformation(self, btcadi1, btcadi2, btcadi3, btcadi4, btcadi5, btcadi6, btalevkral1, btalevkral2, btalevkral3, btalevkral4, btalevkral5, btalevkral6, btkorumcek1, btkorumcek2, btkorumcek3, btkorumcek4, btkorumcek5, btkorumcek6, btsarikaplan1, btsarikaplan2, btsarikaplan3, btsarikaplan4, btsarikaplan5, btsarikaplan6, btbuzkralice1, btbuzkralice2, btbuzkralice3, btbuzkralice4, btbuzkralice5, btbuzkralice6, btdokuzk1, btdokuzk2, btdokuzk3, btdokuzk4, btdokuzk5, btdokuzk6, btcolejder1, btcolejder2, btcolejder3, btcolejder4, btcolejder5, btcolejder6, btagac1, btagac2, btagac3, btagac4, btagac5, btagac6, btkomutan1, btkomutan2, btkomutan3, btkomutan4, btkomutan5, btkomutan6, btkaranlik1, btkaranlik2, btkaranlik3, btkaranlik4, btkaranlik5, btkaranlik6):
- self.bosstracking.GetMobInformation(btcadi1, btcadi2, btcadi3, btcadi4, btcadi5, btcadi6, btalevkral1, btalevkral2, btalevkral3, btalevkral4, btalevkral5, btalevkral6, btkorumcek1, btkorumcek2, btkorumcek3, btkorumcek4, btkorumcek5, btkorumcek6, btsarikaplan1, btsarikaplan2, btsarikaplan3, btsarikaplan4, btsarikaplan5, btsarikaplan6, btbuzkralice1, btbuzkralice2, btbuzkralice3, btbuzkralice4, btbuzkralice5, btbuzkralice6, btdokuzk1, btdokuzk2, btdokuzk3, btdokuzk4, btdokuzk5, btdokuzk6, btcolejder1, btcolejder2, btcolejder3, btcolejder4, btcolejder5, btcolejder6, btagac1, btagac2, btagac3, btagac4, btagac5, btagac6, btkomutan1, btkomutan2, btkomutan3, btkomutan4, btkomutan5, btkomutan6, btkaranlik1, btkaranlik2, btkaranlik3, btkaranlik4, btkaranlik5, btkaranlik6)
- def BossTrackingUpdate(self):
- net.SendChatPacket("/bosstrackingtest")
- def BossTrackingSystemShow(self):
- self.bosstracking.Show()
- net.SendChatPacket("/bosstrackingtest")
- def __BuildKeyDict(self):
- onPressKeyDict = {}
- onPressKeyDict[app.DIK_1] = lambda : self.__PressNumKey(1)
- onPressKeyDict[app.DIK_2] = lambda : self.__PressNumKey(2)
- onPressKeyDict[app.DIK_3] = lambda : self.__PressNumKey(3)
- onPressKeyDict[app.DIK_4] = lambda : self.__PressNumKey(4)
- onPressKeyDict[app.DIK_5] = lambda : self.__PressNumKey(5)
- onPressKeyDict[app.DIK_6] = lambda : self.__PressNumKey(6)
- onPressKeyDict[app.DIK_7] = lambda : self.__PressNumKey(7)
- onPressKeyDict[app.DIK_8] = lambda : self.__PressNumKey(8)
- onPressKeyDict[app.DIK_9] = lambda : self.__PressNumKey(9)
- onPressKeyDict[app.DIK_F1] = lambda : self.__PressQuickSlot(4)
- onPressKeyDict[app.DIK_F2] = lambda : self.__PressQuickSlot(5)
- onPressKeyDict[app.DIK_F3] = lambda : self.__PressQuickSlot(6)
- onPressKeyDict[app.DIK_F4] = lambda : self.__PressQuickSlot(7)
- # onPressKeyDict[app.DIK_F5] = lambda : self.interface.ToggleSwitchbotWindow()
- # onPressKeyDict[app.DIK_F6] = lambda : self.interface.ShowItemFinder()
- # onPressKeyDict[app.DIK_F7] = lambda : self.__OpenSearchShop()
- onPressKeyDict[app.DIK_F5] = lambda : self.OpenWhisperSystem()
- if app.ENABLE_ADMIN_BAN_MANAGER:
- onPressKeyDict[app.DIK_F6] = lambda : self.OpenAdminTool()
- onPressKeyDict[app.DIK_F7] = lambda : self.ShowPacenele()
- onPressKeyDict[app.DIK_F8] = lambda : self.BossTracking()
- onPressKeyDict[app.DIK_LALT] = lambda : self.ShowName()
- onPressKeyDict[app.DIK_LCONTROL] = lambda : self.ShowMouseImage()
- onPressKeyDict[app.DIK_SYSRQ] = lambda : self.SaveScreen()
- onPressKeyDict[app.DIK_SPACE] = lambda : self.StartAttack()
- onPressKeyDict[app.DIK_UP] = lambda : self.MoveUp()
- onPressKeyDict[app.DIK_DOWN] = lambda : self.MoveDown()
- onPressKeyDict[app.DIK_LEFT] = lambda : self.MoveLeft()
- onPressKeyDict[app.DIK_RIGHT] = lambda : self.MoveRight()
- onPressKeyDict[app.DIK_W] = lambda : self.MoveUp()
- onPressKeyDict[app.DIK_S] = lambda : self.MoveDown()
- onPressKeyDict[app.DIK_A] = lambda : self.MoveLeft()
- onPressKeyDict[app.DIK_D] = lambda : self.MoveRight()
- onPressKeyDict[app.DIK_E] = lambda: app.RotateCamera(app.CAMERA_TO_POSITIVE)
- onPressKeyDict[app.DIK_R] = lambda: app.ZoomCamera(app.CAMERA_TO_NEGATIVE)
- onPressKeyDict[app.DIK_T] = lambda: app.PitchCamera(app.CAMERA_TO_NEGATIVE)
- onPressKeyDict[app.DIK_G] = self.__PressGKey
- onPressKeyDict[app.DIK_Q] = self.__PressQKey
- onPressKeyDict[app.DIK_NUMPAD9] = lambda: app.MovieResetCamera()
- onPressKeyDict[app.DIK_NUMPAD4] = lambda: app.MovieRotateCamera(app.CAMERA_TO_NEGATIVE)
- onPressKeyDict[app.DIK_NUMPAD6] = lambda: app.MovieRotateCamera(app.CAMERA_TO_POSITIVE)
- onPressKeyDict[app.DIK_PGUP] = lambda: app.MovieZoomCamera(app.CAMERA_TO_NEGATIVE)
- onPressKeyDict[app.DIK_PGDN] = lambda: app.MovieZoomCamera(app.CAMERA_TO_POSITIVE)
- onPressKeyDict[app.DIK_NUMPAD8] = lambda: app.MoviePitchCamera(app.CAMERA_TO_NEGATIVE)
- onPressKeyDict[app.DIK_NUMPAD2] = lambda: app.MoviePitchCamera(app.CAMERA_TO_POSITIVE)
- onPressKeyDict[app.DIK_GRAVE] = lambda : self.PickUpItem()
- onPressKeyDict[app.DIK_Z] = lambda : self.PickUpItem()
- onPressKeyDict[app.DIK_C] = lambda state = "STATUS": self.interface.ToggleCharacterWindow(state)
- onPressKeyDict[app.DIK_V] = lambda state = "SKILL": self.interface.ToggleCharacterWindow(state)
- onPressKeyDict[app.DIK_N] = lambda state = "QUEST": self.interface.ToggleCharacterWindow(state)
- onPressKeyDict[app.DIK_I] = lambda : self.interface.ToggleInventoryWindow()
- onPressKeyDict[app.DIK_O] = lambda : self.interface.ToggleDragonSoulWindowWithNoInfo()
- onPressKeyDict[app.DIK_M] = lambda : self.interface.PressMKey()
- onPressKeyDict[app.DIK_ADD] = lambda : self.interface.MiniMapScaleUp()
- onPressKeyDict[app.DIK_SUBTRACT] = lambda : self.interface.MiniMapScaleDown()
- onPressKeyDict[app.DIK_L] = lambda : self.interface.ToggleChatLogWindow()
- onPressKeyDict[app.DIK_LSHIFT] = lambda : self.__SetQuickPageMode()
- onPressKeyDict[app.DIK_J] = lambda : self.__PressJKey()
- onPressKeyDict[app.DIK_H] = lambda : self.__PressHKey()
- onPressKeyDict[app.DIK_B] = lambda : self.__PressBKey()
- onPressKeyDict[app.DIK_F] = lambda : self.__PressFKey()
- self.onPressKeyDict = onPressKeyDict
- onClickKeyDict = {}
- onClickKeyDict[app.DIK_UP] = lambda : self.StopUp()
- onClickKeyDict[app.DIK_DOWN] = lambda : self.StopDown()
- onClickKeyDict[app.DIK_LEFT] = lambda : self.StopLeft()
- onClickKeyDict[app.DIK_RIGHT] = lambda : self.StopRight()
- onClickKeyDict[app.DIK_SPACE] = lambda : self.EndAttack()
- onClickKeyDict[app.DIK_W] = lambda : self.StopUp()
- onClickKeyDict[app.DIK_S] = lambda : self.StopDown()
- onClickKeyDict[app.DIK_A] = lambda : self.StopLeft()
- onClickKeyDict[app.DIK_D] = lambda : self.StopRight()
- onClickKeyDict[app.DIK_Q] = lambda: app.RotateCamera(app.CAMERA_STOP)
- onClickKeyDict[app.DIK_E] = lambda: app.RotateCamera(app.CAMERA_STOP)
- onClickKeyDict[app.DIK_R] = lambda: app.ZoomCamera(app.CAMERA_STOP)
- onClickKeyDict[app.DIK_F] = lambda: app.ZoomCamera(app.CAMERA_STOP)
- onClickKeyDict[app.DIK_T] = lambda: app.PitchCamera(app.CAMERA_STOP)
- onClickKeyDict[app.DIK_G] = lambda: self.__ReleaseGKey()
- onClickKeyDict[app.DIK_NUMPAD4] = lambda: app.MovieRotateCamera(app.CAMERA_STOP)
- onClickKeyDict[app.DIK_NUMPAD6] = lambda: app.MovieRotateCamera(app.CAMERA_STOP)
- onClickKeyDict[app.DIK_PGUP] = lambda: app.MovieZoomCamera(app.CAMERA_STOP)
- onClickKeyDict[app.DIK_PGDN] = lambda: app.MovieZoomCamera(app.CAMERA_STOP)
- onClickKeyDict[app.DIK_NUMPAD8] = lambda: app.MoviePitchCamera(app.CAMERA_STOP)
- onClickKeyDict[app.DIK_NUMPAD2] = lambda: app.MoviePitchCamera(app.CAMERA_STOP)
- onClickKeyDict[app.DIK_LALT] = lambda: self.HideName()
- onClickKeyDict[app.DIK_LCONTROL] = lambda: self.HideMouseImage()
- onClickKeyDict[app.DIK_LSHIFT] = lambda: self.__SetQuickSlotMode()
- onClickKeyDict[app.DIK_K] = lambda: self.interface.ToggleSpecialStorageWindow()
- onClickKeyDict[app.DIK_X] = lambda: self.__SetRestartLauncher()
- self.onClickKeyDict=onClickKeyDict
- def __PressNumKey(self,num):
- if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
- if num >= 1 and num <= 9:
- if(chrmgr.IsPossibleEmoticon(-1)):
- chrmgr.SetEmoticon(-1,int(num)-1)
- net.SendEmoticon(int(num)-1)
- else:
- if num >= 1 and num <= 4:
- self.pressNumber(num-1)
- def __ClickBKey(self):
- if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
- return
- else:
- if constInfo.PVPMODE_ACCELKEY_ENABLE:
- self.ChangePKMode()
- def __PressJKey(self):
- if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
- if player.IsMountingHorse():
- net.SendChatPacket("/unmount")
- else:
- if not uiPrivateShopBuilder.IsBuildingPrivateShop():
- for i in xrange(player.INVENTORY_PAGE_SIZE):
- if player.GetItemIndex(i) in (71114, 71116, 71118, 71120):
- net.SendItemUsePacket(i)
- break
- def __PressHKey(self):
- if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
- net.SendChatPacket("/user_horse_ride")
- def __PressBKey(self):
- if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
- net.SendChatPacket("/user_horse_back")
- else:
- state = "EMOTICON"
- self.interface.ToggleCharacterWindow(state)
- def __PressFKey(self):
- if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
- net.SendChatPacket("/user_horse_feed")
- else:
- app.ZoomCamera(app.CAMERA_TO_POSITIVE)
- def __PressGKey(self):
- if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
- net.SendChatPacket("/ride")
- else:
- if self.ShowNameFlag:
- self.interface.ToggleGuildWindow()
- else:
- app.PitchCamera(app.CAMERA_TO_POSITIVE)
- def __ReleaseGKey(self):
- app.PitchCamera(app.CAMERA_STOP)
- if app.ENABLE_ADMIN_BAN_MANAGER:
- def OpenAdminTool(self):
- if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL): # Open window with CTRL + F5
- if self.wndAdminTool.IsShow():
- self.wndAdminTool.Hide()
- else:
- self.wndAdminTool.Show()
- def __PressQKey(self):
- if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
- if 0==interfaceModule.IsQBHide:
- interfaceModule.IsQBHide = 1
- self.interface.HideAllQuestButton()
- else:
- interfaceModule.IsQBHide = 0
- self.interface.ShowAllQuestButton()
- else:
- app.RotateCamera(app.CAMERA_TO_NEGATIVE)
- def __SetQuickSlotMode(self):
- self.pressNumber=ui.__mem_func__(self.__PressQuickSlot)
- def __SetQuickPageMode(self):
- self.pressNumber=ui.__mem_func__(self.__SelectQuickPage)
- def __PressQuickSlot(self, localSlotIndex):
- if localeInfo.IsARABIC():
- if 0 <= localSlotIndex and localSlotIndex < 4:
- player.RequestUseLocalQuickSlot(3-localSlotIndex)
- else:
- player.RequestUseLocalQuickSlot(11-localSlotIndex)
- else:
- player.RequestUseLocalQuickSlot(localSlotIndex)
- def __SelectQuickPage(self, pageIndex):
- self.quickSlotPageIndex = pageIndex
- player.SetQuickPage(pageIndex)
- def ToggleDebugInfo(self):
- self.isShowDebugInfo = not self.isShowDebugInfo
- if self.isShowDebugInfo:
- self.PrintCoord.Show()
- self.FrameRate.Show()
- self.Pitch.Show()
- self.Splat.Show()
- self.TextureNum.Show()
- self.ObjectNum.Show()
- self.ViewDistance.Show()
- self.PrintMousePos.Show()
- else:
- self.PrintCoord.Hide()
- self.FrameRate.Hide()
- self.Pitch.Hide()
- self.Splat.Hide()
- self.TextureNum.Hide()
- self.ObjectNum.Hide()
- self.ViewDistance.Hide()
- self.PrintMousePos.Hide()
- def __BuildDebugInfo(self):
- self.PrintCoord = ui.TextLine()
- self.PrintCoord.SetFontName(localeInfo.UI_DEF_FONT)
- self.PrintCoord.SetPosition(wndMgr.GetScreenWidth() - 270, 0)
- self.FrameRate = ui.TextLine()
- self.FrameRate.SetFontName(localeInfo.UI_DEF_FONT)
- self.FrameRate.SetPosition(wndMgr.GetScreenWidth() - 270, 20)
- self.Pitch = ui.TextLine()
- self.Pitch.SetFontName(localeInfo.UI_DEF_FONT)
- self.Pitch.SetPosition(wndMgr.GetScreenWidth() - 270, 40)
- self.Splat = ui.TextLine()
- self.Splat.SetFontName(localeInfo.UI_DEF_FONT)
- self.Splat.SetPosition(wndMgr.GetScreenWidth() - 270, 60)
- self.PrintMousePos = ui.TextLine()
- self.PrintMousePos.SetFontName(localeInfo.UI_DEF_FONT)
- self.PrintMousePos.SetPosition(wndMgr.GetScreenWidth() - 270, 80)
- self.TextureNum = ui.TextLine()
- self.TextureNum.SetFontName(localeInfo.UI_DEF_FONT)
- self.TextureNum.SetPosition(wndMgr.GetScreenWidth() - 270, 100)
- self.ObjectNum = ui.TextLine()
- self.ObjectNum.SetFontName(localeInfo.UI_DEF_FONT)
- self.ObjectNum.SetPosition(wndMgr.GetScreenWidth() - 270, 120)
- self.ViewDistance = ui.TextLine()
- self.ViewDistance.SetFontName(localeInfo.UI_DEF_FONT)
- self.ViewDistance.SetPosition(0, 0)
- def __NotifyError(self, msg):
- chat.AppendChat(chat.CHAT_TYPE_INFO, msg)
- def ChangePKMode(self):
- if not app.IsPressed(app.DIK_LCONTROL):
- return
- if player.GetStatus(player.LEVEL)<constInfo.PVPMODE_PROTECTED_LEVEL:
- self.__NotifyError(localeInfo.OPTION_PVPMODE_PROTECT % (constInfo.PVPMODE_PROTECTED_LEVEL))
- return
- curTime = app.GetTime()
- if curTime - self.lastPKModeSendedTime < constInfo.PVPMODE_ACCELKEY_DELAY:
- return
- self.lastPKModeSendedTime = curTime
- curPKMode = player.GetPKMode()
- nextPKMode = curPKMode + 1
- if nextPKMode == player.PK_MODE_PROTECT:
- if 0 == player.GetGuildID():
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.OPTION_PVPMODE_CANNOT_SET_GUILD_MODE)
- nextPKMode = 0
- else:
- nextPKMode = player.PK_MODE_GUILD
- elif nextPKMode == player.PK_MODE_MAX_NUM:
- nextPKMode = 0
- net.SendChatPacket("/PKMode " + str(nextPKMode))
- print "/PKMode " + str(nextPKMode)
- def OnChangePKMode(self):
- self.interface.OnChangePKMode()
- try:
- self.__NotifyError(localeInfo.OPTION_PVPMODE_MESSAGE_DICT[player.GetPKMode()])
- except KeyError:
- print "UNKNOWN PVPMode[%d]" % (player.GetPKMode())
- if constInfo.PVPMODE_TEST_ENABLE:
- curPKMode = player.GetPKMode()
- alignment, grade = chr.testGetPKData()
- self.pkModeNameDict = { 0 : "PEACE", 1 : "REVENGE", 2 : "FREE", 3 : "PROTECT", }
- self.testPKMode.SetText("Current PK Mode : " + self.pkModeNameDict.get(curPKMode, "UNKNOWN"))
- self.testAlignment.SetText("Current Alignment : " + str(alignment) + " (" + localeInfo.TITLE_NAME_LIST[grade] + ")")
- if app.WJ_ENABLE_TRADABLE_ICON:
- def BINARY_AddItemToExchange(self, inven_type, inven_pos, display_pos):
- if inven_type == player.INVENTORY:
- self.interface.CantTradableItemExchange(display_pos, inven_pos)
- def StartGame(self):
- self.RefreshInventory()
- self.RefreshEquipment()
- self.RefreshCharacter()
- self.RefreshSkill()
- if app.ENABLE_ENVIRONMENT_EFFECT_OPTION:
- systemSetting.SetNightModeOption(systemSetting.GetNightModeOption())
- # systemSetting.SetSnowModeOption(systemSetting.GetSnowModeOption())
- # systemSetting.SetSnowTextureModeOption(systemSetting.GetSnowTextureModeOption())
- if app.ENABLE_ENVIRONMENT_EFFECT_OPTION:
- def BINARY_Recv_Night_Mode(self, mode):
- self.__DayMode_Update(mode)
- def CheckGameButton(self):
- if self.interface:
- self.interface.CheckGameButton()
- def RefreshAlignment(self):
- self.interface.RefreshAlignment()
- def RefreshStatus(self):
- self.CheckGameButton()
- if self.interface:
- self.interface.RefreshStatus()
- if self.playerGauge:
- self.playerGauge.RefreshGauge()
- def RefreshStamina(self):
- self.interface.RefreshStamina()
- def RefreshSkill(self):
- self.CheckGameButton()
- if self.interface:
- self.interface.RefreshSkill()
- def RefreshQuest(self):
- self.interface.RefreshQuest()
- def RefreshMessenger(self):
- self.interface.RefreshMessenger()
- def RefreshGuildInfoPage(self):
- self.interface.RefreshGuildInfoPage()
- def RefreshGuildBoardPage(self):
- self.interface.RefreshGuildBoardPage()
- def RefreshGuildMemberPage(self):
- self.interface.RefreshGuildMemberPage()
- def RefreshGuildMemberPageGradeComboBox(self):
- self.interface.RefreshGuildMemberPageGradeComboBox()
- def RefreshGuildSkillPage(self):
- self.interface.RefreshGuildSkillPage()
- def RefreshGuildGradePage(self):
- self.interface.RefreshGuildGradePage()
- def RefreshMobile(self):
- if self.interface:
- self.interface.RefreshMobile()
- def OnMobileAuthority(self):
- self.interface.OnMobileAuthority()
- def OnBlockMode(self, mode):
- self.interface.OnBlockMode(mode)
- def OpenQuestWindow(self, skin, idx):
- if constInfo.INPUT_IGNORE == 1:
- return
- else:
- self.interface.OpenQuestWindow(skin, idx)
- def AskGuildName(self):
- guildNameBoard = uiCommon.InputDialog()
- guildNameBoard.SetTitle(localeInfo.GUILD_NAME)
- guildNameBoard.SetAcceptEvent(ui.__mem_func__(self.ConfirmGuildName))
- guildNameBoard.SetCancelEvent(ui.__mem_func__(self.CancelGuildName))
- guildNameBoard.Open()
- self.guildNameBoard = guildNameBoard
- def ConfirmGuildName(self):
- guildName = self.guildNameBoard.GetText()
- if not guildName:
- return
- if net.IsInsultIn(guildName):
- self.PopupMessage(localeInfo.GUILD_CREATE_ERROR_INSULT_NAME)
- return
- net.SendAnswerMakeGuildPacket(guildName)
- self.guildNameBoard.Close()
- self.guildNameBoard = None
- return True
- def CancelGuildName(self):
- self.guildNameBoard.Close()
- self.guildNameBoard = None
- return True
- def PopupMessage(self, msg):
- self.stream.popupWindow.Close()
- self.stream.popupWindow.Open(msg, 0, localeInfo.UI_OK)
- def OpenRefineDialog(self, targetItemPos, nextGradeItemVnum, cost, prob, type=0):
- self.interface.OpenRefineDialog(targetItemPos, nextGradeItemVnum, cost, prob, type)
- def AppendMaterialToRefineDialog(self, vnum, count):
- self.interface.AppendMaterialToRefineDialog(vnum, count)
- def RunUseSkillEvent(self, slotIndex, coolTime):
- self.interface.OnUseSkill(slotIndex, coolTime)
- def ClearAffects(self):
- self.affectShower.ClearAffects()
- def SetAffect(self, affect):
- self.affectShower.SetAffect(affect)
- def ResetAffect(self, affect):
- self.affectShower.ResetAffect(affect)
- def BINARY_NEW_AddAffect(self, type, pointIdx, value, duration):
- self.affectShower.BINARY_NEW_AddAffect(type, pointIdx, value, duration)
- if chr.NEW_AFFECT_DRAGON_SOUL_DECK1 == type or chr.NEW_AFFECT_DRAGON_SOUL_DECK2 == type:
- self.interface.DragonSoulActivate(type - chr.NEW_AFFECT_DRAGON_SOUL_DECK1)
- elif chr.NEW_AFFECT_DRAGON_SOUL_QUALIFIED == type:
- self.BINARY_DragonSoulGiveQuilification()
- if app.ENABLE_BATTLE_PASS:
- if type == chr.NEW_AFFECT_BATTLE_PASS:
- if self.interface:
- if self.interface.wndBattlePassButton:
- self.interface.wndBattlePassButton.ShowButton()
- self.interface.wndBattlePassButton.Show()
- if self.interface.wndBattlePass:
- self.interface.wndBattlePass.SetBattlePassInfo(value, duration)
- def BINARY_NEW_RemoveAffect(self, type, pointIdx):
- self.affectShower.BINARY_NEW_RemoveAffect(type, pointIdx)
- if chr.NEW_AFFECT_DRAGON_SOUL_DECK1 == type or chr.NEW_AFFECT_DRAGON_SOUL_DECK2 == type:
- self.interface.DragonSoulDeactivate()
- if app.ENABLE_BATTLE_PASS:
- if type == chr.NEW_AFFECT_BATTLE_PASS:
- if self.interface and self.interface.wndBattlePassButton:
- self.interface.wndBattlePassButton.HideButton()
- self.interface.wndBattlePassButton.Hide()
- def ActivateSkillSlot(self, slotIndex):
- if self.interface:
- self.interface.OnActivateSkill(slotIndex)
- def DeactivateSkillSlot(self, slotIndex):
- if self.interface:
- self.interface.OnDeactivateSkill(slotIndex)
- def RefreshEquipment(self):
- if self.interface:
- self.interface.RefreshInventory()
- def RefreshInventory(self):
- if self.interface:
- self.interface.RefreshInventory()
- def RefreshCharacter(self):
- if self.interface:
- self.interface.RefreshCharacter()
- def OnGameOver(self):
- self.CloseTargetBoard()
- self.OpenRestartDialog()
- def OpenRestartDialog(self):
- self.interface.OpenRestartDialog()
- def ChangeCurrentSkill(self, skillSlotNumber):
- self.interface.OnChangeCurrentSkill(skillSlotNumber)
- def SetPCTargetBoard(self, vid, name):
- self.targetBoard.Open(vid, name)
- if app.IsPressed(app.DIK_LCONTROL):
- if not player.IsSameEmpire(vid):
- return
- if player.IsMainCharacterIndex(vid):
- return
- elif chr.INSTANCE_TYPE_BUILDING == chr.GetInstanceType(vid):
- return
- self.interface.OpenWhisperDialog(name)
- def RefreshTargetBoardByVID(self, vid):
- self.targetBoard.RefreshByVID(vid)
- def RefreshTargetBoardByName(self, name):
- self.targetBoard.RefreshByName(name)
- def __RefreshTargetBoard(self):
- self.targetBoard.Refresh()
- if app.ENABLE_VIEW_TARGET_DECIMAL_HP:
- def SetHPTargetBoard(self, vid, hpPercentage, iMinHP, iMaxHP):
- if vid != self.targetBoard.GetTargetVID():
- self.targetBoard.ResetTargetBoard()
- self.targetBoard.SetEnemyVID(vid)
- self.targetBoard.SetHP(hpPercentage, iMinHP, iMaxHP)
- self.targetBoard.Show()
- else:
- def SetHPTargetBoard(self, vid, hpPercentage):
- if vid != self.targetBoard.GetTargetVID():
- self.targetBoard.ResetTargetBoard()
- self.targetBoard.SetEnemyVID(vid)
- self.targetBoard.SetHP(hpPercentage)
- self.targetBoard.Show()
- def CloseTargetBoardIfDifferent(self, vid):
- if vid != self.targetBoard.GetTargetVID():
- self.targetBoard.Close()
- def CloseTargetBoard(self):
- self.targetBoard.Close()
- def OpenEquipmentDialog(self, vid):
- self.interface.OpenEquipmentDialog(vid)
- def SetEquipmentDialogItem(self, vid, slotIndex, vnum, count):
- self.interface.SetEquipmentDialogItem(vid, slotIndex, vnum, count)
- def SetEquipmentDialogSocket(self, vid, slotIndex, socketIndex, value):
- self.interface.SetEquipmentDialogSocket(vid, slotIndex, socketIndex, value)
- def SetEquipmentDialogAttr(self, vid, slotIndex, attrIndex, type, value):
- self.interface.SetEquipmentDialogAttr(vid, slotIndex, attrIndex, type, value)
- def ShowMapName(self, mapName, x, y):
- if self.mapNameShower:
- self.mapNameShower.ShowMapName(mapName, x, y)
- if self.interface:
- self.interface.SetMapName(mapName)
- def BINARY_OpenAtlasWindow(self):
- self.interface.BINARY_OpenAtlasWindow()
- def OnRecvWhisper(self, mode, name, line):
- if mode == chat.WHISPER_TYPE_GM:
- self.interface.RegisterGameMasterName(name)
- chat.AppendWhisper(mode, name, line)
- self.interface.RecvWhisper(name)
- def OnRecvWhisperSystemMessage(self, mode, name, line):
- chat.AppendWhisper(chat.WHISPER_TYPE_SYSTEM, name, line)
- self.interface.RecvWhisper(name)
- def OnRecvWhisperError(self, mode, name, line):
- if localeInfo.WHISPER_ERROR.has_key(mode):
- chat.AppendWhisper(chat.WHISPER_TYPE_SYSTEM, name, localeInfo.WHISPER_ERROR[mode](name))
- else:
- chat.AppendWhisper(chat.WHISPER_TYPE_SYSTEM, name, "Whisper Unknown Error(mode=%d, name=%s)" % (mode, name))
- self.interface.RecvWhisper(name)
- def RecvWhisper(self, name):
- self.interface.RecvWhisper(name)
- if app.ENABLE_WHISPER_ADMIN_SYSTEM:
- def OnRecvWhisperAdminSystem(self, name, line, color):
- def ExistCustomColor(val):
- return (val > 0)
- def GetColor(type):
- WHISPER_COLOR_MESSAGE = {
- 0: "|cffffffff|H|h",
- 1: "|cffff796a|H|h",
- 2: "|cffb1ff80|H|h",
- 3: "|cff46deff|H|h"
- }
- return WHISPER_COLOR_MESSAGE[type]
- def ResizeTextWithColor(color, text):
- return str("%s%s|h|r" % (GetColor(color), text))
- import datetime
- now = datetime.datetime.now()
- ret = line.replace("#", " ")
- if ExistCustomColor(int(color)):
- ret = ResizeTextWithColor(int(color), ret)
- else:
- ret = ResizeTextWithColor(0, ret)
- text = localeInfo.WHISPER_ADMIN_MESSAGE % (now.strftime("%Y-%m-%d %H:%M"), ret)
- self.interface.RegisterGameMasterName(name)
- chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, name, text)
- self.interface.RecvWhisper(name)
- def OnPickMoney(self, money):
- if app.ENABLE_SPECIAL_CHAT:
- self.SpecialChatOnPick(money, 0)
- else:
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.GAME_PICK_MONEY % (money))
- if app.ENABLE_SPECIAL_CHAT:
- def OnPickItem(self, item):
- item_vnum = int(item)
- self.SpecialChatOnPick(0, item_vnum)
- def SpecialChatOnPick(self, money=0, item_vnum=0):
- if money > 0:
- money_str = localeInfo.NumberToMoneyString(money)
- self.specialChat.AddSpecialChatLine(localeInfo.SC_PICK_MONEY % (money_str))
- if item_vnum > 0:
- import item
- item.SelectItem(item_vnum)
- self.specialChat.AddSpecialChatLine(localeInfo.SC_PICK_ITEM % (item.GetItemName()))
- def OnShopError(self, type):
- try:
- self.PopupMessage(localeInfo.SHOP_ERROR_DICT[type])
- except KeyError:
- self.PopupMessage(localeInfo.SHOP_ERROR_UNKNOWN % (type))
- def OnSafeBoxError(self):
- self.PopupMessage(localeInfo.SAFEBOX_ERROR)
- def OnFishingSuccess(self, isFish, fishName):
- chat.AppendChatWithDelay(chat.CHAT_TYPE_INFO, localeInfo.FISHING_SUCCESS(isFish, fishName), 2000)
- # ADD_FISHING_MESSAGE
- def OnFishingNotifyUnknown(self):
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.FISHING_UNKNOWN)
- def OnFishingWrongPlace(self):
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.FISHING_WRONG_PLACE)
- # END_OF_ADD_FISHING_MESSAGE
- def OnFishingNotify(self, isFish, fishName):
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.FISHING_NOTIFY(isFish, fishName))
- def OnFishingFailure(self):
- chat.AppendChatWithDelay(chat.CHAT_TYPE_INFO, localeInfo.FISHING_FAILURE, 2000)
- def OnCannotPickItem(self):
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.GAME_CANNOT_PICK_ITEM)
- # MINING
- def OnCannotMining(self):
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.GAME_CANNOT_MINING)
- # END_OF_MINING
- def OnCannotUseSkill(self, vid, type):
- if localeInfo.USE_SKILL_ERROR_TAIL_DICT.has_key(type):
- textTail.RegisterInfoTail(vid, localeInfo.USE_SKILL_ERROR_TAIL_DICT[type])
- if localeInfo.USE_SKILL_ERROR_CHAT_DICT.has_key(type):
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.USE_SKILL_ERROR_CHAT_DICT[type])
- def OnCannotShotError(self, vid, type):
- textTail.RegisterInfoTail(vid, localeInfo.SHOT_ERROR_TAIL_DICT.get(type, localeInfo.SHOT_ERROR_UNKNOWN % (type)))
- ## PointReset
- def StartPointReset(self):
- self.interface.OpenPointResetDialog()
- ## Shop
- def StartShop(self, vid):
- self.interface.OpenShopDialog(vid)
- def EndShop(self):
- self.interface.CloseShopDialog()
- def RefreshShop(self):
- self.interface.RefreshShopDialog()
- def SetShopSellingPrice(self, Price):
- pass
- ## Exchange
- def StartExchange(self):
- self.interface.StartExchange()
- def StartDice(self):
- self.interface.StartDice()
- def EndDice(self):
- self.interface.EndDice()
- def RefreshDice(self):
- self.interface.RefreshDice()
- def __DiceHasDone(self, myNumber, targetNumber):
- self.interface.AddDiceNumber(myNumber, targetNumber)
- def EndExchange(self):
- self.interface.EndExchange()
- def RefreshExchange(self):
- self.interface.RefreshExchange()
- ## Party
- def RecvPartyInviteQuestion(self, leaderVID, leaderName):
- partyInviteQuestionDialog = uiCommon.QuestionDialog()
- partyInviteQuestionDialog.SetText(leaderName + localeInfo.PARTY_DO_YOU_JOIN)
- partyInviteQuestionDialog.SetAcceptEvent(lambda arg=True: self.AnswerPartyInvite(arg))
- partyInviteQuestionDialog.SetCancelEvent(lambda arg=False: self.AnswerPartyInvite(arg))
- partyInviteQuestionDialog.Open()
- partyInviteQuestionDialog.partyLeaderVID = leaderVID
- self.partyInviteQuestionDialog = partyInviteQuestionDialog
- def AnswerPartyInvite(self, answer):
- if not self.partyInviteQuestionDialog:
- return
- partyLeaderVID = self.partyInviteQuestionDialog.partyLeaderVID
- distance = player.GetCharacterDistance(partyLeaderVID)
- if distance < 0.0 or distance > 5000:
- answer = False
- net.SendPartyInviteAnswerPacket(partyLeaderVID, answer)
- self.partyInviteQuestionDialog.Close()
- self.partyInviteQuestionDialog = None
- def AddPartyMember(self, pid, name):
- self.interface.AddPartyMember(pid, name)
- def UpdatePartyMemberInfo(self, pid):
- self.interface.UpdatePartyMemberInfo(pid)
- def RemovePartyMember(self, pid):
- self.interface.RemovePartyMember(pid)
- self.__RefreshTargetBoard()
- def LinkPartyMember(self, pid, vid):
- self.interface.LinkPartyMember(pid, vid)
- def UnlinkPartyMember(self, pid):
- self.interface.UnlinkPartyMember(pid)
- def UnlinkAllPartyMember(self):
- self.interface.UnlinkAllPartyMember()
- def ExitParty(self):
- self.interface.ExitParty()
- self.RefreshTargetBoardByVID(self.targetBoard.GetTargetVID())
- def ChangePartyParameter(self, distributionMode):
- self.interface.ChangePartyParameter(distributionMode)
- ## Messenger
- def OnMessengerAddFriendQuestion(self, name):
- messengerAddFriendQuestion = uiCommon.QuestionDialog2()
- messengerAddFriendQuestion.SetText1(localeInfo.MESSENGER_DO_YOU_ACCEPT_ADD_FRIEND_1 % (name))
- messengerAddFriendQuestion.SetText2(localeInfo.MESSENGER_DO_YOU_ACCEPT_ADD_FRIEND_2)
- messengerAddFriendQuestion.SetAcceptEvent(ui.__mem_func__(self.OnAcceptAddFriend))
- messengerAddFriendQuestion.SetCancelEvent(ui.__mem_func__(self.OnDenyAddFriend))
- messengerAddFriendQuestion.Open()
- messengerAddFriendQuestion.name = name
- self.messengerAddFriendQuestion = messengerAddFriendQuestion
- def OnAcceptAddFriend(self):
- name = self.messengerAddFriendQuestion.name
- net.SendChatPacket("/messenger_auth y " + name)
- self.OnCloseAddFriendQuestionDialog()
- return True
- def OnDenyAddFriend(self):
- name = self.messengerAddFriendQuestion.name
- net.SendChatPacket("/messenger_auth n " + name)
- self.OnCloseAddFriendQuestionDialog()
- return True
- def OnCloseAddFriendQuestionDialog(self):
- self.messengerAddFriendQuestion.Close()
- self.messengerAddFriendQuestion = None
- return True
- ## SafeBox
- def OpenSafeboxWindow(self, size):
- self.interface.OpenSafeboxWindow(size)
- def RefreshSafebox(self):
- self.interface.RefreshSafebox()
- def RefreshSafeboxMoney(self):
- self.interface.RefreshSafeboxMoney()
- # ITEM_MALL
- def OpenMallWindow(self, size):
- self.interface.OpenMallWindow(size)
- def RefreshMall(self):
- self.interface.RefreshMall()
- # END_OF_ITEM_MALL
- ## Guild
- def RecvGuildInviteQuestion(self, guildID, guildName):
- guildInviteQuestionDialog = uiCommon.QuestionDialog()
- guildInviteQuestionDialog.SetText(guildName + localeInfo.GUILD_DO_YOU_JOIN)
- guildInviteQuestionDialog.SetAcceptEvent(lambda arg=True: self.AnswerGuildInvite(arg))
- guildInviteQuestionDialog.SetCancelEvent(lambda arg=False: self.AnswerGuildInvite(arg))
- guildInviteQuestionDialog.Open()
- guildInviteQuestionDialog.guildID = guildID
- self.guildInviteQuestionDialog = guildInviteQuestionDialog
- def AnswerGuildInvite(self, answer):
- if not self.guildInviteQuestionDialog:
- return
- guildLeaderVID = self.guildInviteQuestionDialog.guildID
- net.SendGuildInviteAnswerPacket(guildLeaderVID, answer)
- self.guildInviteQuestionDialog.Close()
- self.guildInviteQuestionDialog = None
- def DeleteGuild(self):
- self.interface.DeleteGuild()
- ## Clock
- def ShowClock(self, second):
- self.interface.ShowClock(second)
- def HideClock(self):
- self.interface.HideClock()
- ## Emotion
- def BINARY_ActEmotion(self, emotionIndex):
- if self.interface.wndCharacter:
- self.interface.wndCharacter.ActEmotion(emotionIndex)
- ###############################################################################################
- ###############################################################################################
- ## Keyboard Functions
- def CheckFocus(self):
- if False == self.IsFocus():
- if True == self.interface.IsOpenChat():
- self.interface.ToggleChat()
- self.SetFocus()
- def SaveScreen(self):
- print "save screen"
- # SCREENSHOT_CWDSAVE
- if SCREENSHOT_CWDSAVE:
- if not os.path.exists(os.getcwd()+os.sep+"screenshot"):
- os.mkdir(os.getcwd()+os.sep+"screenshot")
- (succeeded, name) = grp.SaveScreenShotToPath(os.getcwd()+os.sep+"screenshot"+os.sep)
- elif SCREENSHOT_DIR:
- (succeeded, name) = grp.SaveScreenShot(SCREENSHOT_DIR)
- else:
- (succeeded, name) = grp.SaveScreenShot()
- # END_OF_SCREENSHOT_CWDSAVE
- if succeeded:
- pass
- """
- chat.AppendChat(chat.CHAT_TYPE_INFO, name + localeInfo.SCREENSHOT_SAVE1)
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SCREENSHOT_SAVE2)
- """
- else:
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SCREENSHOT_SAVE_FAILURE)
- def ShowConsole(self):
- if debugInfo.IsDebugMode() or True == self.consoleEnable:
- player.EndKeyWalkingImmediately()
- self.console.OpenWindow()
- def ShowName(self):
- self.ShowNameFlag = True
- self.playerGauge.EnableShowAlways()
- player.SetQuickPage(self.quickSlotPageIndex+1)
- # ADD_ALWAYS_SHOW_NAME
- def __IsShowName(self):
- if systemSetting.IsAlwaysShowName():
- return True
- if self.ShowNameFlag:
- return True
- return False
- # END_OF_ADD_ALWAYS_SHOW_NAME
- def HideName(self):
- self.ShowNameFlag = False
- self.playerGauge.DisableShowAlways()
- player.SetQuickPage(self.quickSlotPageIndex)
- def ShowMouseImage(self):
- self.interface.ShowMouseImage()
- def HideMouseImage(self):
- self.interface.HideMouseImage()
- def StartAttack(self):
- player.SetAttackKeyState(True)
- def EndAttack(self):
- player.SetAttackKeyState(False)
- def MoveUp(self):
- player.SetSingleDIKKeyState(app.DIK_UP, True)
- def MoveDown(self):
- player.SetSingleDIKKeyState(app.DIK_DOWN, True)
- def MoveLeft(self):
- player.SetSingleDIKKeyState(app.DIK_LEFT, True)
- def MoveRight(self):
- player.SetSingleDIKKeyState(app.DIK_RIGHT, True)
- def StopUp(self):
- player.SetSingleDIKKeyState(app.DIK_UP, False)
- def StopDown(self):
- player.SetSingleDIKKeyState(app.DIK_DOWN, False)
- def StopLeft(self):
- player.SetSingleDIKKeyState(app.DIK_LEFT, False)
- def StopRight(self):
- player.SetSingleDIKKeyState(app.DIK_RIGHT, False)
- def PickUpItem(self):
- player.PickCloseItemVector()
- ###############################################################################################
- ###############################################################################################
- ## Event Handler
- def OnKeyDown(self, key):
- if self.interface.wndWeb and self.interface.wndWeb.IsShow():
- return
- if key == app.DIK_ESC:
- self.RequestDropItem(False)
- constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(0)
- try:
- self.onPressKeyDict[key]()
- except KeyError:
- pass
- except:
- raise
- return True
- def OnKeyUp(self, key):
- try:
- if self.onClickKeyDict:
- self.onClickKeyDict[key]()
- except KeyError:
- pass
- except:
- raise
- return True
- def OnMouseLeftButtonDown(self):
- if self.interface.BUILD_OnMouseLeftButtonDown():
- return
- if mouseModule.mouseController.isAttached():
- self.CheckFocus()
- else:
- hyperlink = ui.GetHyperlink()
- if hyperlink:
- return
- else:
- self.CheckFocus()
- player.SetMouseState(player.MBT_LEFT, player.MBS_PRESS);
- return True
- def OnMouseLeftButtonUp(self):
- if self.interface.BUILD_OnMouseLeftButtonUp():
- return
- if mouseModule.mouseController.isAttached():
- attachedType = mouseModule.mouseController.GetAttachedType()
- attachedItemIndex = mouseModule.mouseController.GetAttachedItemIndex()
- attachedItemSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
- attachedItemCount = mouseModule.mouseController.GetAttachedItemCount()
- ## QuickSlot
- if player.SLOT_TYPE_QUICK_SLOT == attachedType:
- player.RequestDeleteGlobalQuickSlot(attachedItemSlotPos)
- ## Inventory
- elif player.SLOT_TYPE_INVENTORY == attachedType:
- if player.ITEM_MONEY == attachedItemIndex:
- self.__PutMoney(attachedType, attachedItemCount, self.PickingCharacterIndex)
- else:
- self.__PutItem(attachedType, attachedItemIndex, attachedItemSlotPos, attachedItemCount, self.PickingCharacterIndex)
- ## DragonSoul
- elif player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == attachedType:
- self.__PutItem(attachedType, attachedItemIndex, attachedItemSlotPos, attachedItemCount, self.PickingCharacterIndex)
- if app.ENABLE_SPECIAL_STORAGE:
- if player.SLOT_TYPE_UPGRADE_INVENTORY == attachedType or\
- player.SLOT_TYPE_BOOK_INVENTORY == attachedType or\
- player.SLOT_TYPE_STONE_INVENTORY == attachedType or\
- player.SLOT_TYPE_BONUS_INVENTORY == attachedType or\
- player.SLOT_TYPE_CHEST_INVENTORY == attachedType or\
- player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == attachedType:
- self.__PutItem(attachedType, attachedItemIndex, attachedItemSlotPos, attachedItemCount, self.PickingCharacterIndex)
- mouseModule.mouseController.DeattachObject()
- else:
- hyperlink = ui.GetHyperlink()
- if hyperlink:
- if app.IsPressed(app.DIK_LALT):
- link = chat.GetLinkFromHyperlink(hyperlink)
- ime.PasteString(link)
- else:
- self.interface.MakeHyperlinkTooltip(hyperlink)
- return
- else:
- player.SetMouseState(player.MBT_LEFT, player.MBS_CLICK)
- #player.EndMouseWalking()
- return True
- def __PutItem(self, attachedType, attachedItemIndex, attachedItemSlotPos, attachedItemCount, dstChrID):
- if app.ENABLE_SPECIAL_STORAGE:
- if player.SLOT_TYPE_INVENTORY == attachedType or\
- player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == attachedType or\
- player.SLOT_TYPE_UPGRADE_INVENTORY == attachedType or\
- player.SLOT_TYPE_BOOK_INVENTORY == attachedType or\
- player.SLOT_TYPE_STONE_INVENTORY == attachedType or\
- player.SLOT_TYPE_BONUS_INVENTORY == attachedType or\
- player.SLOT_TYPE_CHEST_INVENTORY == attachedType:
- attachedInvenType = player.SlotTypeToInvenType(attachedType)
- if True == chr.HasInstance(self.PickingCharacterIndex) and player.GetMainCharacterIndex() != dstChrID:
- if player.IsEquipmentSlot(attachedItemSlotPos) and\
- player.SLOT_TYPE_DRAGON_SOUL_INVENTORY != attachedType and\
- player.SLOT_TYPE_UPGRADE_INVENTORY != attachedType and\
- player.SLOT_TYPE_BOOK_INVENTORY != attachedType and\
- player.SLOT_TYPE_STONE_INVENTORY != attachedType and\
- player.SLOT_TYPE_BONUS_INVENTORY != attachedType and\
- player.SLOT_TYPE_CHEST_INVENTORY != attachedType:
- self.stream.popupWindow.Close()
- self.stream.popupWindow.Open(localeInfo.EXCHANGE_FAILURE_EQUIP_ITEM, 0, localeInfo.UI_OK)
- else:
- if chr.IsNPC(dstChrID):
- net.SendGiveItemPacket(dstChrID, attachedInvenType, attachedItemSlotPos, attachedItemCount)
- else:
- net.SendExchangeStartPacket(dstChrID)
- net.SendExchangeItemAddPacket(attachedInvenType, attachedItemSlotPos, 0)
- else:
- self.__DropItem(attachedType, attachedItemIndex, attachedItemSlotPos, attachedItemCount)
- else:
- if player.SLOT_TYPE_INVENTORY == attachedType or player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == attachedType:
- attachedInvenType = player.SlotTypeToInvenType(attachedType)
- if True == chr.HasInstance(self.PickingCharacterIndex) and player.GetMainCharacterIndex() != dstChrID:
- if player.IsEquipmentSlot(attachedItemSlotPos) and player.SLOT_TYPE_DRAGON_SOUL_INVENTORY != attachedType:
- self.stream.popupWindow.Close()
- self.stream.popupWindow.Open(localeInfo.EXCHANGE_FAILURE_EQUIP_ITEM, 0, localeInfo.UI_OK)
- else:
- if chr.IsNPC(dstChrID):
- net.SendGiveItemPacket(dstChrID, attachedInvenType, attachedItemSlotPos, attachedItemCount)
- else:
- net.SendExchangeStartPacket(dstChrID)
- net.SendExchangeItemAddPacket(attachedInvenType, attachedItemSlotPos, 0)
- else:
- self.__DropItem(attachedType, attachedItemIndex, attachedItemSlotPos, attachedItemCount)
- def __PutMoney(self, attachedType, attachedMoney, dstChrID):
- if True == chr.HasInstance(dstChrID) and player.GetMainCharacterIndex() != dstChrID:
- net.SendExchangeStartPacket(dstChrID)
- net.SendExchangeElkAddPacket(attachedMoney)
- else:
- self.__DropMoney(attachedType, attachedMoney)
- def __DropMoney(self, attachedType, attachedMoney):
- # PRIVATESHOP_DISABLE_ITEM_DROP - 개인상점 열고 있는 동안 아이템 버림 방지
- if uiPrivateShopBuilder.IsBuildingPrivateShop():
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.DROP_ITEM_FAILURE_PRIVATE_SHOP)
- return
- # END_OF_PRIVATESHOP_DISABLE_ITEM_DROP
- if attachedMoney>=1000:
- self.stream.popupWindow.Close()
- self.stream.popupWindow.Open(localeInfo.DROP_MONEY_FAILURE_1000_OVER, 0, localeInfo.UI_OK)
- return
- itemDropQuestionDialog = uiCommon.QuestionDialogItem()
- itemDropQuestionDialog.SetText(localeInfo.DO_YOU_DROP_MONEY % (attachedMoney))
- itemDropQuestionDialog.SetAcceptEvent(lambda arg=True: self.RequestDropItem(arg))
- itemDropQuestionDialog.SetDestroyEvent(lambda arg=TRUE: self.RequestDestroyItem(arg))
- itemDropQuestionDialog.SetCancelEvent(lambda arg=False: self.RequestDropItem(arg))
- itemDropQuestionDialog.Open()
- itemDropQuestionDialog.dropType = attachedType
- itemDropQuestionDialog.dropCount = attachedMoney
- itemDropQuestionDialog.dropNumber = player.ITEM_MONEY
- self.itemDropQuestionDialog = itemDropQuestionDialog
- def __DropItem(self, attachedType, attachedItemIndex, attachedItemSlotPos, attachedItemCount):
- # PRIVATESHOP_DISABLE_ITEM_DROP - 개인상점 열고 있는 동안 아이템 버림 방지
- if uiPrivateShopBuilder.IsBuildingPrivateShop():
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.DROP_ITEM_FAILURE_PRIVATE_SHOP)
- return
- # END_OF_PRIVATESHOP_DISABLE_ITEM_DROP
- if player.SLOT_TYPE_INVENTORY == attachedType and player.IsEquipmentSlot(attachedItemSlotPos):
- self.stream.popupWindow.Close()
- self.stream.popupWindow.Open(localeInfo.DROP_ITEM_FAILURE_EQUIP_ITEM, 0, localeInfo.UI_OK)
- else:
- if player.SLOT_TYPE_INVENTORY == attachedType:
- dropItemIndex = player.GetItemIndex(attachedItemSlotPos)
- item.SelectItem(dropItemIndex)
- dropItemName = item.GetItemName()
- ## Question Text
- questionText = localeInfo.HOW_MANY_ITEM_DO_YOU_DROP(dropItemName, attachedItemCount)
- ## Dialog
- itemDropQuestionDialog = uiCommon.QuestionDialogItem()
- itemDropQuestionDialog.SetText(questionText)
- itemDropQuestionDialog.SetAcceptEvent(lambda arg=True: self.RequestDropItem(arg))
- itemDropQuestionDialog.SetDestroyEvent(lambda arg=TRUE: self.RequestDestroyItem(arg))
- itemDropQuestionDialog.SetCancelEvent(lambda arg=False: self.RequestDropItem(arg))
- itemDropQuestionDialog.SetCancelEvent(lambda arg=False: self.RequestDropItemStorage(arg))
- itemDropQuestionDialog.Open()
- itemDropQuestionDialog.dropType = attachedType
- itemDropQuestionDialog.dropNumber = attachedItemSlotPos
- itemDropQuestionDialog.dropCount = attachedItemCount
- self.itemDropQuestionDialog = itemDropQuestionDialog
- constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(1)
- elif player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == attachedType:
- dropItemIndex = player.GetItemIndex(player.DRAGON_SOUL_INVENTORY, attachedItemSlotPos)
- item.SelectItem(dropItemIndex)
- dropItemName = item.GetItemName()
- ## Question Text
- questionText = localeInfo.HOW_MANY_ITEM_DO_YOU_DROP(dropItemName, attachedItemCount)
- ## Dialog
- itemDropQuestionDialog = uiCommon.QuestionDialogItem()
- itemDropQuestionDialog.SetText(questionText)
- itemDropQuestionDialog.SetAcceptEvent(lambda arg=True: self.RequestDropItem(arg))
- itemDropQuestionDialog.SetDestroyEvent(lambda arg=TRUE: self.RequestDestroyItem(arg))
- itemDropQuestionDialog.SetCancelEvent(lambda arg=False: self.RequestDropItem(arg))
- itemDropQuestionDialog.Open()
- itemDropQuestionDialog.dropType = attachedType
- itemDropQuestionDialog.dropNumber = attachedItemSlotPos
- itemDropQuestionDialog.dropCount = attachedItemCount
- self.itemDropQuestionDialog = itemDropQuestionDialog
- constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(1)
- if app.ENABLE_SPECIAL_STORAGE:
- if player.SLOT_TYPE_UPGRADE_INVENTORY == attachedType or\
- player.SLOT_TYPE_BOOK_INVENTORY == attachedType or\
- player.SLOT_TYPE_STONE_INVENTORY == attachedType or\
- player.SLOT_TYPE_BONUS_INVENTORY == attachedType or\
- player.SLOT_TYPE_CHEST_INVENTORY == attachedType:
- dropItemIndex = player.GetItemIndex(player.SlotTypeToInvenType(attachedType), attachedItemSlotPos)
- item.SelectItem(dropItemIndex)
- dropItemName = item.GetItemName()
- ## Question Text
- questionText = localeInfo.HOW_MANY_ITEM_DO_YOU_DROP(dropItemName, attachedItemCount)
- ## Dialog
- itemDropQuestionDialog = uiCommon.QuestionDialog()
- itemDropQuestionDialog.SetText(questionText)
- itemDropQuestionDialog.SetAcceptEvent(lambda arg=True: self.RequestDropItem(arg))
- itemDropQuestionDialog.SetCancelEvent(lambda arg=False: self.RequestDropItem(arg))
- itemDropQuestionDialog.Open()
- itemDropQuestionDialog.dropType = attachedType
- itemDropQuestionDialog.dropNumber = attachedItemSlotPos
- itemDropQuestionDialog.dropCount = attachedItemCount
- self.itemDropQuestionDialog = itemDropQuestionDialog
- constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(1)
- def RequestDropItem(self, answer):
- if not self.itemDropQuestionDialog:
- return
- if answer:
- dropType = self.itemDropQuestionDialog.dropType
- dropCount = self.itemDropQuestionDialog.dropCount
- dropNumber = self.itemDropQuestionDialog.dropNumber
- if player.SLOT_TYPE_INVENTORY == dropType:
- if dropNumber == player.ITEM_MONEY:
- net.SendGoldDropPacketNew(dropCount)
- snd.PlaySound("sound/ui/money.wav")
- else:
- # PRIVATESHOP_DISABLE_ITEM_DROP
- self.__SendDropItemPacket(dropNumber, dropCount)
- # END_OF_PRIVATESHOP_DISABLE_ITEM_DROP
- elif player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == dropType:
- # PRIVATESHOP_DISABLE_ITEM_DROP
- self.__SendDropItemPacket(dropNumber, dropCount, player.DRAGON_SOUL_INVENTORY)
- # END_OF_PRIVATESHOP_DISABLE_ITEM_DROP
- if app.ENABLE_SPECIAL_STORAGE:
- if player.SLOT_TYPE_UPGRADE_INVENTORY == dropType or\
- player.SLOT_TYPE_BOOK_INVENTORY == dropType or\
- player.SLOT_TYPE_STONE_INVENTORY == dropType or\
- player.SLOT_TYPE_BONUS_INVENTORY == dropType or\
- player.SLOT_TYPE_CHEST_INVENTORY == dropType:
- self.__SendDropItemPacket(dropNumber, dropCount, player.SlotTypeToInvenType(dropType))
- self.itemDropQuestionDialog.Close()
- self.itemDropQuestionDialog = None
- constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(0)
- def RequestDestroyItem(self, answer):
- if not self.itemDropQuestionDialog:
- return
- if answer:
- dropType = self.itemDropQuestionDialog.dropType
- dropNumber = self.itemDropQuestionDialog.dropNumber
- if player.SLOT_TYPE_INVENTORY == dropType:
- if dropNumber == player.ITEM_MONEY:
- return
- else:
- self.__SendDestroyItemPacket(dropNumber)
- self.itemDropQuestionDialog.Close()
- self.itemDropQuestionDialog = None
- constInfo.SET_ITEM_DROP_QUESTION_DIALOG_STATUS(0)
- def RequestDropItemStorage(self, answer):
- if not self.itemDropQuestionDialog:
- return
- if answer:
- dropType = self.itemDropQuestionDialog.dropType
- dropCount = self.itemDropQuestionDialog.dropCount
- dropNumber = self.itemDropQuestionDialog.dropNumber
- if player.SLOT_TYPE_INVENTORY == dropType:
- if dropNumber == player.ITEM_MONEY:
- net.SendGoldDropPacketNew(dropCount)
- snd.PlaySound("sound/ui/money.wav")
- else:
- # PRIVATESHOP_DISABLE_ITEM_DROP
- self.__SendDropItemPacket(dropNumber, dropCount)
- # END_OF_PRIVATESHOP_DISABLE_ITEM_DROP
- elif player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == dropType:
- # PRIVATESHOP_DISABLE_ITEM_DROP
- self.__SendDropItemPacket(dropNumber, dropCount, player.DRAGON_SOUL_INVENTORY)
- # END_OF_PRIVATESHOP_DISABLE_ITEM_DROP
- if app.ENABLE_SPECIAL_STORAGE:
- if player.SLOT_TYPE_UPGRADE_INVENTORY == dropType or\
- player.SLOT_TYPE_BOOK_INVENTORY == dropType or\
- player.SLOT_TYPE_STONE_INVENTORY == dropType or\
- player.SLOT_TYPE_BONUS_INVENTORY == dropType or\
- player.SLOT_TYPE_CHEST_INVENTORY == dropType:
- self.__SendDropItemPacket(dropNumber, dropCount, player.SlotTypeToInvenType(dropType))
- self.itemDropQuestionDialog.Close()
- self.itemDropQuestionDialog = None
- # PRIVATESHOP_DISABLE_ITEM_DROP
- def __SendDropItemPacket(self, itemVNum, itemCount, itemInvenType = player.INVENTORY):
- if uiPrivateShopBuilder.IsBuildingPrivateShop():
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.DROP_ITEM_FAILURE_PRIVATE_SHOP)
- return
- net.SendItemDropPacketNew(itemInvenType, itemVNum, itemCount)
- # END_OF_PRIVATESHOP_DISABLE_ITEM_DROP
- def __SendDestroyItemPacket(self, itemVNum, itemInvenType = player.INVENTORY):
- if uiPrivateShopBuilder.IsBuildingPrivateShop():
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.DROP_ITEM_FAILURE_PRIVATE_SHOP)
- return
- net.SendItemDestroyPacket(itemVNum)
- def OnMouseRightButtonDown(self):
- self.CheckFocus()
- if True == mouseModule.mouseController.isAttached():
- mouseModule.mouseController.DeattachObject()
- else:
- player.SetMouseState(player.MBT_RIGHT, player.MBS_PRESS)
- return True
- def OnMouseRightButtonUp(self):
- if True == mouseModule.mouseController.isAttached():
- return True
- player.SetMouseState(player.MBT_RIGHT, player.MBS_CLICK)
- return True
- def OnMouseMiddleButtonDown(self):
- player.SetMouseMiddleButtonState(player.MBS_PRESS)
- def OnMouseMiddleButtonUp(self):
- player.SetMouseMiddleButtonState(player.MBS_CLICK)
- def OnUpdate(self):
- app.UpdateGame()
- if self.mapNameShower.IsShow():
- self.mapNameShower.Update()
- if self.isShowDebugInfo:
- self.UpdateDebugInfo()
- if self.enableXMasBoom:
- self.__XMasBoom_Update()
- if 1== constInfo.BOSS_TRACKING:
- constInfo.BOSS_TRACKING = 0
- self.BossTrackingSystemShow()
- if constInfo.E_LITERE_STATUS == 1:
- self.litere_event.Show()
- else:
- self.litere_event.Hide()
- if 1 == constInfo.AUTO_PICK_UP:
- self.PickUpItem()
- self.interface.BUILD_OnUpdate()
- def UpdateDebugInfo(self):
- #
- # 캐릭터 좌표 및 FPS 출력
- (x, y, z) = player.GetMainCharacterPosition()
- nUpdateTime = app.GetUpdateTime()
- nUpdateFPS = app.GetUpdateFPS()
- nRenderFPS = app.GetRenderFPS()
- nFaceCount = app.GetFaceCount()
- fFaceSpeed = app.GetFaceSpeed()
- nST=background.GetRenderShadowTime()
- (fAveRT, nCurRT) = app.GetRenderTime()
- (iNum, fFogStart, fFogEnd, fFarCilp) = background.GetDistanceSetInfo()
- (iPatch, iSplat, fSplatRatio, sTextureNum) = background.GetRenderedSplatNum()
- if iPatch == 0:
- iPatch = 1
- #(dwRenderedThing, dwRenderedCRC) = background.GetRenderedGraphicThingInstanceNum()
- self.PrintCoord.SetText("Coordinate: %.2f %.2f %.2f ATM: %d" % (x, y, z, app.GetAvailableTextureMemory()/(1024*1024)))
- xMouse, yMouse = wndMgr.GetMousePosition()
- self.PrintMousePos.SetText("MousePosition: %d %d" % (xMouse, yMouse))
- self.FrameRate.SetText("UFPS: %3d UT: %3d FS %.2f" % (nUpdateFPS, nUpdateTime, fFaceSpeed))
- if fAveRT>1.0:
- self.Pitch.SetText("RFPS: %3d RT:%.2f(%3d) FC: %d(%.2f) " % (nRenderFPS, fAveRT, nCurRT, nFaceCount, nFaceCount/fAveRT))
- self.Splat.SetText("PATCH: %d SPLAT: %d BAD(%.2f)" % (iPatch, iSplat, fSplatRatio))
- #self.Pitch.SetText("Pitch: %.2f" % (app.GetCameraPitch())
- #self.TextureNum.SetText("TN : %s" % (sTextureNum))
- #self.ObjectNum.SetText("GTI : %d, CRC : %d" % (dwRenderedThing, dwRenderedCRC))
- self.ViewDistance.SetText("Num : %d, FS : %f, FE : %f, FC : %f" % (iNum, fFogStart, fFogEnd, fFarCilp))
- def OnRender(self):
- app.RenderGame()
- if self.console.Console.collision:
- background.RenderCollision()
- chr.RenderCollision()
- (x, y) = app.GetCursorPosition()
- ########################
- # Picking
- ########################
- textTail.UpdateAllTextTail()
- if True == wndMgr.IsPickedWindow(self.hWnd):
- self.PickingCharacterIndex = chr.Pick()
- if -1 != self.PickingCharacterIndex:
- textTail.ShowCharacterTextTail(self.PickingCharacterIndex)
- if 0 != self.targetBoard.GetTargetVID():
- textTail.ShowCharacterTextTail(self.targetBoard.GetTargetVID())
- # ADD_ALWAYS_SHOW_NAME
- if not self.__IsShowName():
- self.PickingItemIndex = item.Pick()
- if -1 != self.PickingItemIndex:
- textTail.ShowItemTextTail(self.PickingItemIndex)
- # END_OF_ADD_ALWAYS_SHOW_NAME
- ## Show all name in the range
- # ADD_ALWAYS_SHOW_NAME
- if self.__IsShowName():
- textTail.ShowAllTextTail()
- self.PickingItemIndex = textTail.Pick(x, y)
- if app.ENABLE_SHOPNAMES_RANGE:
- if systemSetting.IsShowSalesText():
- uiPrivateShopBuilder.UpdateADBoard()
- # END_OF_ADD_ALWAYS_SHOW_NAME
- textTail.UpdateShowingTextTail()
- textTail.ArrangeTextTail()
- if -1 != self.PickingItemIndex:
- textTail.SelectItemName(self.PickingItemIndex)
- grp.PopState()
- grp.SetInterfaceRenderState()
- textTail.Render()
- textTail.HideAllTextTail()
- def OnPressEscapeKey(self):
- if app.TARGET == app.GetCursor():
- app.SetCursor(app.NORMAL)
- elif True == mouseModule.mouseController.isAttached():
- mouseModule.mouseController.DeattachObject()
- else:
- self.interface.OpenSystemDialog()
- return True
- def OnIMEReturn(self):
- if app.IsPressed(app.DIK_LSHIFT):
- self.interface.OpenWhisperDialogWithoutTarget()
- else:
- self.interface.ToggleChat()
- return True
- def OnPressExitKey(self):
- self.interface.ToggleSystemDialog()
- return True
- ## BINARY CALLBACK
- ######################################################################################
- # WEDDING
- def BINARY_LoverInfo(self, name, lovePoint):
- if self.interface.wndMessenger:
- self.interface.wndMessenger.OnAddLover(name, lovePoint)
- if self.affectShower:
- self.affectShower.SetLoverInfo(name, lovePoint)
- def BINARY_UpdateLovePoint(self, lovePoint):
- if self.interface.wndMessenger:
- self.interface.wndMessenger.OnUpdateLovePoint(lovePoint)
- if self.affectShower:
- self.affectShower.OnUpdateLovePoint(lovePoint)
- # END_OF_WEDDING
- if app.ENABLE_SEND_TARGET_INFO:
- def BINARY_AddTargetMonsterDropInfo(self, raceNum, itemVnum, itemCount):
- if not raceNum in constInfo.MONSTER_INFO_DATA:
- constInfo.MONSTER_INFO_DATA.update({raceNum : {}})
- constInfo.MONSTER_INFO_DATA[raceNum].update({"items" : []})
- curList = constInfo.MONSTER_INFO_DATA[raceNum]["items"]
- isUpgradeable = False
- isMetin = False
- item.SelectItem(itemVnum)
- if item.GetItemType() == item.ITEM_TYPE_WEAPON or item.GetItemType() == item.ITEM_TYPE_ARMOR:
- isUpgradeable = True
- elif item.GetItemType() == item.ITEM_TYPE_METIN:
- isMetin = True
- for curItem in curList:
- if isUpgradeable:
- if curItem.has_key("vnum_list") and curItem["vnum_list"][0] / 10 * 10 == itemVnum / 10 * 10:
- if not (itemVnum in curItem["vnum_list"]):
- curItem["vnum_list"].append(itemVnum)
- return
- elif isMetin:
- if curItem.has_key("vnum_list"):
- baseVnum = curItem["vnum_list"][0]
- if curItem.has_key("vnum_list") and (baseVnum - baseVnum%1000) == (itemVnum - itemVnum%1000):
- if not (itemVnum in curItem["vnum_list"]):
- curItem["vnum_list"].append(itemVnum)
- return
- else:
- if curItem.has_key("vnum") and curItem["vnum"] == itemVnum and curItem["count"] == itemCount:
- return
- if isUpgradeable or isMetin:
- curList.append({"vnum_list":[itemVnum], "count":itemCount})
- else:
- curList.append({"vnum":itemVnum, "count":itemCount})
- def BINARY_RefreshTargetMonsterDropInfo(self, raceNum):
- self.targetBoard.RefreshMonsterInfoBoard()
- # QUEST_CONFIRM
- def BINARY_OnQuestConfirm(self, msg, timeout, pid):
- confirmDialog = uiCommon.QuestionDialogWithTimeLimit()
- confirmDialog.Open(msg, timeout)
- confirmDialog.SetAcceptEvent(lambda answer=True, pid=pid: net.SendQuestConfirmPacket(answer, pid) or self.confirmDialog.Hide())
- confirmDialog.SetCancelEvent(lambda answer=False, pid=pid: net.SendQuestConfirmPacket(answer, pid) or self.confirmDialog.Hide())
- self.confirmDialog = confirmDialog
- # END_OF_QUEST_CONFIRM
- # GIFT command
- def Gift_Show(self):
- self.interface.ShowGift()
- # CUBE
- def BINARY_Cube_Open(self, npcVNUM):
- self.currentCubeNPC = npcVNUM
- self.interface.OpenCubeWindow()
- if npcVNUM not in self.cubeInformation:
- net.SendChatPacket("/cube r_info")
- else:
- cubeInfoList = self.cubeInformation[npcVNUM]
- i = 0
- for cubeInfo in cubeInfoList:
- self.interface.wndCube.AddCubeResultItem(cubeInfo["vnum"], cubeInfo["count"])
- j = 0
- for materialList in cubeInfo["materialList"]:
- for materialInfo in materialList:
- itemVnum, itemCount = materialInfo
- self.interface.wndCube.AddMaterialInfo(i, j, itemVnum, itemCount)
- j = j + 1
- i = i + 1
- self.interface.wndCube.Refresh()
- def BINARY_Cube_Close(self):
- self.interface.CloseCubeWindow()
- # 제작에 필요한 골드, 예상되는 완성품의 VNUM과 개수 정보 update
- def BINARY_Cube_UpdateInfo(self, gold, itemVnum, count):
- self.interface.UpdateCubeInfo(gold, itemVnum, count)
- def BINARY_Cube_Succeed(self, itemVnum, count):
- print "큐브 제작 성공"
- self.interface.SucceedCubeWork(itemVnum, count)
- pass
- def BINARY_Cube_Failed(self):
- print "큐브 제작 실패"
- self.interface.FailedCubeWork()
- pass
- def BINARY_Cube_ResultList(self, npcVNUM, listText):
- # ResultList Text Format : 72723,1/72725,1/72730.1/50001,5 이런식으로 "/" 문자로 구분된 리스트를 줌
- #print listText
- if npcVNUM == 0:
- npcVNUM = self.currentCubeNPC
- self.cubeInformation[npcVNUM] = []
- try:
- for eachInfoText in listText.split("/"):
- eachInfo = eachInfoText.split(",")
- itemVnum = int(eachInfo[0])
- itemCount = int(eachInfo[1])
- self.cubeInformation[npcVNUM].append({"vnum": itemVnum, "count": itemCount})
- self.interface.wndCube.AddCubeResultItem(itemVnum, itemCount)
- resultCount = len(self.cubeInformation[npcVNUM])
- requestCount = 7
- modCount = resultCount % requestCount
- splitCount = resultCount / requestCount
- for i in xrange(splitCount):
- #print("/cube r_info %d %d" % (i * requestCount, requestCount))
- net.SendChatPacket("/cube r_info %d %d" % (i * requestCount, requestCount))
- if 0 < modCount:
- #print("/cube r_info %d %d" % (splitCount * requestCount, modCount))
- net.SendChatPacket("/cube r_info %d %d" % (splitCount * requestCount, modCount))
- except RuntimeError, msg:
- dbg.TraceError(msg)
- return 0
- pass
- def BINARY_Cube_MaterialInfo(self, startIndex, listCount, listText):
- # Material Text Format : 125,1|126,2|127,2|123,5&555,5&555,4/120000
- try:
- #print listText
- if 3 > len(listText):
- dbg.TraceError("Wrong Cube Material Infomation")
- return 0
- eachResultList = listText.split("@")
- cubeInfo = self.cubeInformation[self.currentCubeNPC]
- itemIndex = 0
- for eachResultText in eachResultList:
- cubeInfo[startIndex + itemIndex]["materialList"] = [[], [], [], [], []]
- materialList = cubeInfo[startIndex + itemIndex]["materialList"]
- gold = 0
- splitResult = eachResultText.split("/")
- if 1 < len(splitResult):
- gold = int(splitResult[1])
- #print "splitResult : ", splitResult
- eachMaterialList = splitResult[0].split("&")
- i = 0
- for eachMaterialText in eachMaterialList:
- complicatedList = eachMaterialText.split("|")
- if 0 < len(complicatedList):
- for complicatedText in complicatedList:
- (itemVnum, itemCount) = complicatedText.split(",")
- itemVnum = int(itemVnum)
- itemCount = int(itemCount)
- self.interface.wndCube.AddMaterialInfo(itemIndex + startIndex, i, itemVnum, itemCount)
- materialList[i].append((itemVnum, itemCount))
- else:
- itemVnum, itemCount = eachMaterialText.split(",")
- itemVnum = int(itemVnum)
- itemCount = int(itemCount)
- self.interface.wndCube.AddMaterialInfo(itemIndex + startIndex, i, itemVnum, itemCount)
- materialList[i].append((itemVnum, itemCount))
- i = i + 1
- itemIndex = itemIndex + 1
- self.interface.wndCube.Refresh()
- except RuntimeError, msg:
- dbg.TraceError(msg)
- return 0
- pass
- # END_OF_CUBE
- # def BINARY_Highlight_Item(self, inven_type, inven_pos):
- # self.interface.Highligt_Item(inven_type, inven_pos)
- def BINARY_DragonSoulGiveQuilification(self):
- self.interface.DragonSoulGiveQuilification()
- def BINARY_DragonSoulRefineWindow_Open(self):
- self.interface.OpenDragonSoulRefineWindow()
- def BINARY_DragonSoulRefineWindow_RefineFail(self, reason, inven_type, inven_pos):
- self.interface.FailDragonSoulRefine(reason, inven_type, inven_pos)
- def BINARY_DragonSoulRefineWindow_RefineSucceed(self, inven_type, inven_pos):
- self.interface.SucceedDragonSoulRefine(inven_type, inven_pos)
- # END of DRAGON SOUL REFINE WINDOW
- def BINARY_SetBigMessage(self, message):
- self.interface.bigBoard.SetTip(message)
- def BINARY_SetTipMessage(self, message):
- self.interface.tipBoard.SetTip(message)
- def BINARY_AppendNotifyMessage(self, type):
- if not type in localeInfo.NOTIFY_MESSAGE:
- return
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.NOTIFY_MESSAGE[type])
- def BINARY_Guild_EnterGuildArea(self, areaID):
- self.interface.BULID_EnterGuildArea(areaID)
- def BINARY_Guild_ExitGuildArea(self, areaID):
- self.interface.BULID_ExitGuildArea(areaID)
- def BINARY_GuildWar_OnSendDeclare(self, guildID):
- pass
- def BINARY_GuildWar_OnRecvDeclare(self, guildID, warType):
- mainCharacterName = player.GetMainCharacterName()
- masterName = guild.GetGuildMasterName()
- if mainCharacterName == masterName:
- self.__GuildWar_OpenAskDialog(guildID, warType)
- def BINARY_GuildWar_OnRecvPoint(self, gainGuildID, opponentGuildID, point):
- self.interface.OnRecvGuildWarPoint(gainGuildID, opponentGuildID, point)
- def BINARY_GuildWar_OnStart(self, guildSelf, guildOpp):
- self.interface.OnStartGuildWar(guildSelf, guildOpp)
- def BINARY_GuildWar_OnEnd(self, guildSelf, guildOpp):
- self.interface.OnEndGuildWar(guildSelf, guildOpp)
- def BINARY_BettingGuildWar_SetObserverMode(self, isEnable):
- self.interface.BINARY_SetObserverMode(isEnable)
- def BINARY_BettingGuildWar_UpdateObserverCount(self, observerCount):
- self.interface.wndMiniMap.UpdateObserverCount(observerCount)
- ###################################################################
- # title_name : Professional Biolog System
- # date_created : 2016.08.07
- # filename : game.py
- # author : VegaS
- # version_actual : Version 0.0.8
- #
- # PROFESSIONAL_BIOLOG_SYSTEM
- if app.ENABLE_BIOLOG_SYSTEM:
- def BINARY_Biolog_Update(self, pLeftTime, pCountActual, pCountNeed, pVnum):
- uiprofessionalbiolog.BIOLOG_BINARY_LOADED["time"][0] = int(pLeftTime) + app.GetGlobalTimeStamp()
- uiprofessionalbiolog.BIOLOG_BINARY_LOADED["countActual"][0] = str(pCountActual)
- uiprofessionalbiolog.BIOLOG_BINARY_LOADED["countNeed"][0] = str(pCountNeed)
- uiprofessionalbiolog.BIOLOG_BINARY_LOADED["vnum"][0] = int(pVnum)
- def BINARY_Biolog_SendMessage(self, pMessage):
- if str(pMessage) != "":
- self.wndBiologMessage = uiCommon.popupdialog()
- self.wndBiologMessage.SetWidth(350)
- self.wndBiologMessage.SetText((str(pMessage).replace("$"," ")))
- self.wndBiologMessage.Show()
- else:
- chat.AppendChat(chat.CHAT_TYPE_INFO, "Error, i could not initialize message from server!")
- def BINARY_Biolog_PopUp(self, iRewardType, iRewardItem, iBonusName_1, iBonusValue_1, iBonusName_2, iBonusValue_2):
- self.wndBiologSlider = uiprofessionalbiolog.Biolog_FinishSlider()
- self.wndBiologSlider.BINARY_BiologPopUp_Load([str(iRewardType), int(iRewardItem), str(iBonusName_1), int(iBonusValue_1), str(iBonusName_2), int(iBonusValue_2)])
- self.wndBiologSlider.Show()
- def BINARY_Biolog_SelectReward(self, iTypeWindow, iRewardType, iBonusName_1, iBonusValue_1, iBonusName_2, iBonusValue_2, iBonusName_3, iBonusValue_3):
- self.wndBiologSelectReward = uiprofessionalbiolog.Biolog_SelectReward()
- self.wndBiologSelectReward.Open_SelectRewardType([int(iTypeWindow), str(iRewardType), str(iBonusName_1), int(iBonusValue_1), str(iBonusName_2), int(iBonusValue_2), str(iBonusName_3), int(iBonusValue_3)])
- self.wndBiologSelectReward.SetTitle((str(iRewardType).replace("$"," ")))
- self.wndBiologSelectReward.SetCenterPosition()
- self.wndBiologSelectReward.SetTop()
- self.wndBiologSelectReward.Show()
- # END_OF_PROFESSIONAL_BIOLOG_SYSTEM
- def __GuildWar_UpdateMemberCount(self, guildID1, memberCount1, guildID2, memberCount2, observerCount):
- guildID1 = int(guildID1)
- guildID2 = int(guildID2)
- memberCount1 = int(memberCount1)
- memberCount2 = int(memberCount2)
- observerCount = int(observerCount)
- self.interface.UpdateMemberCount(guildID1, memberCount1, guildID2, memberCount2)
- self.interface.wndMiniMap.UpdateObserverCount(observerCount)
- def __GuildWar_OpenAskDialog(self, guildID, warType):
- guildName = guild.GetGuildName(guildID)
- # REMOVED_GUILD_BUG_FIX
- if "Noname" == guildName:
- return
- # END_OF_REMOVED_GUILD_BUG_FIX
- import uiGuild
- questionDialog = uiGuild.AcceptGuildWarDialog()
- questionDialog.SAFE_SetAcceptEvent(self.__GuildWar_OnAccept)
- questionDialog.SAFE_SetCancelEvent(self.__GuildWar_OnDecline)
- questionDialog.Open(guildName, warType)
- self.guildWarQuestionDialog = questionDialog
- def __GuildWar_CloseAskDialog(self):
- self.guildWarQuestionDialog.Close()
- self.guildWarQuestionDialog = None
- def __GuildWar_OnAccept(self):
- guildName = self.guildWarQuestionDialog.GetGuildName()
- net.SendChatPacket("/war " + guildName)
- self.__GuildWar_CloseAskDialog()
- return 1
- def __GuildWar_OnDecline(self):
- guildName = self.guildWarQuestionDialog.GetGuildName()
- net.SendChatPacket("/nowar " + guildName)
- self.__GuildWar_CloseAskDialog()
- return 1
- ## BINARY CALLBACK
- ######################################################################################
- def __ServerCommand_Build(self):
- serverCommandList={
- "ConsoleEnable" : self.__Console_Enable,
- "DayMode" : self.__DayMode_Update,
- "PRESERVE_DayMode" : self.__PRESERVE_DayMode_Update,
- "CloseRestartWindow" : self.__RestartDialog_Close,
- "OpenPrivateShop" : self.__PrivateShop_Open,
- "PartyHealReady" : self.PartyHealReady,
- "ShowMeSafeboxPassword" : self.AskSafeboxPassword,
- "CloseSafebox" : self.CommandCloseSafebox,
- ##NEW SHOP
- "shop" :self.NewShop,
- "shop_clear" :self.ShopClear,
- "shop_add" :self.ShopAdd,
- "shop_item" :self.ShopItem,
- "shop_cost" :self.ShopCost,
- "shop_cost_clear" :self.ShopCostClear,
- "shop_item_clear" :self.ShopItemClear,
- #####GIFT SYSTEM
- "gift_clear" :self.gift_clear,
- "gift_item" :self.gift_item,
- "gift_info" :self.gift_show,
- "gift_load" :self.gift_load,
- ###
- # ITEM_MALL
- "CloseMall" : self.CommandCloseMall,
- "ShowMeMallPassword" : self.AskMallPassword,
- "item_mall" : self.__ItemMall_Open,
- # END_OF_ITEM_MALL
- #Buton Teleport
- "Telep" : self.__MakeTelep,
- "antiexp" : self.__antiexp,
- ## MYSTERY BOX
- "TMysteryBoxItems" : self.RewardMysteryBox,
- "RewardMysteryBox" : self.RewardRefreshMB,
- "MysteryBoxPrice" : self.MysteryBoxYang,
- "OpenMysteryBox" : self.interface.WindowMysteryBox,
- "RefreshPrizes" : self.interface.RefreshMysteryBox,
- "CloseMysteryBox" : self.interface.CloseMysteryBox,
- ## MYSTERY BOX
- "RefineSuceeded" : self.RefineSuceededMessage,
- "RefineFailed" : self.RefineFailedMessage,
- "xmas_snow" : self.__XMasSnow_Enable,
- "xmas_boom" : self.__XMasBoom_Enable,
- "xmas_song" : self.__XMasSong_Enable,
- "xmas_tree" : self.__XMasTree_Enable,
- "newyear_boom" : self.__XMasBoom_Enable,
- "PartyRequest" : self.__PartyRequestQuestion,
- "PartyRequestDenied" : self.__PartyRequestDenied,
- "horse_state" : self.__Horse_UpdateState,
- "hide_horse_state" : self.__Horse_HideState,
- "WarUC" : self.__GuildWar_UpdateMemberCount,
- "test_server" : self.__EnableTestServerFlag,
- "mall" : self.__InGameShop_Show,
- # PROFESSIONAL_BIOLOG_SYSTEM
- "BINARY_Biolog_Update" : self.BINARY_Biolog_Update,
- "BINARY_Biolog_SendMessage" : self.BINARY_Biolog_SendMessage,
- "BINARY_Biolog_PopUp" : self.BINARY_Biolog_PopUp,
- "BINARY_Biolog_SelectReward" : self.BINARY_Biolog_SelectReward,
- # END_OF_PROFESSIONAL_BIOLOG_SYSTEM
- "getinputbegin" : self.__Input_Get_Vegas_1,
- "getinputend" : self.__Input_Get_Vegas_2,
- "getinput" : self.__Input_Get_Vegas_3,
- "SELECT_JOB" : self.SelectJob,
- "OpenCBGui" : self.OpenBlockChatGui,
- "OpenCBGui1" : self.OpenBlockChatGui1,
- "OpenCBGui2" : self.OpenBlockChatGui2,
- "OpenCBGui3" : self.OpenBlockChatGui3,
- "OpenCBGui4" : self.OpenBlockChatGui4,
- "OpenTriviaPanel" : self.__OpenTriviaPanel,
- "BossTracking" : self.GetBossTrackingInformation,
- "BossTrackingUpdatePacket" : self.BossTrackingUpdate,
- # WEDDING
- "lover_login" : self.__LoginLover,
- "lover_logout" : self.__LogoutLover,
- "lover_near" : self.__LoverNear,
- "lover_far" : self.__LoverFar,
- "lover_divorce" : self.__LoverDivorce,
- "PlayMusic" : self.__PlayMusic,
- # END_OF_WEDDING
- "eveniment_litere" :self.send_status,
- "letters_drop" :self.SDropLitere,
- "OpenLetterWindow" :self.interface.ShowBoardEvent,
- "searched_item" : self.SitemFinder,
- "searched_item_count" : self.SitemFinderCounter,
- "SetCurentMount" : self.SetCurentMount,
- "SetMountName" : self.SetMountName,
- # PRIVATE_SHOP_PRICE_LIST
- "MyShopPriceList" : self.__PrivateShop_PriceList,
- # END_OF_PRIVATE_SHOP_PRICE_LIST
- "il": self.__ItemLottery,
- "DiceDone" : self.__DiceHasDone,
- "Muiecharmeine" : self.Muiecharmeine,
- "SugiBaek" : self.MuieBaek,
- "GambleOn" : self.GambleOn,
- "Carte" : self.Carte,
- }
- serverCommandList["OpenShopSearch"]=self.PrivateShopSearch.Show
- serverCommandList["CloseShopSearch"]=self.PrivateShopSearch.CloseByItem
- serverCommandList["GetSearchedItemData"]=self.PrivateShopSearch.LoadItems
- serverCommandList["CreateSearchedItemList"]=self.PrivateShopSearch.CreateListUI
- serverCommandList["RemoveItemFromList"]=self.PrivateShopSearch.RemoveItemFromList
- serverCommandList["RemoveItemsFromList"]=self.PrivateShopSearch.RemoveItemsFromList
- serverCommandList["ShopResearchItem"]=self.PrivateShopSearch.ReSearchItem
- if app.DUNGEON_LIST_TIME:
- serverCommandList.update({"SetQuestTimer" : self.SetQuestTimer,})
- serverCommandList.update({"refreshDungeonStatus" : self.__RefreshDungStatus,})
- serverCommandList["BINARY_DungeonList_Open"]=self.OpenTimerWindow
- if app.ENABLE_WHISPER_ADMIN_SYSTEM:
- serverCommandList["OnRecvWhisperAdminSystem"] = self.OnRecvWhisperAdminSystem
- self.serverCommander=stringCommander.Analyzer()
- for serverCommandItem in serverCommandList.items():
- self.serverCommander.SAFE_RegisterCallBack(
- serverCommandItem[0], serverCommandItem[1]
- )
- def __MakeTelep(self, qid):
- constInfo.Telepqin= int(qid)
- def __antiexp(self, qid):
- constInfo.antiexp= int(qid)
- if app.ENABLE_CUBE_RENEWAL_WORLDARD:
- def BINARY_CUBE_RENEWAL_OPEN(self):
- if self.interface:
- self.interface.BINARY_CUBE_RENEWAL_OPEN()
- def BINARY_ServerCommand_Run(self, line):
- try:
- return self.serverCommander.Run(line)
- except RuntimeError, msg:
- dbg.TraceError(msg)
- return 0
- def __ProcessPreservedServerCommand(self):
- try:
- command = net.GetPreservedServerCommand()
- while command:
- print " __ProcessPreservedServerCommand", command
- self.serverCommander.Run(command)
- command = net.GetPreservedServerCommand()
- except RuntimeError, msg:
- dbg.TraceError(msg)
- return 0
- def PartyHealReady(self):
- self.interface.PartyHealReady()
- def AskSafeboxPassword(self):
- self.interface.AskSafeboxPassword()
- # ITEM_MALL
- def AskMallPassword(self):
- self.interface.AskMallPassword()
- def __ItemMall_Open(self):
- self.interface.OpenItemMall();
- def CommandCloseMall(self):
- self.interface.CommandCloseMall()
- # END_OF_ITEM_MALL
- def RefineSuceededMessage(self):
- snd.PlaySound("sound/ui/make_soket.wav")
- self.PopupMessage(localeInfo.REFINE_SUCCESS)
- def RefineFailedMessage(self):
- snd.PlaySound("sound/ui/jaeryun_fail.wav")
- self.PopupMessage(localeInfo.REFINE_FAILURE)
- def CommandCloseSafebox(self):
- self.interface.CommandCloseSafebox()
- # PRIVATE_SHOP_PRICE_LIST
- def __PrivateShop_PriceList(self, itemVNum, itemPrice):
- uiPrivateShopBuilder.SetPrivateShopItemPrice(itemVNum, itemPrice)
- # END_OF_PRIVATE_SHOP_PRICE_LIST
- def __Horse_HideState(self):
- self.affectShower.SetHorseState(0, 0, 0)
- def __Horse_UpdateState(self, level, health, battery):
- self.affectShower.SetHorseState(int(level), int(health), int(battery))
- def Muiecharmeine(self, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15):
- self.pacanele.Update(int(arg1), int(arg2), int(arg3), int(arg4), int(arg5), int(arg6), int(arg7), int(arg8), int(arg9), int(arg10), int(arg11), int(arg12), int(arg13), int(arg14), int(arg15))
- def MuieBaek(self, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15):
- self.pacanele.Visual(int(arg1), int(arg2), int(arg3), int(arg4), int(arg5), int(arg6), int(arg7), int(arg8), int(arg9), int(arg10), int(arg11), int(arg12), int(arg13), int(arg14), int(arg15))
- def GambleOn(self, arg1, arg2):
- self.pacanele.Collect(int(arg1), int(arg2))
- constInfo.Pacaneazz = int(arg1)
- def Carte(self, arg1, arg2, arg3):
- self.pacanele.CartePrimita(int(arg1), int(arg2), int(arg3))
- def ShowPacenele(self):
- self.pacanele.Show()
- def __IsXMasMap(self):
- mapDict = ( "metin2_map_n_flame_01",
- "metin2_map_n_desert_01",
- "metin2_map_spiderdungeon",
- "metin2_map_deviltower1", )
- if background.GetCurrentMapName() in mapDict:
- return False
- return True
- def __XMasSnow_Enable(self, mode):
- self.__XMasSong_Enable(mode)
- if "1"==mode:
- if not self.__IsXMasMap():
- return
- print "XMAS_SNOW ON"
- background.EnableSnow(1)
- else:
- print "XMAS_SNOW OFF"
- background.EnableSnow(0)
- def __XMasBoom_Enable(self, mode):
- if "1"==mode:
- if not self.__IsXMasMap():
- return
- print "XMAS_BOOM ON"
- self.__DayMode_Update("dark")
- self.enableXMasBoom = True
- self.startTimeXMasBoom = app.GetTime()
- else:
- print "XMAS_BOOM OFF"
- self.__DayMode_Update("light")
- self.enableXMasBoom = False
- def __XMasTree_Enable(self, grade):
- print "XMAS_TREE ", grade
- background.SetXMasTree(int(grade))
- def __XMasSong_Enable(self, mode):
- if "1"==mode:
- print "XMAS_SONG ON"
- XMAS_BGM = "xmas.mp3"
- if app.IsExistFile("BGM/" + XMAS_BGM)==1:
- if musicInfo.fieldMusic != "":
- snd.FadeOutMusic("BGM/" + musicInfo.fieldMusic)
- musicInfo.fieldMusic=XMAS_BGM
- snd.FadeInMusic("BGM/" + musicInfo.fieldMusic)
- else:
- print "XMAS_SONG OFF"
- if musicInfo.fieldMusic != "":
- snd.FadeOutMusic("BGM/" + musicInfo.fieldMusic)
- musicInfo.fieldMusic=musicInfo.METIN2THEMA
- snd.FadeInMusic("BGM/" + musicInfo.fieldMusic)
- def __RestartDialog_Close(self):
- self.interface.CloseRestartDialog()
- def __Console_Enable(self):
- constInfo.CONSOLE_ENABLE = True
- self.consoleEnable = True
- app.EnableSpecialCameraMode()
- ui.EnablePaste(True)
- ## PrivateShop
- def __PrivateShop_Open(self):
- #self.interface.OpenPrivateShopInputNameDialog()
- self.uiNewShop.Show()
- def BINARY_PrivateShop_Appear(self, vid, text):
- if chr.GetInstanceType(vid) in [chr.INSTANCE_TYPE_PLAYER, chr.INSTANCE_TYPE_NPC]:
- self.interface.AppearPrivateShop(vid, text)
- def BINARY_PrivateShop_Disappear(self, vid):
- self.interface.DisappearPrivateShop(vid)
- ## DayMode
- def __PRESERVE_DayMode_Update(self, mode):
- if "light"==mode:
- background.SetEnvironmentData(0)
- elif "dark"==mode:
- if not self.__IsXMasMap():
- return
- background.RegisterEnvironmentData(1, constInfo.ENVIRONMENT_NIGHT)
- background.SetEnvironmentData(1)
- def __DayMode_Update(self, mode):
- if "light"==mode:
- self.curtain.SAFE_FadeOut(self.__DayMode_OnCompleteChangeToLight)
- elif "dark"==mode:
- if not self.__IsXMasMap():
- return
- self.curtain.SAFE_FadeOut(self.__DayMode_OnCompleteChangeToDark)
- def __DayMode_OnCompleteChangeToLight(self):
- background.SetEnvironmentData(0)
- self.curtain.FadeIn()
- def __DayMode_OnCompleteChangeToDark(self):
- background.RegisterEnvironmentData(1, constInfo.ENVIRONMENT_NIGHT)
- background.SetEnvironmentData(1)
- self.curtain.FadeIn()
- ## XMasBoom
- def __XMasBoom_Update(self):
- self.BOOM_DATA_LIST = ( (2, 5), (5, 2), (7, 3), (10, 3), (20, 5) )
- if self.indexXMasBoom >= len(self.BOOM_DATA_LIST):
- return
- boomTime = self.BOOM_DATA_LIST[self.indexXMasBoom][0]
- boomCount = self.BOOM_DATA_LIST[self.indexXMasBoom][1]
- if app.GetTime() - self.startTimeXMasBoom > boomTime:
- self.indexXMasBoom += 1
- for i in xrange(boomCount):
- self.__XMasBoom_Boom()
- def __XMasBoom_Boom(self):
- x, y, z = player.GetMainCharacterPosition()
- randX = app.GetRandom(-150, 150)
- randY = app.GetRandom(-150, 150)
- snd.PlaySound3D(x+randX, -y+randY, z, "sound/common/etc/salute.mp3")
- def __PartyRequestQuestion(self, vid):
- vid = int(vid)
- partyRequestQuestionDialog = uiCommon.QuestionDialog()
- partyRequestQuestionDialog.SetText(chr.GetNameByVID(vid) + localeInfo.PARTY_DO_YOU_ACCEPT)
- partyRequestQuestionDialog.SetAcceptText(localeInfo.UI_ACCEPT)
- partyRequestQuestionDialog.SetCancelText(localeInfo.UI_DENY)
- partyRequestQuestionDialog.SetAcceptEvent(lambda arg=True: self.__AnswerPartyRequest(arg))
- partyRequestQuestionDialog.SetCancelEvent(lambda arg=False: self.__AnswerPartyRequest(arg))
- partyRequestQuestionDialog.Open()
- partyRequestQuestionDialog.vid = vid
- self.partyRequestQuestionDialog = partyRequestQuestionDialog
- def __AnswerPartyRequest(self, answer):
- if not self.partyRequestQuestionDialog:
- return
- vid = self.partyRequestQuestionDialog.vid
- if answer:
- net.SendChatPacket("/party_request_accept " + str(vid))
- else:
- net.SendChatPacket("/party_request_deny " + str(vid))
- self.partyRequestQuestionDialog.Close()
- self.partyRequestQuestionDialog = None
- def __PartyRequestDenied(self):
- self.PopupMessage(localeInfo.PARTY_REQUEST_DENIED)
- def __EnableTestServerFlag(self):
- app.EnableTestServerFlag()
- def __InGameShop_Show(self, url):
- if constInfo.IN_GAME_SHOP_ENABLE:
- self.interface.OpenWebWindow(url)
- # WEDDING
- def __LoginLover(self):
- if self.interface.wndMessenger:
- self.interface.wndMessenger.OnLoginLover()
- def __LogoutLover(self):
- if self.interface.wndMessenger:
- self.interface.wndMessenger.OnLogoutLover()
- if self.affectShower:
- self.affectShower.HideLoverState()
- def __LoverNear(self):
- if self.affectShower:
- self.affectShower.ShowLoverState()
- if app.ENABLE_WHISPER_ADMIN_SYSTEM:
- def OpenWhisperSystem(self):
- if self.adminWhisperManager.IsShow():
- self.adminWhisperManager.Hide()
- else:
- self.adminWhisperManager.Show()
- def __LoverFar(self):
- if self.affectShower:
- self.affectShower.HideLoverState()
- def __LoverDivorce(self):
- if self.interface.wndMessenger:
- self.interface.wndMessenger.ClearLoverInfo()
- if self.affectShower:
- self.affectShower.ClearLoverState()
- def __PlayMusic(self, flag, filename):
- flag = int(flag)
- if flag:
- snd.FadeOutAllMusic()
- musicInfo.SaveLastPlayFieldMusic()
- snd.FadeInMusic("BGM/" + filename)
- else:
- snd.FadeOutAllMusic()
- musicInfo.LoadLastPlayFieldMusic()
- snd.FadeInMusic("BGM/" + musicInfo.fieldMusic)
- if app.ENABLE_SASH_SYSTEM:
- def ActSash(self, iAct, bWindow):
- if self.interface:
- self.interface.ActSash(iAct, bWindow)
- def AlertSash(self, bWindow):
- snd.PlaySound("sound/ui/make_soket.wav")
- if bWindow:
- self.PopupMessage(localeInfo.SASH_DEL_SERVEITEM)
- else:
- self.PopupMessage(localeInfo.SASH_DEL_ABSORDITEM)
- if app.ENABLE_CHANGELOOK_SYSTEM:
- def ActChangeLook(self, iAct):
- if self.interface:
- self.interface.ActChangeLook(iAct)
- def AlertChangeLook(self):
- self.PopupMessage(localeInfo.CHANGE_LOOK_DEL_ITEM)
- # END_OF_WEDDING
- def NewShop(self):
- if self.uiNewShop:
- self.uiNewShop.Show()
- def ShopClear(self):
- if self.uiNewShop:
- self.uiNewShop.HideAll()
- constInfo.MyShops=[]
- def ShopCostClear(self):
- constInfo.shop_cost=[]
- def ShopCost(self,id,time,time_val,price):
- constInfo.shop_cost.append({"id":int(id),"time":int(time),"time_val":int(time_val),"price":int(price)})
- def ShopAdd(self,shop_id,shop_vid,szSign,gold,count,sold,days,date_close):
- if self.uiNewShop:
- shop={
- "id":shop_id,
- "vid":shop_vid,
- "name":szSign.replace("\\"," ").replace("_","#"),
- "gold":gold,
- "sold":sold,
- "items":int(count)-int(sold),
- "days":days,
- "time":date_close
- }
- self.uiNewShop.Load(shop)
- constInfo.MyShops.append(shop)
- def ShopItemClear(self):
- if self.uiNewShop:
- self.uiNewShop.ClearItems()
- def ShopItem(self,data):
- d=data.split("#")
- c = counter()
- id=d[0]
- vnum=d[1]
- count=d[2]
- slot=d[3]
- price=d[4]
- s=d[5]
- a=d[6]
- sockets=[]
- for key in s.split("|"):
- sockets.append(int(key))
- attrs=[]
- for key in a.split("|"):
- a=key.split(",")
- attrs.append([int(a[1]),int(a[0])])
- if self.uiNewShop:
- self.uiNewShop.AddItem(slot,{"id":id,"vnum":vnum,"count":count,"price":price,"sockets":sockets,"attrs":attrs})
- ####GIFT SYSTEM#####
- def gift_clear(self):
- constInfo.gift_items={}
- self.interface.ClearGift()
- def gift_item(self, id, vnum, count, pos, date_add, give, reason, szSockets, szAttrs):
- c = counter()
- sockets=[]
- for key in szSockets.split("|"):
- sockets.append(int(key))
- attrs=[]
- for key in szAttrs.split("|"):
- a=key.split(",")
- attrs.append([int(a[0]),int(a[1])])
- 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}
- def gift_load(self):
- self.interface.wndGiftBox.Refresh()
- def gift_show(self,pages):
- self.interface.wndGiftBox.pageNum=int(pages)
- self.interface.OpenGift()
- def OpenBlockChatGui(self):
- self.blockchatgui.OpenWindow()
- def OpenBlockChatGui1(self):
- self.blockchatgui1.OpenWindow()
- def OpenBlockChatGui2(self):
- self.blockchatgui2.OpenWindow()
- def OpenBlockChatGui3(self):
- self.blockchatgui3.OpenWindow()
- def OpenBlockChatGui4(self):
- self.blockchatgui4.OpenWindow()
- def SetCurentMount(self, mount):
- constInfo.CURRENT_MOUNT = int(mount)
- self.mount.SetMountImage()
- def SetMountName(self, name):
- constInfo.CURRENT_MOUNT_NAME = str(name)
- self.mount.SetMountImage()
- def __OpenSearchShop(self):
- print "click_open_search"
- net.SendChatPacket("/open_search")
- if app.ENABLE_SHOW_CHEST_DROP:
- def BINARY_AddChestDropInfo(self, chestVnum, pageIndex, slotIndex, itemVnum, itemCount):
- if self.interface:
- self.interface.AddChestDropInfo(chestVnum, pageIndex, slotIndex, itemVnum, itemCount)
- def BINARY_RefreshChestDropInfo(self, chestVnum):
- if self.interface:
- self.interface.RefreshChestDropInfo(chestVnum)
- if app.DUNGEON_LIST_TIME:
- def OpenTimerWindow(self):
- self.interface.OpenTimerWindow()
- def SetQuestTimer(self, index, time):
- self.interface.SetQuestTimer(int(index), int(time))
- def __RefreshDungStatus(self):
- self.interface.refreshDungeonStatus()
- def __SetRestartLauncher(self):
- if chr.IsGameMaster(player.GetMainCharacterIndex()):
- os.startfile("bin_metin2_live.exe")
- app.Exit()
- if app.ENABLE_MOVE_CHANNEL:
- def __GetServerID(self):
- serverID = 1
- for i in serverInfo.REGION_DICT[0].keys():
- if serverInfo.REGION_DICT[0][i]["name"] == net.GetServerInfo().split(",")[0]:
- serverID = int(i)
- break
- return serverID
- def RefreshChannel(self, channel):
- channelName = ""
- serverName = serverInfo.REGION_DICT[0][self.__GetServerID()]["name"]
- if channel in serverInfo.REGION_DICT[0][self.__GetServerID()]["channel"]:
- channelName = serverInfo.REGION_DICT[0][self.__GetServerID()]["channel"][int(channel)]["name"]
- elif channel == 99:
- channelName = "CH General"
- else:
- channelName = "CH Necunoscut"
- net.SetServerInfo("%s, %s" % (serverName,channelName))
- if self.interface:
- self.interface.wndMiniMap.serverInfo.SetText(net.GetServerInfo())
- if app.ENABLE_SWITCHBOT:
- def RefreshSwitchbotWindow(self):
- self.interface.RefreshSwitchbotWindow()
- def RefreshSwitchbotItem(self, slot):
- self.interface.RefreshSwitchbotItem(slot)
- def RewardMysteryBox(self, item_vnum, item_count, index, size):
- constInfo.vnum_mystery[int(index)]={"iVnum":int(item_vnum), "iCount":int(item_count), "i":int(index)}
- constInfo.size_mystery = int(size)
- def RewardRefreshMB(self, itemVnum):
- constInfo.MysteryBoxVnum = int(itemVnum)
- def MysteryBoxYang(self, price):
- constInfo.MysteryBoxPrice = int(price)
- if app.ENABLE_GEM_SYSTEM:
- def OpenGemShop(self):
- if self.interface:
- self.interface.OpenGemShop()
- def CloseGemShop(self):
- if self.interface:
- self.interface.CloseGemShop()
- def RefreshGemShop(self):
- if self.interface:
- self.interface.RefreshGemShop()
- def __Input_Get_Vegas_1(self):
- constInfo.INPUT_IGNORE = 1
- def __Input_Get_Vegas_2(self):
- constInfo.INPUT_IGNORE = 0
- def __Input_Get_Vegas_3(self):
- net.SendQuestInputStringPacket("1")
- def SelectJob(self, cmd):
- import uiselectjob
- cmd = cmd.split('#')
- if cmd[0] == 'QID':
- constInfo.SelectJob['QID'] = int(cmd[1])
- elif cmd[0] == 'INPUT':
- constInfo.INPUT_IGNORE = int(cmd[1])
- elif cmd[0] == 'SEND':
- net.SendQuestInputStringPacket(str(constInfo.SelectJob['QCMD']))
- constInfo.SelectJob['QCMD'] = ''
- elif cmd[0] == 'OPEN':
- self.job_select = uiselectjob.JobSelectWindow()
- self.job_select.Open()
- elif cmd[0] == 'CLOSE':
- self.job_select = uiselectjob.JobSelectWindow()
- self.job_select.RealClose()
- def GetInputStart(self):
- constInfo.INPUT_IGNORE = 1
- def GetInputStop(self):
- constInfo.INPUT_IGNORE = 0
- if app.ENABLE_BATTLE_PASS:
- def BINARY_BattlePassOpen(self):
- if self.interface:
- self.interface.OpenBattlePass()
- def BINARY_BattlePassAddMission(self, missionType, missionInfo1, missionInfo2, missionInfo3):
- if self.interface:
- self.interface.AddBattlePassMission(missionType, missionInfo1, missionInfo2, missionInfo3)
- def BINARY_BattlePassAddMissionReward(self, missionType, itemVnum, itemCount):
- if self.interface:
- self.interface.AddBattlePassMissionReward(missionType, itemVnum, itemCount)
- def BINARY_BattlePassUpdate(self, missionType, newProgress):
- if self.interface:
- self.interface.UpdateBattlePassMission(missionType, newProgress)
- def BINARY_BattlePassAddReward(self, itemVnum, itemCount):
- if self.interface:
- self.interface.AddBattlePassReward(itemVnum, itemCount)
- def BINARY_BattlePassAddRanking(self, pos, playerName, finishTime):
- if self.interface:
- self.interface.AddBattlePassRanking(pos, playerName, finishTime)
- def BINARY_BattlePassRefreshRanking(self):
- if self.interface:
- self.interface.RefreshBattlePassRanking()
- def BINARY_BattlePassOpenRanking(self):
- if self.interface:
- self.interface.OpenBattlePassRanking()
- def SitemFinder(self, i, item, mob, i_vnum, count, prob, actives, mob_vnum):
- mob = str(mob).replace("_", " ")
- item = str(item).replace("_", " ")
- self.interface.AppendInfoFinder(int(i), str(mob), int(prob), int(actives), int(i_vnum), int(count), str(item))
- constInfo.finder_items[int(i)]={"iMobVnum":mob_vnum}
- def SitemFinderCounter(self, count):
- constInfo.finder_counts = int(count)
- def __ItemLottery(self, data):
- constInfo.wndItemLottery.Prepare(data)
- def __OpenTriviaPanel(self):
- if chr.IsGameMaster(player.GetMainCharacterIndex()):
- self.triviapanel.OpenWindow()
- if app.ENABLE_FISH_EVENT:
- def MiniGameFishEvent(self, isEnable, lasUseCount):
- if self.interface:
- self.interface.SetFishEventStatus(isEnable)
- self.interface.MiniGameFishCount(lasUseCount)
- self.interface.IntegrationEventBanner()
- def MiniGameFishUse(self, shape, useCount):
- self.interface.MiniGameFishUse(shape, useCount)
- def MiniGameFishAdd(self, pos, shape):
- self.interface.MiniGameFishAdd(pos, shape)
- def MiniGameFishReward(self, vnum):
- self.interface.MiniGameFishReward(vnum)
- def SDropLitere(self, item_vnum, item_count, index, size):
- constInfo.drop_letters[int(index)]={"iVnum":int(item_vnum),"iCount":int(item_count)}
- constInfo.vnums_letters = int(size)
- def send_status(self, status):
- constInfo.E_LITERE_STATUS = int(status)
- # Pagina bonusuri
- def __BonusPage(self):
- import PaginaBonusuri
- global BPisLoaded
- try:
- if BPisLoaded != 1:
- exec 'PaginaBonusuri.BonusBoardDialog().Show()'
- else:
- pass
- except ImportError:
- import dbg,app
- dbg.Trace('PaginaBonusuri.py Importing error')
- app.Abort()
- # Pagina bonusuri, sfarsit
Advertisement
Add Comment
Please, Sign In to add comment