![](https://metin2.dev/uploads/theme-resources/set_resources_31/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
![](https://metin2.dev/uploads/theme-resources/set_resources_31/84c1e40ea0e759e3f1505eb1788ddf3c_default_photo.png)
Tasho
-
Posts
358 -
Joined
-
Last visited
-
Days Won
11 -
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by Tasho
-
-
Hi devs, I have a problem with drump_proto it gives me this error :
What can I do?
-
Hi, could someone tell me how to change the color of the syschat or chat to something like this:
--**
--** Functii colorate
--** by BlackYuko
--**
function say_color(color, text)
local rgb = rawget(colors_data, color)
say(color256(rgb[1],rgb[2],rgb[3])..text..color256(colors_data.default[1], colors_data.default[2], colors_data.default[3]))
end
function set_text_color(color)
local rgb = rawget(colors_data, color)
raw_script(color256(rgb[1],rgb[2],rgb[3]))
end
colors_data = {
['verde'] = {0,190,0},
['verde chiaro'] = {0,255,0},
['verde scuro'] = {0,120,0},
['verde leggero'] = {144,238,144},
['verde acqua'] = {102,205,170},
['rosso'] = {240,0,0},
['rosso leggero'] = {255,69,51},
['rosa'] = {255,64,160},
['rosa scuro'] = {255,0,128},
['rosa chiaro'] = {255,182,193},
['corallo'] = {255,127,80},
['arancione'] = {255,130,0},
['arancione scuro'] = {255,90,0},
['fucsia'] = {255,0,255},
['viola'] = {224,129,255},
['viola scuro'] = {148,0,148},
['lilla'] = {200,162,200},
['marrone'] = {161,63,0},
['marrone scuro'] = {120,66,0},
['marrone chiaro'] = {200,164,115},
['giallo'] = {255,255,53},
['giallo chiaro'] = {255,255,128},
['oro'] = {255,191,24},
['blu'] = {0,0,250},
['blu scuro'] = {0,0,150},
['azzurro'] = {128,255,255},
['azzurro chiaro'] = {193,255,255},
['turchese'] = {0,255,255},
['bianco'] = {255,255,225},
['grigio'] = {128,128,128},
['nero'] = {0,0,0},
['default'] = {196,196,196}
} -
:-? I update the program
-
have you edit the playersettingmodule.py ?
-
and how I add the source to the studio? I'm a begginer and I whant to learn:D
-
you mean : novalineSrcsClient?
-
when I press ctrl+alt+b it shows me this:
------ Build started: Project: WindowsApplication1, Configuration: Debug Any CPU ------
WindowsApplication1 -> C:Documents and SettingsGEOMy DocumentsVisual Studio 2008ProjectsWindowsApplication1WindowsApplication1binDebugWindowsApplication1.exe
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========I don't think is the right thing
-
what I did worng?
-
1
-
-
-
import uiScriptLocale
ROOT_PATH = "d:/ymir work/ui/public/"
LOCALE_PATH = uiScriptLocale.SELECT_PATH
BOARD_X = SCREEN_WIDTH * (65) / 800
BOARD_Y = SCREEN_HEIGHT * (220) / 1100
BOARD_ITEM_ADD_POSITION = -40
window = {
"name" : "SelectCharacterWindow",
"x" : 0,
"y" : 0,
"width" : SCREEN_WIDTH,
"height" : SCREEN_HEIGHT,
"children" :
(
## Board
{
"name" : "BackGround", "type" : "expanded_image", "x" : 0, "y" : 0, "type" : "ani_image",
"x_scale" : float(SCREEN_WIDTH), "y_scale" : float(SCREEN_HEIGHT), "delay" : 6,
"images" :
(
"locale/de/ui/selectch/1.jpg",
)
},
{
"name" : "BackGround2",
"type" : "image",
"x" : (SCREEN_WIDTH - 1084) / 2,
"y" : (SCREEN_HEIGHT - 240),
"image" : "locale/de/ui/selectch/sol.tga",
},
## Character Board
{
"name" : "character_board",
"type" : "crank™",
"sytle" : ("movable",),
"x" : 0,
"y" : 0,
"width" : SCREEN_WIDTH,
"height" : SCREEN_HEIGHT,
"children" :
(
{
"name" : "character_button",
"type" : "button",
"x" : 15,
"y" : 10,
"default_image" : "locale/de/ui/selectplayer/selectpalyer.tga",
"over_image" : "locale/de/ui/selectplayer/selectpalyer2.tga",
"down_image" : "locale/de/ui/selectplayer/selectpalyer2.tga",
},
{
"name" : "character1_button",
"type" : "button",
"x" : 15,
"y" : 250,
"over_image" : "locale/de/ui/button_over.tga",
"down_image" : "locale/de/ui/button_pressed.tga",
},
{
"name" : "character2_button",
"type" : "button",
"x" : (SCREEN_WIDTH - 210),
"y" : 10,
"over_image" : "locale/de/ui/button_over.tga",
"down_image" : "locale/de/ui/button_pressed.tga",
},
{
"name" : "character3_button",
"type" : "button",
"x" : (SCREEN_WIDTH - 210),
"y" : 250,
"over_image" : "locale/de/ui/button_over.tga",
"down_image" : "locale/de/ui/button_pressed.tga",
},
##Character1##
{
"name" : "character_name_text",
"type" : "text",
"x" : 30,
"y" : 30,
},
{
"name" : "character_name_value",
"type" : "text",
"x" : 90,
"y" : 71,
"text" : "",
},
{
"name" : "character_level_text",
"type" : "text",
"x" : 30,
"y" : 50,
},
{
"name" : "character_level_value",
"type" : "text",
"x" : 67,
"y" : 92,
"text" : "",
},
{
"name" : "character_play_time_text",
"type" : "text",
"x" : 30,
"y" : 70,
},
{
"name" : "character_play_time_value",
"type" : "text",
"x" : 118,
"y" : 136,
"text" : "",
},
{
"name" : "GuildName",
"type" : "text",
"x" : 90,
"y" : 117,
"text" : uiScriptLocale.SELECT_NO_GUILD,
},
## Empire Flag
##Character2##
{
"name" : "character1_name_text",
"type" : "text",
"x" : 30,
"y" : 120,
},
{
"name" : "character1_name_value",
"type" : "text",
"x" : 90,
"y" : 312,
"text" : "",
},
{
"name" : "character1_level_text",
"type" : "text",
"x" : 31,
"y" : 140,
},
{
"name" : "character1_level_value",
"type" : "text",
"x" : 67,
"y" : 332,
"text" : "",
},
{
"name" : "character1_play_time_text",
"type" : "text",
"x" : 30,
"y" : 160,
},
{
"name" : "character1_play_time_value",
"type" : "text",
"x" : 116,
"y" : 377,
"text" : "",
},
{
"name" : "GuildName1",
"type" : "text",
"x" : 90,
"y" : 356,
"text" : uiScriptLocale.SELECT_NO_GUILD,
},
## Empire Flag
##Character3##
{
"name" : "character2_name_text",
"type" : "text",
"x" : 30,
"y" : 210,
},
{
"name" : "character2_name_value",
"type" : "text",
"x" : (SCREEN_WIDTH - 132),
"y" : 71,
"text" : "",
},
{
"name" : "character2_level_text",
"type" : "text",
"x" : 30,
"y" : 227,
},
{
"name" : "character2_level_value",
"type" : "text",
"x" : (SCREEN_WIDTH - 157),
"y" : 92,
"text" : "",
},
{
"name" : "character2_play_time_text",
"type" : "text",
"x" : 30,
"y" : 250,
},
{
"name" : "character2_play_time_value",
"type" : "text",
"x" : (SCREEN_WIDTH - 108),
"y" : 137,
"text" : "",
},
{
"name" : "GuildName2",
"type" : "text",
"x" : (SCREEN_WIDTH - 136),
"y" : 117,
"text" : uiScriptLocale.SELECT_NO_GUILD,
},
## Empire Flag
##Character4##
{
"name" : "character3_name_text",
"type" : "text",
"x" : 30,
"y" : 300,
},
{
"name" : "character3_name_value",
"type" : "text",
"x" : (SCREEN_WIDTH - 132),
"y" : 312,
"text" : "",
},
{
"name" : "character3_level_text",
"type" : "text",
"x" : 30,
"y" : 320,
},
{
"name" : "character3_level_value",
"type" : "text",
"x" : (SCREEN_WIDTH - 157),
"y" : 332,
"text" : "",
},
{
"name" : "character3_play_time_text",
"type" : "text",
"x" : 30,
"y" : 340,
},
{
"name" : "character3_play_time_value",
"type" : "text",
"x" : (SCREEN_WIDTH - 108),
"y" : 377,
"text" : "",
},
{
"name" : "GuildName3",
"type" : "text",
"x" : (SCREEN_WIDTH - 136),
"y" : 358,
"text" : uiScriptLocale.SELECT_NO_GUILD,
},
## Empire Flag
{
"name" : "start_button",
"type" : "button",
"x" : (SCREEN_WIDTH - 550) / 2,
"y" : (SCREEN_HEIGHT - 40),
"text" : uiScriptLocale.SELECT_SELECT,
"text_height" : 6,
"default_image" : "d:/ymir work/ui/public/btnsimple1.sub",
"over_image" : "d:/ymir work/ui/public/btnsimple2.sub",
"down_image" : "d:/ymir work/ui/public/btnsimple3.sub",
},
{
"name" : "create_button",
"type" : "button",
"x" : (SCREEN_WIDTH - 80) / 2,
"y" : (SCREEN_HEIGHT - 40),
"text" : uiScriptLocale.SELECT_CREATE,
"text_height" : 6,
"default_image" : "d:/ymir work/ui/public/btnsimple1.sub",
"over_image" : "d:/ymir work/ui/public/btnsimple2.sub",
"down_image" : "d:/ymir work/ui/public/btnsimple3.sub",
},
{
"name" : "exit_button",
"type" : "button",
"x" : 7,
"y" : SCREEN_HEIGHT -50,
"text" : "Retour",
"default_image" : "d:/ymir work/ui/public/btnmenu1.sub",
"over_image" : "d:/ymir work/ui/public/btnmenu2.sub",
"down_image" : "d:/ymir work/ui/public/btnmenu3.sub",
},
{
"name" : "LoginExitButton",
"type" : "button",
"x" : (SCREEN_WIDTH - 110),
"y" : (SCREEN_HEIGHT - 50),
"default_image" : "d:/ymir work/ui/public/btnmenu1.sub",
"over_image" : "d:/ymir work/ui/public/btnmenu2.sub",
"down_image" : "d:/ymir work/ui/public/btnmenu3.sub",
"text" : uiScriptLocale.LOGIN_SELECT_EXIT,
},
{
"name" : "delete_button",
"type" : "button",
"x" : (SCREEN_WIDTH + 350) / 2,
"y" : (SCREEN_HEIGHT - 40),
"text" : uiScriptLocale.SELECT_DELETE,
"default_image" : "d:/ymir work/ui/public/btnsimple1.sub",
"over_image" : "d:/ymir work/ui/public/btnsimple2.sub",
"down_image" : "d:/ymir work/ui/public/btnsimple3.sub",
},
##Gauge's##
),
},
## Buttons
{
"name" : "left_button",
"type" : "button",
"x" : SCREEN_WIDTH * (450 - 22*3) / 800,
"y" : SCREEN_HEIGHT * (505) / 600,
"default_image" : "d:/ymir work/ui/intro/select/dragon_left_button_01.sub",
"over_image" : "d:/ymir work/ui/intro/select/dragon_left_button_02.sub",
"down_image" : "d:/ymir work/ui/intro/select/dragon_left_button_03.sub",
},
{
"name" : "right_button",
"type" : "button",
"x" : SCREEN_WIDTH * (580 - 22) / 800,
"y" : SCREEN_HEIGHT * (505) / 600,
"default_image" : "d:/ymir work/ui/intro/select/dragon_right_button_01.sub",
"over_image" : "d:/ymir work/ui/intro/select/dragon_right_button_02.sub",
"down_image" : "d:/ymir work/ui/intro/select/dragon_right_button_03.sub",
},
),
}ies it is, this is why it surpise me
-
if I change it then the new character select will not work ... that is the main thing I whnat the most ... anything else I don't care ...
import chr
import grp
import app
import math
import wndMgr
import snd
import net
import systemSetting
import localeInfo
import chr
import ui
import uiScriptLocale
import networkModule
import musicInfo
import playerSettingModule
####################################
# ºü¸¥ ½ÇÇàÀ» À§ÇÑ ¸ðµâ ·Îµù ºÐ´ã
####################################
import uiCommon
import uiMapNameShower
import uiAffectShower
import uiCharacter
import uiTarget
import consoleModule
import interfaceModule
import uiTaskBar
import uiInventory
import constInfo
import os
import linecache
import introLogin
import localeInfo
###################################
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):
# SLOT4
#SLOT_ROTATION = ( 140.0, 260.0, 20.0 )
#SLOT_COUNT = 3
SLOT_ROTATION = [135.0, 225.0, 315.0, 45.0]
SLOT_COUNT = 4
CHARACTER_TYPE_COUNT = 4
class CharacterRenderer(ui.Window):
def OnRender(self):
grp.ClearDepthBuffer()
grp.SetGameRenderState()
grp.PushState()
grp.SetOmniLight()
screenWidth = wndMgr.GetScreenWidth()
screenHeight = wndMgr.GetScreenHeight()
newScreenWidth = float(screenWidth - 100)
newScreenHeight = float(screenHeight)
grp.SetViewport(270.0/screenWidth, 0.0, newScreenWidth/screenWidth, newScreenHeight/screenHeight)
app.SetCenterPosition(0.0, 0.0, 0.0)
app.SetCamera(2300.0, 15.0, 180.0, 200.0)
grp.SetPerspective(10.0, newScreenWidth/newScreenHeight, 1000.0, 4000.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.flagDict = {}
self.curRotation = []
self.destRotation = []
for rot in self.SLOT_ROTATION:
self.curRotation.append(rot)
self.destRotation.append(rot)
self.curNameAlpha = []
self.destNameAlpha = []
for i in xrange(self.CHARACTER_TYPE_COUNT):
self.curNameAlpha.append(0.0)
self.destNameAlpha.append(0.0)
self.dlgBoard = 0
self.changeNameFlag = FALSE
self.nameInputBoard = None
self.sendedChangeNamePacket = FALSE
self.startIndex = -1
self.isLoad = 0
def __del__(self):
ui.Window.__del__(self)
net.SetPhaseWindow(net.PHASE_WINDOW_SELECT, 0)
def Open(self):
import constInfo
if not self.__LoadBoardDialog(uiScriptLocale.LOCALE_UISCRIPT_PATH + "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.btnLeft.Enable()
self.btnRight.Enable()
self.dlgBoard.Show()
self.SetWindowName("SelectCharacterWindow")
self.Show()
if self.slot>=0:
self.SelectSlot(0)
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 os.path.exists("data/standard.cfg"):
s = linecache.getline("data/standard.cfg", 1)
else:
s = 0
if self.stream.isAutoSelect:
#chrSlot=self.stream.GetCharacterSlot()
chrSlot=s
self.SelectSlot(chrSlot)
self.StartGame()
self.HideAllFlag()
app.ShowCursor()
self.SelectSlot(int(s))
def Close(self):
if musicInfo.selectMusic != "":
snd.FadeOutMusic("BGM/"+musicInfo.selectMusic)
self.stream.popupWindow.Close()
if self.dlgBoard:
self.dlgBoard.ClearDictionary()
self.flagDict = {}
self.dlgBoard = None
self.btnStart = None
self.btnCreate = None
self.btnDelete = None
self.btnExit = None
self.btnLeft = None
self.btnRight = None
self.backGround = None
self.backGround2 = None
self.dlgQuestion.ClearDictionary()
self.dlgQuestion = None
self.dlgQuestionText = None
self.dlgQuestionAcceptButton = None
self.dlgQuestionCancelButton = None
self.privateInputBoard = None
self.nameInputBoard = None
chr.DeleteInstance(0)
chr.DeleteInstance(1)
chr.DeleteInstance(2)
chr.DeleteInstance(3)
self.Hide()
self.KillFocus()
app.HideCursor()
def HideAllFlag(self):
for flag in self.flagDict.values():
flag.Hide()
def Refresh(self):
if not self.isLoad:
return
# SLOT4
indexArray = (3, 2, 1, 0)
for index in indexArray:
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)
if id:
self.MakeCharacter(index, id, name, race, form, hair)
self.SelectSlot(index)
self.SelectSlot(self.slot)
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.btnStart = GetObject("start_button")
self.btnCreate = GetObject("create_button")
self.btnDelete = GetObject("delete_button")
self.btnExit = GetObject("exit_button")
self.loginExitButton = GetObject("LoginExitButton")
self.CharacterName = GetObject("character_name_value")
self.CharacterButton = GetObject("character_button")
self.CharacterLevel = GetObject("character_level_value")
self.PlayTime = GetObject("character_play_time_value")
self.GuildName = GetObject("GuildName")
self.btnLeft = GetObject("left_button")
self.btnRight = GetObject("right_button")
##Character2##
self.CharacterName1 = GetObject("character1_name_value")
self.CharacterButton1 = GetObject("character1_button")
self.CharacterLevel1 = GetObject("character1_level_value")
self.PlayTime1 = GetObject("character1_play_time_value")
self.GuildName1 = GetObject("GuildName1")
##Character3##
self.CharacterName2 = GetObject("character2_name_value")
self.CharacterButton2 = GetObject("character2_button")
self.CharacterLevel2 = GetObject("character2_level_value")
self.PlayTime2 = GetObject("character2_play_time_value")
self.GuildName2 = GetObject("GuildName2")
##Character4##
self.CharacterName3 = GetObject("character3_name_value")
self.CharacterButton3 = GetObject("character3_button")
self.CharacterLevel3 = GetObject("character3_level_value")
self.PlayTime3 = GetObject("character3_play_time_value")
self.GuildName3 = GetObject("GuildName3")
self.backGround = GetObject("BackGround")
self.backGround2 = GetObject("BackGround2")
except:
import exception
exception.Abort("SelectCharacterWindow.LoadBoardDialog.BindObject")
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.CharacterButton.SetEvent(ui.__mem_func__(self.OnClickCharacter))
self.CharacterButton1.SetEvent(ui.__mem_func__(self.OnClickCharacter1))
self.CharacterButton2.SetEvent(ui.__mem_func__(self.OnClickCharacter2))
self.CharacterButton3.SetEvent(ui.__mem_func__(self.OnClickCharacter3))
self.loginExitButton.SetEvent(ui.__mem_func__(self.__OnClickExitButton))
if NOT_NEED_DELETE_CODE:
self.btnDelete.SetEvent(ui.__mem_func__(self.PopupDeleteQuestion))
else:
self.btnDelete.SetEvent(ui.__mem_func__(self.InputPrivateCode))
self.btnLeft.SetEvent(ui.__mem_func__(self.DecreaseSlotIndex))
self.btnRight.SetEvent(ui.__mem_func__(self.IncreaseSlotIndex))
self.btnLeft.Hide()
self.btnRight.Hide()
self.chrRenderer = self.CharacterRenderer()
self.chrRenderer.SetParent(self.backGround)
self.chrRenderer.SetParent(self.backGround2)
self.chrRenderer.Show()
return 1
def MakeCharacter(self, index, id, name, race, form, hair):
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)
chr.Refresh()
chr.SetMotionMode(chr.MOTION_MODE_GENERAL)
chr.SetLoopMotion(chr.MOTION_INTRO_WAIT)
chr.SetRotation(0.0)
## Manage Character
def StartGame(self):
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.btnLeft.SetUp()
self.btnRight.SetUp()
self.btnStart.Disable()
self.btnCreate.Disable()
self.btnDelete.Disable()
self.btnExit.Disable()
self.btnLeft.Disable()
self.btnRight.Disable()
self.dlgQuestion.Hide()
self.stream.SetCharacterSlot(self.slot)
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):
id = self.GetCharacterSlotID(self.slot)
if 0==id:
self.stream.SetCharacterSlot(self.slot)
EMPIRE_MODE = 1
if EMPIRE_MODE:
if self.__AreAllSlotEmpty():
self.stream.SetReselectEmpirePhase()
else:
self.stream.SetCreateCharacterPhase()
else:
self.stream.SetCreateCharacterPhase()
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)
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 PopupNotifyMessage(self, msg, func=0):
if not func:
func=self.EmptyFunc
self.stream.popupWindow.Close()
self.stream.popupWindow.Open(msg, func, localeInfo.UI_OK)
return
def SetStandard(self):
slot = str(self.GetSlotIndex())
f = open("data/standard.cfg","w")
f.write(slot)
f.close()
r = open("data/standard.cfg","r")
re = r.read()
if re.find(slot)!=-1:
self.PopupNotifyMessage("Charackter " + slot + " wurde erfolgreich als Standard gesetzt")
else:
self.PopupNotifyMessage("Es ist ein Fehler aufgetretetn. Bitte versuche es nochmals.")
def CharacterButtonRestore(self):
self.CharacterButton.SetUpVisual("locale/de/ui/selectplayer/selectpalyer.tga")
self.CharacterButton.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.CharacterButton.SetDownVisual("locale/de/ui/selectplayer/selectpalyer.tga")
self.CharacterButton1.SetUpVisual("locale/de/ui/selectplayer/selectpalyer.tga")
self.CharacterButton1.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.CharacterButton1.SetDownVisual("locale/de/ui/selectplayer/selectpalyer.tga")
self.CharacterButton2.SetUpVisual("locale/de/ui/selectplayer/selectpalyer.tga")
self.CharacterButton2.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.CharacterButton2.SetDownVisual("locale/de/ui/selectplayer/selectpalyer.tga")
self.CharacterButton3.SetUpVisual("locale/de/ui/selectplayer/selectpalyer.tga")
self.CharacterButton3.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.CharacterButton3.SetDownVisual("locale/de/ui/selectplayer/selectpalyer.tga")
def OnClickCharacter(self):
import constInfo
self.CharacterButtonRestore()
self.CharacterButton.SetUpVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.CharacterButton.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.CharacterButton.SetDownVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
introLogin.SLOT = 0
self.SelectSlot(0)
def OnClickCharacter1(self):
import constInfo
self.CharacterButtonRestore()
self.CharacterButton1.SetUpVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.CharacterButton1.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.CharacterButton1.SetDownVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
introLogin.SLOT = 1
self.SelectSlot(1)
def OnClickCharacter2(self):
import constInfo
self.CharacterButtonRestore()
self.CharacterButton2.SetUpVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.CharacterButton2.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.CharacterButton2.SetDownVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
introLogin.SLOT = 2
self.SelectSlot(2)
def OnClickCharacter3(self):
import constInfo
self.CharacterButtonRestore()
self.CharacterButton3.SetUpVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.CharacterButton3.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.CharacterButton3.SetDownVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
introLogin.SLOT = 3
self.SelectSlot(3)
def GetSlotIndex(self):
return self.slot
def __OnClickExitButton(self):
self.stream.SetPhaseWindow(0)
def DecreaseSlotIndex(self):
#slotIndex = (self.GetSlotIndex() - 1 + self.SLOT_COUNT) % self.SLOT_COUNT
#self.SelectSlot(slotIndex)
app.MovieRotateCamera(app.CAMERA_TO_NEGATIVE)
def IncreaseSlotIndex(self):
#slotIndex = (self.GetSlotIndex() + 1) % self.SLOT_COUNT
#self.SelectSlot(slotIndex)
app.MovieRotateCamera(app.CAMERA_TO_POSITIVE)
def SelectSlot(self, index):
import constInfo
if index < 0:
return
if index >= self.SLOT_COUNT:
return
self.slot = index
id1 = introLogin.SLOT
chr.SelectInstance(self.slot)
for i in xrange(self.CHARACTER_TYPE_COUNT):
self.destNameAlpha = 0.0
for i in xrange(self.SLOT_COUNT):
self.destRotation[(i+self.slot)%self.SLOT_COUNT] = self.SLOT_ROTATION
id=net.GetAccountCharacterSlotDataInteger(id1, net.ACCOUNT_CHARACTER_SLOT_ID)
if 0 != id:
self.btnStart.Show()
self.btnDelete.Show()
self.btnCreate.Hide()
##Char1##
playTime=net.GetAccountCharacterSlotDataInteger(0, net.ACCOUNT_CHARACTER_SLOT_PLAYTIME)
level=net.GetAccountCharacterSlotDataInteger(0, net.ACCOUNT_CHARACTER_SLOT_LEVEL)
race=net.GetAccountCharacterSlotDataInteger(0, net.ACCOUNT_CHARACTER_SLOT_RACE)
name=net.GetAccountCharacterSlotDataString(0, net.ACCOUNT_CHARACTER_SLOT_NAME)
GuildName=net.GetAccountCharacterSlotDataString(0, net.ACCOUNT_CHARACTER_SLOT_GUILD_NAME)
##Char2##
playTime1=net.GetAccountCharacterSlotDataInteger(1, net.ACCOUNT_CHARACTER_SLOT_PLAYTIME)
level1=net.GetAccountCharacterSlotDataInteger(1, net.ACCOUNT_CHARACTER_SLOT_LEVEL)
race1=net.GetAccountCharacterSlotDataInteger(1, net.ACCOUNT_CHARACTER_SLOT_RACE)
name1=net.GetAccountCharacterSlotDataString(1, net.ACCOUNT_CHARACTER_SLOT_NAME)
GuildName1=net.GetAccountCharacterSlotDataString(1, net.ACCOUNT_CHARACTER_SLOT_GUILD_NAME)
##Char3##
playTime2=net.GetAccountCharacterSlotDataInteger(2, net.ACCOUNT_CHARACTER_SLOT_PLAYTIME)
level2=net.GetAccountCharacterSlotDataInteger(2, net.ACCOUNT_CHARACTER_SLOT_LEVEL)
race2=net.GetAccountCharacterSlotDataInteger(2, net.ACCOUNT_CHARACTER_SLOT_RACE)
name2=net.GetAccountCharacterSlotDataString(2, net.ACCOUNT_CHARACTER_SLOT_NAME)
GuildName2=net.GetAccountCharacterSlotDataString(2, net.ACCOUNT_CHARACTER_SLOT_GUILD_NAME)
##Char4##
playTime3=net.GetAccountCharacterSlotDataInteger(3, net.ACCOUNT_CHARACTER_SLOT_PLAYTIME)
level3=net.GetAccountCharacterSlotDataInteger(3, net.ACCOUNT_CHARACTER_SLOT_LEVEL)
race3=net.GetAccountCharacterSlotDataInteger(3, net.ACCOUNT_CHARACTER_SLOT_RACE)
name3=net.GetAccountCharacterSlotDataString(3, net.ACCOUNT_CHARACTER_SLOT_NAME)
GuildName3=net.GetAccountCharacterSlotDataString(3, net.ACCOUNT_CHARACTER_SLOT_GUILD_NAME)
job = chr.RaceToJob(race)
if job >= 0 and job < self.CHARACTER_TYPE_COUNT:
self.destNameAlpha[job] = 1.0
job1 = chr.RaceToJob(race1)
if job1 >= 0 and job1 < self.CHARACTER_TYPE_COUNT:
self.destNameAlpha[job1] = 1.0
job2 = chr.RaceToJob(race2)
if job2 >= 0 and job2 < self.CHARACTER_TYPE_COUNT:
self.destNameAlpha[job2] = 1.0
job3 = chr.RaceToJob(race3)
if job3 >= 0 and job3 < self.CHARACTER_TYPE_COUNT:
self.destNameAlpha[job3] = 1.0
##Character1##
self.CharacterName.SetText(name)
self.CharacterLevel.SetText(str(level))
self.PlayTime.SetText(str(playTime))
self.GuildName.SetText(GuildName)
##Character2##
self.CharacterName1.SetText(name1)
self.CharacterLevel1.SetText(str(level1))
self.PlayTime1.SetText(str(playTime1))
self.GuildName1.SetText(GuildName1)
##Character3##
self.CharacterName2.SetText(name2)
self.CharacterLevel2.SetText(str(level2))
self.PlayTime2.SetText(str(playTime2))
self.GuildName2.SetText(GuildName2)
##Character4##
self.CharacterName3.SetText(name3)
self.CharacterLevel3.SetText(str(level3))
self.PlayTime3.SetText(str(playTime3))
self.GuildName3.SetText(GuildName3)
if GuildName:
self.GuildName.SetText(GuildName)
else:
self.GuildName.SetText(localeInfo.SELECT_NOT_JOIN_GUILD)
if GuildName1:
self.GuildName1.SetText(GuildName1)
else:
self.GuildName1.SetText(localeInfo.SELECT_NOT_JOIN_GUILD)
if GuildName2:
self.GuildName2.SetText(GuildName2)
else:
self.GuildName2.SetText(localeInfo.SELECT_NOT_JOIN_GUILD)
if GuildName3:
self.GuildName3.SetText(GuildName3)
else:
self.GuildName3.SetText(localeInfo.SELECT_NOT_JOIN_GUILD)
else:
self.InitCharacterBoard()
def InitCharacterBoard(self):
self.btnStart.Hide()
self.btnDelete.Hide()
self.btnCreate.Show()
## Event
def OnKeyDown(self, key):
import constInfo
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)
introLogin.SLOT = self.slot
if 205 == key:
self.slot = (self.GetSlotIndex() + 1) % self.SLOT_COUNT
self.SelectSlot(self.slot)
introLogin.SLOT = self.slot
return TRUE
def OnUpdate(self):
import constInfo
chr.Update()
for i in xrange(self.SLOT_COUNT):
if FALSE == chr.HasInstance(i):
continue
chr.SelectInstance(i)
distance = 50.0
rotRadian = self.curRotation * (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)
#####
dir = app.GetRotatingDirection(self.destRotation, self.curRotation)
rot = app.GetDegreeDifference(self.destRotation, self.curRotation)
if app.DEGREE_DIRECTION_RIGHT == dir:
self.curRotation += rot / 10.0
elif app.DEGREE_DIRECTION_LEFT == dir:
self.curRotation -= rot / 10.0
self.curRotation = (self.curRotation + 360.0) % 360.0
#######################################################
if -1 != self.startIndex:
## Temporary
## BackGroundLoadingÀÌ Áö¿ø µÉ¶§±îÁö Àӽ÷Î..
if app.GetTime() - self.startReservingTime > 3.0:
if FALSE == self.openLoadingFlag:
chrSlot=self.stream.GetCharacterSlot()
net.DirectEnter(chrSlot)
self.openLoadingFlag = TRUE
playTime=net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_PLAYTIME)
import player
player.SetPlayTime(playTime)
import chat
chat.Clear() ## µé¾î°¥¶§ Chat À» ÃʱâÈ. Àӽà Pos.
## Temporary
#######################################################
slot = introLogin.SLOT
if slot == 0:
self.CharacterButtonRestore()
self.CharacterButton.SetUpVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.CharacterButton.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.CharacterButton.SetDownVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
elif slot == 1:
self.CharacterButtonRestore()
self.CharacterButton1.SetUpVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.CharacterButton1.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.CharacterButton1.SetDownVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
elif slot == 2:
self.CharacterButtonRestore()
self.CharacterButton2.SetUpVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.CharacterButton2.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.CharacterButton2.SetDownVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
elif slot == 3:
self.CharacterButtonRestore()
self.CharacterButton3.SetUpVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.CharacterButton3.SetOverVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.CharacterButton3.SetDownVisual("locale/de/ui/selectplayer/selectpalyer2.tga")
self.SelectSlot(slot)
def EmptyFunc(self):
pass
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 OnPressExitKey(self):
self.ExitSelect()
return TRUE
I did everything ... I don't know why dose it give me that error..
-
i`ve use this : http://metin2dev.org/board/topic/244-release-binary-r28249-fixed/?p=2019
and now :
0302 20:58:11789 ::
introSelect.py(line:283) __LoadBoardDialog
ui.py(line:2715) GetChild
SelectCharacterWindow.LoadBoardDialog.BindObject - exceptions.KeyError:start_button
0302 20:58:11791 :: ============================================================================================================
0302 20:58:11791 :: Abort!!!!
-
from cBaraN.
-
same error
0302 19:01:26415 ::
introSelect.py(line:282) __LoadBoardDialog
ui.py(line:2715) GetChild
SelectCharacterWindow.LoadBoardDialog.BindObject - <type 'exceptions.KeyError'>:'start_button'
0302 19:01:26415 :: ============================================================================================================
0302 19:01:26415 :: Abort!!!!
0302 19:01:26415 :: filename=exception.py, name=Abort
0302 19:01:26415 :: filename=introSelect.py, name=__LoadBoardDialog
0302 19:01:26415 :: filename=introSelect.py, name=Open
0302 19:01:26415 :: filename=networkModule.py, name=__ChangePhaseWindow
0302 19:01:26415 :: filename=uiPhaseCurtain.py, name=OnUpdate
0302 19:01:26415 :: filename=prototype.py, name=RunApp
0302 19:01:26416 :: filename=prototype.py, name=<module>
0302 19:01:26416 :: filename=system.py, name=Run
0302 19:01:26416 :: filename=system.py, name=execfile
0302 19:01:26416 :: filename=system.py, name=RunMainScript
0302 19:01:26416 :: filename=system.py, name=<module>
0302 19:01:26416 :: filename=<string>, name=<module>selectcharacterwindow.py
## Empire Flag
{
"name" : "start_button",
"type" : "button",
"x" : (SCREEN_WIDTH - 550) / 2,
"y" : (SCREEN_HEIGHT - 40),
"text" : uiScriptLocale.SELECT_SELECT,
"text_height" : 6,
"default_image" : "d:/ymir work/ui/public/btnsimple1.sub",
"over_image" : "d:/ymir work/ui/public/btnsimple2.sub",
"down_image" : "d:/ymir work/ui/public/btnsimple3.sub",
}, -
Try to use the 40250 client,because I had the same error with arkosia 2 client and when I change the client it worked perfect.
the test one?
-
0302 17:21:10241 ::
introSelect.py(line:283) __LoadBoardDialog
ui.py(line:2715) GetChild
SelectCharacterWindow.LoadBoardDialog.BindObject - <type 'exceptions.KeyError'>:'start_button'
0302 17:21:10241 :: ============================================================================================================
0302 17:21:10242 :: Abort!!!!
0302 17:21:10242 :: filename=exception.py, name=Abort
0302 17:21:10242 :: filename=introSelect.py, name=__LoadBoardDialog
0302 17:21:10242 :: filename=introSelect.py, name=Open
0302 17:21:10242 :: filename=networkModule.py, name=__ChangePhaseWindow
0302 17:21:10242 :: filename=uiPhaseCurtain.py, name=OnUpdate
0302 17:21:10242 :: filename=prototype.py, name=RunApp
0302 17:21:10242 :: filename=prototype.py, name=<module>
0302 17:21:10242 :: filename=system.py, name=Run
0302 17:21:10242 :: filename=system.py, name=execfile
0302 17:21:10242 :: filename=system.py, name=RunMainScript
0302 17:21:10242 :: filename=system.py, name=<module>
0302 17:21:10242 :: filename=<string>, name=<module>
now this error ...
I have it in my locale but I don;t know whi it still gives me error
## Empire Flag
{
"name" : "start_button",
"type" : "button",
"x" : (SCREEN_WIDTH - 550) / 2,
"y" : (SCREEN_HEIGHT - 40),
"text" : uiScriptLocale.SELECT_SELECT,
"text_height" : 6,
"default_image" : "d:/ymir work/ui/public/btnsimple1.sub",
"over_image" : "d:/ymir work/ui/public/btnsimple2.sub",
"down_image" : "d:/ymir work/ui/public/btnsimple3.sub",
}, -
40k arkosia2 files.
-
Hi, I tryed to adapt that caracter select from yayaprod to 40k but out of luck
I tryed like 5 times but the same errors :
0302 15:56:11396 ::
introSelect.py(line:287) __LoadBoardDialog
ui.py(line:2715) GetChild
SelectCharacterWindow.LoadBoardDialog.BindObject - <type 'exceptions.KeyError'>:'LoginExitButton'0302 15:56:11396 :: ============================================================================================================ 0302 15:56:11396 :: Abort!!!! 0302 15:56:11396 :: filename=exception.py, name=Abort 0302 15:56:11396 :: filename=introSelect.py, name=__LoadBoardDialog 0302 15:56:11396 :: filename=introSelect.py, name=Open 0302 15:56:11396 :: filename=networkModule.py, name=__ChangePhaseWindow 0302 15:56:11396 :: filename=uiPhaseCurtain.py, name=OnUpdate 0302 15:56:11396 :: filename=prototype.py, name=RunApp 0302 15:56:11396 :: filename=prototype.py, name=<module> 0302 15:56:11396 :: filename=system.py, name=Run 0302 15:56:11396 :: filename=system.py, name=execfile 0302 15:56:11396 :: filename=system.py, name=RunMainScript 0302 15:56:11396 :: filename=system.py, name=<module> 0302 15:56:11396 :: filename=<string>, name=<module>
And now I ask for your help, what I should do?
-
game.py
Search the following def:
def OpenQuestWindow(self, skin, idx): self.interface.OpenQuestWindow(skin, idx)
And replace it with this:def OpenQuestWindow(self, skin, idx): if constInfo.INPUT_IGNORE == 1: return self.interface.OpenQuestWindow(skin, idx)
it worked. thanks
-
1
-
-
my hxd didn't find log.txt I don't know why:(
-
Hi, I have a problem I think is from the client-side.
Problem: When I click on the AntiExpRing and storage buttons it pops-up a this:
Normally it dosen't suppous to pop-up nothing, just a text in the bottom-right that says whether or not the botton is activ or not.
I'll pot sa quest and the client part maybe someone knows a solutin.
Server-side:
-
quest clientquest_test begin state start begin when login begin cmdchat("loadquest1 "..q.getcurrentquestindex()) end when button or info begin local get = clientquest_test.getinput("getinput") if get == "12" then -- Lager Button game.open_safebox() end if get == "13" then -- AntiExp Button if pc.getqf('reset2') == 0 then pc.setqf('reset2',1) pc.setqf('reset',pc.get_exp()) loop_timer("antiexp", 1) syschat("Ati blocat experienta.") else pc.setqf('reset2',0) cleartimer("antiexp") syschat("Ati deblocat experienta.") end end end when login with pc.getqf('reset2') > 0 begin loop_timer("antiexp", 1) syschat("Experienta este blocata.") end when antiexp.timer begin local oxp = pc.getqf('reset') if pc.get_exp() > oxp then pc.give_exp2(-(pc.get_exp()-oxp)) end end function getinput(par) cmdchat("getinputbegin") local ret = input(cmdchat(par)) cmdchat("getinputend") return ret end end end
Client:
constinfo.py
LoadQuest1 = 0 INPUT_IGNORE = 0 SendInfo = "0
game.py
def __QuestClient_1(self, qid): constInfo.LoadQuest1 = qid def __Inputget1(self): constInfo.INPUT_IGNORE = 1 def __Inputget2(self): constInfo.INPUT_IGNORE = 0 def __Inputget3(self): info = constInfo.SendInfo net.SendQuestInputStringPacket(str(info))
# QUEST KOMMUNIKATION "loadquest1" : self.__QuestClient_1, "getinputbegin" : self.__Inputget1, "getinputend" : self.__Inputget2, "getinput" : self.__Inputget3,
uiinventory.py
def ClickIshopButton(self): eq = constInfo.LoadQuest1 #chat.AppendChat(chat.CHAT_TYPE_INFO, eq) constInfo.SendInfo = "12" event.QuestButtonClick(int(eq)) def __AntiExpRing(self): eq = constInfo.LoadQuest1 constInfo.SendInfo = "13" event.QuestButtonClick(int(eq))
# MallButton if self.mallButton: self.mallButton.SetEvent(ui.__mem_func__(self.ClickMallButton)) self.ishopButton.SetEvent(ui.__mem_func__(self.ClickIshopButton)) self.AntiEXPButton.SetEvent(ui.__mem_func__(self.__AntiExpRing))
self.AntiEXPButton = self.GetChild2("AntiExpButton") self.ishopButton = self.GetChild2("IshopButton")
self.ishopButton = None
-
-
-
2
-
-
but why when I pack the shinnings disappear?
-
ok, thank:D
You can T.C.
VDI FreeBSD 9.2 / Compilable Sources
in Binaries
Posted
I have a problem with mega, I tryed to download for 2 days and no succes.
Can you make a torrent please.
Thanks.