Jump to content

EAkar

Inactive Member
  • Posts

    62
  • Joined

  • Last visited

  • Feedback

    0%

1 Follower

About EAkar

  • Birthday 09/02/1993

Informations

  • Gender
    Male
  • Country
    Turkey
  • Nationality
    Turkish

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

EAkar's Achievements

Enthusiast

Enthusiast (6/16)

  • One Year In
  • Dedicated
  • Collaborator
  • Conversation Starter
  • Reacting Well

Recent Badges

8

Reputation

  1. @ Mali Hello financial. How can I search for all classes or just by typing the item name? I don't want to choose a class. I just want to write the name of the item and find the item. Regardless of class.
  2. import app import net import chr import event import systemSetting import ui import grp import snd import math import wndMgr import uiCommon import uiTarget import constInfo import musicInfo import uiTaskBar import uiToolTip import localeInfo import uiCharacter import uiInventory import uiPlayerGauge import consoleModule import networkModule import uiAffectShower import uiScriptLocale import uiMapNameShower import interfaceModule import playerSettingModule LEAVE_BUTTON_FOR_POTAL = FALSE NOT_NEED_DELETE_CODE = FALSE ENABLE_ENGNUM_DELETE_CODE = FALSE if localeInfo.IsJAPAN(): NOT_NEED_DELETE_CODE = TRUE elif localeInfo.IsHONGKONG(): ENABLE_ENGNUM_DELETE_CODE = TRUE elif localeInfo.IsNEWCIBN() or localeInfo.IsCIBN10(): ENABLE_ENGNUM_DELETE_CODE = TRUE elif localeInfo.IsEUROPE(): ENABLE_ENGNUM_DELETE_CODE = TRUE class SelectCharacterWindow(ui.Window): SLOT_COUNT = 5 CHARACTER_TYPE_COUNT = 5 EMPIRE_NAME = { net.EMPIRE_A : localeInfo.EMPIRE_A, net.EMPIRE_B : localeInfo.EMPIRE_B, net.EMPIRE_C : localeInfo.EMPIRE_C } RACE_NAME = { playerSettingModule.RACE_WARRIOR_M : localeInfo.JOB_WARRIOR, playerSettingModule.RACE_WARRIOR_W : localeInfo.JOB_WARRIOR, playerSettingModule.RACE_ASSASSIN_M : localeInfo.JOB_ASSASSIN, playerSettingModule.RACE_ASSASSIN_W : localeInfo.JOB_ASSASSIN, playerSettingModule.RACE_SURA_M : localeInfo.JOB_SURA, playerSettingModule.RACE_SURA_W : localeInfo.JOB_SURA, playerSettingModule.RACE_SHAMAN_M : localeInfo.JOB_SHAMAN, playerSettingModule.RACE_SHAMAN_W : localeInfo.JOB_SHAMAN, playerSettingModule.RACE_WOLFMAN_M : localeInfo.JOB_WOLFMAN, } DESCRIPTION_FILE_NAME = { playerSettingModule.RACE_WARRIOR_M : uiScriptLocale.JOBDESC_WARRIOR_PATH, playerSettingModule.RACE_WARRIOR_W : uiScriptLocale.JOBDESC_WARRIOR_PATH, playerSettingModule.RACE_ASSASSIN_M : uiScriptLocale.JOBDESC_ASSASSIN_PATH, playerSettingModule.RACE_ASSASSIN_W : uiScriptLocale.JOBDESC_ASSASSIN_PATH, playerSettingModule.RACE_SURA_M : uiScriptLocale.JOBDESC_SURA_PATH, playerSettingModule.RACE_SURA_W : uiScriptLocale.JOBDESC_SURA_PATH, playerSettingModule.RACE_SHAMAN_M : uiScriptLocale.JOBDESC_SHAMAN_PATH, playerSettingModule.RACE_SHAMAN_W : uiScriptLocale.JOBDESC_SHAMAN_PATH, playerSettingModule.RACE_WOLFMAN_M : uiScriptLocale.JOBDESC_WOLFMAN_PATH, } DESCRIPTION_FILE_NAME_LIMIT = { playerSettingModule.RACE_WARRIOR_M : 1, playerSettingModule.RACE_WARRIOR_W : 1, playerSettingModule.RACE_ASSASSIN_M : 1, playerSettingModule.RACE_ASSASSIN_W : 1, playerSettingModule.RACE_SURA_M : 1, playerSettingModule.RACE_SURA_W : 1, playerSettingModule.RACE_SHAMAN_M : 0, playerSettingModule.RACE_SHAMAN_W : 0, playerSettingModule.RACE_WOLFMAN_M : 0, } FACE_IMAGE_DICT_1 = { playerSettingModule.RACE_WARRIOR_M : "d:/ymir work/ui/intro/public_intro/face/face_warrior_m_01.sub", playerSettingModule.RACE_WARRIOR_W : "d:/ymir work/ui/intro/public_intro/face/face_warrior_w_01.sub", playerSettingModule.RACE_ASSASSIN_M : "d:/ymir work/ui/intro/public_intro/face/face_assassin_m_01.sub", playerSettingModule.RACE_ASSASSIN_W : "d:/ymir work/ui/intro/public_intro/face/face_assassin_w_01.sub", playerSettingModule.RACE_SURA_M : "d:/ymir work/ui/intro/public_intro/face/face_sura_m_01.sub", playerSettingModule.RACE_SURA_W : "d:/ymir work/ui/intro/public_intro/face/face_sura_w_01.sub", playerSettingModule.RACE_SHAMAN_M : "d:/ymir work/ui/intro/public_intro/face/face_shaman_m_01.sub", playerSettingModule.RACE_SHAMAN_W : "d:/ymir work/ui/intro/public_intro/face/face_shaman_w_01.sub", playerSettingModule.RACE_WOLFMAN_M : "d:/ymir work/ui/intro/public_intro/face/face_wolfman_m_01.sub", } FACE_IMAGE_DICT_2 = { playerSettingModule.RACE_WARRIOR_M : "d:/ymir work/ui/intro/public_intro/face/face_warrior_m_02.sub", playerSettingModule.RACE_WARRIOR_W : "d:/ymir work/ui/intro/public_intro/face/face_warrior_w_02.sub", playerSettingModule.RACE_ASSASSIN_M : "d:/ymir work/ui/intro/public_intro/face/face_assassin_m_02.sub", playerSettingModule.RACE_ASSASSIN_W : "d:/ymir work/ui/intro/public_intro/face/face_assassin_w_02.sub", playerSettingModule.RACE_SURA_M : "d:/ymir work/ui/intro/public_intro/face/face_sura_m_02.sub", playerSettingModule.RACE_SURA_W : "d:/ymir work/ui/intro/public_intro/face/face_sura_w_02.sub", playerSettingModule.RACE_SHAMAN_M : "d:/ymir work/ui/intro/public_intro/face/face_shaman_m_02.sub", playerSettingModule.RACE_SHAMAN_W : "d:/ymir work/ui/intro/public_intro/face/face_shaman_w_02.sub", playerSettingModule.RACE_WOLFMAN_M : "d:/ymir work/ui/intro/public_intro/face/face_wolfman_m_02.sub", } FACE_IMAGE_DICT_3 = { playerSettingModule.RACE_WARRIOR_M : "icon/face/warrior_m.tga", playerSettingModule.RACE_WARRIOR_W : "icon/face/warrior_w.tga", playerSettingModule.RACE_ASSASSIN_M : "icon/face/assassin_m.tga", playerSettingModule.RACE_ASSASSIN_W : "icon/face/assassin_w.tga", playerSettingModule.RACE_SURA_M : "icon/face/sura_m.tga", playerSettingModule.RACE_SURA_W : "icon/face/sura_w.tga", playerSettingModule.RACE_SHAMAN_M : "icon/face/shaman_m.tga", playerSettingModule.RACE_SHAMAN_W : "icon/face/shaman_w.tga", playerSettingModule.RACE_WOLFMAN_M : "icon/face/wolf_m.tga", } class DescriptionBox(ui.Window): def __init__(self): ui.Window.__init__(self) self.descIndex = 0 def __del__(self): ui.Window.__del__(self) def SetIndex(self, index): self.descIndex = index def OnRender(self): event.RenderEventSet(self.descIndex) class CharacterRenderer(ui.Window): def OnRender(self): grp.ClearDepthBuffer() grp.SetGameRenderState() grp.PushState() grp.SetOmniLight() screenWidth = wndMgr.GetScreenWidth() screenHeight = wndMgr.GetScreenHeight() newScreenWidth = float(screenWidth - 270) newScreenHeight = float(screenHeight) if screenHeight<601: grp.SetViewport(250.0/screenWidth, 0.0, newScreenWidth/screenWidth, newScreenHeight/screenHeight) elif screenHeight>601 and screenHeight<801: grp.SetViewport(255.15/screenWidth, 0.0, newScreenWidth/screenWidth, newScreenHeight/screenHeight) elif screenHeight>801 and screenHeight<1200: grp.SetViewport(270.15/screenWidth, 0.0, newScreenWidth/screenWidth, newScreenHeight/screenHeight) else: grp.SetViewport(270.0/screenWidth, 0.0, newScreenWidth/screenWidth, newScreenHeight/screenHeight) app.SetCenterPosition(0.0, 0.0, 0.0) app.SetCamera(1795.0, 15.0, 180.0, 120.0) grp.SetPerspective(10.0, newScreenWidth/newScreenHeight, 1000.0, 3000.0) (x, y) = app.GetCursorPosition() grp.SetCursorPosition(x, y) chr.Deform() chr.Render() grp.RestoreViewport() grp.PopState() grp.SetInterfaceRenderState() def __init__(self, stream): ui.Window.__init__(self) net.SetPhaseWindow(net.PHASE_WINDOW_SELECT, self) self.stream=stream self.slot = self.stream.GetCharacterSlot() self.openLoadingFlag = FALSE self.startIndex = -1 self.startReservingTime = 0 self.curNameAlpha = [] self.destNameAlpha = [] for i in xrange(self.CHARACTER_TYPE_COUNT): self.curNameAlpha.append(0.0) self.destNameAlpha.append(0.0) self.curGauge = [0.0, 0.0, 0.0, 0.0] self.destGauge = [0.0, 0.0, 0.0, 0.0] self.dlgBoard = 0 self.changeNameFlag = FALSE self.nameInputBoard = None self.sendedChangeNamePacket = FALSE self.startIndex = -1 self.isLoad = 0 if app.ENABLE_CONQUEROR_LEVEL: self.toolTipConquerorInfoButton = None def __del__(self): ui.Window.__del__(self) net.SetPhaseWindow(net.PHASE_WINDOW_SELECT, 0) def Open(self): if not self.__LoadBoardDialog("UIScript/SelectCharacterWindow.py"): dbg.TraceError("SelectCharacterWindow.Open - __LoadScript Error") return if not self.__LoadQuestionDialog("uiscript/questiondialog.py"): return playerSettingModule.LoadGameData("INIT") self.InitCharacterBoard() self.btnStart.Enable() self.btnCreate.Enable() self.btnDelete.Enable() self.btnExit.Enable() self.dlgBoard.Show() self.SetWindowName("SelectCharacterWindow") self.Show() if self.slot >= 0: self.SelectSlot(self.slot) if musicInfo.selectMusic != "": snd.SetMusicVolume(systemSetting.GetMusicVolume()) snd.FadeInMusic("BGM/"+musicInfo.selectMusic) app.SetCenterPosition(0.0, 0.0, 0.0) app.SetCamera(1550.0, 15.0, 180.0, 95.0) self.isLoad=1 self.Refresh() if self.stream.isAutoSelect: chrSlot=self.stream.GetCharacterSlot() self.SelectSlot(chrSlot) self.StartGame() if self.__AreAllSlotEmpty(): self.stream.SetReselectEmpirePhase() self.my_id.SetText(net.GetLoginID()) self.SetEmpire(net.GetEmpireID()) app.ShowCursor() if app.ENABLE_CONQUEROR_LEVEL: self.btnSungmaPrev.Enable() self.btnSungmaNext.Enable() def Close(self): if musicInfo.selectMusic != "": snd.FadeOutMusic("BGM/"+musicInfo.selectMusic) self.stream.popupWindow.Close() if self.dlgBoard: self.dlgBoard.ClearDictionary() self.my_id = None self.textBoard = None self.empireName = None self.EmpireFlagA = None self.EmpireFlagB = None self.EmpireFlagC = None self.dlgBoard = None self.btnStart = None self.btnCreate = None self.btnDelete = None self.btnExit = None self.backGroundImg1 = None self.backGroundImg2 = None self.backGroundImg3 = None self.dlgQuestion.ClearDictionary() self.dlgQuestion = None self.dlgQuestionText = None self.dlgQuestionAcceptButton = None self.dlgQuestionCancelButton = None self.privateInputBoard = None self.nameInputBoard = None if app.ENABLE_CONQUEROR_LEVEL: self.toolTipConquerorInfoButton = None self.btnSungmaPrev = None self.btnSungmaNext = None chr.DeleteInstance(self.slot) self.Hide() self.KillFocus() app.HideCursor() event.Destroy() def SetEmpire(self, id): self.empireName.SetText(self.EMPIRE_NAME.get(id, "")) if id == 1: self.empireName.SetFontColor(1.0, 0, 0) self.EmpireFlagA.Show() self.EmpireFlagB.Hide() self.EmpireFlagC.Hide() self.BackGround = self.backGroundImg1 self.backGroundImg1.Show() self.backGroundImg2.Hide() self.backGroundImg3.Hide() self.chrRenderer = self.CharacterRenderer() self.chrRenderer.SetParent(self.backGroundImg1) self.chrRenderer.Show() elif id == 2: self.empireName.SetFontColor(1.0, 1.0, 0.0) self.EmpireFlagA.Hide() self.EmpireFlagB.Show() self.EmpireFlagC.Hide() self.BackGround = self.backGroundImg2 self.backGroundImg1.Hide() self.backGroundImg2.Show() self.backGroundImg3.Hide() self.chrRenderer = self.CharacterRenderer() self.chrRenderer.SetParent(self.backGroundImg2) self.chrRenderer.Show() elif id == 3: self.empireName.SetFontColor(0.0, 0, 1.0) self.EmpireFlagA.Hide() self.EmpireFlagB.Hide() self.EmpireFlagC.Show() self.BackGround = self.backGroundImg3 self.backGroundImg1.Hide() self.backGroundImg2.Hide() self.backGroundImg3.Show() self.chrRenderer = self.CharacterRenderer() self.chrRenderer.SetParent(self.backGroundImg3) self.chrRenderer.Show() def Refresh(self): if not self.isLoad: return for i in xrange(self.SLOT_COUNT): id = net.GetAccountCharacterSlotDataInteger(i, net.ACCOUNT_CHARACTER_SLOT_ID) race = net.GetAccountCharacterSlotDataInteger(i, net.ACCOUNT_CHARACTER_SLOT_RACE) form = net.GetAccountCharacterSlotDataInteger(i, net.ACCOUNT_CHARACTER_SLOT_FORM) name = net.GetAccountCharacterSlotDataString(i, net.ACCOUNT_CHARACTER_SLOT_NAME) hair = net.GetAccountCharacterSlotDataInteger(i, net.ACCOUNT_CHARACTER_SLOT_HAIR) sash = 0 if app.ENABLE_SASH_SYSTEM: sash = net.GetAccountCharacterSlotDataInteger(i, net.ACCOUNT_CHARACTER_SLOT_SASH) if app.ENABLE_CONQUEROR_LEVEL: conquerorlevel = net.GetAccountCharacterSlotDataInteger(i, net.ACCOUNT_CHARACTER_SLOT_CONQUEROR_LEVEL) if id != 0: self.MakeCharacter(i, id, name, race, form, hair, sash) self.SelectSlot(i) break self.CharacterSlot_0.Hide() self.CharacterFace_0.Hide() self.CharacterSlot_0_Lv.Hide() self.CharacterSlot_0_Name.Hide() self.CharacterSlot_1.Hide() self.CharacterFace_1.Hide() self.CharacterSlot_1_Lv.Hide() self.CharacterSlot_1_Name.Hide() self.CharacterSlot_2.Hide() self.CharacterFace_2.Hide() self.CharacterSlot_2_Lv.Hide() self.CharacterSlot_2_Name.Hide() self.CharacterSlot_3.Hide() self.CharacterFace_3.Hide() self.CharacterSlot_3_Lv.Hide() self.CharacterSlot_3_Name.Hide() self.CharacterSlot_4.Hide() self.CharacterFace_4.Hide() self.CharacterSlot_4_Lv.Hide() self.CharacterSlot_4_Name.Hide() for i in xrange(self.SLOT_COUNT): id = net.GetAccountCharacterSlotDataInteger(i, net.ACCOUNT_CHARACTER_SLOT_ID) race = net.GetAccountCharacterSlotDataInteger(i, net.ACCOUNT_CHARACTER_SLOT_RACE) name = net.GetAccountCharacterSlotDataString(i, net.ACCOUNT_CHARACTER_SLOT_NAME) level = net.GetAccountCharacterSlotDataInteger(i, net.ACCOUNT_CHARACTER_SLOT_LEVEL) if app.ENABLE_CONQUEROR_LEVEL: conquerorlevel=net.GetAccountCharacterSlotDataInteger(i, net.ACCOUNT_CHARACTER_SLOT_CONQUEROR_LEVEL) if id != 0: if i == 0: self.CharacterFace_0.LoadImage(self.FACE_IMAGE_DICT_2[race]) self.CharacterFace_0.Show() self.CharacterSlot_0.Show() self.CharacterSlot_0_Name.SetText(name) self.CharacterSlot_0_Name.Show() if app.ENABLE_CONQUEROR_LEVEL: if conquerorlevel: self.CharacterSlot_0_Lv.SetText(localeInfo.INTRO_SELECT_LEVEL % (conquerorlevel)) self.CharacterSlot_0_Lv.SetPackedFontColor(0xFFBFD9FF) self.CharacterSlot_0_Lv.Show() else: self.CharacterSlot_0_Lv.SetText(localeInfo.INTRO_SELECT_LEVEL % (level)) self.CharacterSlot_0_Lv.SetFontColor(30, 72, 168) self.CharacterSlot_0_Lv.Show() else: self.CharacterSlot_0_Lv.SetText(localeInfo.INTRO_SELECT_LEVEL % (level)) self.CharacterSlot_0_Lv.SetFontColor(30, 72, 168) self.CharacterSlot_0_Lv.Show() elif i == 1: self.CharacterFace_1.LoadImage(self.FACE_IMAGE_DICT_2[race]) self.CharacterFace_1.Show() self.CharacterSlot_1.Show() self.CharacterSlot_1_Name.SetText(name) self.CharacterSlot_1_Name.Show() if app.ENABLE_CONQUEROR_LEVEL: if conquerorlevel: self.CharacterSlot_1_Lv.SetText(localeInfo.INTRO_SELECT_LEVEL % (conquerorlevel)) self.CharacterSlot_1_Lv.SetPackedFontColor(0xFFBFD9FF) self.CharacterSlot_1_Lv.Show() else: self.CharacterSlot_1_Lv.SetText(localeInfo.INTRO_SELECT_LEVEL % (level)) self.CharacterSlot_1_Lv.SetFontColor(30, 72, 168) self.CharacterSlot_1_Lv.Show() else: self.CharacterSlot_1_Lv.SetText(localeInfo.INTRO_SELECT_LEVEL % (level)) self.CharacterSlot_1_Lv.SetFontColor(30, 72, 168) self.CharacterSlot_1_Lv.Show() elif i == 2: self.CharacterFace_2.LoadImage(self.FACE_IMAGE_DICT_2[race]) self.CharacterFace_2.Show() self.CharacterSlot_2.Show() self.CharacterSlot_2_Name.SetText(name) self.CharacterSlot_2_Name.Show() if app.ENABLE_CONQUEROR_LEVEL: if conquerorlevel: self.CharacterSlot_2_Lv.SetText(localeInfo.INTRO_SELECT_LEVEL % (conquerorlevel)) self.CharacterSlot_2_Lv.SetPackedFontColor(0xFFBFD9FF) self.CharacterSlot_2_Lv.Show() else: self.CharacterSlot_2_Lv.SetText(localeInfo.INTRO_SELECT_LEVEL % (level)) self.CharacterSlot_2_Lv.SetFontColor(30, 72, 168) self.CharacterSlot_2_Lv.Show() else: self.CharacterSlot_2_Lv.SetText(localeInfo.INTRO_SELECT_LEVEL % (level)) self.CharacterSlot_2_Lv.SetFontColor(30, 72, 168) self.CharacterSlot_2_Lv.Show() elif i == 3: self.CharacterFace_3.LoadImage(self.FACE_IMAGE_DICT_2[race]) self.CharacterFace_3.Show() self.CharacterSlot_3.Show() self.CharacterSlot_3_Name.SetText(name) self.CharacterSlot_3_Name.Show() if app.ENABLE_CONQUEROR_LEVEL: if conquerorlevel: self.CharacterSlot_3_Lv.SetText(localeInfo.INTRO_SELECT_LEVEL % (conquerorlevel)) self.CharacterSlot_3_Lv.SetPackedFontColor(0xFFBFD9FF) self.CharacterSlot_3_Lv.Show() else: self.CharacterSlot_3_Lv.SetText(localeInfo.INTRO_SELECT_LEVEL % (level)) self.CharacterSlot_3_Lv.SetFontColor(30, 72, 168) self.CharacterSlot_3_Lv.Show() else: self.CharacterSlot_3_Lv.SetText(localeInfo.INTRO_SELECT_LEVEL % (level)) self.CharacterSlot_3_Lv.SetFontColor(30, 72, 168) self.CharacterSlot_3_Lv.Show() elif i == 4: self.CharacterFace_4.LoadImage(self.FACE_IMAGE_DICT_2[race]) self.CharacterFace_4.Show() self.CharacterSlot_4.Show() self.CharacterSlot_4_Name.SetText(name) self.CharacterSlot_4_Name.Show() if app.ENABLE_CONQUEROR_LEVEL: if conquerorlevel: self.CharacterSlot_4_Lv.SetText(localeInfo.INTRO_SELECT_LEVEL % (conquerorlevel)) self.CharacterSlot_4_Lv.SetPackedFontColor(0xFFBFD9FF) self.CharacterSlot_4_Lv.Show() else: self.CharacterSlot_4_Lv.SetText(localeInfo.INTRO_SELECT_LEVEL % (level)) self.CharacterSlot_4_Lv.SetFontColor(30, 72, 168) self.CharacterSlot_4_Lv.Show() else: self.CharacterSlot_4_Lv.SetText(localeInfo.INTRO_SELECT_LEVEL % (level)) self.CharacterSlot_4_Lv.SetFontColor(30, 72, 168) self.CharacterSlot_4_Lv.Show() def GetCharacterSlotID(self, slotIndex): return net.GetAccountCharacterSlotDataInteger(slotIndex, net.ACCOUNT_CHARACTER_SLOT_ID) def __LoadQuestionDialog(self, fileName): self.dlgQuestion = ui.ScriptWindow() try: pyScrLoader = ui.PythonScriptLoader() pyScrLoader.LoadScriptFile(self.dlgQuestion, fileName) except: import exception exception.Abort("SelectCharacterWindow.LoadQuestionDialog.LoadScript") try: GetObject=self.dlgQuestion.GetChild self.dlgQuestionText=GetObject("message") self.dlgQuestionAcceptButton=GetObject("accept") self.dlgQuestionCancelButton=GetObject("cancel") except: import exception exception.Abort("SelectCharacterWindow.LoadQuestionDialog.BindObject") self.dlgQuestionText.SetText(localeInfo.SELECT_DO_YOU_DELETE_REALLY) self.dlgQuestionAcceptButton.SetEvent(ui.__mem_func__(self.RequestDeleteCharacter)) self.dlgQuestionCancelButton.SetEvent(ui.__mem_func__(self.dlgQuestion.Hide)) return 1 def __LoadBoardDialog(self, fileName): self.dlgBoard = ui.ScriptWindow() try: pyScrLoader = ui.PythonScriptLoader() pyScrLoader.LoadScriptFile(self.dlgBoard, fileName) except: import exception exception.Abort("SelectCharacterWindow.LoadBoardDialog.LoadScript") try: GetObject=self.dlgBoard.GetChild self.backGroundImg1 = GetObject("BackGround") self.backGroundImg2 = GetObject("BackGround2") self.backGroundImg2.Hide() self.backGroundImg3 = GetObject("BackGround3") self.backGroundImg3.Hide() self.btnStart = GetObject("start_button") self.btnCreate = GetObject("create_button") self.btnDelete = GetObject("delete_button") self.btnExit = GetObject("exit_button") self.CharacterSlot_0 = GetObject("CharacterSlot_0") self.CharacterFace_0 = GetObject("CharacterFace_0") self.CharacterSlot_0_Lv = ui.TextLine() self.CharacterSlot_0_Lv.SetParent(self.CharacterSlot_0) self.CharacterSlot_0_Lv.SetPosition(108, 19) self.CharacterSlot_0_Lv.SetHorizontalAlignLeft() self.CharacterSlot_0_Lv.SetText("") self.CharacterSlot_0_Name = ui.TextLine() self.CharacterSlot_0_Name.SetParent(self.CharacterSlot_0) self.CharacterSlot_0_Name.SetPosition(140, 3) self.CharacterSlot_0_Name.SetHorizontalAlignRight() self.CharacterSlot_0_Name.SetText("") self.CharacterSlot_1 = GetObject("CharacterSlot_1") self.CharacterFace_1 = GetObject("CharacterFace_1") self.CharacterSlot_1_Lv = ui.TextLine() self.CharacterSlot_1_Lv.SetParent(self.CharacterSlot_1) self.CharacterSlot_1_Lv.SetPosition(108, 19) self.CharacterSlot_1_Lv.SetHorizontalAlignLeft() self.CharacterSlot_1_Lv.SetText("") self.CharacterSlot_1_Name = ui.TextLine() self.CharacterSlot_1_Name.SetParent(self.CharacterSlot_1) self.CharacterSlot_1_Name.SetPosition(140, 3) self.CharacterSlot_1_Name.SetHorizontalAlignRight() self.CharacterSlot_1_Name.SetText("") self.CharacterSlot_2 = GetObject("CharacterSlot_2") self.CharacterFace_2 = GetObject("CharacterFace_2") self.CharacterSlot_2_Lv = ui.TextLine() self.CharacterSlot_2_Lv.SetParent(self.CharacterSlot_2) self.CharacterSlot_2_Lv.SetPosition(108, 19) self.CharacterSlot_2_Lv.SetHorizontalAlignLeft() self.CharacterSlot_2_Lv.SetText("") self.CharacterSlot_2_Name = ui.TextLine() self.CharacterSlot_2_Name.SetParent(self.CharacterSlot_2) self.CharacterSlot_2_Name.SetPosition(140, 3) self.CharacterSlot_2_Name.SetHorizontalAlignRight() self.CharacterSlot_2_Name.SetText("") self.CharacterSlot_3 = GetObject("CharacterSlot_3") self.CharacterFace_3 = GetObject("CharacterFace_3") self.CharacterSlot_3_Lv = ui.TextLine() self.CharacterSlot_3_Lv.SetParent(self.CharacterSlot_3) self.CharacterSlot_3_Lv.SetPosition(108, 19) self.CharacterSlot_3_Lv.SetHorizontalAlignLeft() self.CharacterSlot_3_Lv.SetText("") self.CharacterSlot_3_Name = ui.TextLine() self.CharacterSlot_3_Name.SetParent(self.CharacterSlot_3) self.CharacterSlot_3_Name.SetPosition(140, 3) self.CharacterSlot_3_Name.SetHorizontalAlignRight() self.CharacterSlot_3_Name.SetText("") self.CharacterSlot_4 = GetObject("CharacterSlot_4") self.CharacterFace_4 = GetObject("CharacterFace_4") self.CharacterSlot_4_Lv = ui.TextLine() self.CharacterSlot_4_Lv.SetParent(self.CharacterSlot_4) self.CharacterSlot_4_Lv.SetPosition(108, 19) self.CharacterSlot_4_Lv.SetHorizontalAlignLeft() self.CharacterSlot_4_Lv.SetText("") self.CharacterSlot_4_Name = ui.TextLine() self.CharacterSlot_4_Name.SetParent(self.CharacterSlot_4) self.CharacterSlot_4_Name.SetPosition(140, 3) self.CharacterSlot_4_Name.SetHorizontalAlignRight() self.CharacterSlot_4_Name.SetText("") self.DiscFace = GetObject("DiscFace") self.raceName = GetObject("raceName_Text") self.my_id = GetObject("my_id") self.textBoard = GetObject("text_board") self.textBoardPrev = GetObject("prev_button") self.textBoardNext = GetObject("next_button") self.CharacterHTH = GetObject("hth_value") self.CharacterINT = GetObject("int_value") self.CharacterSTR = GetObject("str_value") self.CharacterDEX = GetObject("dex_value") self.NameList = [] self.NameList.append(GetObject("name_warrior")) self.NameList.append(GetObject("name_assassin")) self.NameList.append(GetObject("name_sura")) self.NameList.append(GetObject("name_shaman")) self.NameList.append(GetObject("name_wolf")) self.GaugeList = [] self.GaugeList.append(GetObject("hth_gauge")) self.GaugeList.append(GetObject("int_gauge")) self.GaugeList.append(GetObject("str_gauge")) self.GaugeList.append(GetObject("dex_gauge")) if app.ENABLE_CONQUEROR_LEVEL: self.toolTipConquerorInfoButton = uiToolTip.ToolTip() self.btnSungmaPrev = GetObject("origin_stat_button") self.btnSungmaNext = GetObject("sungma_stat_button") self.HTH_IMG = GetObject("hth_img") self.INT_IMG = GetObject("int_img") self.STR_IMG = GetObject("str_img") self.DEX_IMG = GetObject("dex_img") self.HTH_IMG.SAFE_SetStringEvent("MOUSE_OVER_IN", self.__ShowHTHToolTip) self.HTH_IMG.SAFE_SetStringEvent("MOUSE_OVER_OUT", self.__HideHTHToolTip) self.INT_IMG.SAFE_SetStringEvent("MOUSE_OVER_IN", self.__ShowINTToolTip) self.INT_IMG.SAFE_SetStringEvent("MOUSE_OVER_OUT", self.__HideINTToolTip) self.STR_IMG.SAFE_SetStringEvent("MOUSE_OVER_IN", self.__ShowSTRToolTip) self.STR_IMG.SAFE_SetStringEvent("MOUSE_OVER_OUT", self.__HideSTRToolTip) self.DEX_IMG.SAFE_SetStringEvent("MOUSE_OVER_IN", self.__ShowDEXToolTip) self.DEX_IMG.SAFE_SetStringEvent("MOUSE_OVER_OUT", self.__HideDEXToolTip) self.SUNGMA_ST_IMG = GetObject("sungma_str_img") self.SUNGMA_HP_IMG = GetObject("sungma_hp_img") self.SUNGMA_MOVE_IMG = GetObject("sungma_move_img") self.SUNGMA_INMUNE_IMG = GetObject("sungma_immune_img") self.SUNGMA_ST_IMG.Hide() self.SUNGMA_HP_IMG.Hide() self.SUNGMA_MOVE_IMG.Hide() self.SUNGMA_INMUNE_IMG.Hide() self.SUNGMA_ST_IMG.SAFE_SetStringEvent("MOUSE_OVER_IN", self.__ShowSTToolTip) self.SUNGMA_ST_IMG.SAFE_SetStringEvent("MOUSE_OVER_OUT", self.__HideSTToolTip) self.SUNGMA_HP_IMG.SAFE_SetStringEvent("MOUSE_OVER_IN", self.__ShowHPToolTip) self.SUNGMA_HP_IMG.SAFE_SetStringEvent("MOUSE_OVER_OUT", self.__HideHPToolTip) self.SUNGMA_MOVE_IMG.SAFE_SetStringEvent("MOUSE_OVER_IN", self.__ShowMOVEToolTip) self.SUNGMA_MOVE_IMG.SAFE_SetStringEvent("MOUSE_OVER_OUT", self.__HideMOVEToolTip) self.SUNGMA_INMUNE_IMG.SAFE_SetStringEvent("MOUSE_OVER_IN", self.__ShowINMUNEToolTip) self.SUNGMA_INMUNE_IMG.SAFE_SetStringEvent("MOUSE_OVER_OUT", self.__HideINMUNEToolTip) self.empireName = GetObject("EmpireName") self.EmpireFlagA = GetObject("EmpireFlag_A") self.EmpireFlagB = GetObject("EmpireFlag_B") self.EmpireFlagC = GetObject("EmpireFlag_C") except: import exception exception.Abort("SelectCharacterWindow.LoadBoardDialog.BindObject") self.toolTip = uiToolTip.ToolTip() self.toolTip.ClearToolTip() self.descIndex = 0 self.descriptionBox = self.DescriptionBox() self.descriptionBox.Show() self.textBoardPrev.SetEvent(ui.__mem_func__(self.PrevDescriptionPage)) self.textBoardNext.SetEvent(ui.__mem_func__(self.NextDescriptionPage)) GetObject("start_button").ShowToolTip = lambda arg=1: self.OverInButton(arg) GetObject("start_button").HideToolTip = lambda arg=1: self.OverOutButton() GetObject("exit_button").ShowToolTip = lambda arg=2: self.OverInButton(arg) GetObject("exit_button").HideToolTip = lambda arg=2: self.OverOutButton() GetObject("delete_button").ShowToolTip = lambda arg=3: self.OverInButton(arg) GetObject("delete_button").HideToolTip = lambda arg=3: self.OverOutButton() GetObject("create_button").ShowToolTip = lambda arg=4: self.OverInButton(arg) GetObject("create_button").HideToolTip = lambda arg=4: self.OverOutButton() GetObject("CharacterSlot_0").ShowToolTip = lambda arg=5: self.OverInButton(arg) GetObject("CharacterSlot_0").HideToolTip = lambda arg=5: self.OverOutButton() GetObject("CharacterSlot_1").ShowToolTip = lambda arg=6: self.OverInButton(arg) GetObject("CharacterSlot_1").HideToolTip = lambda arg=6: self.OverOutButton() GetObject("CharacterSlot_2").ShowToolTip = lambda arg=7: self.OverInButton(arg) GetObject("CharacterSlot_2").HideToolTip = lambda arg=7: self.OverOutButton() GetObject("CharacterSlot_3").ShowToolTip = lambda arg=8: self.OverInButton(arg) GetObject("CharacterSlot_3").HideToolTip = lambda arg=8: self.OverOutButton() GetObject("CharacterSlot_4").ShowToolTip = lambda arg=9: self.OverInButton(arg) GetObject("CharacterSlot_4").HideToolTip = lambda arg=9: self.OverOutButton() GetObject("prev_button").ShowToolTip = lambda arg=10: self.OverInButton(arg) GetObject("prev_button").HideToolTip = lambda arg=10: self.OverOutButton() GetObject("next_button").ShowToolTip = lambda arg=11: self.OverInButton(arg) GetObject("next_button").HideToolTip = lambda arg=11: self.OverOutButton() for name in self.NameList: name.SetAlpha(0.0) self.btnStart.SetEvent(ui.__mem_func__(self.StartGame)) self.btnCreate.SetEvent(ui.__mem_func__(self.CreateCharacter)) self.btnExit.SetEvent(ui.__mem_func__(self.ExitSelect)) self.CharacterSlot_0.SAFE_SetEvent(self.SelectSlot, 0) self.CharacterSlot_1.SAFE_SetEvent(self.SelectSlot, 1) self.CharacterSlot_2.SAFE_SetEvent(self.SelectSlot, 2) self.CharacterSlot_3.SAFE_SetEvent(self.SelectSlot, 3) self.CharacterSlot_4.SAFE_SetEvent(self.SelectSlot, 4) if app.ENABLE_CONQUEROR_LEVEL: self.btnSungmaPrev.SetEvent(ui.__mem_func__(self.SungmaPrev)) self.btnSungmaNext.SetEvent(ui.__mem_func__(self.SungmaNext)) if NOT_NEED_DELETE_CODE: self.btnDelete.SetEvent(ui.__mem_func__(self.PopupDeleteQuestion)) else: self.btnDelete.SetEvent(ui.__mem_func__(self.InputPrivateCode)) self.chrRenderer = self.CharacterRenderer() self.chrRenderer.SetParent(self.backGroundImg1) self.chrRenderer.Show() return 1 if app.ENABLE_CONQUEROR_LEVEL: def SungmaPrev(self): self.SUNGMA_ST_IMG.Hide() self.SUNGMA_HP_IMG.Hide() self.SUNGMA_MOVE_IMG.Hide() self.SUNGMA_INMUNE_IMG.Hide() valueHTH=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_HTH) valueINT=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_INT) valueSTR=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_STR) valueDEX=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_DEX) self.CharacterHTH.SetText(str(valueHTH)) self.CharacterINT.SetText(str(valueINT)) self.CharacterSTR.SetText(str(valueSTR)) self.CharacterDEX.SetText(str(valueDEX)) self.destGauge = [0.0, 0.0, 0.0, 0.0] statesSummary = 90 if statesSummary > 0.0: self.destGauge = [ float(valueHTH) / statesSummary, float(valueINT) / statesSummary, float(valueSTR) / statesSummary, float(valueDEX) / statesSummary ] for i in xrange(4): self.curGauge[i] += (self.destGauge[i] - self.curGauge[i]) / 10.0 if abs(self.curGauge[i] - self.destGauge[i]) < 0.005: self.curGauge[i] = self.destGauge[i] self.GaugeList[i].SetPercentage(self.curGauge[i], 1.0) def SungmaNext(self): self.SUNGMA_ST_IMG.Show() self.SUNGMA_HP_IMG.Show() self.SUNGMA_MOVE_IMG.Show() self.SUNGMA_INMUNE_IMG.Show() valueConquerorST=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_SUNGMA_ST) valueConquerorHP=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_SUNGMA_HP) valueConquerorMOVE=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_SUNGMA_MOVE) valueConquerorINMUNE=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_SUNGMA_INMUNE) self.CharacterHTH.SetText(str(valueConquerorST)) self.CharacterINT.SetText(str(valueConquerorHP)) self.CharacterSTR.SetText(str(valueConquerorMOVE)) self.CharacterDEX.SetText(str(valueConquerorINMUNE)) self.destGauge = [0.0, 0.0, 0.0, 0.0] statesSummary = 90 if statesSummary > 0.0: self.destGauge = [ float(valueConquerorST) / statesSummary, float(valueConquerorHP) / statesSummary, float(valueConquerorMOVE) / statesSummary, float(valueConquerorINMUNE) / statesSummary ] for i in xrange(4): self.curGauge[i] += (self.destGauge[i] - self.curGauge[i]) / 10.0 if abs(self.curGauge[i] - self.destGauge[i]) < 0.005: self.curGauge[i] = self.destGauge[i] self.GaugeList[i].SetPercentage(self.curGauge[i], 1.0) def __ShowHTHToolTip(self): self.toolTipConquerorInfoButton.ClearToolTip() self.toolTipConquerorInfoButton.AutoAppendTextLine(localeInfo.STAT_TOOLTIP_IMG_CON) self.toolTipConquerorInfoButton.AlignHorizonalCenter() self.toolTipConquerorInfoButton.ShowToolTip() def __HideHTHToolTip(self): self.toolTipConquerorInfoButton.HideToolTip() def __ShowINTToolTip(self): self.toolTipConquerorInfoButton.ClearToolTip() self.toolTipConquerorInfoButton.AutoAppendTextLine(localeInfo.STAT_TOOLTIP_IMG_INT) self.toolTipConquerorInfoButton.AlignHorizonalCenter() self.toolTipConquerorInfoButton.ShowToolTip() def __HideINTToolTip(self): self.toolTipConquerorInfoButton.HideToolTip() def __ShowSTRToolTip(self): self.toolTipConquerorInfoButton.ClearToolTip() self.toolTipConquerorInfoButton.AutoAppendTextLine(localeInfo.STAT_TOOLTIP_IMG_STR) self.toolTipConquerorInfoButton.AlignHorizonalCenter() self.toolTipConquerorInfoButton.ShowToolTip() def __HideSTRToolTip(self): self.toolTipConquerorInfoButton.HideToolTip() def __ShowDEXToolTip(self): self.toolTipConquerorInfoButton.ClearToolTip() self.toolTipConquerorInfoButton.AutoAppendTextLine(localeInfo.STAT_TOOLTIP_IMG_DEX) self.toolTipConquerorInfoButton.AlignHorizonalCenter() self.toolTipConquerorInfoButton.ShowToolTip() def __HideDEXToolTip(self): self.toolTipConquerorInfoButton.HideToolTip() #Sungma def __ShowSTToolTip(self): self.toolTipConquerorInfoButton.ClearToolTip() self.toolTipConquerorInfoButton.AutoAppendTextLine(localeInfo.STAT_TOOLTIP_SUNGMA_STR) self.toolTipConquerorInfoButton.AlignHorizonalCenter() self.toolTipConquerorInfoButton.ShowToolTip() def __HideSTToolTip(self): self.toolTipConquerorInfoButton.HideToolTip() def __ShowHPToolTip(self): self.toolTipConquerorInfoButton.ClearToolTip() self.toolTipConquerorInfoButton.AutoAppendTextLine(localeInfo.STAT_TOOLTIP_SUNGMA_HP) self.toolTipConquerorInfoButton.AlignHorizonalCenter() self.toolTipConquerorInfoButton.ShowToolTip() def __HideHPToolTip(self): self.toolTipConquerorInfoButton.HideToolTip() def __ShowMOVEToolTip(self): self.toolTipConquerorInfoButton.ClearToolTip() self.toolTipConquerorInfoButton.AutoAppendTextLine(localeInfo.STAT_TOOLTIP_SUNGMA_MOVE) self.toolTipConquerorInfoButton.AlignHorizonalCenter() self.toolTipConquerorInfoButton.ShowToolTip() def __HideMOVEToolTip(self): self.toolTipConquerorInfoButton.HideToolTip() def __ShowINMUNEToolTip(self): self.toolTipConquerorInfoButton.ClearToolTip() self.toolTipConquerorInfoButton.AutoAppendTextLine(localeInfo.STAT_TOOLTIP_SUNGMA_IMMUNE) self.toolTipConquerorInfoButton.AlignHorizonalCenter() self.toolTipConquerorInfoButton.ShowToolTip() def __HideINMUNEToolTip(self): self.toolTipConquerorInfoButton.HideToolTip() def MakeCharacter(self, index, id, name, race, form, hair, sash): if 0 == id: return chr.CreateInstance(index) chr.SelectInstance(index) chr.SetVirtualID(index) chr.SetNameString(name) chr.SetRace(race) chr.SetArmor(form) chr.SetHair(hair) if app.ENABLE_SASH_SYSTEM: chr.SetSash(sash) chr.Refresh() chr.SetMotionMode(chr.MOTION_MODE_GENERAL) chr.SetLoopMotion(chr.MOTION_INTRO_WAIT) chr.SetRotation(0.0) distance = 50.0 rotRadian = 82.0 * (math.pi*2) / 360.0 x = distance*math.sin(rotRadian) + distance*math.cos(rotRadian) y = distance*math.cos(rotRadian) - distance*math.sin(rotRadian) chr.SetPixelPosition(int(x), int(y), 30) self.DiscFace.LoadImage(self.FACE_IMAGE_DICT_3[race]) self.DiscFace.Show() self.raceName.SetText(self.RACE_NAME[race]) self.raceName.Show() def StartGame(self): self.toolTip.Hide() if self.sendedChangeNamePacket: return if self.changeNameFlag: self.OpenChangeNameDialog() return if -1 != self.startIndex: return if musicInfo.selectMusic != "": snd.FadeLimitOutMusic("BGM/"+musicInfo.selectMusic, systemSetting.GetMusicVolume()*0.05) self.btnStart.SetUp() self.btnCreate.SetUp() self.btnDelete.SetUp() self.btnExit.SetUp() self.btnStart.Disable() self.btnCreate.Disable() self.btnDelete.Disable() self.btnExit.Disable() self.dlgQuestion.Hide() self.stream.SetCharacterSlot(self.slot) if app.ENABLE_CONQUEROR_LEVEL: self.btnSungmaNext.SetUp() self.btnSungmaPrev.SetUp() self.btnSungmaNext.Disable() self.btnSungmaPrev.Disable() self.startIndex = self.slot self.startReservingTime = app.GetTime() for i in xrange(self.SLOT_COUNT): if FALSE == chr.HasInstance(i): continue chr.SelectInstance(i) if i == self.slot: self.slot = self.slot chr.PushOnceMotion(chr.MOTION_INTRO_SELECTED, 0.1) continue chr.PushOnceMotion(chr.MOTION_INTRO_NOT_SELECTED, 0.1) def OpenChangeNameDialog(self): import uiCommon nameInputBoard = uiCommon.InputDialogWithDescription() nameInputBoard.SetTitle(localeInfo.SELECT_CHANGE_NAME_TITLE) nameInputBoard.SetAcceptEvent(ui.__mem_func__(self.AcceptInputName)) nameInputBoard.SetCancelEvent(ui.__mem_func__(self.CancelInputName)) nameInputBoard.SetMaxLength(chr.PLAYER_NAME_MAX_LEN) nameInputBoard.SetBoardWidth(200) nameInputBoard.SetDescription(localeInfo.SELECT_INPUT_CHANGING_NAME) nameInputBoard.Open() nameInputBoard.slot = self.slot self.nameInputBoard = nameInputBoard def OnChangeName(self, id, name): self.SelectSlot(id) self.sendedChangeNamePacket = FALSE self.PopupMessage(localeInfo.SELECT_CHANGED_NAME) def AcceptInputName(self): changeName = self.nameInputBoard.GetText() if not changeName: return self.sendedChangeNamePacket = TRUE net.SendChangeNamePacket(self.nameInputBoard.slot, changeName) return self.CancelInputName() def CancelInputName(self): self.nameInputBoard.Close() self.nameInputBoard = None return TRUE def OnCreateFailure(self, type): self.sendedChangeNamePacket = FALSE if 0 == type: self.PopupMessage(localeInfo.SELECT_CHANGE_FAILURE_STRANGE_NAME) elif 1 == type: self.PopupMessage(localeInfo.SELECT_CHANGE_FAILURE_ALREADY_EXIST_NAME) elif 100 == type: self.PopupMessage(localeInfo.SELECT_CHANGE_FAILURE_STRANGE_INDEX) def CreateCharacter(self): self.toolTip.Hide() for i in xrange(self.SLOT_COUNT): id = net.GetAccountCharacterSlotDataInteger(i, net.ACCOUNT_CHARACTER_SLOT_ID) if id == 0: self.stream.SetCharacterSlot(i) EMPIRE_MODE = 0 if EMPIRE_MODE: if self.__AreAllSlotEmpty(): self.stream.SetReselectEmpirePhase() else: self.stream.SetCreateCharacterPhase() else: self.stream.SetCreateCharacterPhase() break def __AreAllSlotEmpty(self): for iSlot in xrange(self.SLOT_COUNT): if 0 != net.GetAccountCharacterSlotDataInteger(iSlot, net.ACCOUNT_CHARACTER_SLOT_ID): return 0 return 1 def PopupDeleteQuestion(self): id = self.GetCharacterSlotID(self.slot) if 0 == id: return self.dlgQuestion.Show() self.dlgQuestion.SetTop() def RequestDeleteCharacter(self): self.dlgQuestion.Hide() id = self.GetCharacterSlotID(self.slot) if 0 == id: self.PopupMessage(localeInfo.SELECT_EMPTY_SLOT) return net.SendDestroyCharacterPacket(self.slot, "1234567") self.PopupMessage(localeInfo.SELECT_DELEING) def InputPrivateCode(self): import uiCommon privateInputBoard = uiCommon.InputDialogWithDescription() privateInputBoard.SetTitle(localeInfo.INPUT_PRIVATE_CODE_DIALOG_TITLE) privateInputBoard.SetAcceptEvent(ui.__mem_func__(self.AcceptInputPrivateCode)) privateInputBoard.SetCancelEvent(ui.__mem_func__(self.CancelInputPrivateCode)) if ENABLE_ENGNUM_DELETE_CODE: pass else: privateInputBoard.SetNumberMode() privateInputBoard.SetSecretMode() privateInputBoard.SetMaxLength(7) privateInputBoard.SetBoardWidth(250) privateInputBoard.SetDescription(localeInfo.INPUT_PRIVATE_CODE_DIALOG_DESCRIPTION) privateInputBoard.Open() self.privateInputBoard = privateInputBoard def AcceptInputPrivateCode(self): privateCode = self.privateInputBoard.GetText() if not privateCode: return id = self.GetCharacterSlotID(self.slot) if 0 == id: self.PopupMessage(localeInfo.SELECT_EMPTY_SLOT) return net.SendDestroyCharacterPacket(self.slot, privateCode) self.PopupMessage(localeInfo.SELECT_DELEING) self.CancelInputPrivateCode() return TRUE def CancelInputPrivateCode(self): self.privateInputBoard = None return TRUE def OnDeleteSuccess(self, slot): self.PopupMessage(localeInfo.SELECT_DELETED) self.DeleteCharacter(slot) def OnDeleteFailure(self): self.PopupMessage(localeInfo.SELECT_CAN_NOT_DELETE) def DeleteCharacter(self, index): chr.DeleteInstance(index) self.SelectSlot(self.slot) self.Refresh() def ExitSelect(self): self.dlgQuestion.Hide() if LEAVE_BUTTON_FOR_POTAL: if app.loggined: self.stream.SetPhaseWindow(0) else: self.stream.setloginphase() else: self.stream.SetLoginPhase() self.Hide() def SelectSlot(self, index): if index < 0: return if index >= self.SLOT_COUNT: return snd.PlaySound("sound/ui/click.wav") chr.DeleteInstance(0) chr.DeleteInstance(1) chr.DeleteInstance(2) chr.DeleteInstance(3) chr.DeleteInstance(4) self.DiscFace.Hide() self.raceName.Hide() id = net.GetAccountCharacterSlotDataInteger(index, net.ACCOUNT_CHARACTER_SLOT_ID) race = net.GetAccountCharacterSlotDataInteger(index, net.ACCOUNT_CHARACTER_SLOT_RACE) form = net.GetAccountCharacterSlotDataInteger(index, net.ACCOUNT_CHARACTER_SLOT_FORM) name = net.GetAccountCharacterSlotDataString(index, net.ACCOUNT_CHARACTER_SLOT_NAME) hair = net.GetAccountCharacterSlotDataInteger(index, net.ACCOUNT_CHARACTER_SLOT_HAIR) sash = 0 if app.ENABLE_SASH_SYSTEM: sash = net.GetAccountCharacterSlotDataInteger(index, net.ACCOUNT_CHARACTER_SLOT_SASH) if id != 0: self.MakeCharacter(index, id, name, race, form, hair, sash) if index == 0: self.CharacterSlot_0.Down() self.CharacterSlot_0_Name.SetFontColor(1.0, 0.6000, 0.3500) self.CharacterFace_0.LoadImage(self.FACE_IMAGE_DICT_1[race]) self.CharacterSlot_1.SetUp() self.CharacterSlot_2.SetUp() self.CharacterSlot_3.SetUp() self.CharacterSlot_4.SetUp() self.CharacterSlot_1_Name.SetFontColor(0.8549, 0.8549, 0.8549) self.CharacterSlot_2_Name.SetFontColor(0.8549, 0.8549, 0.8549) self.CharacterSlot_3_Name.SetFontColor(0.8549, 0.8549, 0.8549) self.CharacterSlot_4_Name.SetFontColor(0.8549, 0.8549, 0.8549) elif index == 1: self.CharacterSlot_1.Down() self.CharacterSlot_1_Name.SetFontColor(1.0, 0.6000, 0.3500) self.CharacterFace_1.LoadImage(self.FACE_IMAGE_DICT_1[race]) self.CharacterSlot_0.SetUp() self.CharacterSlot_2.SetUp() self.CharacterSlot_3.SetUp() self.CharacterSlot_4.SetUp() self.CharacterSlot_0_Name.SetFontColor(0.8549, 0.8549, 0.8549) self.CharacterSlot_2_Name.SetFontColor(0.8549, 0.8549, 0.8549) self.CharacterSlot_3_Name.SetFontColor(0.8549, 0.8549, 0.8549) self.CharacterSlot_4_Name.SetFontColor(0.8549, 0.8549, 0.8549) elif index == 2: self.CharacterSlot_2.Down() self.CharacterSlot_2_Name.SetFontColor(1.0, 0.6000, 0.3500) self.CharacterFace_2.LoadImage(self.FACE_IMAGE_DICT_1[race]) self.CharacterSlot_0.SetUp() self.CharacterSlot_1.SetUp() self.CharacterSlot_3.SetUp() self.CharacterSlot_4.SetUp() self.CharacterSlot_0_Name.SetFontColor(0.8549, 0.8549, 0.8549) self.CharacterSlot_1_Name.SetFontColor(0.8549, 0.8549, 0.8549) self.CharacterSlot_3_Name.SetFontColor(0.8549, 0.8549, 0.8549) self.CharacterSlot_4_Name.SetFontColor(0.8549, 0.8549, 0.8549) elif index == 3: self.CharacterSlot_3.Down() self.CharacterSlot_3_Name.SetFontColor(1.0, 0.6000, 0.3500) self.CharacterFace_3.LoadImage(self.FACE_IMAGE_DICT_1[race]) self.CharacterSlot_0.SetUp() self.CharacterSlot_1.SetUp() self.CharacterSlot_2.SetUp() self.CharacterSlot_4.SetUp() self.CharacterSlot_0_Name.SetFontColor(0.8549, 0.8549, 0.8549) self.CharacterSlot_1_Name.SetFontColor(0.8549, 0.8549, 0.8549) self.CharacterSlot_2_Name.SetFontColor(0.8549, 0.8549, 0.8549) self.CharacterSlot_4_Name.SetFontColor(0.8549, 0.8549, 0.8549) elif index == 4: self.CharacterSlot_4.Down() self.CharacterSlot_4_Name.SetFontColor(1.0, 0.6000, 0.3500) self.CharacterFace_4.LoadImage(self.FACE_IMAGE_DICT_1[race]) self.CharacterSlot_0.SetUp() self.CharacterSlot_1.SetUp() self.CharacterSlot_2.SetUp() self.CharacterSlot_3.SetUp() self.CharacterSlot_0_Name.SetFontColor(0.8549, 0.8549, 0.8549) self.CharacterSlot_1_Name.SetFontColor(0.8549, 0.8549, 0.8549) self.CharacterSlot_2_Name.SetFontColor(0.8549, 0.8549, 0.8549) self.CharacterSlot_3_Name.SetFontColor(0.8549, 0.8549, 0.8549) self.slot = index chr.SelectInstance(self.slot) for i in xrange(self.CHARACTER_TYPE_COUNT): self.destNameAlpha[i] = 0.0 self.destGauge = [0.0, 0.0, 0.0, 0.0] id=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_ID) if 0 != id: self.btnStart.Show() self.btnDelete.Show() self.btnCreate.Hide() for i in xrange(self.SLOT_COUNT): id_check = net.GetAccountCharacterSlotDataInteger(i, net.ACCOUNT_CHARACTER_SLOT_ID) if id_check == 0: self.btnCreate.Show() playTime=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_PLAYTIME) level=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_LEVEL) if app.ENABLE_CONQUEROR_LEVEL: conquerorlevel=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_CONQUEROR_LEVEL) race=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_RACE) valueHTH=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_HTH) valueINT=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_INT) valueSTR=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_STR) valueDEX=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_DEX) name=net.GetAccountCharacterSlotDataString(self.slot, net.ACCOUNT_CHARACTER_SLOT_NAME) guildID=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_GUILD_ID) guildName=net.GetAccountCharacterSlotDataString(self.slot, net.ACCOUNT_CHARACTER_SLOT_GUILD_NAME) self.changeNameFlag=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_CHANGE_NAME_FLAG) job = chr.RaceToJob(race) if job >= 0 and job < self.CHARACTER_TYPE_COUNT: self.destNameAlpha[job] = 1.0 self.CharacterHTH.SetText(str(valueHTH)) self.CharacterINT.SetText(str(valueINT)) self.CharacterSTR.SetText(str(valueSTR)) self.CharacterDEX.SetText(str(valueDEX)) statesSummary = 90 if statesSummary > 0.0: self.destGauge = [ ((float(valueHTH) * 10) / 90) / 10, ((float(valueINT) * 10) / 90) / 10, ((float(valueSTR) * 10) / 90) / 10, ((float(valueDEX) * 10) / 90) / 10 ] event.ClearEventSet(self.descIndex) self.descIndex = event.RegisterEventSet(self.DESCRIPTION_FILE_NAME[race]) if self.DESCRIPTION_FILE_NAME_LIMIT[race] == 1: self.textBoardPrev.Show() self.textBoardNext.Show() else: self.textBoardPrev.Hide() self.textBoardNext.Hide() else: self.textBoardPrev.Hide() self.textBoardNext.Hide() self.InitCharacterBoard() def PrevDescriptionPage(self): if event.IsWait(self.descIndex) == TRUE: if event.GetVisibleStartLine(self.descIndex)-14 >= 0: event.SetVisibleStartLine(self.descIndex, event.GetVisibleStartLine(self.descIndex)-14) event.Skip(self.descIndex) else: event.Skip(self.descIndex) def NextDescriptionPage(self): if event.IsWait(self.descIndex) == TRUE: event.SetVisibleStartLine(self.descIndex, event.GetVisibleStartLine(self.descIndex)+14) event.Skip(self.descIndex) else: event.Skip(self.descIndex) def InitCharacterBoard(self): self.btnStart.Hide() self.btnDelete.Hide() self.btnCreate.Show() self.CharacterHTH.SetText("") self.CharacterINT.SetText("") self.CharacterSTR.SetText("") self.CharacterDEX.SetText("") ## Event def GetSlotIndex(self): return self.slot def OnUpdate(self): chr.Update() (xposEventSet, yposEventSet) = self.textBoard.GetGlobalPosition() event.UpdateEventSet(self.descIndex, xposEventSet+7, -(yposEventSet+7)) self.descriptionBox.SetIndex(self.descIndex) for i in xrange(4): self.curGauge[i] += (self.destGauge[i] - self.curGauge[i]) / 10.0 if abs(self.curGauge[i] - self.destGauge[i]) < 0.005: self.curGauge[i] = self.destGauge[i] self.GaugeList[i].SetPercentage(self.curGauge[i], 1.0) for i in xrange(self.CHARACTER_TYPE_COUNT): self.curNameAlpha[i] += (self.destNameAlpha[i] - self.curNameAlpha[i]) / 10.0 self.NameList[i].SetAlpha(self.curNameAlpha[i]) for i in xrange(self.SLOT_COUNT): if FALSE == chr.HasInstance(i): continue if -1 != self.startIndex: if app.GetTime() - self.startReservingTime > 0.1: if FALSE == self.openLoadingFlag: chrSlot=self.stream.GetCharacterSlot() #print "chrSlot = %s" % chrSlot if musicInfo.selectMusic != "": snd.FadeLimitOutMusic("BGM/"+musicInfo.selectMusic, systemSetting.GetMusicVolume()*0.05) net.DirectEnter(chrSlot) playTime = net.GetAccountCharacterSlotDataInteger(chrSlot, net.ACCOUNT_CHARACTER_SLOT_PLAYTIME) import player player.SetPlayTime(playTime) self.openLoadingFlag = TRUE import chat chat.Clear() def PopupMessage(self, msg, func=0): if not func: func=self.EmptyFunc self.stream.popupWindow.Close() self.stream.popupWindow.Open(msg, func, localeInfo.UI_OK) def OverInButton(self, stat): if stat == 1: self.toolTip.ClearToolTip() self.toolTip.AlignHorizonalCenter() self.toolTip.AutoAppendNewTextLine(uiScriptLocale.SELECT_SELECT, grp.GenerateColor(1.0, 1.0, 0.0, 1.0)) self.toolTip.Show() elif stat == 2: self.toolTip.ClearToolTip() self.toolTip.AlignHorizonalCenter() self.toolTip.AutoAppendNewTextLine(uiScriptLocale.SELECT_EXIT, grp.GenerateColor(1.0, 1.0, 0.0, 1.0)) self.toolTip.Show() elif stat == 3: self.toolTip.ClearToolTip() self.toolTip.AlignHorizonalCenter() self.toolTip.AutoAppendNewTextLine(uiScriptLocale.SELECT_DELETE, grp.GenerateColor(1.0, 1.0, 0.0, 1.0)) self.toolTip.Show() elif stat == 4: self.toolTip.ClearToolTip() self.toolTip.AlignHorizonalCenter() self.toolTip.AutoAppendNewTextLine(uiScriptLocale.SELECT_CREATE, grp.GenerateColor(1.0, 1.0, 0.0, 1.0)) self.toolTip.Show() elif stat >= 5 and stat <= 9: playTime = net.GetAccountCharacterSlotDataInteger(stat-5, net.ACCOUNT_CHARACTER_SLOT_PLAYTIME) guildName = net.GetAccountCharacterSlotDataString(stat-5, net.ACCOUNT_CHARACTER_SLOT_GUILD_NAME) self.toolTip.ClearToolTip() self.toolTip.AlignHorizonalCenter() if guildName: self.toolTip.AutoAppendNewTextLine(uiScriptLocale.SELECT_YES_GUILD % (guildName), grp.GenerateColor(1.0, 1.0, 0.0, 1.0), True) else: self.toolTip.AutoAppendNewTextLine(uiScriptLocale.SELECT_NO_GUILD, grp.GenerateColor(1.0, 1.0, 0.0, 1.0), True) play_time = uiScriptLocale.SELECT_PLAYTIME + " :" day = playTime / (60 * 24) if day: play_time = play_time + " " + str(day) + localeInfo.DAY hour = (playTime - (day * 60 * 24))/60 if hour: play_time = play_time + " " + str(hour) + localeInfo.HOUR min = playTime - (hour * 60) - (day * 60 * 24) play_time = play_time + " " + str(min) + localeInfo.MINUTE self.toolTip.AutoAppendNewTextLine(play_time, 0xffffff00, False) ##YELLOW## self.toolTip.toolTipWidth += 55 self.toolTip.Show() elif stat == 10: self.toolTip.ClearToolTip() self.toolTip.AlignHorizonalCenter() self.toolTip.AutoAppendNewTextLine(uiScriptLocale.CREATE_PREV, grp.GenerateColor(1.0, 1.0, 0.0, 1.0)) self.toolTip.Show() elif stat == 11: self.toolTip.ClearToolTip() self.toolTip.AlignHorizonalCenter() self.toolTip.AutoAppendNewTextLine(uiScriptLocale.CREATE_NEXT, grp.GenerateColor(1.0, 1.0, 0.0, 1.0)) self.toolTip.Show() def OverOutButton(self): self.toolTip.Hide() def EmptyFunc(self): pass def OnPressExitKey(self): self.ExitSelect() return TRUE def OnPressEscapeKey(self): self.ExitSelect() return TRUE #Event def OnKeyDown(self, key): if 1 == key: self.ExitSelect() if 2 == key: self.SelectSlot(0) if 3 == key: self.SelectSlot(1) if 4 == key: self.SelectSlot(2) if 28 == key: id = net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_ID) if 0 == id: self.CreateCharacter() else: self.StartGame() if 203 == key: self.slot = (self.GetSlotIndex() - 1 + self.SLOT_COUNT) % self.SLOT_COUNT self.SelectSlot(self.slot) if 205 == key: self.slot = (self.GetSlotIndex() + 1) % self.SLOT_COUNT self.SelectSlot(self.slot) return TRUE
  3. Does the weather change when the player teleports?
  4. Common/Length.h open Search: ATTRIBUTE_SET_MAX_NUM Add Above ATTRIBUTE_SET_PENDANT, Look This: ATTRIBUTE_SET_PENDANT, ATTRIBUTE_SET_MAX_NUM or My Files: enum EAttributeSet { ATTRIBUTE_SET_WEAPON, ATTRIBUTE_SET_BODY, ATTRIBUTE_SET_WRIST, ATTRIBUTE_SET_FOOTS, ATTRIBUTE_SET_NECK, ATTRIBUTE_SET_HEAD, ATTRIBUTE_SET_SHIELD, ATTRIBUTE_SET_EAR, #ifdef ENABLE_ITEM_ATTR_COSTUME ATTRIBUTE_SET_COSTUME_BODY, ATTRIBUTE_SET_COSTUME_HAIR, #if defined(ENABLE_ITEM_ATTR_COSTUME) && defined(ENABLE_WEAPON_COSTUME_SYSTEM) ATTRIBUTE_SET_COSTUME_WEAPON, #endif #endif #ifdef ENABLE_PENDANT_SYSTEM ATTRIBUTE_SET_PENDANT, ATTRIBUTE_SET_PENDANT_SPECIAL, #endif ATTRIBUTE_SET_MAX_NUM }; Ok Also Basic Code ClientManagerBoot.cpp ATTRIBUTE_SET_PENDANT Nice Code EAttributeSet::ATTRIBUTE_SET_PENDANT
  5. I'm looking for APPLY_RANDOM which is in the official game but I can't find it
  6. I'm having the same problem. And I don't think anyone can solve it
  7. Skill book names are not displayed. Anyone experiencing this problem?
  8. @ Mali The name of the Skill Books does not appear.
  9. TRANSMUTATION_REVERSAL = 72325, dont work. does not undo the changelook.
  10. #0 CHARACTER::FindAffect (bApply=<optimized out>, dwType=<optimized out>, this=<optimized out>) at /usr/local/lib/gcc8/include/c++/bits/stl_list.h:308 pkAffect = <optimized out> pkAffect = <optimized out> it = {_M_node = 0x0} it = <optimized out> pkAffect = <optimized out> #1 CHARACTER::AddAffect (this=0x4fc09a80, dwType=727, bApplyOn=0 '\000', lApplyValue=0, dwFlag=49, lDuration=3600, lSPCost=0, bOverride=true, IsCube=false) at char_affect.cpp:623 __FUNCTION__ = "AddAffect" pkAff = 0x0 wMovSpd = <optimized out> wAttSpd = <optimized out> #2 0x0825f976 in MeleyLair::r_meleyspawn_event (event=..., processing_time=750) at MeleyLair.h:103 dwTime = <optimized out> stones_count = <optimized out> pEventInfo = 0x4fcb9760 pMap = 0x4fb90080 dwTimeReload = 30 dwMobVnum = <optimized out> --Type <RET> for more, q to quit, c to continue without paging-- AddAffect Function: bool CHARACTER::AddAffect(DWORD dwType, BYTE bApplyOn, long lApplyValue, DWORD dwFlag, long lDuration, long lSPCost, bool bOverride, bool IsCube) char_affect.cpp:623 (Inside the AddAffect function) if (IsCube) pkAff = FindAffect(dwType, bApplyOn); else pkAff = FindAffect(dwType); MeleyLair.h:103 LPCHARACTER& GetStatue4Char() { return pkStatue4; } Thanks for your help. I don't know if it's correct to fix what I did, but I tried it like this. Previously : pMap->GetStatue4Char()->AddAffect(AFFECT_STATUE, POINT_NONE, 0, AFF_STATUE1, 3600, 0, true); 7 Argument Later: pMap->GetStatue4Char()->AddAffect(AFFECT_STATUE, POINT_NONE, 0, AFF_STATUE1, 3600, 0, true, false); 8 Argument AddAffect arguments: dwType, bApplyOn, lApplyValue, dwFlag, lDuration, lSPCost, bOverride, IsCube = 8 Argument
  11. "_IMPROVED_PACKET_ENCRYPTION_" delete this from your files. But fix it before you delete it. delete this encryption after repairing.
  12. Hello friends. I wish everyone good health. Meley's skills do no damage. There are plugins for SkillValue SkillLimit in mob_proto file. I am adding the skills from the skill_proto.sql file. But it doesn't do any damage. How do I get Meley's skill effects to deal damage? SE_MELEY_DAMAGE SE_MELEY_NORMAL_DAMAGE Do I need to make an effect pack like this? and these effects do i need to add damage. Thank you very much to those who will inform me.
  13. It's working perfectly now. here is the plugin for new feelings for you: Search: { pkMotionManager.NAME_ANGRY, "angry.msa", 0 }, ADD: { pkMotionManager.NAME_DANCE_7, "dance_7.msa", 0 }, { pkMotionManager.NAME_JOY, "joy.msa", 0 }, { pkMotionManager.NAME_PUSHUP, "pushup.msa", 0 }, { pkMotionManager.NAME_EXERCISE, "exercise.msa", 0 }, { pkMotionManager.NAME_DOZE, "doze.msa", 0 }, { pkMotionManager.NAME_SELFIE, "selfie.msa", 0 }, Search: { pkBase.EFFECT_EMOTICON + 11, "", "d:/ymir work/effect/etc/emoticon/fish.mse" }, ADD: { pkBase.EFFECT_EMOTICON + 12, "", "d:/ymir work/effect/etc/emoticon/charging.mse" }, { pkBase.EFFECT_EMOTICON + 13, "", "d:/ymir work/effect/etc/emoticon/nosay.mse" }, { pkBase.EFFECT_EMOTICON + 14, "", "d:/ymir work/effect/etc/emoticon/weather1.mse" }, { pkBase.EFFECT_EMOTICON + 15, "", "d:/ymir work/effect/etc/emoticon/weather2.mse" }, { pkBase.EFFECT_EMOTICON + 16, "", "d:/ymir work/effect/etc/emoticon/weather3.mse" }, { pkBase.EFFECT_EMOTICON + 17, "", "d:/ymir work/effect/etc/emoticon/hungry.mse" }, { pkBase.EFFECT_EMOTICON + 18, "", "d:/ymir work/effect/etc/emoticon/siren.mse" }, { pkBase.EFFECT_EMOTICON + 19, "", "d:/ymir work/effect/etc/emoticon/letter.mse" }, { pkBase.EFFECT_EMOTICON + 20, "", "d:/ymir work/effect/etc/emoticon/call.mse" }, { pkBase.EFFECT_EMOTICON + 21, "", "d:/ymir work/effect/etc/emoticon/celebration.mse" }, { pkBase.EFFECT_EMOTICON + 22, "", "d:/ymir work/effect/etc/emoticon/alcohol.mse" }, { pkBase.EFFECT_EMOTICON + 23, "", "d:/ymir work/effect/etc/emoticon/busy.mse" }, { pkBase.EFFECT_EMOTICON + 24, "", "d:/ymir work/effect/etc/emoticon/whirl.mse" }, If you use it this way, the emoji of new emotions will not appear in the game (except for animations such as dancing, selfie) So use it this way. Open PlayerSettingsModule.py Search: def __LoadGameEffect(): if app.ENABLE_CPP_PSM: cpsm.LoadGameEffect() ADD: net.RegisterEmoticonString("(sweat)") net.RegisterEmoticonString("(money)") net.RegisterEmoticonString("(happy)") net.RegisterEmoticonString("(love)") net.RegisterEmoticonString("(love2)") net.RegisterEmoticonString("(angry)") net.RegisterEmoticonString("(aha)") net.RegisterEmoticonString("(gloom)") net.RegisterEmoticonString("(sorry)") net.RegisterEmoticonString("(!)") net.RegisterEmoticonString("(?)") net.RegisterEmoticonString("(fish)") if app.ENABLE_EXPRESSING_EMOTION: ## THANK YOU OWSAP net.RegisterEmoticonString("(charging)") net.RegisterEmoticonString("(nosay)") net.RegisterEmoticonString("(weather1)") net.RegisterEmoticonString("(weather2)") net.RegisterEmoticonString("(weather3)") net.RegisterEmoticonString("(hungry)") net.RegisterEmoticonString("(siren)") net.RegisterEmoticonString("(letter)") net.RegisterEmoticonString("(call)") net.RegisterEmoticonString("(celebration)") net.RegisterEmoticonString("(alcohol)") net.RegisterEmoticonString("(busy)") net.RegisterEmoticonString("(whirl)") now everything is ok. If you are using the S Skill system. PlayerSettingsModule.cpp Open Search and Replace: static const DWORD GUILD_SKILL_DRAGONBLOOD = pkMotionManager.NAME_SKILL + 107; static const DWORD GUILD_SKILL_DRAGONBLESS = pkMotionManager.NAME_SKILL + 108; static const DWORD GUILD_SKILL_BLESSARMOR = pkMotionManager.NAME_SKILL + 109; static const DWORD GUILD_SKILL_SPPEDUP = pkMotionManager.NAME_SKILL + 110; static const DWORD GUILD_SKILL_DRAGONWRATH = pkMotionManager.NAME_SKILL + 111; static const DWORD GUILD_SKILL_MAGICUP = pkMotionManager.NAME_SKILL + 112; static const DWORD HORSE_SKILL_WILDATTACK = pkMotionManager.NAME_SKILL + 113; static const DWORD HORSE_SKILL_CHARGE = pkMotionManager.NAME_SKILL + 114; static const DWORD HORSE_SKILL_SPLASH = pkMotionManager.NAME_SKILL + 115; Note : If your 6th Skills are not visible Open PlayerSettingsModule.py and Search and Change : NEW_678TH_SKILL_ENABLE = constInfo.NEW_678TH_SKILL_ENABLE Now everything is smooth. Take care of yourselves. I love you. Greetings from Turkey.
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.