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

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

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

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

Мануал tazer в руке

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

Alberto_Johnson

Компетентный
Прошу не разводить бессмысленый флуд! Вопросы касающиеся тазера задаем в этой теме!
Автор: Bady (Alberto_Johnson)
Скрин:


Добовляем ко всем new:
PHP:
new TazerStatus[MAX_PLAYERS];
В public OnPlayerUpdate(playerid)
PHP:
	if(TazerStatus[playerid] == 1)
	{
		if(GetPlayerWeapon(playerid) >= 1)
		{
			RemovePlayerAttachedObject(playerid, 0);
			TazerStatus[playerid] = 0;
		}
	}
В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
PHP:
	if(IsKeyJustDown(KEY_FIRE,newkeys,oldkeys))
    {
	if(IsPlayerConnected(playerid))
	{
            new sendername[MAX_PLAYER_NAME];
			new giveplayer[MAX_PLAYER_NAME];
			new giveplayerid = GetNearPlayer(playerid, 0);
			GetPlayerName(playerid,sendername,sizeof(sendername));
			if(TazerStatus[playerid] == 1)
			{
				if(PlayerCuffed[giveplayerid] > 0)
				{
					SendClientMessage(playerid, COLOR_GREY, "Игрок уже парализован!");
					return 1;
				}
				if(IsPlayerInAnyVehicle(playerid))
				{
					SendClientMessage(playerid, COLOR_GREY, "Не можете использовать это пока находитесь в автомобиле!");
					return 1;
				}
				if(IsPlayerInAnyVehicle(giveplayerid))
				{
					SendClientMessage(playerid, COLOR_GREY, "Подозреваемый - в автомобиле, достаньте его сначала!");
					return 1;
				}
				new Float:XposP, Float:YposP, Float:ZposP;
				GetPlayerPos(giveplayerid, XposP, YposP, ZposP);
				if(IsPlayerInRangeOfPoint(playerid, 2.0, XposP, YposP, ZposP))
				{
					TogglePlayerControllable(giveplayerid, false);

					PlayerCuffed[giveplayerid] = 2;
					PlayerCuffedTime[giveplayerid] = 15;
					ApplyAnimation(giveplayerid,"CRACK","crckdeth3",4.1,0,1,1,1,1);
					GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
					GameTextForPlayer(giveplayerid, "~r~Tazed", 2500, 3);
					format(string, sizeof(string), "* %s парализовал %s на 15 секунд.", sendername, giveplayer);//PlayerName(giveplayerid), PlayerCuffedTime[giveplayerid])
					ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
					ApplyAnimation(giveplayerid,"CRACK","crckdeth3",4.0,0,1,1,1,0);
				}
			}
		}
	}
И в конец мода вставляем:
PHP:
stock IsKeyJustDown(key, newkeys, oldkeys)
{   //возвращает верно если произошло нажатие
	if((newkeys & key) && !(oldkeys & key)) return 1;
	return 0;
}
stock GetNearPlayer(playerid, wanted)//вызывается по командам /tazer /arrest
{
	new Float: maxdistance = 99999.99;
	new Float: distance;
	new PlayerID = -1;
	for(new i=0; i<GetMaxPlayers(); i++)
	{
		if(IsPlayerConnected(i) && !IsPlayerNPC(i) && i != playerid)
		{
			if(WantedLevel[i] >= wanted)
			{   //сканируем всех у кого розыск от указанного значения и выше
				distance = GetDistanceBetweenPlayers(playerid, i);
				if(distance < maxdistance && distance != -1.00)
				//если дистанция меньше предыдущей и оба игрока в игре
				{   //сканируем всех игроков находящихся как можно ближе к playerid
					maxdistance = distance;
					PlayerID = i;
				}
			}
		}
	}
	return PlayerID;//возвращает ID самому близкого игрока
}
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу