• Страница 1 из 1
  • 1
Модератор форума: [east_side]_trane, drifter-dron, valych, admin  
pawno урок пуля снайпера
adminДата: Вторник, 04.03.2014, 10:36:59 | Сообщение # 1

Группа: Администраторы
Сообщений: 3869

Всем привет. В этом уроке мы научимся делать на samp 0.3z и выше версии пулю снайпера. То-есть когда вы стреляете вы видите саму пулю снайпера как она летит.
Для начала обновим include на samp 0.3z
Открываем ваш мод и вверху мода вставляем:
Код
#define CAMERA_MOVE_TIME 5000

После этого добавляем функции пули в любое место
Код
forward OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ);
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
if(hittype == 0 || hittype == 3 || hittype == 4)
{
if(weaponid == 34)
{
SetPlayerArmedWeapon(playerid, 0);
TogglePlayerControllable(playerid, 0);

new
Float:fOPos[3],
Float:fHPos[3],
Float:Angle,
Float:Speed,
object,
time
;

GetPlayerLastShotVectors(playerid, fOPos[0], fOPos[1], fOPos[2], fHPos[0], fHPos[1], fHPos[2]);
GetPlayerFacingAngle(playerid, Angle);

Speed = VectorSize(fOPos[0]-fHPos[0], fOPos[1]-fHPos[1], fOPos[2]-fHPos[2]) / ( CAMERA_MOVE_TIME / 1000 );

object = CreatePlayerObject(playerid, 1636, fOPos[0], fOPos[1], fOPos[2], 0.0, 0.0, 0.0);
SetObjectFacePoint(playerid, object, fHPos[0], fHPos[1]);
MovePlayerObject(playerid, object, fHPos[0], fHPos[1], fHPos[2], Speed);

SetTimerEx("CameraEnd", CAMERA_MOVE_TIME, false, "i", playerid);
SetTimerEx("SparkCreate", CAMERA_MOVE_TIME-500, false, "ifffi", playerid, fHPos[0], fHPos[1], fHPos[2], object);

fHPos[0] -= (1 * floatsin(-Angle, degrees));
fHPos[1] -= (1 * floatcos(-Angle, degrees));
fOPos[0] += (1 * floatsin(-Angle, degrees));
fOPos[1] += (1 * floatcos(-Angle, degrees));

time = CAMERA_MOVE_TIME + floatround(CAMERA_MOVE_TIME * 0.15, floatround_round);

InterpolateCameraPos(playerid, fOPos[0], fOPos[1], fOPos[2], fHPos[0], fHPos[1], fHPos[2], time, CAMERA_MOVE);
}
       }
return 1;
}

forward CameraEnd(playerid);
public CameraEnd(playerid)
{
       SetPlayerArmedWeapon(playerid, 34);
       TogglePlayerControllable(playerid, 1);
       SetCameraBehindPlayer(playerid);
}
forward SparkCreate(playerid, Float:X, Float:Y, Float:Z, objectid);
public SparkCreate(playerid, Float:X, Float:Y, Float:Z, objectid)
{
SetTimerEx("Spark", 100, false, "i", CreateObject(18717, X, Y, Z - 1.6, 0.0, 0.0, 0.0) );
DestroyPlayerObject(playerid, objectid);
}
forward Spark(objectid);
public Spark(objectid) DestroyObject(objectid);

stock SetObjectFacePoint(playerid, objectid, Float: X, Float: Y)
{
       static
           Float: pX, Float: oX,
           Float: pY, Float: oY,
           Float: oZ
       ;
       GetPlayerObjectRot(playerid, objectid, oX, oY, oZ);
       GetPlayerObjectPos(playerid, objectid, pX, pY, oZ);

       oZ = ( floatadd(atan2(floatsub(Y, pY), floatsub(X, pX)), 270.0) );

       SetPlayerObjectRot(playerid, objectid, oX, oY, oZ);
}

Урок by - 26_RUSSS


zm-jail.ru

Разработка сайта samp-pawno.ru


 
Сообщение

Всем привет. В этом уроке мы научимся делать на samp 0.3z и выше версии пулю снайпера. То-есть когда вы стреляете вы видите саму пулю снайпера как она летит.
Для начала обновим include на samp 0.3z
Открываем ваш мод и вверху мода вставляем:
Код
#define CAMERA_MOVE_TIME 5000

После этого добавляем функции пули в любое место
Код
forward OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ);
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
if(hittype == 0 || hittype == 3 || hittype == 4)
{
if(weaponid == 34)
{
SetPlayerArmedWeapon(playerid, 0);
TogglePlayerControllable(playerid, 0);

new
Float:fOPos[3],
Float:fHPos[3],
Float:Angle,
Float:Speed,
object,
time
;

GetPlayerLastShotVectors(playerid, fOPos[0], fOPos[1], fOPos[2], fHPos[0], fHPos[1], fHPos[2]);
GetPlayerFacingAngle(playerid, Angle);

Speed = VectorSize(fOPos[0]-fHPos[0], fOPos[1]-fHPos[1], fOPos[2]-fHPos[2]) / ( CAMERA_MOVE_TIME / 1000 );

object = CreatePlayerObject(playerid, 1636, fOPos[0], fOPos[1], fOPos[2], 0.0, 0.0, 0.0);
SetObjectFacePoint(playerid, object, fHPos[0], fHPos[1]);
MovePlayerObject(playerid, object, fHPos[0], fHPos[1], fHPos[2], Speed);

SetTimerEx("CameraEnd", CAMERA_MOVE_TIME, false, "i", playerid);
SetTimerEx("SparkCreate", CAMERA_MOVE_TIME-500, false, "ifffi", playerid, fHPos[0], fHPos[1], fHPos[2], object);

fHPos[0] -= (1 * floatsin(-Angle, degrees));
fHPos[1] -= (1 * floatcos(-Angle, degrees));
fOPos[0] += (1 * floatsin(-Angle, degrees));
fOPos[1] += (1 * floatcos(-Angle, degrees));

time = CAMERA_MOVE_TIME + floatround(CAMERA_MOVE_TIME * 0.15, floatround_round);

InterpolateCameraPos(playerid, fOPos[0], fOPos[1], fOPos[2], fHPos[0], fHPos[1], fHPos[2], time, CAMERA_MOVE);
}
       }
return 1;
}

forward CameraEnd(playerid);
public CameraEnd(playerid)
{
       SetPlayerArmedWeapon(playerid, 34);
       TogglePlayerControllable(playerid, 1);
       SetCameraBehindPlayer(playerid);
}
forward SparkCreate(playerid, Float:X, Float:Y, Float:Z, objectid);
public SparkCreate(playerid, Float:X, Float:Y, Float:Z, objectid)
{
SetTimerEx("Spark", 100, false, "i", CreateObject(18717, X, Y, Z - 1.6, 0.0, 0.0, 0.0) );
DestroyPlayerObject(playerid, objectid);
}
forward Spark(objectid);
public Spark(objectid) DestroyObject(objectid);

stock SetObjectFacePoint(playerid, objectid, Float: X, Float: Y)
{
       static
           Float: pX, Float: oX,
           Float: pY, Float: oY,
           Float: oZ
       ;
       GetPlayerObjectRot(playerid, objectid, oX, oY, oZ);
       GetPlayerObjectPos(playerid, objectid, pX, pY, oZ);

       oZ = ( floatadd(atan2(floatsub(Y, pY), floatsub(X, pX)), 270.0) );

       SetPlayerObjectRot(playerid, objectid, oX, oY, oZ);
}

Урок by - 26_RUSSS

Автор - admin
Дата добавления - 04.03.2014 в 10:36:59
  • Страница 1 из 1
  • 1
Поиск:
Загрузка страницы, займет меньше минуты...
Загрузка...

Статистика Форума
Последнии темы Читаемые темы Лучшие пользователи Новые пользователи
Система телефонов поломалась
Не в себе
фильм скалайн
Трансформеры 3
форсаж 6
Ищу [FS]Для админок на сервер
нужны координаты карты для отметки зон...
Помогите найти мод
pawno урок автоматические ворота
обращение к скриптерам.
Вопросы по скриптингу
Ваши ошибки при компиляции GM/FS

Вопросы по скриптингу

(1081)

Считаем до 1000

(274)

Ваши ошибки при компиляция gm

(260)

Набор в команду

(80)

Ваши ошибки при компиляции GM/FS

(71)

вопроосы по скриптингу от 22.04.2013

(64)

Баннеробмен

(64)

несколько команд на samp 0.3 c

(64)

Оценки сайта samp-pawno.ru

(55)

Заказ хостинга

(51)

Набор в команду(форум)

(45)

Урок №61 по созданию системы авто для GodFather

(45)

admin

(3869)

[east_side]_trane

(443)

TWiX

(316)

valych

(501)

drifter-dron

(477)

danik_rok

(317)

Dimka_71rus

(360)

Drifter96

(300)

MaNb9K

(220)

[MTA]MaPeR5518

(181)

Dima_Tkach

(107)

Nik_Ull

(184)

system32xzxz

(Четверг 09:25:24)

torbin169

(Суббота 23:09:29)

kuchuk_00

(Суббота 17:10:14)

artem_boyko_3

(Суббота 15:57:37)

greggelbak

(Среда 18:29:37)

vladisvlavs

(Среда 13:51:57)

add02102002

(Понедельник 22:37:15)

Диман221

(Понедельник 18:12:45)

almas051004

(Воскресенье 11:05:32)

megasuccessms

(Суббота 14:15:36)

nawe

(Пятница 22:25:23)

swoysb

(Пятница 14:55:29)

Вверх
20:47:13
ОбновитьСмайлыУправление мини-чатом
ЧАТ-PAWNO
2010-2025

vkontakte :samp-pawno.ru: