PvP Server Kiralama & Oyun Sunucuları
0 Giriş Yap Kayıt Ol

Com resoldre l'error de seguiment de Python del client Metin2? Paquet arrel i Guia de scripts d'IU

Yazdır

Com resoldre els errors de rastreig i paquet arrel de Python del client Metin2?

Tancament del client, script d'IU, paquet root i guia de depuració de Python.

Un dels problemes més comuns al costat del client Metin2 Traceback de Python són errors. El client pot tancar-se mentre s'obre, la pantalla d'inici de sessió pot no aparèixer, el joc es pot tancar quan s'obre l'inventari o una finestra especial, o les línies d'error que pertanyen als fitxers Python es poden veure a syserr.txt.

Aquests errors solen ser rootpack, uiscript, fitxers d'interfície local, és causada per falta d'importació, nom de funció incorrecte o sintaxi de Python trencada.

Explicació senzilla: Els fitxers Python del client gestionen el comportament de la interfície del joc. Si hi ha una línia incorrecta en aquests fitxers, el joc pot donar un error en obrir la finestra corresponent.

1. Què és Python Traceback?

Traceback és la sortida d'error en què Python mostra quin fitxer i quina línia té un problema quan es produeix un error. Al client Metin2 syserr.txt sol semblar així:

Traceback (most recent call last):
  File "uiInventory.py", line 123, in OnPressEscapeKey
AttributeError: 'InventoryWindow' object has no attribute 'Close'

error en aquest exemple uiInventory.py Va passar a la línia 123 de l'expedient. Si el tipus d'error és Error d'atribut Apareix com .

2. Comprovació del fitxer Syserr del client

El primer fitxer de control del costat del client es troba normalment a la carpeta del client. syserr.txt és el fitxer.

Client klasorunde syserr.txt dosyasini acin ve en alttaki yeni hatalari kontrol edin.

La part més important de l'error solen ser els resultats. Com que a Python traceback, les línies superiors mostren la seqüència de trucades i la línia inferior mostra el tipus d'error real.

Important: Les línies d'error antigues poden estar presents a syserr.txt. Fer una còpia de seguretat i netejar el fitxer abans de provar us permetrà veure el nou error amb més claredat.

3. Tipus més comuns d'errors de Python

  • Error de sintaxi: Hi ha una errada d'ortografia. És possible que faltin parèntesis, dos punts o cometes.
  • Error d'atribut: La funció o variable cridada no existeix a l'objecte rellevant.
  • NameError: El nom utilitzat no està definit.
  • Error d'importació: No s'ha trobat el fitxer o mòdul de Python necessari.
  • TypeError: S'ha enviat a la funció el tipus o el nombre incorrecte de paràmetres.
  • KeyError: Es va cridar una clau que no està al diccionari.

Aquests tipus d'error no mostren directament la solució, però us indiquen en quina direcció hauríeu de mirar.

4. Errors del paquet arrel

El paquet arrel conté la majoria dels fitxers Python del costat del client. Per exemple:

  • ui.py
  • joc.py
  • interfaceModule.py
  • uiInventory.py
  • uiCharacter.py
  • uiScriptLocale.py
  • constInfo.py

Una edició incorrecta al fitxer arrel pot fer que el client no s'obri o es tanqui quan s'obre una finestra determinada.

Ordre general de comprovació d'errors d'arrel:

  • Identifiqueu l'últim fitxer Python modificat.
  • Cerqueu el fitxer i el número de línia a syserr.txt.
  • Comproveu si falta un nom d'importació o un nom de funció incorrecte.
  • Comproveu les sagnacions de Python.
  • Assegureu-vos que el fitxer estigui realment actualitzat quan torneu a empaquetar el paquet arrel.

5. Errors d'script de la IU

Windows de la interfície de client Metin2 sovint uiscript Es defineix per fitxers. Aquests fitxers contenen la mida de la finestra, la ubicació del botó, el camí de la imatge, l'àrea de text i els objectes secundaris.

Els errors d'Uiscript poden tenir els símptomes següents:

  • El client es tanca quan s'obre una finestra específica
  • S'obre la finestra però els botons no són visibles
  • Els objectes de la interfície se superposen
  • S'ha produït un error de LoadScriptFile a syserr
  • L'error GetChild es produeix al costat de Python

Exemple d'error GetChild:

KeyError: 'board'
AttributeError: 'NoneType' object has no attribute 'SetEvent'

En aquests errors, el fitxer Python pot estar cridant a un objecte que no existeix a uiscript.

6. Resolució d'errors de GetChild

Suposem que hi ha un codi com aquest al costat de Python:

self.GetChild("accept_button")

En aquest cas al fitxer uiscript botó_acceptar L'objecte fill anomenat ha d'existir realment. Si el nom és diferent o no existeix en absolut, el client pot llançar un error.

Per a la solució:

  • Comproveu el nom GetChild al fitxer Python.
  • Comproveu el camp del nom al fitxer uiscript.
  • Preste atenció a la diferència de casos.
  • Assegureu-vos que el botó o l'objecte de text recentment afegits es trobi sota el pare correcte.

7. Problemes amb fitxers i paquets que falten

Es poden produir els següents tipus d'errors al client siserr:

No file or directory
LoadScriptFile Error
CANNOT_FIND_PACK_FILE
Failed to load image

En aquest cas, és possible que el fitxer rellevant no s'hagi afegit al paquet, que s'hagi col·locat a la carpeta incorrecta o que el camí s'hagi escrit incorrectament.

En particular, s'han de comprovar els tipus de fitxers següents:

  • Fitxers .py Python
  • Fitxers Python compilats .pyc
  • Fitxers uiscript .py
  • Fitxers d'imatge .tga, .dds, .sub
  • fitxers d'interfície local
Atenció: Fins i tot si es pensa que el fitxer del paquet està actualitzat, el client pot estar treballant amb el paquet antic. Assegureu-vos que esteu a la carpeta del client correcta quan feu la prova.

8. Problemes de codificació i caràcters turcs

En algunes infraestructures de client antigues, l'ús d'una codificació incorrecta en fitxers Python o fitxers de configuració regional pot provocar errors de client. Sobretot si els caràcters turcs s'enregistren incorrectament, el text pot semblar distorsionat o el fitxer pot no ser llegible.

Coses a tenir en compte:

  • Mantingueu l'estructura de codificació existent del fitxer.
  • No trenqueu el joc de caràcters quan deseu fitxers entre diferents editors.
  • Preste atenció a l'ús de ş, ç, ğ, ü, ö, ı en fitxers que no admeten caràcters turcs.
  • És possible que UTF-8 no sempre funcioni correctament en infraestructures antigues.

Errors comuns

  • Canviar els fitxers arrel aleatòriament sense llegir syserr.txt
  • Trencant els sagnis de Python
  • Crida a un objecte que no està a Uiscript amb GetChild a Python
  • Pensant que el paquet s'ha actualitzat i provant amb l'antic client
  • No afegir fitxers d'imatge que falten al client
  • Evitar que el fitxer sigui llegit corrompent l'estructura de codificació

PMF

El client obre però tanca quan s'obre l'inventari, per què?
Pot haver-hi un error al fitxer Python o uiscript relacionat amb l'inventari. uiInventory.py i el fitxer uiscript relacionat s'han de comprovar mitjançant el client syserr.

Quina és la línia més important de l'error de rastreig?
Normalment, la línia d'error a la part inferior mostra el problema real. Les línies superiors descriuen la cadena de trucades.

El joc no comença després del canvi del paquet arrel, què he de fer?
Compareu l'últim fitxer de Python modificat amb la seva còpia de seguretat antiga, comproveu syserr.txt i assegureu-vos que el paquet s'ha actualitzat.

Recomanacions de seguretat i operacions

  • Assegureu-vos de fer una còpia de seguretat abans d'editar el paquet arrel.
  • Després de cada canvi, esborreu el fitxer syserr del client i torneu a provar-lo.
  • Feu proves per lots petits en lloc de canvis d'arrel massius.
  • Prova en un client net abans de pegar els jugadors.
  • No canvieu la codificació i el format de final de línia inconscientment.

Aquest article està preparat especialment per a PvPServer.

Bu cevap yeterince yardımcı oldu mu?

Oyla

overlay spinner