Pfandflaschensystem Pawn libary hat ein Problem festgestellt (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
  • Tach,


    Wo liegt das Problem hier? Es muss ein Klammerfehler sein, den der Pawnokompilier stürzt ab.


    if (strcmp("/sellflaschen", cmdtext, true, 10) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(PlayerToPoint(10.0, playerid,-1991.258301, 209.510178, 28.342875) || PlayerToPoint(10.0, playerid,1478.815430, -1674.258179, 14.709888)) // Hier die Cords von den Verkaufspunkt der Flaschen
    {
    if(pfandflaschen[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_YELLOW,"Sie Besitzen keine Pfandflaschen");
    }
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: sellflasche [anzahl]");
    format(string, sizeof(string), " Du hast %d Pflaschen bei dir",pfandflaschen);
    SendClientMessage(playerid, COLOR_GRAD3, string);
    return 1;
    }
    new pflasche;
    pflasche = strval(tmp);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: sellflasche [anzahl]");
    format(string, sizeof(string), " Du hast %d Pflaschen bei dir",pfandflaschen[playerid]);
    SendClientMessage(playerid, COLOR_GRAD3, string);
    return 1;
    }
    if(pflasche > pfandflaschen[playerid])
    {
    SendClientMessage(playerid, COLOR_GRAD2, " Du hast nicht soviele Pfand Flaschen !");
    return 1;
    }
    new check= pfandflaschen[playerid] - pflasche;
    if(check > pfandflaschen[playerid])
    {
    format(string, sizeof(string), " So Viele Flaschen haben sie nicht mehr.");
    SendClientMessage(playerid, COLOR_GREY, string);
    return 1;
    }
    new preis;
    pfandflaschen[playerid] -= pflasche;
    new geld = 8; // 8 Bestimmt den preis pro Flasche
    preis = geld * pflasche;
    GivePlayerMoney(playerid, preis);
    format(string, sizeof(string), " Du hast %d Pflaschen Abgegeben! und dafür %d $ Erhalten", pflasche,preis);
    SendClientMessage(playerid, COLOR_GRAD4, string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, "Du bist nicht am Abgabe punkt");
    }
    }
    return 1;
    }


    Mfg.

  • Richtig einrücken und du siehst den Fehler,
    if (strcmp("/sellflaschen", cmdtext, true, 10) == 0)


    {
    tmp = strtok(cmdtext, idx);
    if(PlayerToPoint(10.0, playerid,-1991.258301, 209.510178, 28.342875) || PlayerToPoint(10.0, playerid,1478.815430, -1674.258179, 14.709888)) // Hier die Cords von den Verkaufspunkt der Flaschen

    {
    if(pfandflaschen[playerid] == 0)

    {
    SendClientMessage(playerid, COLOR_YELLOW,"Sie Besitzen keine Pfandflaschen");

    }
    if(!strlen(tmp))

    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: sellflasche [anzahl]");
    format(string, sizeof(string), " Du hast %d Pflaschen bei dir",pfandflaschen);
    SendClientMessage(playerid, COLOR_GRAD3, string);
    return 1;

    }
    new pflasche;
    pflasche = strval(tmp);
    if(!strlen(tmp))

    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: sellflasche [anzahl]");
    format(string, sizeof(string), " Du hast %d Pflaschen bei dir",pfandflaschen[playerid]);
    SendClientMessage(playerid, COLOR_GRAD3, string);
    return 1;

    }
    if(pflasche > pfandflaschen[playerid])

    {
    SendClientMessage(playerid, COLOR_GRAD2, " Du hast nicht soviele Pfand Flaschen !");
    return 1;

    }
    new check= pfandflaschen[playerid] - pflasche;
    if(check > pfandflaschen[playerid])

    {
    format(string, sizeof(string), " So Viele Flaschen haben sie nicht mehr.");
    SendClientMessage(playerid, COLOR_GREY, string);
    return 1;

    }
    new preis;
    pfandflaschen[playerid] -= pflasche;
    new geld = 8; // 8 Bestimmt den preis pro Flasche
    preis = geld * pflasche;
    GivePlayerMoney(playerid, preis);
    format(string, sizeof(string), " Du hast %d Pflaschen Abgegeben! und dafür %d $ Erhalten", pflasche,preis);
    SendClientMessage(playerid, COLOR_GRAD4, string);

    }
    else

    {
    SendClientMessage(playerid, COLOR_WHITE, "Du bist nicht am Abgabe punkt");

    }

    }
    return 1;
    }
    Der Fehler ist wohl noch drin.Woher weisst überhaupt,dass der Fehler dort liegt :-O ?

  • Habs auch mal umgeschrieben:


    if(strcmp(cmd, "/sellflaschen", true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(PlayerToPoint(10.0, playerid,-1991.258301, 209.510178, 28.342875) || PlayerToPoint(10.0, playerid,1478.815430, -1674.258179, 14.709888)) // Hier die Cords von den Verkaufspunkt der Flaschen
    {
    if(pfandflaschen[playerid] == 0) { SendClientMessage(playerid, COLOR_YELLOW,"Sie Besitzen keine Pfandflaschen"); return 1; }
    new pflasche;
    pflasche = strval(tmp);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: sellflasche [anzahl]");
    format(string, sizeof(string), " Du hast %d Pflaschen bei dir",pfandflaschen[playerid]);
    SendClientMessage(playerid, COLOR_GRAD3, string);
    return 1;
    }
    if(pflasche > pfandflaschen[playerid])
    {
    SendClientMessage(playerid, COLOR_GRAD2, " Du hast nicht soviele Pfand Flaschen !");
    return 1;
    }
    new check= pfandflaschen[playerid] - pflasche;
    if(check > pfandflaschen[playerid]) { SendClientMessage(playerid, COLOR_GREY, " So Viele Flaschen haben sie nicht mehr."); return 1; }
    new preis;
    pfandflaschen[playerid] -= pflasche;
    new geld = 8; // 8 Bestimmt den preis pro Flasche
    preis = geld * pflasche;
    GivePlayerMoney(playerid, preis);
    format(string, sizeof(string), " Du hast %d Pflaschen Abgegeben! und dafür %d $ Erhalten", pflasche,preis);
    SendClientMessage(playerid, COLOR_GRAD4, string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, "Du bist nicht am Abgabe punkt");
    return 1;
    }
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


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

  • if(strcmp(cmd, "/sellflaschen", true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(PlayerToPoint(10.0, playerid,-1991.258301, 209.510178, 28.342875) || PlayerToPoint(10.0, playerid,1478.815430, -1674.258179, 14.709888)) // Hier die Cords von den Verkaufspunkt der Flaschen
    {
    if(pfandflaschen[playerid] == 0) { SendClientMessage(playerid, COLOR_YELLOW,"Sie Besitzen keine Pfandflaschen"); return 1; }
    new pflasche;
    pflasche = strval(tmp);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: sellflasche [anzahl]");
    format(string, sizeof(string), " Du hast %d Pflaschen bei dir",pfandflaschen[playerid]);
    SendClientMessage(playerid, COLOR_GRAD3, string);
    return 1;
    }
    if(pflasche > pfandflaschen[playerid])
    {
    SendClientMessage(playerid, COLOR_GRAD2, " Du hast nicht soviele Pfand Flaschen !");
    return 1;
    }
    new check= pfandflaschen[playerid] - pflasche;
    if(check > pfandflaschen[playerid]) { SendClientMessage(playerid, COLOR_GREY, " So Viele Flaschen haben sie nicht mehr."); return 1; }
    new preis;
    pfandflaschen[playerid] -= pflasche;
    new geld = 8; // 8 Bestimmt den preis pro Flasche
    preis = geld * pflasche;
    GivePlayerMoney(playerid, preis);
    format(string, sizeof(string), " Du hast %d Pflaschen Abgegeben! und dafür %d $ Erhalten", pflasche,preis);
    SendClientMessage(playerid, COLOR_GRAD4, string);
    } //DIESE KLAMMER WEG ODER? :P
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, "Du bist nicht am Abgabe punkt");
    return 1;
    }
    return 1;
    }


    Diese Klammer muss doch weg oder nicht^^?


    Mfg. und danke

  • finde das System nice, kann mir das einer schicken? wäre Super!

  • Kannst mir nicht einfach sagen wo die Klammerfehler sind :S bin gerade richtig Müdee und voll verpeilt :|


    mfg. :love:


    //Edit: Bekomme 4 Errors bei deinem :S


    C:\DOKUME~1\Besitzer\Desktop\SELFMA~1\GAMEMO~1\Romal.pwn(5628) : warning 217: loose indentation
    C:\DOKUME~1\Besitzer\Desktop\SELFMA~1\GAMEMO~1\Romal.pwn(5639) : error 017: undefined symbol "string"
    C:\DOKUME~1\Besitzer\Desktop\SELFMA~1\GAMEMO~1\Romal.pwn(5639) : error 017: undefined symbol "string"
    C:\DOKUME~1\Besitzer\Desktop\SELFMA~1\GAMEMO~1\Romal.pwn(5639) : error 029: invalid expression, assumed zero
    C:\DOKUME~1\Besitzer\Desktop\SELFMA~1\GAMEMO~1\Romal.pwn(5639) : fatal error 107: too many error messages on one line


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



    4 Errors.

  • So wie ich es gemacht habe, da gibt es keinen Klammerfehler ^^


    mfg. :thumbup:


    //Edit:


    setze einfach an den Anfang deines Befehls:


    new string[128];
    #pragma tabsize 0

    ast2ufdyxkb1.png


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

  • SQL
    Okay danke :) aber jetzt bekomme ich 4Errors



    C:\DOKUME~1\Besitzer\Desktop\SELFMA~1\GAMEMO~1\Romal.pwn(5628) : warning 217: loose indentation
    C:\DOKUME~1\Besitzer\Desktop\SELFMA~1\GAMEMO~1\Romal.pwn(5639) : error 017: undefined symbol "string"
    C:\DOKUME~1\Besitzer\Desktop\SELFMA~1\GAMEMO~1\Romal.pwn(5639) : error 017: undefined symbol "string"
    C:\DOKUME~1\Besitzer\Desktop\SELFMA~1\GAMEMO~1\Romal.pwn(5639) : error 029: invalid expression, assumed zero
    C:\DOKUME~1\Besitzer\Desktop\SELFMA~1\GAMEMO~1\Romal.pwn(5639) : fatal error 107: too many error messages on one line


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



    4 Errors.


    //EDit²: Okay hat sich geklärt :)


    Mfg.