- Регистрация
- 23 Апр 2016
- Сообщения
- 145
- Лучшие ответы
- 1
- Репутация
- 58
Проблема состоит в том, что как только на игрока надевают наручники, он уходит в AFK для всех, кроме себя самого. Он может писать, но у всех будет стоять на месте до тех пор, пока не снимут наручники. OnPlayerUpdate() при этом вызывается, т.е. SetPlayerChatBubble с AFK не появляется, но присутствует знак песочных часов около ника игрока. Код прилагается ниже.
PHP:
CMD:cuff(playerid,params[])
{
if(P::[playerid][pMember] != FRAC_LSPD && P::[playerid][pMember] != FRAC_SFPD && P::[playerid][pMember] != FRAC_LVPD &&
P::[playerid][pMember] != FRAC_JAILER)return send(playerid,COLOR_RED,!"[Ошибка] {FFFFFF}Вам недоступна данная команда");
if(P::[playerid][pRank] < 2)
return send(playerid,COLOR_RED,!"[Ошибка] {FFFFFF}Данная функция доступна со 2 ранга");
if(P::[playerid][pSkin] != P::[playerid][pFracSkin])
return send(playerid,COLOR_RED,!"[Ошибка] {FFFFFF}Вы не в рабочей форме");
extract params -> new player:id;else
return send(playerid,COLOR_RED,!"[Ошибка] {FFFFFF}Используйте /cuff [id игрока]");
if(id == INVALID_PLAYER_ID || !gLogged{id})
return send(playerid,COLOR_RED,!"[Ошибка] {FFFFFF}Игрок оффлайн");
if(id == playerid)
return send(playerid,COLOR_RED,!"[Ошибка] {FFFFFF}Вы указали свой ID");
new Float:id_x,Float:id_y,Float:id_z;
GetPlayerPos(id,id_x,id_y,id_z);
if(!IsPlayerInRangeOfPoint(playerid,10.0,id_x,id_y,id_z) || GetPlayerVirtualWorld(playerid) != GetPlayerVirtualWorld(id) ||
GetPlayerInterior(playerid) != GetPlayerInterior(id))
return send(playerid,COLOR_RED,!"[Ошибка] {FFFFFF}Вы должны быть рядом с игроком");
if(AdminLevel{id} > 0 && !AdminLevel{playerid})
return send(playerid,COLOR_RED,!"[Ошибка] {FFFFFF}Вы не можете надеть наручники на данного игрока");
if(!WantedLevel{id} && !P::[id][pJailed])
return send(playerid,COLOR_RED,!"[Ошибка] {FFFFFF}Игрок не в розыске");
if(isCuffed{id})
return send(playerid,COLOR_RED,!"[Ошибка] {FFFFFF}Игрок уже в наручниках");
TogglePlayerControllable(id, 0);
isCuffed{id} = true;
SetPlayerAttachedObject(id, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
SetPlayerSpecialAction(id,SPECIAL_ACTION_CUFFED);
static str_[] = "%s надел наручники на %s";
new str[sizeof(str_)+(24-2)+(24-2)+1];
format(str,sizeof(str),str_,Name(playerid),Name(id));
ProxDetector(playerid,30.0,str,COLOR_PINK);
return true;
}
Последнее редактирование: