| Problem - Prison |

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
  • Liebe Community,
    Ich habe das Problem wenn ich jemanden ins Prison stecken will kommt, Du hast keine Berechtigung. Wie kann ich das fixen?


    Die Zeilen:

    if(strcmp(cmd, "/prison", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /prison [SpielerID] [Minute/n] [Begründung]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[giveplayerid][pAdmin] < 1)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast keine Berechtigung.");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /prison [SpielerID] [Minute/n] [Begründung]");
    return 1;
    }
    new time_p = strval(tmp);
    if(time_p < 0 ) return 1;
    new lenght = strlen(cmdtext);
    while ((idx < lenght) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < lenght) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /prison [SpielerID] [Minute/n] [Begründung]");
    return 1;
    }
    SetPlayerInterior(giveplayerid, 1);
    PlayerInfo[giveplayerid][pJailed] = 1;
    PlayerInfo[giveplayerid][pJailTime] = time_p;
    ResetPlayerWeapons(giveplayerid);
    PlayerInfo[giveplayerid][pInt] = 1;
    format(string, sizeof(string), "%s hat %s für %d Minuten ins Prison teleportiert, Begründung: %s", Name(playerid), Name(giveplayerid), PlayerInfo[playerid][pJailTime], (result));
    SendClientMessageToAll(COLOR_IRED, string);
    SetPlayerInterior(giveplayerid, 1);
    SetPlayerPos(giveplayerid, 2144.3108,1635.9301,993.5761);
    SpawnPlayer(giveplayerid);
    new jstr[500];
    format(jstr, sizeof(jstr), "Du wurdest von %s für %d Minuten ins Prison teleportiert, Begründung: %s", Name(playerid), PlayerInfo[playerid][pJailTime], (result));
    SendClientMessage(playerid, COLOR_IRED, string);
    return 1;
    }
    }
    }
    }
    return 1;
    }



    Dazu weiß ich leider nicht, wie man das schreibt das man einen höherrangigen Admin nicht einsperren kann.




    MFG
    James.

  • Spoiler anzeigen
    if(!strcmp(cmd,"/prison",true))
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))return SendClientMessage(playerid,COLOR_GRAD1,"Verwendung: /prison [SpielerID] [Minute/n] [Begründung]");
    giveplayerid = ReturnUser(tmp);
    if(PlayerInfo[playerid][pAdmin] < 1)return SendClientMessage(playerid, COLOR_GRAD1, "Du bist kein Adminlevel 1!");
    if(!IsPlayerConnected(giveplayerid))return SendClientMessage(playerid,COLOR_GRAD1,"Der Spieler ist nicht online!");
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))return SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /prison [SpielerID] [Minute/n] [Begründung]");
    new time_p = strval(tmp);
    if(time_p < 0 ) return 1;
    new lenght = strlen(cmdtext);
    while ((idx < lenght) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < lenght) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))return SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /prison [SpielerID] [Minute/n] [Begründung]");
    if(PlayerInfo[playerid][pAdmin] < PlayerInfo[giveplayerid][pAdmin])return SendClientMessage(playerid, COLOR_GRAD1, "Du hast keine Berechtigung!");
    SetPlayerInterior(giveplayerid, 1);
    PlayerInfo[giveplayerid][pJailed] = 1;
    PlayerInfo[giveplayerid][pJailTime] = time_p;
    ResetPlayerWeapons(giveplayerid);
    PlayerInfo[giveplayerid][pInt] = 1;
    format(string, sizeof(string), "%s hat %s für %d Minuten ins Prison teleportiert, Begründung: %s", Name(playerid), Name(giveplayerid), PlayerInfo[playerid][pJailTime], (result));
    SendClientMessageToAll(COLOR_IRED, string);
    SetPlayerInterior(giveplayerid, 1);
    SetPlayerPos(giveplayerid, 2144.3108,1635.9301,993.5761);
    SpawnPlayer(giveplayerid);
    new jstr[500];
    format(jstr, sizeof(jstr), "Du wurdest von %s für %d Minuten ins Prison teleportiert, Begründung: %s", Name(playerid), PlayerInfo[playerid][pJailTime], (result));
    SendClientMessage(playerid, COLOR_IRED, string);
    return 1;
    }

    Schreibe den Befehl mal so.

  • Probier es mal so =)
    if(strcmp(cmd, "/prison", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /prison [SpielerID] [Minute/n] [Begründung]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin])
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast keine Berechtigung.");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /prison [SpielerID] [Minute/n] [Begründung]");
    return 1;
    }
    new time_p = strval(tmp);
    if(time_p < 0 ) return 1;
    new lenght = strlen(cmdtext);
    while ((idx < lenght) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < lenght) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /prison [SpielerID] [Minute/n] [Begründung]");
    return 1;
    }
    SetPlayerInterior(giveplayerid, 1);
    PlayerInfo[giveplayerid][pJailed] = 1;
    PlayerInfo[giveplayerid][pJailTime] = time_p;
    ResetPlayerWeapons(giveplayerid);
    PlayerInfo[giveplayerid][pInt] = 1;
    format(string, sizeof(string), "%s hat %s für %d Minuten ins Prison teleportiert, Begründung: %s", Name(playerid), Name(giveplayerid), PlayerInfo[playerid][pJailTime], (result));
    SendClientMessageToAll(COLOR_IRED, string);
    SetPlayerInterior(giveplayerid, 1);
    SetPlayerPos(giveplayerid, 2144.3108,1635.9301,993.5761);
    SpawnPlayer(giveplayerid);
    new jstr[500];
    format(jstr, sizeof(jstr), "Du wurdest von %s für %d Minuten ins Prison teleportiert, Begründung: %s", Name(playerid), PlayerInfo[playerid][pJailTime], (result));
    SendClientMessage(playerid, COLOR_IRED, string);
    return 1;
    }
    }
    }
    }
    return 1;
    }