Alles über die beliebten Klammerfehler.

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Alles über unsere gebliebten Klammerfehler


    Hayho liebes Forum,
    wegen zahlreicher Anfragen im Forum und auch ICQ, entschließe ich mich jetzt, ein kleines Tutorial hierdrüber zu schreiben.



    Woran erkenne ich einen Klammerfehler?
    Wenn euch euer Compiler 26 Errors ausspuckt, so kann man von einem Klammerfehler ausgehen. Ein Klammerfehler bedeutet, dass irgendwo im Script eine { oder eine } fehlt.

    Wie finde ich Klemmerfehler am leichtesten?
    Am besten ist es sowieso, bei seiner neusten Version ein Backup zu erstellen. Solltet ihr aber einen Klammerfehler haben, so solltet ihr euer Gehirn anstrengen, und bei den Dingen suchen, an denen zuletzt gearbeitet wurde. Hier mal ein Beispiel mit Klammerfehler.


    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
    return 1;


    return 0;


    Man kann bei solchen Kleinigkeiten die Klammer ganz einfach auch abzählen. Es MÜSSEN immer so viele Klammern zu sein, wie sie auch offen sind. Eine mehr oder zu wenig bei einen der beiden reicht schon. Das ganze kann ziemlich anstrengend werden..


    Hier noch ein Beispiel ohne Klammerfehler.


    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
    return 1;
    }
    return 0;



    Ein Klammerfehler kann sich also überall verstecken..
    Ich hoffe ich konnte euch ein wenig helfen.



    Gruß,
    Flip

  • Finde dieses Thema schon mal sehr gut!


    Würde gerne noch einige Tipps hinzufügen


    Tipp 1:


    Ihr wisst noch was ihr am Script verändert habt? Dann geht hin und blendet diesen Bereich aus mit


    /* Euer Code */


    Somit wird dieser Bereich nicht mehr mit berechnet. Falls kein Fehler mehr kommt, dann wisst ihr das hier der Klammerfehler vorhanden ist.


    Somit nähert ihr euch Schritt für Schritt dem Fehler!


    Wisst ihr nicht wo euer Fehler ist und habt echt Null Ahnung wo der sein könnte?


    Dann könnt ihr genauso voran gehen!


    Immer den Inhalt von den Publics ausblenden aber die erste und die letzte Klammer vorhanden lassen!


    Bsp:



    public OnPlayerConnect(playerid)
    {
    /*
    Code
    */
    }


    Hoffe ihr habt mein Prinzip verstanden!

  • zum //


    Das ist das Komentar was ihr hinten anhängen könnt ;)


    if(sctrcmp(.................//komi

  • Find ich echt gut gemacht worden hilft manchen echt sehr !

  • Wenn man tatsächlich einen Klammerfehler hat (und der GM viele Zeilen hat) kann man eigentlich nur (wie Master_FM schon sagte) gucken, ob der Fehler sich in dem Part befindet, den man zuletzt hinzugefügt/bearbeitet hat. Falls das nicht der Fall ist kann man den Script wegwerfen und wieder an seinem letzten Backup arbeiten (spreche aus Erfahrung, das geht meist schneller). Ich gebe euch noch den Rat euer Script alle 5-10 Minuten zu compilen, dann habt ihr kleinere Abschnitte, in denen in - wenn ihr einen Klammerfehler bekommen solltet - suchen müsst.

  • Ich denke mal, dass da jeder, der seine Erfahrungen damit gemacht hat, auch schon seinen kleinen Trick hat :P

  • Ich kann euch auch nen tipp gegen klammer fehler geben.


    Wen man mehrer abfragen macht sollte man direkt die abfrage erstellen mit den dazugehörigen klammern und dan den Code der rein kommt.
    So kann man klammer fehler am besten vermeiden ^^.


    z.B.



    if(blue == blue)
    {
    if(green == green)
    {


    }
    }


    Und jetzt den code rein.