shape1
shape2
shape3
shape4
shape7
shape8

Помогите исправить команду


Статус
Закрыто для дальнейших ответов.

chiefpavel

Новичок
Пользователь
19.03.2015
35
0
0
Проблема в том, что при попытке заключить какого-либо другого игрока, заключаешь всё-равно себя. Вот код:

Код:
if(strcmp(cmd, "/arrest", true) == 0)
{
if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1)
{
if(PlayerInfo[playerid][pRank] <= 5)
{
SendClientMessage(playerid, COLOR_GREY, "Заключать в тюрьму можно с 6-го ранга");
return 1;
}
if(!PlayerToPoint(4,playerid,2571.8,-2410.8,22))
{
SendClientMessage(playerid, COLOR_GREY, "Вы не в полиции");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_ISPOLZUY, "Подсказка: /jail [id игрока] [Время в мин]");
return 1;
}
new playa;
new time;
tmp = strtok(cmdtext, idx);
time = strval(tmp);
if(time < 5 || time > 180) { SendClientMessage(playerid, COLOR_GREY, "Время от 5 до 180"); return 1; }
tmp = strtok(cmdtext, idx);
if(IsPlayerConnected(playa))
{
ResetPlayerWeapons(playa);
SetPlayerArmour(playerid, 0);
SetPlayerPos(playa,-1884.2,-2834.2,14.6);
SetPlayerFacingAngle(playerid, 180);
PlayerInfo[playa][pJailTime] = time * 60;
PlayerInfo[playa][pJailed] = 1;
PlayerInfo[playa][pCriminal] = 0;
SetPlayerWantedLevel(playa, PlayerInfo[playa][pCriminal]);
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s заключён вами в тюрьму на %d минут", giveplayer,time);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "%s заключил вас в тюрьму на %d минут", sendername,time);
SendClientMessage(playa, COLOR_LIGHTRED, string);
format(string, sizeof(string), "Полицейский %s арестовал игрока %s", sendername, giveplayer);
SendRadioMessage(1, TEAM_BLUE_COLOR, string);
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Этот игрок оффлайн");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Вы не сотрудник полиции");
return 1;
}
return 1;
}
 

Sten

Unknown
Пользователь
08.05.2014
830
77
0
А зачем два раза return 1, return 1?

 
A

Amfy

Гость
Гость
Код:
if(strcmp(cmd, "/arrest", true) == 0)
{
    if(PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pMember] != 1) return SendClientMessage(playerid, COLOR_RED, "Вы не сотрудник полиции");
    if(PlayerInfo[playerid][pRank] <= 5) return SendClientMessage(playerid, COLOR_GREY, "Заключать в тюрьму можно с 6-го ранга");
    if(!PlayerToPoint(4,playerid,2571.8,-2410.8,22)) return SendClientMessage(playerid, COLOR_GREY, "Вы не в полиции");
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_ISPOLZUY, "Подсказка: /jail [id игрока] [Время в мин]");
    new playa,time;
    playa = ReturnUser(tmp);
    tmp = strtok(cmdtext,idx);
    time = strval(tmp);
    if(time < 5 || time > 180) return SendClientMessage(playerid, COLOR_GREY, "Время от 5 до 180");
    if(!IsPlayerConnected(playa)) return SendClientMessage(playerid, COLOR_GREY, "Этот игрок оффлайн");
    ResetPlayerWeapons(playa);
    SetPlayerArmour(playa,0);
    SetPlayerPos(playa,-1884.2,-2834.2,14.6);
    SetPlayerFacingAngle(playa,180);
    PlayerInfo[playa][pJailTime] = time * 60;
    PlayerInfo[playa][pJailed] = 1;
    PlayerInfo[playa][pCriminal] = 0;
    SetPlayerWantedLevel(playa, PlayerInfo[playa][pCriminal]);
    GetPlayerName(playa, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* %s заключён вами в тюрьму на %d минут", giveplayer,time);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "%s заключил вас в тюрьму на %d минут", sendername,time);
    SendClientMessage(playa, COLOR_LIGHTRED, string);
    format(string, sizeof(string), "Полицейский %s арестовал игрока %s", sendername, giveplayer);
    SendRadioMessage(1, TEAM_BLUE_COLOR, string);
    return 1;
}
 
Статус
Закрыто для дальнейших ответов.