|
You last visited: Today at 00:34
Advertisement
[250 e*gold Belohnung] Problem Map2/GM-Himmel/... Bug
Discussion on [250 e*gold Belohnung] Problem Map2/GM-Himmel/... Bug within the Metin2 Private Server forum part of the Metin2 category.
03/29/2012, 18:24
|
#1
|
elite*gold: 5
Join Date: Apr 2011
Posts: 1,960
Received Thanks: 1,482
|
[250 e*gold Belohnung] Problem Map2/GM-Himmel/... Bug
Joa steht schon im Titel ._. Ist zurzeit noch auf Hamachi und wollte gleich ihn auf Root setzen, aber habe nun dieses Problem...
-> Gehe Map2. Kick. Will einloggen. Geht. Charakter auswählen. Der Charakter macht seine Bewegung. Wieder Loginbildschirm. Komme nicht meh rein. <-
:S Kann wer helfen? Belohnung 250 e*gold!
LG
zAndyz (DKS)
|
|
|
03/29/2012, 18:25
|
#2
|
elite*gold: 5
Join Date: Dec 2011
Posts: 1,083
Received Thanks: 647
|
Ist das bei allen Maps so?
Welche Files benutzt du?
|
|
|
03/29/2012, 18:27
|
#3
|
elite*gold: 5
Join Date: Apr 2011
Posts: 1,960
Received Thanks: 1,482
|
Deathy v2. Nein, nur bei Map2/GM Himmel/Reichsschlacht. Map1, Sd1,Sd2 funkt... :/
LG
zAndyz
|
|
|
03/29/2012, 18:30
|
#4
|
elite*gold: 5
Join Date: Dec 2011
Posts: 1,083
Received Thanks: 647
|
Was sagt die syserr vom server?
Poste sie mal.-.
|
|
|
03/29/2012, 18:33
|
#5
|
elite*gold: 5
Join Date: Jun 2009
Posts: 2,262
Received Thanks: 2,596
|
1. der kick ist das nur ein kick oder schliest sich der client
2. char auswahl geht net weiter
schau mal bitte in deiner intrologin.py und introselect.py
aber schick mir mal deinen clienten + test acc, wenn du möchtest kann ich ja mal drüber schauen
wen du nur auf bestimmten maps kicks bekommst schau auch mal ob deine atlasinfo.txt korreckt ist
lg
|
|
|
03/29/2012, 18:44
|
#6
|
elite*gold: 5
Join Date: Dec 2011
Posts: 1,083
Received Thanks: 647
|
Setz deinen GM Char erstmal via Navicat auf Map1 & versuch dann nochmal Map2 zu porten.
Vielleicht hat sich auch nur ein einmaliger Fehler eingeschlichen & es geht wieder (höchstwahrscheinlich nicht)
Da keiner mit den Deathy Files sonst mit Map2 oder sonst einer Map Probleme hat, sowies aussieht(hab mal gegoogelt) Musst du versehentlich irgendwas verändert haben.
Poste einmal CH1 syserr oder auth server falls ch1 nix sagt ;P
Sonst können wir dir nicht weiterhelfen.
Könnte natürlich auch CLientfehler sein.
Poste dann auch mal die Client syserr.
|
|
|
03/29/2012, 18:48
|
#7
|
elite*gold: 5
Join Date: Apr 2011
Posts: 1,960
Received Thanks: 1,482
|
Quote:
Originally Posted by .Verkauf´
Was sagt die syserr vom server?
Poste sie mal.-.
|
Code:
0329 18:23:19143 :: Pack/root: Pack file does not exist
0329 18:23:17102 :: GRANNY: r:/granny/rt/granny_file_info.cpp(145): File has run-time type tag of 0x8000000f, which doesn't match this version of Granny (0x80000010). Automatic conversion will be attempted.
0329 18:23:27648 :: CRaceData::RegisterMotionData - LoadMotionData(c_szFileName=d:/ymir work/monster2/fennec_fox/00_2.msa) ERROR
0329 18:23:27666 :: CRaceData::RegisterMotionData - LoadMotionData(c_szFileName=d:/ymir work/monster2/fennec_fox/31_2.msa) ERROR
0329 18:23:42072 :: Not mono data: sound/monster2/fennec_fox/dead_1.wav
0329 18:23:42072 :: CSoundManager3D::GetInstance (filename: sound/monster2/fennec_fox/dead_1.wav)
0329 18:23:43811 :: StartStaminaConsume 25 819
0329 18:23:43894 :: StopStaminaConsume 818
0329 18:23:47441 :: StartStaminaConsume 25 817
0329 18:23:47639 :: StopStaminaConsume 810
0329 18:23:47755 :: StartStaminaConsume 25 809
0329 18:23:48200 :: StopStaminaConsume 796
0329 18:23:49492 :: StartStaminaConsume 25 795
0329 18:23:49702 :: StopStaminaConsume 789
0329 18:23:49941 :: StartStaminaConsume 25 788
0329 18:23:52837 :: StopStaminaConsume 693
0329 18:23:52919 :: StartStaminaConsume 25 692
0329 18:24:03034 :: StopStaminaConsume 380
0329 18:24:03314 :: StartStaminaConsume 25 379
0329 18:24:08760 :: StopStaminaConsume 212
0329 18:26:00645 :: CMapOutdoorAccessor::LoadMonsterAreaInfo Load File season1/metin2_map_spiderdungeon_02\regen.txt ERROR
0329 18:26:00645 :: CMapOutdoor::Load - LoadMonsterAreaInfo ERROR
0329 18:26:52703 :: CloseRestartWindow
0329 18:27:33626 :: ActorInstance::ProcessMotionEventFly No Target
0329 18:27:39946 :: CloseRestartWindow
0329 18:27:54135 :: granny_shared_vbs:
0329 18:27:54135 :: 0: 40
0329 18:27:54135 :: 1: 104
0329 18:27:54137 :: 2: 26
0329 18:27:54140 :: 3: 40
0329 18:27:54140 :: 4: 2
0329 18:27:54140 :: 5: 20
0329 18:27:54141 :: 6: 1
0329 18:27:54141 :: 7: 0
0329 18:27:54141 :: 8: 0
Intrologin.py
import dbg
import app
import net
import ui
import snd
import wndMgr
import musicInfo
import serverInfo
import systemSetting
import ServerStateChecker
import locale
import constInfo
import uiCommon
import time
import ServerCommandParser
import ime
import uiScriptLocale
JAPAN_LOGIN = None
RUNUP_MATRIX_AUTH = FALSE
NEWCIBN_PASSPOD_AUTH = FALSE
LOGIN_DELAY_SEC = 0.0
SKIP_LOGIN_PHASE = FALSE
SKIP_LOGIN_PHASE_SUPPORT_CHANNEL = FALSE
FULL_BACK_IMAGE = FALSE
PASSPOD_MSG_DICT = {}
if locale.IsJAPAN():
SKIP_LOGIN_PHASE = TRUE
SKIP_LOGIN_PHASE_SUPPORT_CHANNEL = TRUE
elif locale.IsNEWCIBN():
LOGIN_DELAY_SEC = 20.0
FULL_BACK_IMAGE = TRUE
NEWCIBN_PASSPOD_AUTH = TRUE
PASSPOD_MSG_DICT = {
"PASERR1" : locale.LOGIN_FAILURE_PASERR1,
"PASERR2" : locale.LOGIN_FAILURE_PASERR2,
"PASERR3" : locale.LOGIN_FAILURE_PASERR3,
"PASERR4" : locale.LOGIN_FAILURE_PASERR4,
"PASERR5" : locale.LOGIN_FAILURE_PASERR5,
}
elif locale.IsYMIR() or locale.IsCHEONMA():
FULL_BACK_IMAGE = TRUE
elif locale.IsHONGKONG():
FULL_BACK_IMAGE = TRUE
RUNUP_MATRIX_AUTH = TRUE
PASSPOD_MSG_DICT = {
"NOTELE" : locale.LOGIN_FAILURE_NOTELEBLOCK,
}
elif locale.IsJAPAN():
FULL_BACK_IMAGE = TRUE
def IsFullBackImage():
global FULL_BACK_IMAGE
return FULL_BACK_IMAGE
def IsLoginDelay():
global LOGIN_DELAY_SEC
if LOGIN_DELAY_SEC > 0.0:
return TRUE
else:
return FALSE
def IsRunupMatrixAuth():
global RUNUP_MATRIX_AUTH
return RUNUP_MATRIX_AUTH
def IsNEWCIBNPassPodAuth():
global NEWCIBN_PASSPOD_AUTH
return NEWCIBN_PASSPOD_AUTH
def GetLoginDelay():
global LOGIN_DELAY_SEC
return LOGIN_DELAY_SEC
ui.SetMarkImage("mark/test.tga")
class ConnectingDialog(ui.ScriptWindow):
def __init__(self):
ui.ScriptWindow.__init__(self)
self.__LoadDialog()
self.eventTimeOver = lambda *arg: None
self.eventExit = lambda *arg: None
def __del__(self):
ui.ScriptWindow.__del__(self)
def __LoadDialog(self):
try:
PythonScriptLoader = ui.PythonScriptLoader()
PythonScriptLoader.LoadScriptFile(self, "UIScript/ConnectingDialog.py")
self.board = self.GetChild("board")
self.message = self.GetChild("message")
self.countdownMessage = self.GetChild("countdown_message")
except:
import exception
exception.Abort("ConnectingDialog.LoadDialog.BindO bject")
def Open(self, waitTime):
curTime = time.clock()
self.endTime = curTime + waitTime
self.Lock()
self.SetCenterPosition()
self.SetTop()
self.Show()
def Close(self):
self.Unlock()
self.Hide()
def Destroy(self):
self.Hide()
self.ClearDictionary()
def SetText(self, text):
self.message.SetText(text)
def SetCountDownMessage(self, waitTime):
self.countdownMessage.SetText("%.0f%s" % (waitTime, locale.SECOND))
def SAFE_SetTimeOverEvent(self, event):
self.eventTimeOver = ui.__mem_func__(event)
def SAFE_SetExitEvent(self, event):
self.eventExit = ui.__mem_func__(event)
def OnUpdate(self):
lastTime = max(0, self.endTime - time.clock())
if 0 == lastTime:
self.Close()
self.eventTimeOver()
else:
self.SetCountDownMessage(self.endTime - time.clock())
def OnPressExitKey(self):
#self.eventExit()
return TRUE
class LoginWindow(ui.ScriptWindow):
IS_TEST = net.IsTest()
def __init__(self, stream):
print "NEW LOGIN WINDOW ----------------------------------------------------------------------------"
ui.ScriptWindow.__init__(self)
net.SetPhaseWindow(net.PHASE_WINDOW_LOGIN, self)
net.SetAccountConnectorHandler(self)
self.matrixInputChanceCount = 0
self.lastLoginTime = 0
self.inputDialog = None
self.connectingDialog = None
self.stream=stream
self.isNowCountDown=FALSE
self.isStartError=FALSE
self.xServerBoard = 0
self.yServerBoard = 0
self.loadingImage = None
def __del__(self):
net.ClearPhaseWindow(net.PHASE_WINDOW_LOGIN, self)
net.SetAccountConnectorHandler(0)
ui.ScriptWindow.__del__(self)
print "---------------------------------------------------------------------------- DELETE LOGIN WINDOW"
def Open(self):
ServerStateChecker.Create(self)
print "LOGIN WINDOW OPEN ----------------------------------------------------------------------------"
self.loginFailureMsgDict={
#"DEFAULT" : locale.LOGIN_FAILURE_UNKNOWN,
"ALREADY" : locale.LOGIN_FAILURE_ALREAY,
"NOID" : locale.LOGIN_FAILURE_NOT_EXIST_ID,
"WRONGPWD" : locale.LOGIN_FAILURE_WRONG_PASSWORD,
"FULL" : locale.LOGIN_FAILURE_TOO_MANY_USER,
"SHUTDOWN" : locale.LOGIN_FAILURE_SHUTDOWN,
"REPAIR" : locale.LOGIN_FAILURE_REPAIR_ID,
"BLOCK" : locale.LOGIN_FAILURE_BLOCK_ID,
"WRONGMAT" : locale.LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER,
"QUIT" : locale.LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIP LE,
"BESAMEKEY" : locale.LOGIN_FAILURE_BE_SAME_KEY,
"NOTAVAIL" : locale.LOGIN_FAILURE_NOT_AVAIL,
"NOBILL" : locale.LOGIN_FAILURE_NOBILL,
"BLKLOGIN" : locale.LOGIN_FAILURE_BLOCK_LOGIN,
"WEBBLK" : locale.LOGIN_FAILURE_WEB_BLOCK,
}
self.loginFailureFuncDict = {
"WRONGPWD" : self.__DisconnectAndInputPassword,
"WRONGMAT" : self.__DisconnectAndInputMatrix,
"QUIT" : app.Exit,
}
self.SetSize(wndMgr.GetScreenWidth(), wndMgr.GetScreenHeight())
self.SetWindowName("LoginWindow")
if not self.__LoadScript(uiScriptLocale.LOCALE_UISCRIPT_P ATH + "LoginWindow.py"):
dbg.TraceError("LoginWindow.Open - __LoadScript Error")
return
self.__LoadLoginInfo("loginInfo.py")
if locale.IsCIBN():
# SERVER_LIST_BUG_FIX
visible_index = 1
for index, name in serverInfo.REGION_NAME_DICT.items():
self.regionGroupList.InsertItem(index, " %02d. %s" % (visible_index, name))
visible_index += 1
# END_OF_SERVER_LIST_BUG_FIX
if app.loggined:
self.loginFailureFuncDict = {
"WRONGPWD" : app.Exit,
"WRONGMAT" : app.Exit,
"QUIT" : app.Exit,
}
if musicInfo.loginMusic != "":
snd.SetMusicVolume(systemSetting.GetMusicVolume())
snd.FadeInMusic("BGM/"+musicInfo.loginMusic)
snd.SetSoundVolume(systemSetting.GetSoundVolume())
# pevent key "[" "]"
ime.AddExceptKey(91)
ime.AddExceptKey(93)
self.Show()
global SKIP_LOGIN_PHASE
if SKIP_LOGIN_PHASE:
if self.isStartError:
self.connectBoard.Hide()
self.loginBoard.Hide()
self.serverBoard.Hide()
self.PopupNotifyMessage(locale.LOGIN_CONNECT_FAILU RE, self.__ExitGame)
return
if self.loginInfo:
self.serverBoard.Hide()
else:
self.__RefreshServerList()
self.__OpenServerBoard()
else:
connectingIP = self.stream.GetConnectAddr()
if connectingIP:
self.__OpenLoginBoard()
if IsFullBackImage():
self.GetChild("bg1").Hide()
self.GetChild("bg2").Show()
else:
if locale.IsCIBN():
self.__OpenRegionBoard()
else:
self.__RefreshServerList()
self.__OpenServerBoard()
app.ShowCursor()
def Close(self):
if self.connectingDialog:
self.connectingDialog.Close()
self.connectingDialog = None
ServerStateChecker.Destroy(self)
print "---------------------------------------------------------------------------- CLOSE LOGIN WINDOW "
#
# selectMusicÀÌ ¾øÀ¸¸é BGMÀÌ ²÷±â¹Ç·Î µÎ°³ ´Ù üũÇÑ´Ù.
#
if musicInfo.loginMusic != "" and musicInfo.selectMusic != "":
snd.FadeOutMusic("BGM/"+musicInfo.loginMusic)
## NOTE : idEditLine¿Í pwdEditLineÀº À̺¥Æ®°¡ ¼*·Î ¿¬°á µÇ¾îÀÖ¾î¼*
## Event¸¦ °*Á¦·Î ÃʱâÈ* ÇØÁÖ¾î¾ß¸¸ ÇÕ´Ï´Ù - [levites]
self.idEditLine.SetTabEvent(0)
self.idEditLine.SetReturnEvent(0)
self.pwdEditLine.SetReturnEvent(0)
self.pwdEditLine.SetTabEvent(0)
self.connectBoard = None
self.loginBoard = None
self.idEditLine = None
self.pwdEditLine = None
self.inputDialog = None
self.connectingDialog = None
self.loadingImage = None
self.settlementBoard = None
self.regionGroupList = None
self.serverListOnRegionBoard = None
self.serverBoard = None
self.serverList = None
self.channelList = None
# RUNUP_MATRIX_AUTH
self.matrixQuizBoard = None
self.matrixAnswerInput = None
self.matrixAnswerOK = None
self.matrixAnswerCancel = None
# RUNUP_MATRIX_AUTH_END
# NEWCIBN_PASSPOD_AUTH
self.passpodBoard = None
self.passpodAnswerInput = None
self.passpodAnswerOK = None
self.passpodAnswerCancel = None
# NEWCIBN_PASSPOD_AUTH_END
self.KillFocus()
self.Hide()
self.stream.popupWindow.Close()
self.loginFailureFuncDict=None
ime.ClearExceptKey()
app.HideCursor()
def __SaveChannelInfo(self):
try:
file=open("channel.inf", "w")
file.write("%d %d %d" % (self.__GetServerID(), self.__GetChannelID(), self.__GetRegionID()))
except:
print "LoginWindow.__SaveChannelInfo - SaveError"
def __LoadChannelInfo(self):
try:
file=open("channel.inf")
lines=file.readlines()
if len(lines)>0:
tokens=lines[0].split()
selServerID=int(tokens[0])
selChannelID=int(tokens[1])
if len(tokens)==3:
regionID=int(tokens[2])
return regionID, selServerID, selChannelID
except:
print "LoginWindow.__LoadChannelInfo - OpenError"
return -1, -1, -1
def __ExitGame(self):
app.Exit()
def SetIDEditLineFocus(self):
if self.idEditLine != None:
self.idEditLine.SetFocus()
def SetPasswordEditLineFocus(self):
if self.pwdEditLine != None:
self.pwdEditLine.SetFocus()
def OnEndCountDown(self):
self.isNowCountDown = FALSE
self.OnConnectFailure()
def OnConnectFailure(self):
if self.isNowCountDown:
return
snd.PlaySound("sound/ui/loginfail.wav")
if self.connectingDialog:
self.connectingDialog.Close()
self.connectingDialog = None
if app.loggined:
self.PopupNotifyMessage(locale.LOGIN_CONNECT_FAILU RE, self.__ExitGame)
else:
self.PopupNotifyMessage(locale.LOGIN_CONNECT_FAILU RE, self.SetPasswordEditLineFocus)
def OnHandShake(self):
if not IsLoginDelay():
snd.PlaySound("sound/ui/loginok.wav")
self.PopupDisplayMessage(locale.LOGIN_CONNECT_SUCC ESS)
def OnLoginStart(self):
if not IsLoginDelay():
self.PopupDisplayMessage(locale.LOGIN_PROCESSING)
def OnLoginFailure(self, error):
if self.connectingDialog:
self.connectingDialog.Close()
self.connectingDialog = None
try:
loginFailureMsg = self.loginFailureMsgDict[error]
except KeyError:
if PASSPOD_MSG_DICT:
try:
loginFailureMsg = PASSPOD_MSG_DICT[error]
except KeyError:
loginFailureMsg = locale.LOGIN_FAILURE_UNKNOWN + error
else:
loginFailureMsg = locale.LOGIN_FAILURE_UNKNOWN + error
loginFailureFunc=self.loginFailureFuncDict.get(err or, self.SetIDEditLineFocus)
if app.loggined:
self.PopupNotifyMessage(loginFailureMsg, self.__ExitGame)
else:
self.PopupNotifyMessage(loginFailureMsg, loginFailureFunc)
snd.PlaySound("sound/ui/loginfail.wav")
def __DisconnectAndInputID(self):
if self.connectingDialog:
self.connectingDialog.Close()
self.connectingDialog = None
self.SetIDEditLineFocus()
net.Disconnect()
def __DisconnectAndInputPassword(self):
if self.connectingDialog:
self.connectingDialog.Close()
self.connectingDialog = None
self.SetPasswordEditLineFocus()
net.Disconnect()
def __DisconnectAndInputMatrix(self):
if self.connectingDialog:
self.connectingDialog.Close()
self.connectingDialog = None
self.stream.popupWindow.Close()
self.matrixInputChanceCount -= 1
if self.matrixInputChanceCount <= 0:
self.__OnCloseInputDialog()
elif self.inputDialog:
self.inputDialog.Show()
def __LoadScript(self, fileName):
try:
pyScrLoader = ui.PythonScriptLoader()
pyScrLoader.LoadScriptFile(self, fileName)
except:
import exception
exception.Abort("LoginWindow.__LoadScript.LoadObje ct")
try:
GetObject=self.GetChild
self.serverBoard = GetObject("ServerBoard")
self.serverList = GetObject("ServerList")
self.channelList = GetObject("ChannelList")
self.serverSelectButton = GetObject("ServerSelectButton")
self.serverExitButton = GetObject("ServerExitButton")
self.connectBoard = GetObject("ConnectBoard")
self.loginBoard = GetObject("LoginBoard")
self.idEditLine = GetObject("ID_EditLine")
self.pwdEditLine = GetObject("Password_EditLine")
self.serverInfo = GetObject("ConnectName")
self.selectConnectButton = GetObject("SelectConnectButton")
self.loginButton = GetObject("LoginButton")
self.loginExitButton = GetObject("LoginExitButton")
# RUNUP_MATRIX_AUTH
if IsRunupMatrixAuth():
self.matrixQuizBoard = GetObject("RunupMatrixQuizBoard")
self.matrixAnswerInput = GetObject("RunupMatrixAnswerInput")
self.matrixAnswerOK = GetObject("RunupMatrixAnswerOK")
self.matrixAnswerCancel = GetObject("RunupMatrixAnswerCancel")
# RUNUP_MATRIX_AUTH_END
# NEWCIBN_PASSPOD_AUTH
if IsNEWCIBNPassPodAuth():
self.passpodBoard = GetObject("NEWCIBN_PASSPOD_BOARD")
self.passpodAnswerInput = GetObject("NEWCIBN_PASSPOD_INPUT")
self.passpodAnswerOK = GetObject("NEWCIBN_PASSPOD_OK")
self.passpodAnswerCancel= GetObject("NEWCIBN_PASSPOD_CANCEL")
# NEWCIBN_PASSPOD_AUTH_END
if locale.IsCIBN():
self.settlementBoard = GetObject("RegionBoard")
self.regionGroupList = GetObject("RegionGroupList")
self.serverListOnRegionBoard = GetObject("ServerListOnRegionBoard")
self.settlementSelectButton = GetObject("RegionSelectButton")
self.settlementExitButton = GetObject("RegionExitButton")
self.alertBoard = GetObject("AlertBoard")
except:
import exception
exception.Abort("LoginWindow.__LoadScript.BindObje ct")
if self.IS_TEST:
self.selectConnectButton.Hide()
else:
self.selectConnectButton.SetEvent(ui.__mem_func__( self.__OnClickSelectConnectButton))
self.serverBoard.OnKeyUp = ui.__mem_func__(self.__ServerBoard_OnKeyUp)
self.xServerBoard, self.yServerBoard = self.serverBoard.GetLocalPosition()
self.serverSelectButton.SetEvent(ui.__mem_func__(s elf.__OnClickSelectServerButton))
self.serverExitButton.SetEvent(ui.__mem_func__(sel f.__OnClickExitButton))
self.loginButton.SetEvent(ui.__mem_func__(self.__O nClickLoginButton))
self.loginExitButton.SetEvent(ui.__mem_func__(self .__OnClickExitButton))
self.serverList.SetEvent(ui.__mem_func__(self.__On SelectServer))
self.idEditLine.SetReturnEvent(ui.__mem_func__(sel f.pwdEditLine.SetFocus))
self.idEditLine.SetTabEvent(ui.__mem_func__(self.p wdEditLine.SetFocus))
self.pwdEditLine.SetReturnEvent(ui.__mem_func__(se lf.__OnClickLoginButton))
self.pwdEditLine.SetTabEvent(ui.__mem_func__(self. idEditLine.SetFocus))
if locale.IsCIBN():
self.settlementSelectButton.SetEvent(ui.__mem_func __(self.__OnClickSelectRegionButton))
self.settlementExitButton.SetEvent(ui.__mem_func__ (self.__OnClickExitButton))
self.regionGroupList.SetEvent(ui.__mem_func__(self .__OnSelectRegionGroup))
self.serverListOnRegionBoard.SetEvent(ui.__mem_fun c__(self.__OnSelectSettlementArea))
# RUNUP_MATRIX_AUTH
if IsRunupMatrixAuth():
self.matrixAnswerOK.SAFE_SetEvent(self.__OnClickMa trixAnswerOK)
self.matrixAnswerCancel.SAFE_SetEvent(self.__OnCli ckMatrixAnswerCancel)
self.matrixAnswerInput.SAFE_SetReturnEvent(self.__ OnClickMatrixAnswerOK)
# RUNUP_MATRIX_AUTH_END
# NEWCIBN_PASSPOD_AUTH
if IsNEWCIBNPassPodAuth():
self.passpodAnswerOK.SAFE_SetEvent(self.__OnClickN EWCIBNPasspodAnswerOK)
self.passpodAnswerCancel.SAFE_SetEvent(self.__OnCl ickNEWCIBNPasspodAnswerCancel)
self.passpodAnswerInput.SAFE_SetReturnEvent(self._ _OnClickNEWCIBNPasspodAnswerOK)
# NEWCIBN_PASSPOD_AUTH_END
if IsFullBackImage():
self.GetChild("bg1").Show()
self.GetChild("bg2").Hide()
return 1
def Connect(self, id, pwd):
if constInfo.SEQUENCE_PACKET_ENABLE:
net.SetPacketSequenceMode()
if IsLoginDelay():
loginDelay = GetLoginDelay()
self.connectingDialog = ConnectingDialog()
self.connectingDialog.Open(loginDelay)
self.connectingDialog.SAFE_SetTimeOverEvent(self.O nEndCountDown)
self.connectingDialog.SAFE_SetExitEvent(self.OnPre ssExitKey)
self.isNowCountDown = TRUE
else:
self.stream.popupWindow.Close()
self.stream.popupWindow.Open(locale.LOGIN_CONNETIN G, self.SetPasswordEditLineFocus, locale.UI_CANCEL)
self.stream.SetLoginInfo(id, pwd)
self.stream.Connect()
def __OnClickExitButton(self):
self.stream.SetPhaseWindow(0)
def __SetServerInfo(self, name):
net.SetServerInfo(name.strip())
self.serverInfo.SetText(name)
def __LoadLoginInfo(self, loginInfoFileName):
try:
loginInfo={}
execfile(loginInfoFileName, loginInfo)
except IOError:
print(\
"ÀÚµ¿ ·Î±×ÀÎÀ» ÇϽ÷Á¸é" + loginInfoFileName + "ÆÄÀÏÀ» ÀÛ¼ºÇØÁÖ¼¼¿ä\n"\
"\n"\
"³»¿ë:\n"\
"================================================= ===============\n"\
"addr=ÁÖ¼Ò\n"\
"port=Æ÷Æ®\n"\
"id=¾ÆÀ̵ð\n"\
"pwd=ºñ¹Ð¹øÈ£\n"\
"slot=ij¸¯ÅÍ ¼±Åà À妽º (¾ø°Å³ª -1À̸é ÀÚµ¿ ¼±Åà ¾ÈÇÔ)\n"\
"autoLogin=ÀÚµ¿ Á¢¼Ó ¿©ºÎ\n"
"autoSelect=ÀÚµ¿ Á¢¼Ó ¿©ºÎ\n"
"locale=(ymir) LC_Ymir ÀÏ°æ¿ì ymir·Î ÀÛµ¿. ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é korea·Î ÀÛµ¿\n"
);
id=loginInfo.get("id", "")
pwd=loginInfo.get("pwd", "")
if self.IS_TEST:
try:
addr=loginInfo["addr"]
port=loginInfo["port"]
account_addr=addr
account_port=port
net.SetMarkServer(addr, port)
self.__SetServerInfo(locale.CHANNEL_TEST_SERVER_AD DR % (addr, port))
except:
try:
addr=serverInfo.TESTADDR["ip"]
port=serverInfo.TESTADDR["tcp_port"]
net.SetMarkServer(addr, port)
self.__SetServerInfo(locale.CHANNEL_TEST_SERVER)
except:
import exception
exception.Abort("LoginWindow.__LoadLoginInfo - Å×½ºÆ®¼*¹ö ÁÖ¼Ò°¡ ¾ø½À´Ï´Ù")
else:
addr=loginInfo.get("addr", "")
port=loginInfo.get("port", 0)
account_addr=loginInfo.get("account_addr", addr)
account_port=loginInfo.get("account_port", port)
locale = loginInfo.get("locale", "")
if addr and port:
net.SetMarkServer(addr, port)
if locale == "ymir" :
net.SetServerInfo("õ¸¶ ¼*¹ö")
self.serverInfo.SetText("Y:"+addr+":"+str(port))
else:
net.SetServerInfo(addr+":"+str(port))
self.serverInfo.SetText("K:"+addr+":"+str(port))
slot=loginInfo.get("slot", 0)
isAutoLogin=loginInfo.get("auto", 0)
isAutoLogin=loginInfo.get("autoLogin", 0)
isAutoSelect=loginInfo.get("autoSelect", 0)
self.stream.SetCharacterSlot(slot)
self.stream.SetConnectInfo(addr, port, account_addr, account_port)
self.stream.isAutoLogin=isAutoLogin
self.stream.isAutoSelect=isAutoSelect
self.id = None
self.pwd = None
self.loginnedServer = None
self.loginnedChannel = None
app.loggined = FALSE
self.loginInfo = loginInfo
try:
if not loginInfo:
self.__AnalyzeConnectionInfoCommandLine(app.__COMM AND_LINE__)
except:
import exception
exception.Abort("LoginWindow.__LoadLoginInfo - Á¢¼Ó Á¤º¸¸¦ Çؼ®ÇÒ ¼ö ¾ø½À´Ï´Ù")
if self.id and self.pwd:
app.loggined = TRUE
if isAutoLogin:
self.Connect(id, pwd)
print "================================================= ================================="
print "ÀÚµ¿ ·Î±×ÀÎ: %s - %s:%d %s" % (loginInfoFileName, addr, port, id)
print "================================================= ================================="
def __AnalyzeConnectionInfoCommandLine(self, cmdLine):
if locale.IsJAPAN():
global JAPAN_LOGIN
if JAPAN_LOGIN:
(self.id, self.pwd) = JAPAN_LOGIN
else:
try:
ip, port, self.id, self.pwd = app.NetmarbleJP_DecryptString(cmdLine.strip()).spl it(",")[:4]
JAPAN_LOGIN = (self.id, self.pwd)
except:
cmdLine = cmdLine.strip()
if cmdLine:
dbg.LogBox(cmdLine)
self.isStartError = TRUE
self.loginnedServer, self.loginnedChannel = 1, 1
elif locale.IsLETSGAME():
(temp, prefix, self.loginnedServer, server.oginnedChannel, self.id, self.pwd) = cmdLine.split()
self.loginnedServer, self.loginnedChannel = int(self.loginnedServer), int(self.loginnedChannel)
else:
pass
def PopupDisplayMessage(self, msg):
self.stream.popupWindow.Close()
self.stream.popupWindow.Open(msg)
def PopupNotifyMessage(self, msg, func=0):
if not func:
func=self.EmptyFunc
self.stream.popupWindow.Close()
self.stream.popupWindow.Open(msg, func, locale.UI_OK)
# RUNUP_MATRIX_AUTH
def BINARY_OnRunupMatrixQuiz(self, quiz):
if not IsRunupMatrixAuth():
return
id = self.GetChild("RunupMatrixID")
id.SetText(self.idEditLine.GetText())
code = self.GetChild("RunupMatrixCode")
code.SetText("".join(["[%c,%c]" % (quiz[i], quiz[i+1]) for i in xrange(0, len(quiz), 2)]))
self.stream.popupWindow.Close()
self.serverBoard.Hide()
self.connectBoard.Hide()
self.loginBoard.Hide()
self.matrixQuizBoard.Show()
self.matrixAnswerInput.SetFocus()
def __OnClickMatrixAnswerOK(self):
answer = self.matrixAnswerInput.GetText()
print "matrix_quiz.ok"
net.SendRunupMatrixCardPacket(answer)
self.matrixQuizBoard.Hide()
self.stream.popupWindow.Close()
self.stream.popupWindow.Open("WAITING FOR MATRIX AUTHENTICATION",
self.__OnClickMatrixAnswerCancel,
locale.UI_CANCEL)
def __OnClickMatrixAnswerCancel(self):
print "matrix_quiz.cancel"
if self.matrixQuizBoard:
self.matrixQuizBoard.Hide()
if self.connectBoard:
self.connectBoard.Show()
if self.loginBoard:
self.loginBoard.Show()
# RUNUP_MATRIX_AUTH_END
# NEWCIBN_PASSPOD_AUTH
def BINARY_OnNEWCIBNPasspodRequest(self):
if not IsNEWCIBNPassPodAuth():
return
if self.connectingDialog:
self.connectingDialog.Close()
self.connectingDialog = None
self.stream.popupWindow.Close()
self.serverBoard.Hide()
self.connectBoard.Hide()
self.loginBoard.Hide()
self.passpodBoard.Show()
self.passpodAnswerInput.SetFocus()
def BINARY_OnNEWCIBNPasspodFailure(self):
if not IsNEWCIBNPassPodAuth():
return
def __OnClickNEWCIBNPasspodAnswerOK(self):
answer = self.passpodAnswerInput.GetText()
print "passpod.ok"
net.SendNEWCIBNPasspodAnswerPacket(answer)
self.passpodAnswerInput.SetText("")
self.passpodBoard.Hide()
self.stream.popupWindow.Close()
self.stream.popupWindow.Open(locale.WAIT_FOR_PASSP OD,
self.__OnClickNEWCIBNPasspodAnswerCancel,
locale.UI_CANCEL)
def __OnClickNEWCIBNPasspodAnswerCancel(self):
print "passpod.cancel"
if self.passpodBoard:
self.passpodBoard.Hide()
if self.connectBoard:
self.connectBoard.Show()
if self.loginBoard:
self.loginBoard.Show()
# NEWCIBN_PASSPOD_AUTH_END
def OnMatrixCard(self, row1, row2, row3, row4, col1, col2, col3, col4):
if self.connectingDialog:
self.connectingDialog.Close()
self.connectingDialog = None
self.matrixInputChanceCount = 3
self.stream.popupWindow.Close()
# CHINA_MATRIX_CARD_BUG_FIX
## A~Z ±îÁö 26 À̳»ÀÇ °ªÀÌ µé¾îÀÖ¾î¾ß¸¸ ÇÑ´Ù.
## Python Exception Log ¿¡¼* ±× ÀÌ»óÀÇ °ªÀÌ µé¾îÀÖ¾î¼* ¿¡·¯ ¹æÁö
## Çåµ¥ ¿Ö Çѱ¹ÂÊ ·Î±×¿¡¼* ÀÌ°Ô È°¿ëµÇ´ÂÁö´Â ¸ð¸£°ÚÀ½
row1 = min(30, row1)
row2 = min(30, row2)
row3 = min(30, row3)
row4 = min(30, row4)
# END_OF_CHINA_MATRIX_CARD_BUG_FIX
row1 = chr(row1 + ord('A'))
row2 = chr(row2 + ord('A'))
row3 = chr(row3 + ord('A'))
row4 = chr(row4 + ord('A'))
col1 = col1 + 1
col2 = col2 + 1
col3 = col3 + 1
col4 = col4 + 1
inputDialog = uiCommon.InputDialogWithDescription2()
inputDialog.SetMaxLength(8)
inputDialog.SetAcceptEvent(ui.__mem_func__(self.__ OnAcceptMatrixCardData))
inputDialog.SetCancelEvent(ui.__mem_func__(self.__ OnCancelMatrixCardData))
inputDialog.SetTitle(locale.INPUT_MATRIX_CARD_TITL E)
inputDialog.SetDescription1(locale.INPUT_MATRIX_CA RD_NUMBER)
inputDialog.SetDescription2("%c%d %c%d %c%d %c%d" % (row1, col1,
row2, col2,
row3, col3,
row4, col4))
inputDialog.Open()
self.inputDialog = inputDialog
def __OnAcceptMatrixCardData(self):
text = self.inputDialog.GetText()
net.SendChinaMatrixCardPacket(text)
if self.inputDialog:
self.inputDialog.Hide()
self.PopupNotifyMessage(locale.LOGIN_PROCESSING)
return TRUE
def __OnCancelMatrixCardData(self):
self.SetPasswordEditLineFocus()
self.__OnCloseInputDialog()
self.__DisconnectAndInputPassword()
return TRUE
def __OnCloseInputDialog(self):
if self.inputDialog:
self.inputDialog.Close()
self.inputDialog = None
return TRUE
def __ShowAlertBoard(self):
if locale.IsCIBN():
self.alertBoard.Show()
def __HideAlertBoard(self):
if locale.IsCIBN():
self.alertBoard.Hide()
def OnPressExitKey(self):
self.stream.popupWindow.Close()
self.stream.SetPhaseWindow(0)
return TRUE
def OnExit(self):
self.stream.popupWindow.Close()
self.stream.popupWindow.Open(locale.LOGIN_FAILURE_ WRONG_MATRIX_CARD_NUMBER_TRIPLE, app.Exit, locale.UI_OK)
def OnUpdate(self):
ServerStateChecker.Update()
def EmptyFunc(self):
pass
################################################## ###################################
def __ServerBoard_OnKeyUp(self, key):
if self.serverBoard.IsShow():
if app.DIK_RETURN==key:
self.__OnClickSelectServerButton()
return TRUE
def __GetRegionID(self):
if not locale.IsCIBN():
return 0
return self.regionGroupList.GetSelectedItem()
def __GetServerID(self):
return self.serverList.GetSelectedItem()
def __GetChannelID(self):
return self.channelList.GetSelectedItem()
# SEVER_LIST_BUG_FIX
def __RegionIDToRegionIndex(self, regionID):
return regionID - 1
def __ServerIDToServerIndex(self, regionID, targetServerID):
try:
regionDict = serverInfo.REGION_DICT[regionID]
except KeyError:
return -1
retServerIndex = 0
for eachServerID, regionDataDict in regionDict.items():
if eachServerID == targetServerID:
return retServerIndex
retServerIndex += 1
return -1
def __ChannelIDToChannelIndex(self, channelID):
return channelID - 1
# END_OF_SEVER_LIST_BUG_FIX
def __OpenRegionBoard(self):
# SEVER_LIST_BUG_FIX
loadRegionID, loadServerID, loadChannelID = self.__LoadChannelInfo()
regionIndex = self.__RegionIDToRegionIndex(loadRegionID)
serverIndex = self.__ServerIDToServerIndex(loadRegionID, loadServerID)
channelIndex = self.__ChannelIDToChannelIndex(loadChannelID)
self.regionGroupList.SelectItem(regionIndex)
self.serverListOnRegionBoard.SelectItem(serverInde x)
self.serverList.SelectItem(serverIndex)
if channelIndex >= 0:
self.channelList.SelectItem(channelIndex)
# END_OF_SEVER_LIST_BUG_FIX
if locale.IsCIBN():
self.settlementBoard.Show()
## Show/Hide Äڵ忡 ¹®Á¦°¡ ÀÖ¾î¼* Àӽà - [levites]
self.serverBoard.SetPosition(self.xServerBoard, wndMgr.GetScreenHeight())
self.serverBoard.Hide()
self.connectBoard.Hide()
self.loginBoard.Hide()
self.__HideAlertBoard()
def __OpenServerBoard(self):
loadRegionID, loadServerID, loadChannelID = self.__LoadChannelInfo()
regionIndex = self.__RegionIDToRegionIndex(loadRegionID)
serverIndex = self.__ServerIDToServerIndex(loadRegionID, loadServerID)
channelIndex = self.__ChannelIDToChannelIndex(loadChannelID)
if locale.IsCIBN():
self.regionGroupList.SelectItem(regionIndex)
self.serverListOnRegionBoard.SelectItem(serverInde x)
self.settlementBoard.Hide()
# RUNUP_MATRIX_AUTH
if IsRunupMatrixAuth():
self.matrixQuizBoard.Hide()
# RUNUP_MATRIX_AUTH_END
# NEWCIBN_PASSPOD_AUTH
if IsNEWCIBNPassPodAuth():
self.passpodBoard.Hide()
# NEWCIBN_PASSPOD_AUTH_END
self.serverList.SelectItem(serverIndex)
if channelIndex >= 0:
self.channelList.SelectItem(channelIndex)
## Show/Hide Äڵ忡 ¹®Á¦°¡ ÀÖ¾î¼* Àӽà - [levites]
self.serverBoard.SetPosition(self.xServerBoard, self.yServerBoard)
self.serverBoard.Show()
self.connectBoard.Hide()
self.loginBoard.Hide()
self.__HideAlertBoard()
if app.loggined and not SKIP_LOGIN_PHASE_SUPPORT_CHANNEL:
self.serverList.SelectItem(self.loginnedServer-1)
self.channelList.SelectItem(self.loginnedChannel-1)
self.__OnClickSelectServerButton()
def __OpenLoginBoard(self):
self.serverExitButton.SetEvent(ui.__mem_func__(sel f.__OnClickExitServerButton))
self.serverExitButton.SetText(locale.UI_CLOSE)
if locale.IsCIBN():
self.settlementBoard.Hide()
# RUNUP_MATRIX_AUTH
if IsRunupMatrixAuth():
self.matrixQuizBoard.Hide()
# RUNUP_MATRIX_AUTH_END
# NEWCIBN_PASSPOD_AUTH
if IsNEWCIBNPassPodAuth():
self.passpodBoard.Hide()
# NEWCIBN_PASSPOD_AUTH_END
self.serverBoard.SetPosition(self.xServerBoard, wndMgr.GetScreenHeight())
self.serverBoard.Hide()
if app.loggined:
self.Connect(self.id, self.pwd)
self.connectBoard.Hide()
self.loginBoard.Hide()
elif not self.stream.isAutoLogin:
self.connectBoard.Show()
self.loginBoard.Show()
## if users have the login infomation, then don't initialize.2005.9 haho
if self.idEditLine == None:
self.idEditLine.SetText("")
if self.pwdEditLine == None:
self.pwdEditLine.SetText("")
self.idEditLine.SetFocus()
self.__ShowAlertBoard()
global SKIP_LOGIN_PHASE
if SKIP_LOGIN_PHASE:
if not self.loginInfo:
self.connectBoard.Hide()
def __OnSelectRegionGroup(self):
self.__RefreshRegionList()
self.__RefreshServerList()
def __RefreshRegionList(self):
regionID = self.__GetRegionID()
self.serverListOnRegionBoard.SelectItem(-1)
self.serverListOnRegionBoard.ClearItem()
regionList = serverInfo.REGION_DICT.get(regionID, {})
for id, regionDataDict in regionList.items():
name = regionDataDict.get("name", "Server" + str(id))
self.serverListOnRegionBoard.InsertItem(id, " %s" % name)
def __OnSelectSettlementArea(self):
# SEVER_LIST_BUG_FIX
regionID = self.__GetRegionID()
serverID = self.serverListOnRegionBoard.GetSelectedItem()
serverIndex = self.__ServerIDToServerIndex(regionID, serverID)
self.serverList.SelectItem(serverIndex)
# END_OF_SEVER_LIST_BUG_FIX
self.__OnSelectServer()
def __RefreshServerList(self):
regionID = self.__GetRegionID()
if not serverInfo.REGION_DICT.has_key(regionID):
return
self.serverList.ClearItem()
regionDict = serverInfo.REGION_DICT[regionID]
# SEVER_LIST_BUG_FIX
visible_index = 1
for id, regionDataDict in regionDict.items():
name = regionDataDict.get("name", "noname")
self.serverList.InsertItem(id, " %02d. %s" % (visible_index, name))
visible_index += 1
# END_OF_SEVER_LIST_BUG_FIX
def __OnSelectServer(self):
self.__OnCloseInputDialog()
self.__RequestServerStateList()
self.__RefreshServerStateList()
def __RequestServerStateList(self):
regionID = self.__GetRegionID()
serverID = self.__GetServerID()
try:
channelDict = serverInfo.REGION_DICT[regionID][serverID]["channel"]
except:
print " __RequestServerStateList - serverInfo.REGION_DICT(%d, %d)" % (regionID, serverID)
return
for id, channelDataDict in channelDict.items():
key=channelDataDict["key"]
ip=channelDataDict["ip"]
udp_port=channelDataDict["udp_port"]
ServerStateChecker.Request(key, ip, udp_port)
def __RefreshServerStateList(self):
regionID = self.__GetRegionID()
serverID = self.__GetServerID()
bakChannelID = self.channelList.GetSelectedItem()
self.channelList.ClearItem()
try:
channelDict = serverInfo.REGION_DICT[regionID][serverID]["channel"]
except:
print " __RequestServerStateList - serverInfo.REGION_DICT(%d, %d)" % (regionID, serverID)
return
for channelID, channelDataDict in channelDict.items():
channelName = channelDataDict["name"]
channelState = channelDataDict["state"]
self.channelList.InsertItem(channelID, " %s %s" % (channelName, channelState))
self.channelList.SelectItem(bakChannelID-1)
def __GetChannelName(self, regionID, selServerID, selChannelID):
try:
return serverInfo.REGION_DICT[regionID][selServerID]["channel"][selChannelID]["name"]
except KeyError:
if 9==selChannelID:
return locale.CHANNEL_PVP
else:
return locale.CHANNEL_NORMAL % (selChannelID)
def NotifyChannelState(self, addrKey, state):
try:
stateName=serverInfo.STATE_DICT[state]
except:
stateName=serverInfo.STATE_NONE
regionID=int(addrKey/1000)
serverID=int(addrKey/10) % 12
channelID=addrKey%10
try:
serverInfo.REGION_DICT[regionID][serverID]["channel"][channelID]["state"] = stateName
self.__RefreshServerStateList()
except:
import exception
exception.Abort(locale.CHANNEL_NOT_FIND_INFO)
def __OnClickExitServerButton(self):
print "exit server"
if locale.IsCIBN():
self.__OpenRegionBoard()
else:
self.__OpenLoginBoard()
if IsFullBackImage():
self.GetChild("bg1").Hide()
self.GetChild("bg2").Show()
def __OnClickSelectRegionButton(self):
regionID = self.__GetRegionID()
serverID = self.__GetServerID()
if (not serverInfo.REGION_DICT.has_key(regionID)):
self.PopupNotifyMessage(locale.CHANNEL_SELECT_REGI ON)
return
if (not serverInfo.REGION_DICT[regionID].has_key(serverID)):
self.PopupNotifyMessage(locale.CHANNEL_SELECT_SERV ER)
return
self.__SaveChannelInfo()
self.serverExitButton.SetEvent(ui.__mem_func__(sel f.__OnClickExitServerButton))
self.serverExitButton.SetText(locale.UI_CLOSE)
self.__RefreshServerList()
self.__OpenServerBoard()
def __OnClickSelectServerButton(self):
if IsFullBackImage():
self.GetChild("bg1").Hide()
self.GetChild("bg2").Show()
regionID = self.__GetRegionID()
serverID = self.__GetServerID()
channelID = self.__GetChannelID()
if (not serverInfo.REGION_DICT.has_key(regionID)):
self.PopupNotifyMessage(locale.CHANNEL_SELECT_REGI ON)
return
if (not serverInfo.REGION_DICT[regionID].has_key(serverID)):
self.PopupNotifyMessage(locale.CHANNEL_SELECT_SERV ER)
return
try:
channelDict = serverInfo.REGION_DICT[regionID][serverID]["channel"]
except KeyError:
return
try:
state = channelDict[channelID]["state"]
except KeyError:
self.PopupNotifyMessage(locale.CHANNEL_SELECT_CHAN NEL)
return
# »óÅ°¡ FULL °ú °°À¸¸é ÁøÀÔ ±ÝÁö
if state == serverInfo.STATE_DICT[3]:
self.PopupNotifyMessage(locale.CHANNEL_NOTIFY_FULL )
return
self.__SaveChannelInfo()
try:
serverName = serverInfo.REGION_DICT[regionID][serverID]["name"]
channelName = serverInfo.REGION_DICT[regionID][serverID]["channel"][channelID]["name"]
addrKey = serverInfo.REGION_DICT[regionID][serverID]["channel"][channelID]["key"]
except:
print " ERROR __OnClickSelectServerButton(%d, %d, %d)" % (regionID, serverID, channelID)
serverName = locale.CHANNEL_EMPTY_SERVER
channelName = locale.CHANNEL_NORMAL % channelID
self.__SetServerInfo("%s, %s " % (serverName, channelName))
try:
ip = serverInfo.REGION_DICT[regionID][serverID]["channel"][channelID]["ip"]
tcp_port = serverInfo.REGION_DICT[regionID][serverID]["channel"][channelID]["tcp_port"]
except:
import exception
exception.Abort("LoginWindow.__OnClickSelectServer Button - ¼*¹ö ¼±Åà ½ÇÆÐ")
try:
account_ip = serverInfo.REGION_AUTH_SERVER_DICT[regionID][serverID]["ip"]
account_port = serverInfo.REGION_AUTH_SERVER_DICT[regionID][serverID]["port"]
except:
account_ip = 0
account_port = 0
try:
markKey = regionID*1000 + serverID*10
markAddrValue=serverInfo.MARKADDR_DICT[markKey]
net.SetMarkServer(markAddrValue["ip"], markAddrValue["tcp_port"])
ui.SetMarkImage("mark/"+markAddrValue["mark"])
# GUILD_SYMBOL
app.SetGuildSymbolPath(markAddrValue["symbol_path"])
# END_OF_GUILD_SYMBOL
except:
import exception
exception.Abort("LoginWindow.__OnClickSelectServer Button - ¸¶Å© Á¤º¸ ¾øÀ½")
self.stream.SetConnectInfo(ip, tcp_port, account_ip, account_port)
self.__OpenLoginBoard()
def __OnClickSelectConnectButton(self):
if IsFullBackImage():
self.GetChild("bg1").Show()
self.GetChild("bg2").Hide()
self.__RefreshServerList()
self.__OpenServerBoard()
def __OnClickLoginButton(self):
id = self.idEditLine.GetText()
pwd = self.pwdEditLine.GetText()
if len(id)==0:
self.PopupNotifyMessage(locale.LOGIN_INPUT_ID, self.SetIDEditLineFocus)
return
if len(pwd)==0:
self.PopupNotifyMessage(locale.LOGIN_INPUT_PASSWOR D, self.SetPasswordEditLineFocus)
return
self.Connect(id, pwd)
introselect.py:
import locale
if locale.IsYMIR() or locale.IsCHEONMA():
from introSelect_new import *
elif locale.IsJAPAN():
from introSelect_new import *
elif locale.IsNEWCIBN():
from introSelect_new import *
elif locale.IsBRAZIL():
from introSelect_new import *
elif locale.IsCANADA():
from introSelect_new import *
elif locale.IsTAIWAN():
from introSelect_new import *
elif locale.IsHONGKONG():
from introSelect_new import *
elif locale.IsEUROPE():
from introSelect_new import *
else:
from introSelect_old import *
Helft mir bitte
|
|
|
03/29/2012, 19:04
|
#8
|
elite*gold: 5
Join Date: Jun 2009
Posts: 2,262
Received Thanks: 2,596
|
noch eine frage is das nur bei einem reich oder bei allem der kick bei map2
lg
|
|
|
03/29/2012, 19:07
|
#9
|
elite*gold: 5
Join Date: Apr 2011
Posts: 1,960
Received Thanks: 1,482
|
überall. verkauf meint, es läge an der syrr von serverside:
SYSERR: Mar 29 18:09:00 :: LoadMobSkillFromFile: no motion duration data/monster/ch_footman/
SYSERR: Mar 29 18:09:00 :: LoadFromFile: data/monster/ch_bowman/ does not have a duration
SYSERR: Mar 29 18:09:00 :: LoadMobSkillFromFile: no motion duration data/monster/ch_bowman/
SYSERR: Mar 29 18:09:00 :: LoadFromFile: data/monster/ch_magician/ does not have a duration
SYSERR: Mar 29 18:09:00 :: LoadMobSkillFromFile: no motion duration data/monster/ch_magician/
SYSERR: Mar 29 18:09:00 :: LoadFromFile: data/monster/ch_officer/ does not have a duration
SYSERR: Mar 29 18:09:00 :: LoadMobSkillFromFile: no motion duration data/monster/ch_officer/
SYSERR: Mar 29 18:09:00 :: LoadFromFile: data/monster/ch_general/ does not have a duration
SYSERR: Mar 29 18:09:00 :: LoadMobSkillFromFile: no motion duration data/monster/ch_general/
SYSERR: Mar 29 18:09:00 :: LoadFromFile: data/monster/ch_general/ does not have a duration
SYSERR: Mar 29 18:09:00 :: LoadMobSkillFromFile: no motion duration data/monster/ch_general/
SYSERR: Mar 29 18:09:00 :: Build: Skill exist but no motion data for index 0 mob 2492 skill 256
SYSERR: Mar 29 18:09:01 :: heart_idle: losing 69 seconds. (lag occured)
SYSERR: Mar 29 18:09:37 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:09:37 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:10:26 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:10:26 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:11:14 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:11:14 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:12:02 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:12:02 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:12:52 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:12:52 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:13:41 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:13:41 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:14:31 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:14:31 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:15:20 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:15:20 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:16:10 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:16:10 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:17:00 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:17:00 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:17:49 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:17:49 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:18:38 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:18:38 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:19:28 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:19:28 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:20:17 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:20:17 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:21:06 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:21:06 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:21:56 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:21:56 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:22:45 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:22:45 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:23:34 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:23:34 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:24:24 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:24:24 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:25:13 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:25:13 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:26:02 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:26:02 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:26:52 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:26:52 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:27:42 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:27:42 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:28:31 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:28:31 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:29:21 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:29:21 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:30:10 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:30:10 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:31:00 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:31:00 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:31:48 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:31:48 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:32:38 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:32:38 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:33:26 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:33:26 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:34:15 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:34:15 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:35:03 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:35:03 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:35:52 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:35:52 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:36:41 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:36:41 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:37:31 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:37:31 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:38:19 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:38:19 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:39:09 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:39:09 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:39:58 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:39:58 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:40:47 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:40:47 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:41:37 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:41:37 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:42:25 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:42:25 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:43:15 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:43:15 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:44:04 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:44:04 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:44:54 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:44:54 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:45:43 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:45:43 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:46:31 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:46:31 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:47:21 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:47:21 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:48:11 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:48:11 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:48:59 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:48:59 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:49:48 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:49:48 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:50:37 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:50:37 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:51:27 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:51:27 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:52:16 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:52:16 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:53:04 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:53:05 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:53:54 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:53:54 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:54:42 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:54:42 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:55:31 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:55:31 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:56:20 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:56:20 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:57:10 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:57:10 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:57:58 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:57:58 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:58:48 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
SYSERR: Mar 29 18:58:48 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
Nun habe ich aber nichts an Mobs verändert ?!
|
|
|
03/29/2012, 19:10
|
#10
|
elite*gold: 0
Join Date: Nov 2010
Posts: 544
Received Thanks: 190
|
Vielleicht ist der Index dieser Map nicht auf einem Game Core eingetragen?
|
|
|
03/29/2012, 19:12
|
#11
|
elite*gold: 5
Join Date: Apr 2011
Posts: 1,960
Received Thanks: 1,482
|
Quote:
Originally Posted by .Metz
Vielleicht ist der Index dieser Map nicht auf einem Game Core eingetragen?
|
Es liegt ja an mehreren Maps... Map2 Reichschlacht GM-Himmel unsow :S
|
|
|
03/29/2012, 19:13
|
#12
|
elite*gold: 86
Join Date: Sep 2009
Posts: 65
Received Thanks: 6
|
Du solltest mal in deinen Channels schauen welche Maps eingetragen sind. Diese siehst du hinter Map_Allow als zahlen...um herauszufinden welche zahl zu welcher map gehört gehst du in den map Ordner deiner Serverfiles und schaust in die Index...dort stehen zahlen und maps aufgelistet. jetzt musst du nur nopch überprüfen ob die map auch in der config für deinen Channel auf dem du bist eingetragen bist. Wenn nicht. Map eintragen und server rebooten
Mfg
flori13
€: Kann dir auch über TV oder so helfen wenn du willst
|
|
|
03/29/2012, 19:15
|
#13
|
elite*gold: 5
Join Date: Apr 2011
Posts: 1,960
Received Thanks: 1,482
|
Ja, muss nun nur jetzt off. Morgen 16Uhr wäre perfekt flori13 über TV Mir liegt nur das Problem voll am Herzen, weil wir kurz vorm Root sind^^ Wenn das Problem gelöst wird -> Rootserver fertig Naja ._. ... Skype: "kampfsesseltime" ...
|
|
|
03/29/2012, 19:20
|
#14
|
elite*gold: 5
Join Date: Jun 2009
Posts: 2,262
Received Thanks: 2,596
|
Quote:
Originally Posted by flori13
Du solltest mal in deinen Channels schauen welche Maps eingetragen sind. Diese siehst du hinter Map_Allow als zahlen...um herauszufinden welche zahl zu welcher map gehört gehst du in den map Ordner deiner Serverfiles und schaust in die Index...dort stehen zahlen und maps aufgelistet. jetzt musst du nur nopch überprüfen ob die map auch in der config für deinen Channel auf dem du bist eingetragen bist. Wenn nicht. Map eintragen und server rebooten
Mfg
flori13
€: Kann dir auch über TV oder so helfen wenn du willst
|
genau das habe ich vorhin gemeint ob sich da ein zahlen dreher eingechlichen hat
lg und ja ich denk auch das es daran liegt den nach den sys kann er manche sachen nicht laden clientside und serverside.
bin mal gespannt was dabei rauskommt
lg
|
|
|
03/30/2012, 13:44
|
#15
|
elite*gold: 5
Join Date: Apr 2011
Posts: 1,960
Received Thanks: 1,482
|
push, da mir noch keiner geholfen hat... Sry, ist aber wichtig! :/
|
|
|
|
|
Similar Threads
|
Problem... Belohnung 25 E*Gold
02/15/2011 - Minecraft - 18 Replies
ich habe einen server gekauft, also bin ich nicht der hoster.
ich habe einen hmod instliert... aber ich connecte nur über ip: localhost
was ist überhaubt local host ? wenn ich auf die normale ip gehe bin ich ein admin mehr und kann auch nichts machen :(
muss mein freund dann auch localhost eingeben oder wie ? :S
bitte um schnelle hilfe...
|
Ganz Großes Problem ! Belohnung: 50E*Gold
02/14/2011 - Minecraft - 6 Replies
Bild im Anhang !
Bitte helft mir... ich habe diesen server gekauft. ich bin nicht der hoster von diesem server.
aber kann ich dann trotzdem nicht "verändern" am server ? das muss doch gehen...
wenn ich in dem server bin, kann ich keine komandos eingeben.
wer mir hilft kriegt eine belohnung von 50 E*Gold
|
Map2 Problem
11/08/2010 - Metin2 Private Server - 4 Replies
Hello elitepvpers!I have a problem whit my server...i open a private server for metin2 and i have a problem..i go to toleport for map2 and he dont teleport me to map2...where must be the problem?i have a root server...FreeBSD SO!thanks and i wait a solve for my problem!!:handsdown:
|
Map2 Problem! HelP!!
11/22/2009 - Metin2 Private Server - 5 Replies
Guten Tag
Ich habe ein problem und zwar wenn andere Gamer zur map2 gehen
die sich dann nicht einloggen können also die spieler können auf chara auswahl
aber dann gehts nicht mehr weiter !
ALSO PAAR MAPS SIND VERBUGT BRAUCH DA HILFE BITTE
|
All times are GMT +2. The time now is 00:34.
|
|