Moin Brotfische..
ich bräuchte einen /arrest befehl für mein GNE Script.Da ich leider überhaupt keine vorstellung davon habe wir ich das mache bitte ich euch um hilfe.Der Befehl sollte die Wanteds von dem Verbrecher prüfen und ihn dann für jeden Wanted 2 Minuten lang einsperren.Also sollte das ungefähr so aussehen:
/arrest [SpielerID/Name]
Mehr nicht..Der bisherige /arrest Befehl ist so:
if(strcmp(cmd, "/arrest", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gTeam[playerid] == 2 || IsACop(playerid) || PlayerInfo[playerid][pMember] == 12 || PlayerInfo[playerid][pLeader] == 12 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
{
if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1)
{
SendClientMessage(playerid, COLOR_GREY, " Du bist nicht im Dienst!");
return 1;
}
if(IsPlayerInRangeOfPoint(playerid,6.0, 218.8988,114.1459,999.0156) || IsPlayerInRangeOfPoint(playerid,6.0,1530.1338,-1676.9119,5.4657))
{// Jail spot
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Befehl: /arrest [preis] [zeit (minuten)] [kaution (0=nein 1=ja)] [kationspreis]");
SendClientMessage(playerid, COLOR_GRAD2, "Tipp: Beim Normalfall 2.000$ + 3 Minuten pro Wanted und beim Stellen 1.000$ + 2 Minuten pro Wanted");
return 1;
}
moneys = strval(tmp);
if(moneys < 1 || moneys > 10000) { SendClientMessage(playerid, COLOR_GREY, " Das Bußgeld muss zwischen 1 und 10.000$ betragen!"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /arrest [preis] [zeit (minuten)] [kaution (0=nein 1=ja)] [kationspreis]");
SendClientMessage(playerid, COLOR_GRAD2, "Tipp: Beim Normalfall 2.000$ + 3 Minuten pro Wanted und beim Stellen 1.000$ + 2 Minuten pro Wanted");
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 liegen !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /arrest [preis] [zeit (minuten)] [kaution (0=nein 1=ja)] [kationspreis]");
SendClientMessage(playerid, COLOR_GRAD2, "Tipp: Beim Normalfall 2.000$ + 3 Minuten pro Wanted und beim Stellen 1.000$ + 2 Minuten pro Wanted");
return 1;
}
new bail = strval(tmp);
if(bail < 0 || bail > 1) { SendClientMessage(playerid, COLOR_GREY, " Die Möglichkeit einer Kaution kann entweder mit 0 abgelehnt-, oder mit 1 erlaubt werden !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /arrest [preis] [zeit (minuten)] [kaution (0=nein 1=ja)] [kationspreis]");
SendClientMessage(playerid, COLOR_GRAD2, "Tipp: Beim Normalfall 2.000$ + 3 Minuten pro Wanted und beim Stellen 1.000$ + 2 Minuten pro Wanted");
return 1;
}
new bailprice = strval(tmp);
if(bailprice < 0 || bailprice > 10000) { SendClientMessage(playerid, COLOR_GREY, " Der Kautionspreis darf nicht unter 1$ oder über $10.000$ liegen !"); return 1; }
new suspect = GetClosestPlayer(playerid);
if(IsACop(suspect))
{
SendClientMessage(playerid, COLOR_GRAD2, " Du kannst keinen Beamten einsperren!");
return 1;
}
if(IsPlayerConnected(suspect))
{
if(GetDistanceBetweenPlayers(playerid,suspect) < 5)
{
GetPlayerName(suspect, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(WantedLevel[suspect] < 1)
{
SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist nicht gesucht!");
return 1;
}
GivePlayerMoney(playerid, moneys/2);
FraktionsKasse[0] += moneys/2;
format(string, sizeof(string), "* Du hast %s eingesperrt für $%d!", giveplayer,moneys);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
GivePlayerMoney(suspect, -moneys);
format(string, sizeof(string), "Eingesperrt von %s ~n~ fuer $%d", sendername, moneys);
GameTextForPlayer(suspect, string, 5000, 5);
ResetPlayerWeapons(suspect);
if(PlayerInfo[playerid][pMember]==1||PlayerInfo[playerid][pLeader]==1)
{
format(string, sizeof(string), "INFO: Officer %s hat den gesuchten %s eingesperrt", sendername, giveplayer);
OOCNews(COLOR_YELLOW, string);
}
else if(PlayerInfo[playerid][pMember]==2||PlayerInfo[playerid][pLeader]==2)
{
format(string, sizeof(string), "INFO: Agent %s hat den Verdächtigen %s eingesperrt", sendername, giveplayer);
OOCNews(COLOR_YELLOW, string);
}
else if(PlayerInfo[playerid][pMember]==3||PlayerInfo[playerid][pLeader]==3)
{
format(string, sizeof(string), "INFO: Soldat %s hat den Verdächtigen %s eingesperrt", sendername, giveplayer);
OOCNews(COLOR_LIGHTRED, string);
}
else if(PlayerInfo[playerid][pMember]==22||PlayerInfo[playerid][pLeader]==22)
{
format(string, sizeof(string), "INFO: SWAT Agent %s hat den gesuchten %s eingesperrt", sendername, giveplayer);
OOCNews(COLOR_YELLOW, string);
}
if(LSPDZellen == 0)//zelle1
{
SetPlayerInterior(suspect, 3);
SetPlayerPos(suspect,215.0419,110.2922,999.0156);
LSPDZellen += 1;
}
if(LSPDZellen == 1)//zelle2
{
SetPlayerInterior(suspect, 3);
SetPlayerPos(suspect,227.8457,110.7000,999.0156);
LSPDZellen += 1;
}
if(LSPDZellen == 2)//zelle3
{
SetPlayerInterior(suspect, 3);
SetPlayerPos(suspect,223.2922,110.6890,999.0156);
LSPDZellen = 0;
}
/*if(LSPDZellen == 0)//zelle4
{
SetPlayerPos(suspect,197.8290,161.8141,1003.0300);
LSPDZellen += 1;
}
if(LSPDZellen == 0)//zelle5
{
SetPlayerPos(suspect,197.8290,161.8141,1003.0300);
LSPDZellen += 1;
}
if(LSPDZellen == 0)//zelle6
{
SetPlayerPos(suspect,197.8290,161.8141,1003.0300);
LSPDZellen += 1;
}*/
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;
SetPlayerInterior(suspect, 6);
SetPlayerFree(suspect,playerid, "Verhaftet");
WantedPoints[suspect] = 0;
WantedLevel[suspect] = 0;
SetPlayerWantedLevel(suspect,0);
}//distance
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Niemand zum Verhaften in deiner Nähe.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Du bist kein Beamter !");
return 1;
}
}//not connected
return 1;
}
Leider garnicht das was ich haben will.Desweiteren sollte gecheckt werden wo sie sich befinden (FBI Arrest Punkt, LSPD)
Hier die Koordinaten für die Arrest Points und die Zellen:
LSPD Arrest Punkt: 1564.5737,-1694.0496,5.8906
LSPD Zelle 1: 263.9675,86.6190,1001.0391 FacingAngle: 269.0201
LSPD Zelle 2: 264.2247,82.2584,1001.0391 FacingAngle: 269.4179
LSPD Zelle 3: 264.2914,77.6033,1001.0391 FacingAngle: 274.2478
FBI Arrest Punkt: -2442.5898,523.3867,29.9120
FBI Zelle 1: 198.2139,161.9310,1003.0300 FacingAngle: 175.5056
FBI Zelle 2: 197.9860,175.1709,1003.0234 FacingAngle: 0.4111
FBI Zelle 3: 193.8562,175.4015,1003.0234 FacingAngle: 2.7987
//Edit: Der Polizist sollte pro Wanted noch 200$ bekommen,sie sollten in einem Fahrzeug sitzen & der Verbrecher sollte gefesselt sein
Wäre Super wenn das einer für mich Scripten könnte oder eventuell sogar ein Tutorial dazu machen könnte
MFG. Jadeclon