Как определить место нахождение созданного объекта, который был привязан к авто ?
#1

Создаю объект
new Float,Float:y,Float:z, Float:angle;
GetVehiclePos(GetPlayerVehicleID(playerid), x, y, z);
GetVehicleZAngle(GetPlayerVehicleID(playerid), angle);
Код:
Object1 = CreateObject(любой ид,x,y,z,0.0,0.0,0.0,angle);
AttachObjectToVehicle(Object1,GetPlayerVehicleID(playerid),-0.1,-3.9,-0.9,0.0,0.0,0.0);
Когда проверяю на нахождение
Код:
GetPlayerObjectPos(playerid, TrashObject2, X, Y, Z);
или GetObjectPos тоже самое.
Он прикреплён к авто, но координаты у него показывает 0.0,0.0,0.0.
Reply
#2

Если относительно авто, то только сохранять координаты при аттаче, если вообще, то только по координатам местонахождения самого автомобиля.
Reply
#3

Сделал Enum и когда игрока выкидывало с Авто сделал сохранение координат сейчас сделаю тест.
Reply
#4

PHP код:
    new Float:xFloat:yFloat:zFloat:pa;
    
GetVehicleZAngle(GetPlayerVehicleID(playerid),pa);
    
GetVehiclePos(GetPlayerVehicleID(playerid), xyz);
    
+= (x прикрепления к машине floatcos(pa+90.0degrees));
    
+= (y прикрепления к машине floatsin(pa+90.0degrees));
    
+= (z прикрепления к машине); 
оставшиеся координаты x y z и есть координаты объекта
Reply
#5

Quote:
Originally Posted by Alexander_Petrov
Посмотреть сообщение
PHP код:
    new Float:xFloat:yFloat:zFloat:pa;
    
GetVehicleZAngle(GetPlayerVehicleID(playerid),pa);
    
GetVehiclePos(GetPlayerVehicleID(playerid), xyz);
    
+= (x прикрепления к машине floatcos(pa+90.0degrees));
    
+= (y прикрепления к машине floatsin(pa+90.0degrees));
    
+= (z прикрепления к машине); 
оставшиеся координаты x y z и есть координаты объекта
x прикрепления к машине какая именно х ? Из какой функции ?
Reply
#6

AttachObjectToVehicle(Object1,GetPlayerVehicleID(p layerid),-0.1,-3.9,-0.9,0.0,0.0,0.0);
х прикрепления к машине = -0.1
у прикрепления к машине = -3.9
z прикрепления к машине = -0.9
Reply
#7

Quote:
Originally Posted by Alexander_Petrov
Посмотреть сообщение
PHP код:
    new Float:xFloat:yFloat:zFloat:pa;
    
GetVehicleZAngle(GetPlayerVehicleID(playerid),pa);
    
GetVehiclePos(GetPlayerVehicleID(playerid), xyz);
    
+= (x прикрепления к машине floatcos(pa+90.0degrees));
    
+= (y прикрепления к машине floatsin(pa+90.0degrees));
    
+= (z прикрепления к машине); 
оставшиеся координаты x y z и есть координаты объекта
Неудачный пример, а если тачка наклонена в какую-нибудь сторону?
Можешь пойти по кватернионам, если сможешь)
Reply
#8

Не думаю, что точность нужна до 0.001. Судя по названию объекта, это мусорник. Если делать проверку, то в радиусе 1.5. Приведи пример лучше, если мой неудачный
Reply
#9

GetVehiclePos(LastCar[playerid], X, Y, Z);

LastCar[playerid] записывать как предыдущее авто
И проверять GetXYInFrontOfVehicle(LastCar[playerid], X, Y, дистанция);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)