Bonjour,
Je voudrais que quand un policier tape /arreter et qu'il ne soit pas dans le praking du commicariat à cette endroit là :
1528.2424,-1677.4082,5.8906Il y a un message qui dise "vous n'êtes pas près des prisons.
J'ai déjà ceci :
if(strcmp(cmd, "/arreter", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gTeam[playerid] == 2 || IsACop(playerid))
{
if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1)
{
SendClientMessage(playerid, COLOR_GREY, " Vous n'êtes pas en service !");
return 1;
}
if(!PlayerToPoint(6.0, playerid, 268.3327,77.8972,1001.0391)
{// Jail spot
SendClientMessage(playerid, COLOR_GREY, " Vous n'êtes pas près de la prison, vous ne pouvez pas arreter quelqu'un !");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /arreter [prix] [temps (minutes)] [caution (0=non 1=oui)] [prix de la caution]");
return 1;
}
moneys = strval(tmp);
if(moneys < 1 || moneys > 35000) { SendClientMessage(playerid, COLOR_GREY, " Le prix de l'arrestation ne peux être entre 1 et 35000$ !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /arreter [prix] [temps (minutes)] [caution (0=non 1=oui)] [prix de la caution]");
return 1;
}
new time = strval(tmp);
if(time < 1 || time > 40) { SendClientMessage(playerid, COLOR_GREY, " Le temps de la prison est de 1 à 40 minutes."); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /arreter [prix] [temps (minutes)] [caution (0=non 1=oui)] [prix de la caution]");
return 1;
}
new bail = strval(tmp);
if(bail < 0 || bail > 1) { SendClientMessage(playerid, COLOR_GREY, " La caution est 1 (non) ou 2 (oui)."); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /arreter [prix] [temps (minutes)] [caution (0=non 1=oui)] [prix de la caution]");
return 1;
}
new bailprice = strval(tmp);
if(bailprice < 0 || bailprice > 3000000) { SendClientMessage(playerid, COLOR_GREY, " La caution peut être entre $0 ou $3000000 !"); return 1; }
new suspect = GetClosestPlayer(playerid);
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, " le joueur doit être recherché !");
return 1;
}
format(string, sizeof(string), "* Vous avez arreter %s !", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
GivePlayerMoney(suspect, -moneys);
format(string, sizeof(string), "Arrestation par %s ~n~ pour $%d", sendername, moneys);
GameTextForPlayer(suspect, string, 5000, 5);
ResetPlayerWeapons(suspect);
if(PlayerInfo[playerid][pMember]==1||PlayerInfo[playerid][pLeader]==1)
{
format(string, sizeof(string), "<< L'officier %s a arréter le suspect %s >>", sendername, giveplayer);
OOCNews(COLOR_LIGHTRED, string);
}
else if(PlayerInfo[playerid][pMember]==2||PlayerInfo[playerid][pLeader]==2)
{
format(string, sizeof(string), "<< L'agent du FBI %s a arréter le suspect %s >>", sendername, giveplayer);
OOCNews(COLOR_LIGHTRED, string);
}
else if(PlayerInfo[playerid][pMember]==3||PlayerInfo[playerid][pLeader]==3)
{
format(string, sizeof(string), "<< le soldat %s a arréter le suspect %s >>", sendername, giveplayer);
OOCNews(COLOR_LIGHTRED, string);
}
SetPlayerInterior(suspect, 6);
SetPlayerPos(suspect,264.6288,77.5742,1001.0391);
PlayerInfo[suspect][pJailTime] = time * 60;
if(bail == 1)
{
JailPrice[suspect] = bailprice;
format(string, sizeof(string), "Vous avez été arreter pour %d secondes. Caution: %d$", PlayerInfo[suspect][pJailTime], JailPrice[suspect]);
SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
}
else
{
JailPrice[suspect] = 0;
format(string, sizeof(string), "Vous avez été arreter pour %d secondes. Caution: Unable", PlayerInfo[suspect][pJailTime]);
SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
}
PlayerInfo[suspect][pJailed] = 1;
PlayerInfo[suspect][pArrested] += 1;
SetPlayerFree(suspect,playerid, "Got Arrested");
WantedPoints[suspect] = 0;
WantedLevel[suspect] = 0;
WantLawyer[suspect] = 1;
}//distance
}//not connected
else
{
SendClientMessage(playerid, COLOR_GREY, " No-one close enough to arrest.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Vous n'êtes pas un policier/agent du FBI/soldat !");
return 1;
}
}//not connected
return 1;
}
je ne veux surtout pas supprimer la position quand on est dans le commicariat (ceci : if(!PlayerToPoint(6.0, playerid, 268.3327,77.8972,1001.0391) )
Mais en ajouer un autre quoi,
Je me suis mal exprimé, mais j'éspère que vous avez compris !
Merci d'avance de vos réponses,
AKS