○•Exside•○
Умник
Добрые люди подскажите как сделать чтобы при РП арресте ( /arrest ) сажало рандомно т.е по разным координатам.
Вот собственно вся команда, кто поможет закидаю + до лимита
Вот собственно вся команда, кто поможет закидаю + до лимита
PHP:
if(strcmp(cmd, "/arrest", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(IsACop(playerid))
{
if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "Вы не при исполнении служебных обязанностей!");
return 1;
}
if(!PlayerToPoint(10.0, playerid, 268.3327,77.8972,1001.0391))
{// Jail spot
SendClientMessage(playerid, COLOR_GREY, "Вы не около Тюрьмы, не может Арестовать !");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, " Используйте: /arrest [штраф] [время(кол-во секунд)] [залог(0=нет 1=да)] [цена залога]");
return 1;
}
moneys = strval(tmp);
if(moneys < 1 || moneys > 99999) { SendClientMessage(playerid, COLOR_GREY, "Шраф должен быть не ниже 1$ и не выше 99999$ !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, " Используйте: /arrest [штраф] [время(кол-во секунд)] [залог(0=нет 1=да)] [цена залога]");
return 1;
}
new time = strval(tmp);
if(time < 1 || time > 6000) { SendClientMessage(playerid, COLOR_GREY, "Секунды Тюремного заключения не могут быть ниже 1, или выше 6000 !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, " Используйте: /arrest [штраф] [время(кол-во секунд)] [залог(0=нет 1=да)] [цена залога]");
return 1;
}
new bail = strval(tmp);
if(bail < 0 || bail > 1) { SendClientMessage(playerid, COLOR_GREY, "В залоге могут быть 2 варианта: либо нет(0), либо да(1)!"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, " Используйте: /arrest [штраф] [время(кол-во секунд)] [залог(0=нет 1=да)] [цена залога]");
return 1;
}
new bailprice = strval(tmp);
if(bailprice < 0 || bailprice > 1500) { SendClientMessage(playerid, COLOR_GREY, "Цена залога не может быть ниже 0 и больше 1500!"); 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) return SendClientMessage(playerid, COLOR_GREY, "Игрок не находится в розыске!");
if(IsACop(suspect)) return SendClientMessage(playerid,COLOR_GREY,"Нельзя сажать своих.");
format(string, sizeof(string), "* Вы аррестовали %s !", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
GivePlayerMoney(suspect, -moneys);
format(string, sizeof(string), "arrested by %s ~n~ for $%d", sendername, moneys);
GameTextForPlayer(suspect, string, 5000, 5);
ResetPlayerWeaponEx(suspect);
if(PlayerInfo[playerid][pMember]==1||PlayerInfo[playerid][pLeader]==1)
{
format(string, sizeof(string), "<< Офицер %s арестовал подозреваемого %s >>", sendername, giveplayer);
OOCNews(COLOR_LIGHTRED, string);
}
else if(PlayerInfo[playerid][pMember]==2||PlayerInfo[playerid][pLeader]==2)
{
format(string, sizeof(string), "<< Агент ФБР %s арестовал подозреваемого %s >>", sendername, giveplayer);
OOCNews(COLOR_LIGHTRED, string);
}
else if(PlayerInfo[playerid][pMember]==3||PlayerInfo[playerid][pLeader]==3)
{
format(string, sizeof(string), "<< Солдат %s арестовал подозреваемого %s >>", sendername, giveplayer);
OOCNews(COLOR_LIGHTRED, string);
}
SetPlayerInterior(suspect, 6);
SetPlayerPos(suspect,264.6288,77.5742,1001.0391);
PlayerInfo[suspect][pJailTime] = time;
if(bail == 1)
{
JailPrice[suspect] = bailprice;
format(string, sizeof(string), "Вы заключены в тюрьму в течение %d минут. Залог: $%d", PlayerInfo[suspect][pJailTime], JailPrice[suspect]);
SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
}
else
{
JailPrice[suspect] = 0;
format(string, sizeof(string), "Вы заключены в тюрьму в течение %d секунд. Залог: Неспособный", 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, "Нет такого игрока");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Вы не Cop / FBI / National Guard !");
return 1;
}
}//not connected
return 1;
}
