*Problemă/Întrebare:
Salut, am o problemă după adăugarea propriului text „Canal” în fișierul locale_game.txt.
După efectuarea acestei modificări apare o eroare.
*Resursă folosită (sistem/funcție/modificare):
Cod modificat:
Fișier: localgame.txt
CHANNEL_STATUS_OFF test
CHANNEL_STATUS_NORMAL Normal
CHANNEL_STATUS_BUSY Busy
CHANNEL_STATUS_FULL Full
Fișier: Loginwindow.py
{
"name": "Channel1Button",
"type": "radio_button",
"x": 10,
"y": 10,
"default_image": "d:/ymir work/ui/public/large_button_01.sub",
"over_image": "d:/ymir work/ui/public/large_button_02.sub",
"down_image": "d:/ymir work/ui/public/large_button_03.sub",
"color": 4294281095L,
"text": ".....",
},
Fișier: Intrologin.py
STATE_DICT = {
0:localeInfo.CHANNEL_STATUS_OFF,
1:localeInfo.CHANNEL_STATUS_NORMAL,
2:localeInfo.CHANNEL_STATUS_BUSY,
3:localeInfo.CHANNEL_STATUS_FULL
}
self.channelButtonList = []
self.channelButtonList.append(GetObject("Channel1Button"))
self.channelButtonList.append(GetObject("Channel2Button"))
self.channelButtonList.append(GetObject("Channel3Button"))
self.channelButtonList.append(GetObject("Channel4Button"))
def NotifyChannelState(self, addrKey, state):
if addrKey-1 < len(self.channelButtonList):
status = STATE_DICT.get(state, STATE_DICT[0])
self.channelButtonList[addrKey-1].SetText(localeInfo.CHANNEL + " %d (%s)" % (addrKey, status))
*Syserr:
0316 06:10:00521 :: mouseModule:357: RuntimeWarning: tp_compare didn't return -1 or -2 for exception
0316 06:10:00521 :: Traceback (most recent call last):
0316 06:10:00521 :: File "mouseModule.py", line 357, in Update
0316 06:10:00521 :: TypeError
0316 06:10:00521 :: :
0316 06:10:00521 :: an integer is required
0316 06:10:00521 ::
*Fișier(e) cu problema (link pastebin / code):
*Poze / Video:
Salut, am o problemă după adăugarea propriului text „Canal” în fișierul locale_game.txt.
După efectuarea acestei modificări apare o eroare.
*Resursă folosită (sistem/funcție/modificare):
Cod modificat:
Fișier: localgame.txt
CHANNEL_STATUS_OFF test
CHANNEL_STATUS_NORMAL Normal
CHANNEL_STATUS_BUSY Busy
CHANNEL_STATUS_FULL Full
Fișier: Loginwindow.py
{
"name": "Channel1Button",
"type": "radio_button",
"x": 10,
"y": 10,
"default_image": "d:/ymir work/ui/public/large_button_01.sub",
"over_image": "d:/ymir work/ui/public/large_button_02.sub",
"down_image": "d:/ymir work/ui/public/large_button_03.sub",
"color": 4294281095L,
"text": ".....",
},
Fișier: Intrologin.py
STATE_DICT = {
0:localeInfo.CHANNEL_STATUS_OFF,
1:localeInfo.CHANNEL_STATUS_NORMAL,
2:localeInfo.CHANNEL_STATUS_BUSY,
3:localeInfo.CHANNEL_STATUS_FULL
}
self.channelButtonList = []
self.channelButtonList.append(GetObject("Channel1Button"))
self.channelButtonList.append(GetObject("Channel2Button"))
self.channelButtonList.append(GetObject("Channel3Button"))
self.channelButtonList.append(GetObject("Channel4Button"))
def NotifyChannelState(self, addrKey, state):
if addrKey-1 < len(self.channelButtonList):
status = STATE_DICT.get(state, STATE_DICT[0])
self.channelButtonList[addrKey-1].SetText(localeInfo.CHANNEL + " %d (%s)" % (addrKey, status))
*Syserr:
0316 06:10:00521 :: mouseModule:357: RuntimeWarning: tp_compare didn't return -1 or -2 for exception
0316 06:10:00521 :: Traceback (most recent call last):
0316 06:10:00521 :: File "mouseModule.py", line 357, in Update
0316 06:10:00521 :: TypeError
0316 06:10:00521 :: :
0316 06:10:00521 :: an integer is required
0316 06:10:00521 ::
*Fișier(e) cu problema (link pastebin / code):
*Poze / Video:
📢 Resurse Metin2 Premium!
Zeci de resurse Metin2 Premium - exclusive și 100% funcționale începând cu 15.99€!.
Vezi resursele Cumpără premium
Premium
Anunț
Salut,
[FIX] TypeError: an integer is required după modificare CHANNEL
Problemă
După modificarea locale_game.txt pentru a adăuga text custom la „Canal”, apare următoarea eroare în syserr:
Eroarea NU este direct de la locale_game.txt, ci din codul Python care folosește valorile respective.
Sunt 3 probleme posibile:
1. Lipsă CHANNEL în locale_game.txt
Codul folosește:
Linia:
De aici vine:
Dacă valoarea nu este găsită în STATE_DICT, %s poate primi None.
FIX COMPLET
✔ Adaugă în locale_game.txt:
Problema apare din:
lipsa CHANNEL în locale
addrKey nu este int
posibil status invalid
Sfat
Când lucrați cu localeInfo:
verificați că toate cheile există
validați tipurile de date
folosiți conversii defensive (int, str)
Succes
Daca apar probleme, revino cu reply si vom incerca sa te ajutam in continuare !!!
[FIX] TypeError: an integer is required după modificare CHANNEL
Problemă
După modificarea locale_game.txt pentru a adăuga text custom la „Canal”, apare următoarea eroare în syserr:
Traceback:TypeError: an integer is required
Cauza problemeimouseModule.py", line 357, in Update
Eroarea NU este direct de la locale_game.txt, ci din codul Python care folosește valorile respective.
Sunt 3 probleme posibile:
1. Lipsă CHANNEL în locale_game.txt
Codul folosește:
Dar în locale_game.txt există doar:localeInfo.CHANNEL
Lipsește:CHANNEL_STATUS_OFF test
CHANNEL_STATUS_NORMAL Normal
CHANNEL_STATUS_BUSY Busy
CHANNEL_STATUS_FULL Full
2. addrKey nu este integerCHANNEL Canal
Linia:
va da eroare dacă addrKey este string.addrKey-1
De aici vine:
3. status poate fi NoneTypeError: an integer is required
Dacă valoarea nu este găsită în STATE_DICT, %s poate primi None.
FIX COMPLET
✔ Adaugă în locale_game.txt:
Modifică funcția:CHANNEL Canal
Concluziedef NotifyChannelState(self, addrKey, state):
try:
addrKey = int(addrKey)
except:
return
if addrKey-1 < len(self.channelButtonList):
status = str(STATE_DICT.get(state, STATE_DICT[0]))
self.channelButtonList[addrKey-1].SetText("%s %d (%s)" % (localeInfo.CHANNEL, addrKey, status))
Problema apare din:
lipsa CHANNEL în locale
addrKey nu este int
posibil status invalid
Sfat
Când lucrați cu localeInfo:
verificați că toate cheile există
validați tipurile de date
folosiți conversii defensive (int, str)
Succes
Daca apar probleme, revino cu reply si vom incerca sa te ajutam in continuare !!!
Vă rog
Creează-ți un cont sau autentifică-te pentru a participa la discuție
Trebuie să fii membru pentru a răspunde
Creează-ți un cont
Membrii pot crea subiecte noi și pot descărca resurse Metin2 Gratuit!
Te poți înregistra sau conecta rapid utilizând contul tău de Discord, Github sau Google.
Autentifică-te
-
Subiecte similare
Informații
Utilizatori ce navighează pe acest forum: Szyfrant și 2 vizitatori
Discord ID copiat:


