Fehler bei Wanted Befehl

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
  • Guten Tag,
    Ich sitze jetzt schon etwas länger dran und mir fällt der Fehler einfach nicht ein.
    Seit heute Scripte ich mit strget und habe mein Wanted System überarbeitet.
    Das ganze funktioniert soweit aber ich habe einen kleinen bug der liegt dabei
    das ich halt den Befehl /wanted [ID] [Anzahl] [Grund] habe und wenn ich halt
    diesen Befehl ausführe kommt halt bei den formarts wo halt steht Grund: %s
    nicht der Grund raus den ich angegeben habe sondern irgendwelche buchstaben
    und dann den Grund was mich stört. Ich scripte erst seit heute mit strget und
    bin daher damit ein bisschen unerfahren. Ich hoffe ihr könnt mir helfen!


    Hier der Code:
    if(strcmp(strget(cmdtext,0),"/wanted", true, 10) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gTeam[playerid] == 1 || IsACop(playerid))
    {
    if(OnDuty[playerid] == 1)
    {
    new tmp2[200],tmp3[200],sendercop[MAX_PLAYER_NAME];
    tmp = strget(cmdtext,1);
    tmp2 = strget(cmdtext,2);
    tmp3 = strget(cmdtext,2);
    if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3))
    {
    SendClientMessage(playerid, COLOR_WHITE, "FEHLER: /wanted [playerid][wantedlevel][Grund]");
    return 1;
    }
    giveplayerid = strval(strget(cmdtext,1));
    new wantedpunkte = strval(strget(cmdtext,2));
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if (pDaten[playerid][Funkgeraet] == 1)
    {
    if(giveplayerid == playerid)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du kannst dir nicht selbst wanteds geben!");
    return 1;
    }
    if(wantedpunkte > 6 || 1 > wantedpunkte) return SendClientMessage(playerid,COLOR_GREY,"Das Wantedlevel muss zwischen 1-6 liegen!");
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid,sendercop,sizeof(sendercop));
    format(string,sizeof(string),"Du hast %d Wantedlevel von: %s bekommen Grund: %s",wantedpunkte,sendercop,cmdtext[3]); SendClientMessage(giveplayerid,COLOR_BLUE,string);
    format(string,sizeof(string),"Du hast Spieler %s das WantedLevel %d gegeben. Grund: %s",giveplayer,wantedpunkte,cmdtext[3]);SendClientMessage(playerid,COLOR_BLUE,string);
    format(string,sizeof(string),"!!!ACHTUNG!!! Gesucht wird die Person: %s",giveplayer);SendCopMessage(COLOR_BLUE,string);
    format(string,sizeof(string),"!!!ACHTUNG!!! Das WantedLevel der Person beträgt: %d",wantedpunkte);SendCopMessage(COLOR_BLUE,string);
    format(string,sizeof(string),"!!!ACHTUNG!!! Die Person wird aus folgendem Grund gesucht: %s",cmdtext[3]);SendCopMessage(COLOR_BLUE,string);
    new stern = strval(strget(cmdtext,2));
    new wanteds = GetPlayerWantedLevel(playerid);
    SetPlayerWantedLevel(giveplayerid,wanteds+stern);
    WantedPoints[giveplayerid] += stern;
    pDaten[giveplayerid][Wantedss] = wanteds+stern;
    ocount = 1;
    if(WantedLevel[giveplayerid] > 6)
    {
    SetPlayerWantedLevel(giveplayerid,6);
    }


    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast kein Funkgerät bei dir.");
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist Offline !");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist nicht im Dienst(/duty)");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Polizist!");
    }
    }
    return 1;
    }