shape1
shape2
shape3
shape4
shape7
shape8

Вопрос о входе


Статус
Закрыто для дальнейших ответов.

Drap

Новичок
Пользователь
30.01.2014
70
10
0
Вот меня интересует как сделать ,чтобы в яхте возле двери сделать на ALT вход в интерьер

Вот на скрине показано возле какой двери

 
A

Amfy

Гость
Гость
Можно попробовать через функцию GetPlayerSurfingVehicleID, но у меня что-то эта функция всегда показывает 65535. Возможно из-за CRMP.

Как вариант ещё можно циклом проверить в определенном радиусе эту яхту и если в радиусе 0.5 например, то ТП игрока. Но, как ТП его туда куда тебе нужно, пока в голову не лезет)

 

Drap

Новичок
Пользователь
30.01.2014
70
10
0
if(GetPlayerSurfingVehicleID(playerid) != INVALID_VEHICLE_ID)
{
new vma = GetPlayerSurfingVehicleID(playerid);
if(vma != 430 && vma != 446 && vma != 452 && vma != 453 && vma != 454 && vma != 472 && vma!= 473 && vma != 484 && vma != 493 && vma != 595)
{
if(PI[playerid][pAdmin] < 1)
{
new Float:xxx, Float:xxxy, Float:xxxz;
GetPlayerPos(playerid, xxx, xxxy, xxxz);
GetXYInBackOfPlayer(playerid,xxx,xxxy,1.5);
SetPlayerPos(playerid,xxx,xxxy,xxxz);
}
}
}

Вот кое-что нашел ,но оно ли?

 
A

Amfy

Гость
Гость
Оно. Только почему-то тут условие наоборот, т.е если vma не лодка.

 
C

compan

Гость
Гость
По команде,команду на Alt 

new Float:ang;
GetPlayerFacingAngle(playerid, ang);
MovePlayerByAngle(playerid, ang, 0.5);//0.5 можно поменать

подходишь к двери,жмёшь Alt и ты в салоне яхты,типа /fly ну естественно проверку на лодку

 
Последнее редактирование:
C

compan

Гость
Гость
Да,вот еще вот это добавь:

Код:
MovePlayerByAngle(playerid, Float:angle, Float:distance)
{
 if(!IsPlayerConnected(playerid) || distance < 0.0) return false;
 new Float:gpos[3];
 GetPlayerPos(playerid, gpos[0], gpos[1], gpos[2]);
 gpos[0] += floatsin(angle*(-1), degrees)*distance; 
 gpos[1] += floatcos(angle*(-1), degrees)*distance; 
 SetPlayerPos(playerid, gpos[0], gpos[1], gpos[2]);
 return true;
}
 
Статус
Закрыто для дальнейших ответов.