Frage zu string

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
  • ich fasse mich kurz, ich hab einen befehl gemacht, nur werden die namen nicht angezeigt und ich verstehe nicht warum? könnt ihr mir es vielleicht erklären?
    if(strcmp(cmd, "/allowpwchange", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, FARBE_WEIß, "Benutze: /allowpwchange [playerid]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if (PlayerInfo[playerid][pAdmin] >= 2)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    giveplayerid = ReturnUser(tmp);
    allowpwchange[giveplayerid] = 1;
    GetPlayerName(giveplayerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "Du hast %s erlaubt sein Passwort zu ändern.", giveplayer);
    SendClientMessage(playerid, FARBE_ORANGE, string);

    }
    }
    }
    else
    {
    format(string, sizeof(string), " %d gibt es nicht.", giveplayer);
    SendClientMessage(playerid, FARBE_GRAU, string);
    }


    }
    return 1;
    }

  • GetPlayerName(giveplayerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "Du hast %s erlaubt sein Passwort zu ändern.", giveplayer);
    SendClientMessage(playerid, FARBE_ORANGE, string);


    Fail. "giveplayer" ist ein Integer, ein Zahlenwert also.
    "%s" aber formatiert einen String, einen Text.


    So muss es sein:
    GetPlayerName(giveplayerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "Du hast %s (ID: %d) erlaubt sein Passwort zu ändern.", sendername,giveplayer);
    SendClientMessage(playerid, FARBE_ORANGE, string);