SA-MP Forums Archive
Как определить место нахождение созданного объекта, который был привязан к авто ? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Как определить место нахождение созданного объекта, который был привязан к авто ? (/showthread.php?tid=328238)



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

Создаю объект
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.


Re: Как определить место нахождение созданного объекта, который был привязан к авто ? - eakwarp - 24.03.2012

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


Re: Как определить место нахождение созданного объекта, который был привязан к авто ? - anonim15 - 24.03.2012

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


Re: Как определить место нахождение созданного объекта, который был привязан к авто ? - Alexander_Petrov - 24.03.2012

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 и есть координаты объекта


Re: Как определить место нахождение созданного объекта, который был привязан к авто ? - anonim15 - 24.03.2012

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 прикрепления к машине какая именно х ? Из какой функции ?


Re: Как определить место нахождение созданного объекта, который был привязан к авто ? - Alexander_Petrov - 24.03.2012

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


Re: Как определить место нахождение созданного объекта, который был привязан к авто ? - Mutha_X - 25.03.2012

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 и есть координаты объекта
Неудачный пример, а если тачка наклонена в какую-нибудь сторону?
Можешь пойти по кватернионам, если сможешь)


Re: Как определить место нахождение созданного объекта, который был привязан к авто ? - Alexander_Petrov - 25.03.2012

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


Re: Как определить место нахождение созданного объекта, который был привязан к авто ? - anonim15 - 26.03.2012

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

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