ocmd:arrest(playerid,params[])
{
if(gTeam[playerid] == TEAM_COPS)
{
new pID;
if(sscanf(params,"u",pID)) return SendClientMessage(playerid,ROT, "Benutzung: /arrest [ID]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, ROT, "Der Spieler ist nicht online!");
new Float:x, Float:y, Float:z;
GetPlayerPos(pID, x, y, z);
if(IsPlayerInRangeOfPoint(pID,5.0, x,y,z)) {
if(GetPlayerWantedLevel(pID) >=5)
{
new strg[250];
new arname[MAX_PLAYER_NAME];
new copname[MAX_PLAYER_NAME];
GetPlayerName(pID, arname,sizeof(arname));
GetPlayerName(playerid,copname, sizeof(copname));
format(strg, sizeof(strg), "Knast-Info: %s wurde von Officer %s Eingesperrt!", arname,copname);
SetPlayerInterior(pID, 3);
SetPlayerPos(pID, 194.0580,175.4876,1003.0234);
SendClientMessageToAll(ROT, strg);
SendClientMessage(pID, ROT, "Ein Cop hat dich verhaftet und du wurdest eingesperrt! (( 20 Sekunden ))");
GivePlayerMoney(playerid, 5000);
timerkill = SetTimerEx("Knast", 20000, false,"i", pID );
ResetPlayerWeapons(pID);
SetPlayerWantedLevel(pID, 0);
SetPlayerColor(pID, WEISS);
knasted[pID] = 1;
return 1;
}
else SendClientMessage(playerid, ROT, "Der Spieler hat zu wenig Wanteds! Stelle ihm ein Ticket mit /ticket aus!");
}
else SendClientMessage(playerid, ROT, "Spieler ist nicht in der Nähe!");
}
else SendClientMessage(playerid, ROT, "Du bist kein Cop!");
return 1;
}
So sollte es wohl besser funktionieren.
Zur For-Schleife:
Eine For-Schleife ist eine Schleife die sooft wie du es angibst ausgeführt wirst, Beispiel:
for(new i = 0; i < MAX_PLAYERS; i++)
heißt
for(new Variable ist 0; Variable ist kleiner als MAX_PLAYERS; variable wird um 1 erhöht)
Damit kannst du z.B alle Spieler, Fahrzeuge oder Erstellten Häuser - je nachdem wie dein System ist - abzählen.