Wi$TeR
Умник
Такой вопрос, кто знает как сделать команду /arrest как на MyGame к примеру, чтоб рандомом кидало в разные камеры, я нуб в скриптинге. Кто знает, прошу написать тут, и подробно пожайлуста. Буду очень благодарен. CR:MP 0.3e
Команда /arrest:
Команда /arrest:
Код:
if(strcmp(cmd, "/arrest", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gTeam[playerid] == 2 || IsACop(playerid))
{
if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1)
{
SendClientMessage(playerid, COLOR_GREY, " Вы не на дежурстве!");
return 1;
}
if(!PlayerToPoint(15.0, playerid, 2572.1155,-2414.1848,22.3812))
{
SendClientMessage(playerid, COLOR_GREY, " Вы не около тюрьмы!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, " Используйте: /arrest [ID] [время] [штраф]");
return 1;
}
new playa,time,price;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
time= strval(tmp);
if(time < 1 || time > 60) { SendClientMessage(playerid, COLOR_GREY, " Время от 1 до 60!"); return 1; }
tmp = strtok(cmdtext, idx);
price = strval(tmp);
if(price < 100 || price > 1500) { SendClientMessage(playerid, COLOR_GREY, " Штраф от $100 до 1500!"); return 1; }
if(IsPlayerConnected(playa))
{
if(GetDistanceBetweenPlayers(playerid,playa) < 5)
{
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* Вы арестовали %s на %d минут, штраф: $%d!", giveplayer,time,price);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
GiveMoney(playa, -price);
format(string, sizeof(string), "%s арестовал вас на %d минут, штраф: $%d", sendername,time,price);
SendClientMessage(playa, COLOR_LIGHTBLUE, string);
ResetPlayerWeapons(playa);
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(playa, 0);
SetPlayerPos(playa,2551.2272949219,-2410.58984375,1.6492257118225);
PlayerInfo[playa][pJailTime] = time * 60;
PlayerInfo[playa][pJailed] = 1;
PlayerInfo[playa][pArrested] += 1;
WantedPoints[playa] = 0;
WantLawyer[playa] = 1;
TogglePlayerControllable(playa, 1);
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Неправильный ID!.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не Полицейский / ФСБ / Военный !");
return 1;
}
}//not connected
return 1;
}
