• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

/cuff | Проблема с AFK

Статус
В этой теме нельзя размещать новые ответы.

Regisss

Изучающий
Пользователь
Регистрация
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;
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу