Bonjour, bon j'ai encore des problèmes :p
1er : J'ai une commande qui met un point rouge sur la carte quand un policier a besoin d'aide et enfaite tout le monde le voit voici le code :
if(strcmp(cmd,"/backup",true)==0 || strcmp(cmd,"/bk",true)==0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
{
if (PlayerInfo[playerid][pRequestingBackup] != 1)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "A TOUTE LES UNITES: %s a besoin de votre aide, il est marqué sur la carte (point rouge).", sendername);
PlayerInfo[playerid][pRequestingBackup] = 1;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
{
SetPlayerMarkerForPlayer(i, playerid, 0xFF0000FF);
SendClientMessage(i, TEAM_BLUE_COLOR, string);
}
}
}
SendClientMessage(playerid, TEAM_BLUE_COLOR, "Tapez /bkc pour éffacer la requète.");
SetTimerEx("BackupClear", 180000, false, "ii", playerid, 1);
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Votre requète est déja active!");
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Vous n'êtes pas policie!");
}
}
return 1;
}
if(strcmp(cmd,"/backupclear",true)==0 || strcmp(cmd,"/bkc",true)==0)
{
BackupClear(playerid, 0);
return 1;
}
Et j'ai fait une deuxième commande pour arrêter un mec sur un icone et sa le met en prison et bah quand il sort il se retrouve dans l'autre prison voici le code :
if(strcmp(cmd, "/varreter2", 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'etes pas en service!");
return 1;
}
if(!PlayerToPoint(6.0, playerid, 184.9467,561.6790,1.3889))
{// Jail spot
SendClientMessage(playerid, COLOR_GREY, " Trop loin de la prison !");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /varreter [price] [time (minutes)] [bail (0=no 1=yes)] [bailprice]");
return 1;
}
moneys = strval(tmp);
if(moneys < 1 || moneys > 99999) { SendClientMessage(playerid, COLOR_GREY, " Limite entre 1 et $99999 !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /varreter [price] [time (minutes)] [bail (0=no 1=yes)] [bailprice]");
return 1;
}
new time = strval(tmp);
if(time < 1 || time > 20) { SendClientMessage(playerid, COLOR_GREY, " Limite de temps entre 1 et 20 minutes !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /varreter [price] [time (minutes)] [bail (0=no 1=yes)] [bailprice]");
return 1;
}
new bail = strval(tmp);
if(bail < 0 || bail > 1) { SendClientMessage(playerid, COLOR_GREY, " Limite entre 1 et 0 !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /varreter [price] [time (minutes)] [bail (0=no 1=yes)] [bailprice]");
return 1;
}
new bailprice = strval(tmp);
if(bailprice < 0 || bailprice > 3000000) { SendClientMessage(playerid, COLOR_GREY, " Jail Bailing can't be below $0 or above $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, " Ce joueur n'est pas recherché !");
return 1;
}
format(string, sizeof(string), "* Vous avez arreté %s !", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
GivePlayerMoney(suspect, -moneys);
format(string, sizeof(string), "Arreté 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), "<< Officier %s a arreté le suspect %s >>", sendername, giveplayer);
OOCNews(COLOR_LIGHTRED, string);
}
else if(PlayerInfo[playerid][pMember]==2||PlayerInfo[playerid][pLeader]==2)
{
format(string, sizeof(string), "<< FBI Agent %s a arreté le suspect %s >>", sendername, giveplayer);
OOCNews(COLOR_LIGHTRED, string);
}
else if(PlayerInfo[playerid][pMember]==3||PlayerInfo[playerid][pLeader]==3)
{
format(string, sizeof(string), "<< Soldier %s a arreté le suspect %s >>", sendername, giveplayer);
OOCNews(COLOR_LIGHTRED, string);
}
SetPlayerPos(suspect,193.1821,526.9352,1.2907);
PlayerInfo[suspect][pJailTime] = time * 60;
if(bail == 1)
{
JailPrice[suspect] = bailprice;
format(string, sizeof(string), "Vous etes en prison pour %d secondes. Caution: $%d", PlayerInfo[suspect][pJailTime], JailPrice[suspect]);
SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
}
else
{
JailPrice[suspect] = 0;
format(string, sizeof(string), "Vous etes en prison pour %d secondes. Caution: Pas de caution", PlayerInfo[suspect][pJailTime]);
SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
}
PlayerInfo[suspect][pJailed] = 1;
PlayerInfo[suspect][pArrested] += 1;
SetPlayerFree(suspect,playerid, "Arreté");
WantedPoints[suspect] = 0;
WantedLevel[suspect] = 0;
WantLawyer[suspect] = 1;
}//distance
}//not connected
else
{
SendClientMessage(playerid, COLOR_GREY, " Personne a arreter.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Vous ne faites pas partie des forces de l'ordre!");
return 1;
}
}//not connected
return 1;
}