Yardım Login Değişimi Yardım

  • Konuyu açan Konuyu açan carpiciyim1
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 29
  • Gösterim Gösterim 253
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

carpiciyim1

MT Üye
MT Üye
Mesaj
344
Çözümler
11
Beğeni
149
Puan
514
Ticaret Puanı
0
Öncelikle herkese merhaba arkadaşlar
ben filesim için yeni giriş karakter seçme bayrak seçme ekledim

karakter seçme bayrak seçmede sorun yok ama loginde sorun oluşuyor introloginleri birbirine uyduramadım bu konuda yardıma ihtiyacım vardır
sysser atıyorum
hata mesajı:
Genişlet Daralt Kopyala
0702 10:29:08035 :: Traceback (most recent call last):

0702 10:29:08035 ::   File "networkModule.py", line 244, in SetGamePhase

0702 10:29:08035 ::   File "game.py", line 132, in __init__

0702 10:29:08035 ::   File "interfaceModule.py", line 476, in MakeInterface

0702 10:29:08036 ::   File "interfaceModule.py", line 341, in __MakeWindows

0702 10:29:08036 ::   File "uiMoveChannel.py", line 23, in __init__

0702 10:29:08036 ::   File "uiMoveChannel.py", line 91, in __LoadWindow

0702 10:29:08036 ::   File "uiMoveChannel.py", line 98, in __AddChannelButtons

0702 10:29:08036 ::   File "uiMoveChannel.py", line 94, in GetChannelCount

0702 10:29:08036 :: KeyError
0702 10:29:08036 :: :
0702 10:29:08036 :: 0
0702 10:29:08036 ::


hata mesajıı ekledim ayrıca orjianal login ve değişeceğim loginide ekliyorum
orjinal.webp
değis.webp
 

Dosya Eklentileri

Hatanın sebebi indexin 0 dönmesi,
serverInfo.REGION_DICT[0][GetServerID()]
Tam olarak burada region_dict 0 0 değer geliyor.
Ya serverinfo.pyde değer ekli değil ya da
Python:
Genişlet Daralt Kopyala
def GetServerID():
    serverID = 0
    for k in serverInfo.REGION_DICT[0].keys():
        if serverInfo.REGION_DICT[0][k]["name"] == net.GetServerInfo().split(",")[0]:
            serverID = k
            break
    return serverID
Burada bi sorun var.
Serverinfo.pyyide atsana bi
 
Hatanın sebebi indexin 0 dönmesi,
serverInfo.REGION_DICT[0][GetServerID()]
Tam olarak burada region_dict 0 0 değer geliyor.
Ya serverinfo.pyde değer ekli değil ya da
Python:
Genişlet Daralt Kopyala
def GetServerID():
    serverID = 0
    for k in serverInfo.REGION_DICT[0].keys():
        if serverInfo.REGION_DICT[0][k]["name"] == net.GetServerInfo().split(",")[0]:
            serverID = k
            break
    return serverID
Burada bi sorun var.
Serverinfo.pyyide atsana bi
 

Dosya Eklentileri

Senin serverInfo.py içinde şu var:
"name": TextColor("ServerName", "ffd500")
Bu da muhtemelen "|cffffffff|hServerName|h|r" gibi özel formatlı bir metin döndürüyor. Yani name artık sadece "ServerName" değil. Bu yüzden net.GetServerInfo() sonucu "ServerName" olsa bile eşleşemez.

2 çözüm var ya renk kısmını kaldırıcaksın. Ya da GetServerID kısmını yeniden düzenliyceksin.
1.ve en kolayı renk kodunu kaldırmak.
2.si fonksiyonu değiştirmek. Kodları chata yazdırdım. Sorun çözüldüğü zaman dbg.TraceError bunları kaldırabilirsin. Ama debug olarak çok işe yararlar.

Python:
Genişlet Daralt Kopyala
def GetServerID():
    server_name_from_net = net.GetServerInfo().split(",")[0]

    for k, v in serverInfo.REGION_DICT[0].items():
        if v["name"] == server_name_from_net:
            return k

    dbg.TraceError("MoveChannelWindow: Sunucu adı eşleşmedi!")
    dbg.TraceError("net.GetServerInfo() -> %s" % str(net.GetServerInfo()))
    dbg.TraceError("Beklenen ad: %s" % str(server_name_from_net))
    dbg.TraceError("REGION_DICT içeriği:")
    for k, v in serverInfo.REGION_DICT[0].items():
        dbg.TraceError("Key: %s, Name: %s" % (k, v["name"]))

    return None  # Eşleşme yoksa None dön
 
Senin serverInfo.py içinde şu var:

Bu da muhtemelen "|cffffffff|hServerName|h|r" gibi özel formatlı bir metin döndürüyor. Yani name artık sadece "ServerName" değil. Bu yüzden net.GetServerInfo() sonucu "ServerName" olsa bile eşleşemez.

2 çözüm var ya renk kısmını kaldırıcaksın. Ya da GetServerID kısmını yeniden düzenliyceksin.
1.ve en kolayı renk kodunu kaldırmak.

2.si fonksiyonu değiştirmek. Kodları chata yazdırdım. Sorun çözüldüğü zaman dbg.TraceError bunları kaldırabilirsin. Ama debug olarak çok işe yararlar.

Python:
Genişlet Daralt Kopyala
def GetServerID():
    server_name_from_net = net.GetServerInfo().split(",")[0]

    for k, v in serverInfo.REGION_DICT[0].items():
        if v["name"] == server_name_from_net:
            return k

    dbg.TraceError("MoveChannelWindow: Sunucu adı eşleşmedi!")
    dbg.TraceError("net.GetServerInfo() -> %s" % str(net.GetServerInfo()))
    dbg.TraceError("Beklenen ad: %s" % str(server_name_from_net))
    dbg.TraceError("REGION_DICT içeriği:")
    for k, v in serverInfo.REGION_DICT[0].items():
        dbg.TraceError("Key: %s, Name: %s" % (k, v["name"]))

    return None  # Eşleşme yoksa None dön
denedim kral işe yaramdı
0702 11:24:15102 :: Traceback (most recent call last):

0702 11:24:15102 :: File "networkModule.py", line 244, in SetGamePhase

0702 11:24:15103 :: File "game.py", line 132, in __init__

0702 11:24:15103 :: File "interfaceModule.py", line 476, in MakeInterface

0702 11:24:15103 :: File "interfaceModule.py", line 341, in __MakeWindows

0702 11:24:15103 :: File "uiMoveChannel.py", line 23, in __init__

0702 11:24:15103 :: File "uiMoveChannel.py", line 91, in __LoadWindow

0702 11:24:15103 :: File "uiMoveChannel.py", line 98, in __AddChannelButtons

0702 11:24:15103 :: File "uiMoveChannel.py", line 94, in GetChannelCount

0702 11:24:15103 :: KeyError
0702 11:24:15103 :: :
0702 11:24:15103 :: 0
0702 11:24:15103 ::
 
denedim kral işe yaramdı
0702 11:24:15102 :: Traceback (most recent call last):

0702 11:24:15102 :: File "networkModule.py", line 244, in SetGamePhase

0702 11:24:15103 :: File "game.py", line 132, in __init__

0702 11:24:15103 :: File "interfaceModule.py", line 476, in MakeInterface

0702 11:24:15103 :: File "interfaceModule.py", line 341, in __MakeWindows

0702 11:24:15103 :: File "uiMoveChannel.py", line 23, in __init__

0702 11:24:15103 :: File "uiMoveChannel.py", line 91, in __LoadWindow

0702 11:24:15103 :: File "uiMoveChannel.py", line 98, in __AddChannelButtons

0702 11:24:15103 :: File "uiMoveChannel.py", line 94, in GetChannelCount

0702 11:24:15103 :: KeyError
0702 11:24:15103 :: :
0702 11:24:15103 :: 0
0702 11:24:15103 ::
Hangisini denedin
 
2.yöntemi ekleyelim ve tüm fonksiyonlara göre düzenleyelim. Yani ;
GetServerID yi bu şekilde değiştir.

Python:
Genişlet Daralt Kopyala
def GetServerID():
    server_name_from_net = net.GetServerInfo().split(",")[0]

    for k, v in serverInfo.REGION_DICT[0].items():
        if v["name"] == server_name_from_net:
            return k

    dbg.TraceError("MoveChannelWindow: Sunucu adı eşleşmedi!")
    dbg.TraceError("net.GetServerInfo() -> %s" % str(net.GetServerInfo()))
    return None

Daha sonra ;
GetChannelCount değişçek.

Python:
Genişlet Daralt Kopyala
def GetChannelCount(self):
    serverID = GetServerID()
    if serverID is None:
        return 0  # ya da hata döndür, log bas
    return len(serverInfo.REGION_DICT[0][serverID]["channel"])
En sonda __AddChannelButtons uda bu şekilde değiştir.

Python:
Genişlet Daralt Kopyala
def __AddChannelButtons(self):
    serverID = GetServerID()
    if serverID is None:
        chat.AppendChat(chat.CHAT_TYPE_INFO, "Sunucu ID'si alınamadı. Kanal butonları yüklenemedi.")
        return

    ELEM_SIZE = 30
    BOARD_SIZE = ELEM_SIZE * len(serverInfo.REGION_DICT[0][serverID]["channel"])
    self.SetSize(190, 80 + BOARD_SIZE)
    self.board.SetSize(190, 80 + BOARD_SIZE)
    self.blackBoard.SetSize(163, 7 + BOARD_SIZE)

    for i in xrange(len(serverInfo.REGION_DICT[0][serverID]["channel"])):
        channel_data = serverInfo.REGION_DICT[0][serverID]["channel"][i]
        self.channelButtonList.append(
            ui.MakeRadioButton(self.blackBoard, 7, 7 + ELEM_SIZE * i,
            "d:/ymir work/ui/game/myshop_deco/",
            "select_btn_01.sub", "select_btn_02.sub", "select_btn_03.sub"))
        self.channelButtonList[i].SetText(channel_data["name"])
        self.channelButtonList[i].SetEvent(lambda arg=i: self.SelectChannel(arg))
        self.channelButtonList[i].Show()

Yaptığımız işlem eğer index 0 gelirse işlemi iptal etme devam et dedik.
 
2.yöntemi ekleyelim ve tüm fonksiyonlara göre düzenleyelim. Yani ;
GetServerID yi bu şekilde değiştir.

Python:
Genişlet Daralt Kopyala
def GetServerID():
    server_name_from_net = net.GetServerInfo().split(",")[0]

    for k, v in serverInfo.REGION_DICT[0].items():
        if v["name"] == server_name_from_net:
            return k

    dbg.TraceError("MoveChannelWindow: Sunucu adı eşleşmedi!")
    dbg.TraceError("net.GetServerInfo() -> %s" % str(net.GetServerInfo()))
    return None

Daha sonra ;
GetChannelCount değişçek.

Python:
Genişlet Daralt Kopyala
def GetChannelCount(self):
    serverID = GetServerID()
    if serverID is None:
        return 0  # ya da hata döndür, log bas
    return len(serverInfo.REGION_DICT[0][serverID]["channel"])
En sonda __AddChannelButtons uda bu şekilde değiştir.

Python:
Genişlet Daralt Kopyala
def __AddChannelButtons(self):
    serverID = GetServerID()
    if serverID is None:
        chat.AppendChat(chat.CHAT_TYPE_INFO, "Sunucu ID'si alınamadı. Kanal butonları yüklenemedi.")
        return

    ELEM_SIZE = 30
    BOARD_SIZE = ELEM_SIZE * len(serverInfo.REGION_DICT[0][serverID]["channel"])
    self.SetSize(190, 80 + BOARD_SIZE)
    self.board.SetSize(190, 80 + BOARD_SIZE)
    self.blackBoard.SetSize(163, 7 + BOARD_SIZE)

    for i in xrange(len(serverInfo.REGION_DICT[0][serverID]["channel"])):
        channel_data = serverInfo.REGION_DICT[0][serverID]["channel"][i]
        self.channelButtonList.append(
            ui.MakeRadioButton(self.blackBoard, 7, 7 + ELEM_SIZE * i,
            "d:/ymir work/ui/game/myshop_deco/",
            "select_btn_01.sub", "select_btn_02.sub", "select_btn_03.sub"))
        self.channelButtonList[i].SetText(channel_data["name"])
        self.channelButtonList[i].SetEvent(lambda arg=i: self.SelectChannel(arg))
        self.channelButtonList[i].Show()

Yaptığımız işlem eğer index 0 gelirse işlemi iptal etme devam et dedik.
kral okadar anlayamıyom ya özelden konuşalımmı musaitsen dosyaları atmıştım düzenlermisin benim için
 
2.yöntemi ekleyelim ve tüm fonksiyonlara göre düzenleyelim. Yani ;
GetServerID yi bu şekilde değiştir.

Python:
Genişlet Daralt Kopyala
def GetServerID():
    server_name_from_net = net.GetServerInfo().split(",")[0]

    for k, v in serverInfo.REGION_DICT[0].items():
        if v["name"] == server_name_from_net:
            return k

    dbg.TraceError("MoveChannelWindow: Sunucu adı eşleşmedi!")
    dbg.TraceError("net.GetServerInfo() -> %s" % str(net.GetServerInfo()))
    return None

Daha sonra ;
GetChannelCount değişçek.

Python:
Genişlet Daralt Kopyala
def GetChannelCount(self):
    serverID = GetServerID()
    if serverID is None:
        return 0  # ya da hata döndür, log bas
    return len(serverInfo.REGION_DICT[0][serverID]["channel"])
En sonda __AddChannelButtons uda bu şekilde değiştir.

Python:
Genişlet Daralt Kopyala
def __AddChannelButtons(self):
    serverID = GetServerID()
    if serverID is None:
        chat.AppendChat(chat.CHAT_TYPE_INFO, "Sunucu ID'si alınamadı. Kanal butonları yüklenemedi.")
        return

    ELEM_SIZE = 30
    BOARD_SIZE = ELEM_SIZE * len(serverInfo.REGION_DICT[0][serverID]["channel"])
    self.SetSize(190, 80 + BOARD_SIZE)
    self.board.SetSize(190, 80 + BOARD_SIZE)
    self.blackBoard.SetSize(163, 7 + BOARD_SIZE)

    for i in xrange(len(serverInfo.REGION_DICT[0][serverID]["channel"])):
        channel_data = serverInfo.REGION_DICT[0][serverID]["channel"][i]
        self.channelButtonList.append(
            ui.MakeRadioButton(self.blackBoard, 7, 7 + ELEM_SIZE * i,
            "d:/ymir work/ui/game/myshop_deco/",
            "select_btn_01.sub", "select_btn_02.sub", "select_btn_03.sub"))
        self.channelButtonList[i].SetText(channel_data["name"])
        self.channelButtonList[i].SetEvent(lambda arg=i: self.SelectChannel(arg))
        self.channelButtonList[i].Show()

Yaptığımız işlem eğer index 0 gelirse işlemi iptal etme devam et dedik.
Kod:
Genişlet Daralt Kopyala
0702 11:42:06588 ::
networkModule.py(line:234) SetLoadingPhase
system.py(line:177) __hybrid_import
system.py(line:142) _process_result
introLoading.py(line:21) <module>
system.py(line:177) __hybrid_import
system.py(line:142) _process_result
uiMessenger.py(line:10) <module>
system.py(line:177) __hybrid_import
system.py(line:142) _process_result
uiGameOption.py(line:12) <module>
system.py(line:177) __hybrid_import
system.py(line:142) _process_result
interfaceModule.py(line:24) <module>
system.py(line:177) __hybrid_import
system.py(line:142) _process_result
uiSystem.py(line:12) <module>
system.py(line:177) __hybrid_import

networkModule.SetLoadingPhase - <type 'exceptions.IndentationError'>:expected an indented block (uiMoveChannel.py, line 97)

0702 11:42:06588 :: ============================================================================================================
0702 11:42:06588 :: Abort!!!!
 
Kod:
Genişlet Daralt Kopyala
0702 11:42:06588 ::
networkModule.py(line:234) SetLoadingPhase
system.py(line:177) __hybrid_import
system.py(line:142) _process_result
introLoading.py(line:21) <module>
system.py(line:177) __hybrid_import
system.py(line:142) _process_result
uiMessenger.py(line:10) <module>
system.py(line:177) __hybrid_import
system.py(line:142) _process_result
uiGameOption.py(line:12) <module>
system.py(line:177) __hybrid_import
system.py(line:142) _process_result
interfaceModule.py(line:24) <module>
system.py(line:177) __hybrid_import
system.py(line:142) _process_result
uiSystem.py(line:12) <module>
system.py(line:177) __hybrid_import

networkModule.SetLoadingPhase - <type 'exceptions.IndentationError'>:expected an indented block (uiMoveChannel.py, line 97)

0702 11:42:06588 :: ============================================================================================================
0702 11:42:06588 :: Abort!!!!
uimovechannel ile alakalı kodları kaldır. Senin filesinde hızlı ch yok diye eklemek zorunda değilsin.
 
Kod:
Genişlet Daralt Kopyala
0702 11:42:06588 ::
networkModule.py(line:234) SetLoadingPhase
system.py(line:177) __hybrid_import
system.py(line:142) _process_result
introLoading.py(line:21) <module>
system.py(line:177) __hybrid_import
system.py(line:142) _process_result
uiMessenger.py(line:10) <module>
system.py(line:177) __hybrid_import
system.py(line:142) _process_result
uiGameOption.py(line:12) <module>
system.py(line:177) __hybrid_import
system.py(line:142) _process_result
interfaceModule.py(line:24) <module>
system.py(line:177) __hybrid_import
system.py(line:142) _process_result
uiSystem.py(line:12) <module>
system.py(line:177) __hybrid_import

networkModule.SetLoadingPhase - <type 'exceptions.IndentationError'>:expected an indented block (uiMoveChannel.py, line 97)

0702 11:42:06588 :: ============================================================================================================
0702 11:42:06588 :: Abort!!!!
97.satırda yazım hatası yapmışsın. Tabları uydur birbirine
 
Geri
Üst