Hey Brotfische,
bitte nicht hauen, dass ich das in dieser Sektion veröffentliche, aber wusste nicht, wo sonst (kann ja verschoben werden).
Klammerfehler sind ein doof und passieren leider gerade bei Anfängern relativ häufig.
Und da der Pawn-Compiler dann crasht (oder man 26 Errors bekommt) und man vor einem großen Skript sitzt...ist man erstmal planlos.
Es gab mal eine Website, die einen Klammerfehler Finder zur Verfügung gestellt hatte, aber diese ist offline (bzw ich finde keine andere akkurate mehr).
Deshalb dachte ich mir, ich schreib kurz selbst eine.
UPDATE
- Sagt nun auch, ob eine Zeile zu lang ist! (Kann auch Compiler-Crash verursachen)
- Nähere Infos zur Behebung: https://breadfish.de/index.php…ler-crasht-zeile-zu-lang/
Was beachtet die Seite?
- Kommentare werden ignoriert (//).
- Single-Line Strings werden ignoriert (also alles was in " " steht).
- Chars werden auch gefiltert '{' wird also übersprungen.
- Defines werden ignoriert, wenn man jetzt #define a(%0) print("opfer"); { gemacht hat, also unregelmäßige Brackets in einem define..dann hat man selbst Schuld...^^
Was bedeutet die Zeile die mir ausgegeben wird?
Wir stellen uns eine Block Funktion vor:
Also hier sehen wir, dass in Zeile 6 eine Klammer vergessen wurde.
Die Website wird jetzt sagen, dass die Klammer in Zeile 2 nicht geschlossen wurde.
Das ist auch korrekt. Man weiß also jetzt, dass in diesem Block quasi der Fehler liegt.
Falls du dich jetzt fragst hä? Wieso ist Zeile 2 korrekt, offensichtlich ist doch Zeile 4 nicht geschlossen.
Ja, das ist korrekt, aaaber das siehst du nur, weil es so schön eingerückt ist. Es ist nämlich eigentlich so, dass Zeile 8 den Klammerblock für Zeile 4 schließt. Und somit ist nur noch Zeile 2 offen.
Schlusswort
Also falls Fehler auftreten oder jemand noch Anregungen hat, könnt ihr diese mir gerne mitteilen
Link: http://klammerfehler.bplaced.net/
Viel Spaß und Erfolg beim skripten!