Форум

  • Страница 1 из 1
  • 1
Форум | www.SAMP-TEAM.com » Wiki SA-MP » Уроки скриптинга в Pawno » Создание пикапа под углом относительно игрока или машины
Создание пикапа под углом относительно игрока или машины
Вы наверное встречали на некоторых серверах, создание пикапа позади машины. Причём пикап создаётся именно сзади, вне зависимости от угла поворота машины.

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

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

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);


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

Осталось присвоить действие пикапу, это я думаю вы сделаете сами.
17.04.2013 в 13:13
Форум | www.SAMP-TEAM.com » Wiki SA-MP » Уроки скриптинга в Pawno » Создание пикапа под углом относительно игрока или машины
  • Страница 1 из 1
  • 1
Поиск: