Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Система электрошокера

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

I'm Cobra

Специалист
Здравствуйте, ув. пользователи Pawno-Info! Я искал электрошокер, но везде был только пистолет-электрошокер. В связи с этим, я решил сделать электрошокер объектом.

Добавим команду:

PHP:
CMD:tazer(playerid, params[])
{
    if(!IsPlayerAuthorized(playerid)) return true;
    if(tazer_status{playerid} == 0)
    {
    	SetPlayerAttachedObject(playerid, 0, 18642, 6, 0.06, 0.01, 0.08, 180.0, 0.0, 0.0);
    	tazer_status{playerid} = 1;
	}
	else
	{
	    RemovePlayerAttachedObject(playerid, 0);
	    tazer_status{playerid} = 0;
	}
	return 1;
}
У кого стоит стандартный командный процессор, изменяем шапку команды на:

PHP:
if(strcmp(cmdtext, "/tazer", true))
Теперь сделаем так, чтобы игрок мог ударять тазером используя сочетания клавиш ПКМ+ЛКМ.
  1. Нажимаем ПКМ и наводим на игрока, и если над головой у него загорается зеленый маркер, жмем ЛКМ.

Добавляем в OnPlayerKeyStateChange:

PHP:
    if(newkeys & KEY_FIRE)
  	{
	  	if(tazer_status{playerid} == 1)
	    {
	        if(GetPlayerTargetPlayer(playerid) != INVALID_PLAYER_ID)
	        {
	        	new targetplayer = GetPlayerTargetPlayer(playerid);
	            TogglePlayerControllable(targetplayer, 0);
				SetTimerEx("Unfreeze", 10000, 0, "%i", targetplayer);
	        }
	    }
  	}
Добавим в конец мода:

PHP:
fpub:Unfreeze(playerid) return TogglePlayerControllable(playerid, 1);
И в начало мода:

PHP:
#define fpub:%0(%1)             forward %0(%1); public %0(%1)
Ко всем new:

PHP:
new tazer_status[MAX_PLAYERS char];
Если я что-то не понятно написал, пишите в комментарии, я все объясню :)
Также можно добавить проверку на то, состоит ли игрок в законе. Чтобы электрошокер был доступен только им. Или можно добавить покупку электрошокера в магазин 24/7.

Спасибо пользователю [ForD] за то, что подсказал название проверки, отвечающую за зеленый маркер над головой игрока.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу