/unprison-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
  • Hi,


    ich habe kein /unprison Befehl.. sprich wenn man ne falsche ID erwischt, kommt der falsche rein, kann ihn aber nicht rausholen.
    Der Befehl für das /prison ID ist:



    if(strcmp(cmd, "/prison",true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pAdmin] < 2)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Admin !");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /prison [playerid]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* Du hast %s nach Fort DeMorgan teleportiert.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTRED, string);
    format(string, sizeof(string), "* Du wurdest von Admin %s zur Toilette des Todes teleportiert.", sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
    GameTextForPlayer(giveplayerid, "~w~Willkommen in ~n~~r~der Toilette des Todes", 5000, 3);
    WantedPoints[giveplayerid] = 0;
    WantedLevel[giveplayerid] = 0;
    SetPlayerWantedLevel(giveplayerid,0);
    PlayerInfo[giveplayerid][pJailed] = 1;
    PlayerInfo[giveplayerid][pJailTime] = 3600;
    ResetPlayerWeapons(playerid);
    SetPlayerInterior(playerid,18);
    SetPlayerPos(giveplayerid, 198.0667,174.7601,1003.0234);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist nicht da!");
    return 1;
    }
    }
    return 1;
    }


    Für /unprison habe ich das hier versucht:



    if (strcmp(cmdtext, "/unprison", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pAdmin] < 2)
    {
    SendClientMessage(playerid, COLOR_GREY, "**Du bist kein Admin");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /unprison [playerID]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* Du hast %s nach Los Santos teleportiert.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTRED, string);
    format(string, sizeof(string), "* Du wurdest von einem Admin aus dem Prison entfernt.", sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
    GameTextForPlayer(giveplayerid, "Du wurdest von einem Admin aus dem Prison entfernt.", 5000, 3);
    WantedPoints[giveplayerid] = 0;
    WantedLevel[giveplayerid] = 0;
    SetPlayerWantedLevel(giveplayerid,0);
    PlayerInfo[giveplayerid][pJailed] = 0;
    PlayerInfo[giveplayerid][pJailTime] = 0;
    ResetPlayerWeapons(playerid);
    SetPlayerInterior(playerid,0);
    SetPlayerPos(giveplayerid, 1080.4908,-1797.6141,13.6743);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist offline.");
    return 1;
    }
    }
    return 1;
    }


    funktioniert allerdings nicht. :( er sagt zu mir: "/unprison 0" existiert nicht.



    Hoffe hier kann mir jemand helfen.



    grüße


    btw: so wird die userdatei.ini geändert:




    if( strcmp( key , "Jailed" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pJailed] = strval( val ); }
    if( strcmp( key , "JailTime" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pJailTime] = strval( val ); }


    Mit freundlichen Grüßen,


    BL4cKKS




    Einmal editiert, zuletzt von BL4cKKS ()



  • würde dir empfehlen auf zcmd oder ocmd jeweils mit sscanf oder sowas zu wechseln da es A schneller ist und B einfacher für dich ist und weniger probleme gibt..


    Ausserdem machst du eine doppelt abfrage weil IsPlayerConnected automatisch sagt ob die Spieler ID Valide ist oder nicht.. deswgen kanns du den part mit INVALID_PLAYER_ID weg lassen ^^


    Edit: Selbe Spiel mit am anfang Isplayerconnected ...ein spieler kann kein befehl eingeben ohne das er auf dem Server ist ;)

  • würde dir empfehlen auf zcmd oder ocmd jeweils mit sscanf oder sowas zu wechseln da es A schneller ist und B einfacher für dich ist und weniger probleme gibt..


    Ausserdem machst du eine doppelt abfrage weil IsPlayerConnected automatisch sagt ob die Spieler ID Valide ist oder nicht.. deswgen kanns du den part mit INVALID_PLAYER_ID weg lassen ^^


    Edit: Selbe Spiel mit am anfang Isplayerconnected ...ein spieler kann kein befehl eingeben ohne das er auf dem Server ist ;)

    Muss ich jetzt nur playerid in giveplayerid tauschen? oder muss ich noch die INVALID_PLAYER_ID zeile löschen?


    Grüße


    Mit freundlichen Grüßen,


    BL4cKKS