Ich verstehe die Fehler nicht ganz. (5 Errors)

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
  • Hey Leute,


    Ich habe in diesen, nebeneinander liegenden Zeilen, folgende Errors:



    C:\Users\Darius\Desktop\Damastra Reallife Server\gamemodes\Reallife.pwn(1) : error 001: expected token: "-identifier-", but found "-integer value-"
    C:\Users\Darius\Desktop\Damastra Reallife Server\gamemodes\Reallife.pwn(12) : error 035: argument type mismatch (argument 1)
    C:\Users\Darius\Desktop\Damastra Reallife Server\gamemodes\Reallife.pwn(12) : error 020: invalid symbol name ""
    C:\Users\Darius\Desktop\Damastra Reallife Server\gamemodes\Reallife.pwn(12) : error 029: invalid expression, assumed zero
    C:\Users\Darius\Desktop\Damastra Reallife Server\gamemodes\Reallife.pwn(12) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    5 Errors.


    Hier sind die Zeilen:



    case 1588: // Textdraw's color: custom hex[/u]
    {
    if(response)
    {
    new red[3], green[3], blue[3], alpha[3];

    if(inputtext[0] == '0' && inputtext[1] == 'x') // He's using 0xFFFFFF format
    {
    if(strlen(inputtext) != 8 && strlen(inputtext) != 10) return ShowTextDrawDialog(playerid, 14, 1);
    else
    {
    format(red, sizeof(red), "%c%c", inputtext[2], inputtext[3]);
    format(green, sizeof(green), "%c%c", inputtext[4], inputtext[5]);
    format(blue, sizeof(blue), "%c%c", inputtext[6], inputtext[7]);
    if(inputtext[8] != '\0')
    format(alpha, sizeof(alpha), "%c%c", inputtext[8], inputtext[9]);
    else
    alpha = "FF";
    }
    }


    Danach geht es so weiter und dann kommt der nächste case:



    else if(inputtext[0] == '#')
    {
    if(strlen(inputtext) != 7 && strlen(inputtext) != 9) return ShowTextDrawDialog(playerid, 14, 1);
    else
    {
    format(red, sizeof(red), "%c%c", inputtext[1], inputtext[2]);
    format(green, sizeof(green), "%c%c", inputtext[3], inputtext[4]);
    format(blue, sizeof(blue), "%c%c", inputtext[5], inputtext[6]);
    if(inputtext[7] != '\0')
    format(alpha, sizeof(alpha), "%c%c", inputtext[7], inputtext[8]);
    else
    alpha = "FF";
    }
    }
    else
    {
    if(strlen(inputtext) != 6 && strlen(inputtext) != 8) return ShowTextDrawDialog(playerid, 14, 1);
    else
    {
    format(red, sizeof(red), "%c%c", inputtext[0], inputtext[1]);
    format(green, sizeof(green), "%c%c", inputtext[2], inputtext[3]);
    format(blue, sizeof(blue), "%c%c", inputtext[4], inputtext[5]);
    if(inputtext[6] != '\0')
    format(alpha, sizeof(alpha), "%c%c", inputtext[6], inputtext[7]);
    else
    alpha = "FF";
    }
    }
    if(pData[playerid][P_ColorEdition] == COLOR_TEXT)
    tData[pData[playerid][P_CurrentTextdraw]][T_Color] = RGB(HexToInt(red), HexToInt(green), HexToInt(blue), HexToInt(alpha));
    else if(pData[playerid][P_ColorEdition] == COLOR_OUTLINE)
    tData[pData[playerid][P_CurrentTextdraw]][T_BackColor] = RGB(HexToInt(red), HexToInt(green), HexToInt(blue), HexToInt(alpha));
    else if(pData[playerid][P_ColorEdition] == COLOR_BOX)
    tData[pData[playerid][P_CurrentTextdraw]][T_BoxColor] = RGB(HexToInt(red), HexToInt(green), HexToInt(blue), HexToInt(alpha));
    UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
    SaveTDData(pData[playerid][P_CurrentTextdraw], "T_Color");
    SaveTDData(pData[playerid][P_CurrentTextdraw], "T_BackColor");
    SaveTDData(pData[playerid][P_CurrentTextdraw], "T_BoxColor");


    new string[128];
    format(string, sizeof(string), "Textdraw #%d's color has been changed.", pData[playerid][P_CurrentTextdraw]);
    SendClientMessage(playerid, MSG_COLOR, string);


    if(pData[playerid][P_ColorEdition] == COLOR_TEXT) ShowTextDrawDialog(playerid, 5);
    else if(pData[playerid][P_ColorEdition] == COLOR_OUTLINE) ShowTextDrawDialog(playerid, 20);
    else if(pData[playerid][P_ColorEdition] == COLOR_BOX) ShowTextDrawDialog(playerid, 24);
    }
    else
    {
    ShowTextDrawDialog(playerid, 13);
    }
    }


    Könnte mir dabei Jemand helfen?


    Vielen Dank im vorraus

    3 Mal editiert, zuletzt von |-Silent-| () aus folgendem Grund: Weiterführung des Scripts


  • Nein, das kann man in diesem Fall so machen ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • Nein, das kann man in diesem Fall so machen ;)


    mfg. :thumbup:


    Strings in einer Anweisung durch die Operatoren == zu vergleichen,
    funktioniert hier und an dieser Stelle in SA-MP leider nicht.


    Auch an folgender Stelle ist es nicht korrekt:

    if(inputtext[8] != '\0')


    Übrigens, Strings können mit Integer-Werten verglichen werden,
    aber nicht mit anderen String durch den Operator ==.
    :thumbup:

  • Er vergleicht an der Stelle ja auch keinen String, sondern lediglich den Character ( Quasi Char )


    'b' = Der Buchstabe b als Character ( ASCII 98 )
    "b" = Der String mit dem Text b


    Ob jetzt
    if( irgendwas == 'b' )
    // oder
    if( irgendwas == 98 )
    ist egal. Am Ende ist es identisch.


    Im Endeffekt hat [DMT]Silent die Zeilen mit den Fehlern sowieso nicht markiert.


    //Edit:


    Auch an folgender Stelle ist es nicht korrekt:
    [/font][/color]
    if(inputtext[8] != '\0')


    Übrigens, Strings können mit Integer-Werten verglichen werden,
    aber nicht mit anderen String durch den Operator ==.
    :thumbup:


    Quatsch.
    Natürlich kann man auf '\0' abfragen. '\0' bedeutet soviel wie "EndOfString" und hat den ASCII Wert 0 , Null character.
    In dem Fall wäre es egal auf '\0' oder 0 abzufragen.

    Einmal editiert, zuletzt von Goldkiller ()

  • Im Endeffekt hat [DMT]Silent die Zeilen mit den Fehlern sowieso nicht markiert.



    Die Zeilen stehen ganz oben bei den Compiler


    //Goldkiller: Du hast die richtig durchnummeriert ? Zeig uns doch noch mal ein paar Zeilen darüber bzw darunter ( zusätzlich ).

    Einmal editiert, zuletzt von Goldkiller ()

  • Spoiler anzeigen

    Er vergleicht an der Stelle ja auch keinen String, sondern lediglich den Character ( Quasi
    Auch an folgender Stelle ist es nicht korrekt:


    if(inputtext[8] != '\0')


    Übrigens, Strings können mit Integer-Werten verglichen werden,
    aber nicht mit anderen String durch den Operator ==.
    :thumbup:

    Spoiler anzeigen

    Quatsch.
    Natürlich kann man auf '\0' abfragen. '\0' bedeutet soviel wie "EndOfString" und hat den ASCII Wert 0 , Null character.
    In dem Fall wäre es egal auf '\0' oder 0 abzufragen.


    In Ordnung, Godkiller.


    Da liegt der Fehler offenbar wo anders und ich habe mich geirrt.


    Dann lag ich falsch.
    Dass überschreitet mein Wissen bezüglich SA-MP etwas.

  • Was für ein Script versuchst du denn da in deines einzubauen ?

    Zitat

    //Goldkiller: Du hast die richtig durchnummeriert ? Zeig uns doch noch mal ein paar Zeilen darüber bzw darunter ( zusätzlich ).


    Zeile 1 - 12 ist nämlich völlig unrealisitisch für den Code, da mindestens vorher noch Include kommen muss und das Callback.


    Kannst du bei "Weiterführung des Scripts" nicht einfach via Kommentar die Zeilen mit den Fehlern markieren ?
    So:
    new bla = 5 // <--- Fehler < markieren >