Brauche Hilfe bei : Admin Prison & Junk Buster

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
  • So hallo liebe Leute ,
    habe folgendes Problem , ich habe ein Admin Prison , das ist so auch schon ganz gut , nur ich bekomme es nicht hin (werde auch nicht wirklich schlau aus den Bestehenden Threads) die AP Zeit zu Speichern , da nach dem Relog
    ist der Jenige wieder aus dem Ap draußen . Und der Befehl sollte /prison [ID/NAME] [Geld] [Grund] sein , ich weiß nicht wie ich das mit dem Grund machen soll , sowie mit dem Geld . Ich würde mich freuen wenn mir das Jemand eben erklären könnte , oder mir das in meine Script Zeile einfügen könnte .
    if(strcmp(cmd, "/prison",true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pAdmin] < 2)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist nicht befugt !");
    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), "AdmCMD:Du hast %s in das Admin Prison gesteckt.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTRED, string);
    format(string, sizeof(string), "Du wurdest von Admin %s in das Admin Prison gesteckt.", sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
    GameTextForPlayer(giveplayerid, "~w~Willkommen im ~n~~r~ Admin Prison !", 5000, 3);
    WantedPoints[giveplayerid] = 0;
    WantedLevel[giveplayerid] = 0;
    SetPlayerWantedLevel(giveplayerid,0);
    PlayerInfo[giveplayerid][pJailed] = 2;
    PlayerInfo[giveplayerid][pJailTime] = 3600;
    ResetPlayerWeapons(playerid);
    SetPlayerInterior(playerid,0);
    SetPlayerPos(giveplayerid, 273.3720,1854.9644,8.7649);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist nicht da!");
    return 1;
    }
    }
    return 1;
    }



    Das mit dem JunkBuster haut nicht hin , da mir das Filterscript nicht in meiner CFG angezeigt wird . Ich benutze SAMP4YOU .
    Ich bedanke mich schonmal im Vorraus .


    MfG


    .Cro

  • arbeite am besten mit sscanf da dies schneller ist und auch einfacher und du brauchst kein strtok


    hier ein beispiel für solche ein command der sollte so gehen


    ocmd:prison(playerid,params[])
    {
    new pID,geld,grund[64],string[128], pName[MAX_PLAYER_NAME], pIDName[MAX_PLAYER_NAME];
    if(sscanf(params,"uds",pID,geld,grund)) return SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /prison [ID/Name] [Betrag] [Grund]");
    if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_GREY, "Du bist nicht befugt !");
    if(IsPlayerConnected(pID)) return SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist nicht da!");
    GetPlayerName(pID, pIDName, sizeof(pIDName));
    GetPlayerName(playerid, pName, sizeof(pName));
    format(string, sizeof(string), "AdmCMD:Du hast %s in das Admin Prison gesteckt Grund: %s.", pIDName, grund);
    SendClientMessage(playerid, COLOR_LIGHTRED, string);
    format(string, sizeof(string), "Du wurdest von Admin %s in das Admin Prison gesteckt Grund: %s.", pName, grund);
    SendClientMessage(pID, COLOR_LIGHTRED, string);
    GameTextForPlayer(pID, "~w~Willkommen im ~n~~r~ Admin Prison !", 5000, 3);
    WantedPoints[pID] = 0;
    WantedLevel[pID] = 0;
    GivePlayerMoney(pID,-geld);
    SetPlayerWantedLevel(pID,0);
    PlayerInfo[pID][pJailed] = 2;
    PlayerInfo[pID][pJailTime] = 3600;
    ResetPlayerWeapons(playerid);
    SetPlayerInterior(playerid,0);
    return 1;
    }