Hallo zusammen,
ich möchte hier nun einen Fehlerindex erstellen (wie es [Only registered and activated users can see links. Click Here To Register...] vorgeschlagen hat). Da die normalen Fehler, die beim Server auftauchen ziemlich viel werden, möchte ich erstmal die Questfehler zusammentragen und schauen, wie der Thread sich entwickelt.
Wenn der Thread sich gut entwickelt, werde ich das ebenfalls mit den normalen Fehlern machen. Aber hier widmen wir uns erstmal LUA.
Kleine Erklärung bevor es los geht: [X] ist eine Variable. Das heißt, hier kann immer verschiedenes stehen.
Um einen Fehler beheben zu können, übersetzen wir ihn immer erst vorher! Erst wenn das getan ist, wird der Fehler analysiert! Es ist alles schlüssig, man muss es nur verstehen.
1. when doesn't have begin-end clause
2. `[X]' expected near `[X]'
3. Calls undeclared function!
4. assertion failure
8. Trying/attempt to compare number with nil
Ihr kennt noch Fehler?
Dann posted sie ganz einfach hier und ich werde sie sofort einfügen und erklären! Ich werde es mit jedem Fehler aufnehmen, zumindest versuchen^^
Liebe Grüße,
.Alessa
ich möchte hier nun einen Fehlerindex erstellen (wie es [Only registered and activated users can see links. Click Here To Register...] vorgeschlagen hat). Da die normalen Fehler, die beim Server auftauchen ziemlich viel werden, möchte ich erstmal die Questfehler zusammentragen und schauen, wie der Thread sich entwickelt.
Wenn der Thread sich gut entwickelt, werde ich das ebenfalls mit den normalen Fehlern machen. Aber hier widmen wir uns erstmal LUA.
Kleine Erklärung bevor es los geht: [X] ist eine Variable. Das heißt, hier kann immer verschiedenes stehen.
Um einen Fehler beheben zu können, übersetzen wir ihn immer erst vorher! Erst wenn das getan ist, wird der Fehler analysiert! Es ist alles schlüssig, man muss es nur verstehen.
1. when doesn't have begin-end clause
Quote:
Fehlersyntax: when doesn't have begin-end clause. ([X])
[X]:[X]:Error occured on compile [X]
Übersetzung: "when" hat nicht den begin-end Satz.
Analyse: Ein When-Satz entspricht nicht dem typischen Syntax. Wohlmöglich ein Tippfehler oder ein vergessenes "begin". Wohlmöglich auch "begin" mit "then" vertauscht (then wird bei if-sätzen verwendet, begin bei when's)
Korrektur: Suche nach den When's und überprüfe, ob diese den richtigen Syntax haben.
when [X] begin
Inhalt blablabla
end
2. `[X]' expected near `[X]'
Quote:
Fehlersyntax: syntax error : [string "[X]"]:[X]: `[X]' expected near `[X]'
[X]:[X]:Error occured on compile [X]
Übersetzung: Nehmen wir mal den gut bekannten Fehler "`then expected near `[X]'. Das bedeutet, dass laut den Regeln des Syntaxes etwas gefordert ist, was nicht gegeben wurde. In dem eben genannten Beispiel wird ein 'then' gesucht.
Analyse: Der Syntax ist fehlerhaft; Der Server erwartet ein 'then', was er nicht finden kann.
Korrektur: Sätze und Blöcke auf den korrekten Syntax hin überprüfen und korrigieren.
if [X] == [X] then
Inhalt blablabla
end
Hinweis: Manchmal kann es passieren, dass Operatoren vertauscht wurden. Denkt dran, dass wenn Ihr bestimmte Operatoren (z. B. >=, <= und !=) benutzt, immer das = zuletzt verwendet.
3. Calls undeclared function!
Quote:
Fehlersyntax: Calls undeclared function! :
[X]
Error occured on compile [X].[X]
Übersetzung: Ruft eine undeklarierte (=nicht bestimmte) Funktion auf.
Analyse: Eine Funktion wurde nicht deklariert, soll aber laut der Quest verwendet werden.
Korrektur: Überprüfe die Schreibweise der Funktion. Überprüfe ebenfalls, ob die Funktion deklariert worden ist. Wenn du in der .quest-Datei die Funktion deklariert hast (statt über questlib.lua und quest_functions) dann denk daran, die Funktion auch so aufzurufen:
Questname.Funktionsname statt nur den Funktionsnamen.
4. assertion failure
5. expecting 'state'Quote:
Fehlersyntax: assertion failure : nested==0
[X]:[X]:Error occured on compile [X]
Übersetzung: Aufbau falsch; Verschachtelungen sind nicht korrekt.
Analyse: Der allgemeine Syntax der Quest ist nicht korrekt. Das kommt z. B. bei zu vielen oder zu wenigen end's vor.
Korrektur: Überprüfe, ob die end's korrekt gesetzt wurden. Der Fehler taucht z. B. auf, wenn "quest [X] begin" nicht beendet wird.
6. state name not foundQuote:
Fehlersyntax: expecting 'state'
[X]:[X]:Error occured on compile [X]
Übersetzung: Ein State wird erwartet
Analyse: Es fehlt ein State. Das passiert z. B. wenn ein when-Block außerhalb eines States geschrieben wurde.
Korrektur: Vergewissere dich, dass alle Blöcke in einem State stehen.
7. must start with 'quest'Quote:
Fehlersyntax: [X]:[X]:state name not found : [X]
Error occured on compile [X]
Übersetzung: Ein State kann nicht gefunden werden.
Analyse: In der Quest wird ein State benutzt (z. B. mittels setstate()), der nicht existent ist
Korrektur: Vergewissere dich, dass jeder State, der abgerufen oder verwendet wird, auch irgendwo gestartet und beendet wurde.
Quote:
Fehlersyntax: must start with 'quest'
[X]:[X]:Error occured on compile [X]
Übersetzung: Die Quest muss mit 'quest' beginnen.
Analyse: Die Quest beginnt nicht mit dem typsichen "quest [X] begin".
Korrektur: Überprüfe, ob deine Quest mit dem Syntax "quest [X] begin" beginnt. Schaue ebenfalls nach, ob du zu viele end's hast oder irgendwelchen Quote nach dem Beenden des "quest [X] begin"-Blockes eingesetzt hast.
8. Trying/attempt to compare number with nil
Quote:
Fehlersyntax: In der Syserr "Trying/attempt to compare number with nil"
Übersetzung: In dem Script soll der Server eine Zahl mit einer nil-Variable verrechnen. Nil = Nicht existent.
Analyse: Irgendwo im Script ist eine leere Variable, die mit einer Zahl verrechnet werden soll.
Korrektur: Definiere die Variable.
Ihr kennt noch Fehler?
Dann posted sie ganz einfach hier und ich werde sie sofort einfügen und erklären! Ich werde es mit jedem Fehler aufnehmen, zumindest versuchen^^
Liebe Grüße,
.Alessa