[Codeoptimierung] /setallskin funktioniert nicht einwandfrei

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
  • Hallo,


    //----------------------------[SetAllSkin]--------------------------------------
    if(strcmp(cmd, "/setallskin", true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >= 1338)
    {
    //new tmp[256];
    new skin = strval(tmp);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutzung: /setallskin [Skin-ID]");
    }
    for(new i = 0; i <= MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    PlayerInfo[i][pModel] = skin;
    SetPlayerSkin(i, skin);
    }
    }
    SendClientMessageToAll(COLOR_WHITE, "Ein Admin hat die Skins von jedem Spieler gewechselt.");
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du bist nicht befugt diesen Command zu benutzen (R1338 +)");
    }
    return 1;
    }


    funktioniert nicht so ganz.


    Zwar wird - wenn man den Befehl eingegeben hat - die Nachricht ausgegeben, dass alle Skins nun verändert worden seien, jedoch wird dieser immer mit dem gleichen Skin (CJ) verändert, obwohl man z.B. eine andere Skin-ID eingegeben hat (egal welche man eingibt, jeder bekommt immer CJ-Skin -.-).


    Wo liegt der Fehler?


    Über Antworten freue ich mich jetzt schon ;)

  • if(strcmp(cmd, "/setallskin", true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(PlayerInfo[playerid][pAdmin] >= 1338)
    {
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutzung: /setallskin [Skin-ID]");
    }
    tmp = strtok(cmdtext, idx);
    new skin = strval(tmp);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    PlayerInfo[i][pModel] = skin;
    SetPlayerSkin(i, skin);
    }
    }
    SendClientMessageToAll(COLOR_WHITE, "Ein Admin hat die Skins von jedem Spieler gewechselt.");
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du bist nicht befugt diesen Command zu benutzen (R1338 +)");
    }
    return 1;
    }


    Wie mir scheint hast du strtok vergessen ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski