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

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

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

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

Мануал Rocket system

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

Hикита

Умник

Для запуска ракеты необходимо открыть огонь из любого оружия, при столкновении взорвётся и удалится.
Летит ровно и прямо.

PHP:
// by Nikifor (Ferjkee)

#include <a_samp>

#define SPEED   30.0
#define RADIUS  10.0

public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
	if (!hittype && fX)
	{
	    new
			Float: coor[4],
			object;

		GetPlayerPos (playerid, coor[0], coor[1], coor[2]);
		GetPlayerFacingAngle (playerid, coor[3]);

		object = CreateObject(1636, coor[0] + ( -floatsin(coor[3], degrees) * 2.5),
									coor[1] + (  floatcos(coor[3], degrees) * 2.5), coor[2], 0, 0, coor[3]);

		MoveObject (object, fX, fY, fZ, SPEED);
	}
    return 1;
}

public OnObjectMoved(objectid)
{
	new
	    Float: coor[3];
	    
	GetObjectPos (objectid, coor[0], coor[1], coor[2]);
	CreateExplosion (coor[0], coor[1], coor[2], 7, RADIUS);
	DestroyObject (objectid);
	return 1;
}
PHP:
// by Nikifor (Ferjkee)

#include <a_samp>

new Float: speed = 30.0;

public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
	if (!hittype && fX)
	{
	    new
			Float: coor[6],
			object;

		GetPlayerLastShotVectors (playerid, coor[0], coor[1], coor[2], coor[3], coor[4], coor[5]);

		new
			Float: angle = asin ( VectorSize (coor[0] - coor[3], 0, coor[2] - coor[5]) /
								  VectorSize (coor[0] - coor[3], coor[1] - coor[4], coor[2] - coor[5]));

		if (coor[0] > coor[3] && coor[1] > coor[4]) angle = 180.0 - angle;
		else if (coor[0] < coor[3])
		{
		    if (coor[1] < coor[3]) angle += 180.0;
		    else angle = 360.0 - angle;
		}

		GetPlayerPos (playerid, coor[0], coor[1], coor[2]);
		GetPlayerFacingAngle (playerid, coor[3]);

		object = CreateObject(1636, coor[0] + ( -floatsin(coor[3], degrees) * 2.5),
									coor[1] + (  floatcos(coor[3], degrees) * 2.5), coor[2], 0, 0, angle);

		MoveObject (object, fX, fY, fZ, speed);
	}
    return 1;
}

public OnObjectMoved(objectid)
{
	new
	    Float: coor[3];
	    
	GetObjectPos (objectid, coor[0], coor[1], coor[2]);
	CreateExplosion (coor[0], coor[1], coor[2], 7, 10.0);
	DestroyObject (objectid);
	return 1;
}

PHP:
CMD:speed(playerid, params[])
{
	if (!sscanf(params, "f", params[0]))
	{
		speed = params[0];
	}
	return 1;
}

CMD:weapons(playerid, params[])
{
	GivePlayerWeapon(playerid, 31, 100000);
	GivePlayerWeapon(playerid, 29, 100000);
	GivePlayerWeapon(playerid, 38, 100000);
	return 1;
}

 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу