• Страница 1 из 1
  • 1
Создание пикапа под углом относительно игрока или машины
fenix05Дата: Среда, 17.04.2013, 13:13 | Сообщение # 1
.::Offline::.
Гангстер
Сообщений: 151
[ 62 ]
Награды: 4

Статус отсутствует
Вы наверное встречали на некоторых серверах, создание пикапа позади машины. Причём пикап создаётся именно сзади, вне зависимости от угла поворота машины.

Так вот, научимся и мы так ставить пикап.

Расмотрим код:
Код

GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, A);
X += (1.5 * floatsin(-A+45, degrees));
Y += (1.5 * floatcos(-A+45, degrees));
Pic = CreatePickup(19197, 23, X, Y, Z, -1);


Здесь мы узнаём координаты и угол поворота игрока.
Спомощью геометрической формулы, изменяем координаты по осям X и Y, где 1.5 - растояние от игрока, 45 - угол расположения пикапа относительно игрока(в градусах, 180 - сзади).
Ну и создаём сам пикап с обновлёнными координатами.



Можно воспользоваться stock:

Код
stock GetCreatOfPickupAngle(playerid, &Float:x, &Float:y, Float:distance, Float:DistAngle)
{
new Float:z, Float:angle;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, angle);
x += (distance * floatsin(-angle+DistAngle, degrees));
y += (distance * floatcos(-angle+DistAngle, degrees));
}


Теперь наш код создания пикапа будет выглядеть вот так:
Код
GetPlayerPos(playerid, X, Y, Z);
GetCreatOfPickupAngle(playerid, X, Y, 1.5, 45);
Pic = CreatePickup(19197, 23, X, Y, Z, -1);


А чтобы ставить пикапы на машины, просто узнавайте позицию не игрока, а машины.

Осталось присвоить действие пикапу, это я думаю вы сделаете сами.


Alien Brickman [vk.com/alien_brickman]Обложка:
 
  • Страница 1 из 1
  • 1
Поиск:


Copyright www.SAMP-TEAM.com (c) 2009-2024
Правила использования материалов сайта

При копировании материалов из нашего сайта
ссылка на www.SAMP-TEAM.com обязательна!
Нарушители правил будут строго наказаны!

Хостинг от uCoz   
Для корректного просмотра мы рекомендуем Вам использовать браузер Google Chrome.
Яндекс.Метрика
Яндекс.Метрика