/arrest...

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

  • if(strcmp(cmd, "/arrestALC", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pTot] == 1)
    {
    SendClientMessage(playerid, COLOR_GREY, "Tote können keine Befehle benutzen!");
    return 1;
    }
    if(gTeam[playerid] == 2)
    {
    if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist nicht im Dienst!");
    return 1;
    }
    if(!IsPlayerInRangeOfPoint(playerid,20.0, 1804.5670,-1580.3859,13.4552))
    {// Jail spot
    SendClientMessage(playerid, COLOR_GREY, "Sie sind nicht in der Nähe vom HSG!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GREY, "Benutzung: /arrest [Preis] [Zeit (Minuten)] [Kaution (0=Nein 1=Ja)] [Kautionspreis]");
    return 1;
    }
    moneys = strval(tmp);
    if(moneys < 1 || moneys > 100000) { SendClientMessage(playerid, COLOR_GREY, "Der Gefängnispreis darf nicht unter $1 oder über $100000 liegen!"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GREY, "Benutzung: /arrestALC [Preis] [Zeit (Minuten)] [Kaution (0=Nein 1=Ja)] [Kautionspreis]");
    return 1;
    }
    new time = strval(tmp);
    if(time < 1 || time > 60) { SendClientMessage(playerid, COLOR_GREY, "Die Minuten der Haftzeit dürfen nicht unter 1 oder über 60 Minuten liegen!"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GREY, "Benutzung: /arrestALC [Preis] [Zeit (Minuten)] [Kaution (0=Nein 1=Ja)] [Kautionspreis]");
    return 1;
    }
    new bail = strval(tmp);
    if(bail < 0 || bail > 0) { SendClientMessage(playerid, COLOR_GREY, "Keine_Kaution"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GREY, "Benutzung: /arrestALC [Preis] [Zeit (Minuten)] [Kaution (0=Nein 1=Ja)] [Kautionspreis]");
    return 1;
    }
    new bailprice = strval(tmp);
    if(bailprice < 0 || bailprice > 50000000) { SendClientMessage(playerid, COLOR_GREY, "Sie können nicht mehr als 5 Millionen einstellen!!"); return 1; }
    new suspect = GetClosestPlayer(playerid);
    if(IsACop(suspect))
    {
    SendClientMessage(playerid, COLOR_GREY, "Du kannst keinen Beamten einsperren!");
    return 1;
    }
    if(IsPlayerConnected(suspect))
    {
    if(GetDistanceBetweenPlayers(playerid,suspect) < 30)
    {
    GetPlayerName(suspect, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(WantedLevel[suspect] < 5)
    {
    SendClientMessage(playerid, COLOR_GREY, "Der Spieler hat nicht 6 oder mehr Wanteds!");
    return 1;
    }
    GivePlayerMoney(playerid, moneys);
    format(string, sizeof(string), "* Du hast %s für $%d eingesperrt!", giveplayer, moneys);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    GivePlayerMoney(suspect, -moneys);
    format(string, sizeof(string), "Eingesperrt von %s ~n~ für $%d", sendername, moneys);
    GameTextForPlayer(suspect, string, 5000, 5);
    ResetPlayerWeapons(suspect);
    SetPlayerSpawn(suspect);
    if(PlayerInfo[playerid][pMember]==1||PlayerInfo[playerid][pLeader]==1||PlayerInfo[playerid][pMember]==2||PlayerInfo[playerid][pLeader]==2)
    {
    format(string, sizeof(string), "<< Officer %s hat den Verdächtigen %s eingesperrt >>", sendername, giveplayer);
    OOCNews(COLOR_LIGHTRED, string);
    }
    else if(PlayerInfo[playerid][pMember]==2||PlayerInfo[playerid][pLeader]==2)
    {
    format(string, sizeof(string), "<< Officer %s hat den Verdächtigen %s eingesperrt >>", sendername, giveplayer);
    OOCNews(COLOR_LIGHTRED, string);
    }
    else if(PlayerInfo[playerid][pMember]==3||PlayerInfo[playerid][pLeader]==3)
    {
    format(string, sizeof(string), "<< Soldat %s hat den Verdächtigen %s eingesperrt >>", sendername, giveplayer);
    OOCNews(COLOR_LIGHTRED, string);
    }
    else if(PlayerInfo[playerid][pMember]==21||PlayerInfo[playerid][pLeader]==21)
    {
    format(string, sizeof(string), "<< Fbi Agent %s hat den Verdächtigen %s eingesperrt >>", sendername, giveplayer);
    OOCNews(COLOR_LIGHTRED, string);
    }
    SetPlayerInterior(suspect, 3);
    SetPlayerPos(suspect,197.7353,176.2541,1003.0234);
    PlayerInfo[suspect][pJailTime] = time * 60;
    if(bail == 1)
    {
    JailPrice[suspect] = bailprice;
    format(string, sizeof(string), "Du bist für %d Sekunden eingesperrt. Kaution: $%d", PlayerInfo[suspect][pJailTime], JailPrice[suspect]);
    SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
    }
    else
    {
    JailPrice[suspect] = 0;
    format(string, sizeof(string), "Du bist für %d Sekunden eingesperrt. Kaution: nicht möglich", PlayerInfo[suspect][pJailTime]);
    SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
    }
    PlayerInfo[suspect][pJailed] = 1;
    PlayerInfo[suspect][pArrested] += 1;
    SetPlayerFree(suspect,playerid, "Festgenommen!");
    WantedPoints[suspect] = 0;
    WantedLevel[suspect] = 0;
    WantLawyer[suspect] = 1;
    SetPlayerSpawn(suspect);
    }//distance
    }//not connected
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Es ist kein gesuchter in ihrer Nähe.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Sie sind kein Staatsbeamter!");
    return 1;
    }
    }//not connected
    return 1;
    }
    Wie schaff ich dieses"Preis, Kaution...etc" wegzukriegen? Halt man soll einfach /arrestalc [id] und, wenn die Person in der Nähe ist wird er eingesperrt.

  • if(strcmp(cmd, "/arrest", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(IsPlayerInRangeOfPoint(playerid, 20.0, 1804.5670, -1580.3859, 13.4552))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GREY, "Benutze: /arrest [SpielerName/playerid]");
    return 1;
    }
    new giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    // blablaalba
    //So und hier den ganzen Arrest Kram!
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist nicht am Arrest Point");
    }
    }
    }

  • Okay, gut.
    Eins noch. Ich will, dass der Spieler nur maximal 69 Wantedpunkte haben kann...ich hab's versucht, zwar kam die Fehlermeldung, dass der Spieler nur so und soviele Wantedpunkte haben kann, aber er erhielt trotzdem immer wieder die Wantedpunkte...

    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GREY, "Benutzung: /su [Playerid/Name] [Wantedpunkte] [Verbrechen]");
    return 1;
    }
    if(WantedAnzahl < 1 || WantedAnzahl > 69)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du kannst mindestens 1 Wantedpunkt und maximal 69 Wantedpunkte vergeben!");
    return 1;
    }
    else
    {
    WantedLevel[giveplayerid] += WantedAnzahl/10;
    WantedPoints[giveplayerid] += WantedAnzahl;
    PlayerInfo[playerid][pCrimes] += 1;
    format(string, sizeof(string), "Du hast ein Verbrechen begangen (%s). Reporter: %s.",result,sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
    format(string, sizeof(string), "Aktuelles Wantedlevel: %d", WantedLevel[giveplayerid]);
    SendClientMessage(giveplayerid, COLOR_YELLOW, string);
    format(string, sizeof(string), "Aktuelle Wantedpunkte: %d", WantedPoints[giveplayerid]);
    SendClientMessage(giveplayerid, COLOR_YELLOW, string);
    }
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsACop(i))
    {
    SendClientMessage(i, COLOR_LIGHTRED, string);
    format(string, sizeof(string), "Verbrechen: %s | Wantedlevel des Verbrechers: %d",result, WantedLevel[giveplayerid]);
    SendClientMessage(i, COLOR_LIGHTRED, string);
    }
    }
    return 1;