Prison - Befehl fehlerhaft

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 ich tuhe mich schwer mit meinem Prison befehl also das dort der Grund steht


    der befehl wie immer im Anhang :D


    if(strcmp(cmd, "/prison", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /prison [Spieler ID / Name] [Zeit in Minuten]");
    return 1;
    }
    new playa;
    new money;
    playa = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    money = strval(tmp);
    if(playa == playerid)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du kannst nicht dich selber einsperren!");
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] < PlayerInfo[playa][pAdmin])
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du kannst keinen höherrangigen Admin einsperren!");
    return 1;
    }
    if (PlayerInfo[playerid][pAdmin] >= 2)
    {
    if(IsPlayerConnected(playa))
    {
    if(playa != INVALID_PLAYER_ID)
    {
    GetPlayerName(playa, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* Du hast %s ins Prison gesteckt.", giveplayer);
    SendClientMessage(playerid, 0xFF1E00FF, string);
    format(string, sizeof(string), "* Du wurdest von Admin %s ins Prison gesteckt.", sendername);
    SendClientMessage(playa, 0xFF1E00FF, string);
    format(string, sizeof(string), " %s wurde von %s ins Prison gesteckt. ", giveplayer, sendername);
    SendClientMessageToAll(0xFF1E00FF, string);
    ResetPlayerWeapons(playa);
    WantedPoints[playa] = 0;
    PlayerInfo[playa][pJailed] = 1;
    PlayerInfo[playa][pJailTime] = money*60;
    SetPlayerInterior(playa, 0);
    SetPlayerPos(playa, 271.1351,1858.3071,8.7578);
    format(string, sizeof(string), "Du wurdest für %d Minuten ins Prison gesteckt.", money);
    SendClientMessage(playa, COLOR_LIGHTBLUE, string);
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du darfst diesen Befehl nicht benutzen!");
    }
    }
    return 1;
    }

  • Versuche es so:
    if(strcmp(cmd, "/prison", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new playa, time, len = strlen(cmd)+1;
    tmp = strtok(cmdtext, idx);
    len += strlen(tmp)+1;
    playa = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    len += strlen(tmp)+1;
    time = strval(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /prison [Spieler ID / Name] [Zeit in Minuten] [Grund]");
    return 1;
    }
    if(playa == playerid)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du kannst nicht dich selber einsperren!");
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] < PlayerInfo[playa][pAdmin])
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du kannst keinen höherrangigen Admin einsperren!");
    return 1;
    }
    if (PlayerInfo[playerid][pAdmin] >= 2)
    {
    if(IsPlayerConnected(playa))
    {
    if(playa != INVALID_PLAYER_ID)
    {
    GetPlayerName(playa, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* Du hast %s ins Prison gesteckt. Grund: %s", giveplayer, cmdtext[len]);
    SendClientMessage(playerid, 0xFF1E00FF, string);
    format(string, sizeof(string), "* Du wurdest von Admin %s ins Prison gesteckt. Grund: %s", sendername, cmdtext[len]);
    SendClientMessage(playa, 0xFF1E00FF, string);
    format(string, sizeof(string), " %s wurde von %s ins Prison gesteckt. Grund: %s", giveplayer, sendername, cmdtext[len]);
    SendClientMessageToAll(0xFF1E00FF, string);
    ResetPlayerWeapons(playa);
    WantedPoints[playa] = 0;
    PlayerInfo[playa][pJailed] = 1;
    PlayerInfo[playa][pJailTime] = time*60;
    SetPlayerInterior(playa, 0);
    SetPlayerPos(playa, 271.1351,1858.3071,8.7578);
    format(string, sizeof(string), "Du wurdest für %d Minuten ins Prison gesteckt.", time);
    SendClientMessage(playa, COLOR_LIGHTBLUE, string);
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du darfst diesen Befehl nicht benutzen!");
    }
    }
    return 1;
    }

  • format(string, sizeof(string), " %s wurde von %s ins Prison gesteckt. Grund: %s", giveplayer, sendername, cmdtext[len]);
    zu
    format(string, sizeof(string), " %s wurde von %s ins Prison gesteckt. Grund: %s - %d", giveplayer, sendername, cmdtext[len],time);