GetVehicleRotationQuat -
SrDonalds - 21.05.2015
Estou fazendo um sistema que quando aperto Ctrl ele lanзa o objeto, sу que lanзa apenas pro lado onde o veiculo esta virado, ja quebrei a cabeзa tentando colocar o GetVehicleRotationQuat pra que o objeto seja lanзando pra frente com o veiculo inclinado.. (igual o hydra atira), alguem pode me ajudar com isso?
PHP код:
new Float:x, Float:y, Float:z, Float:a;
GetVehiclePos(vehicleid,x,y,z);
GetVehicleZAngle(vehicleid,a);
a += 90;
z += VehicleOffsetZ;
x += (VehicleOffsetX * floatsin(-a, degrees));
y += (VehicleOffsetX * floatcos(-a, degrees));
Objeto = CreateObject(18651,x,y,z,0,0,a,300.0);
a += 270;
x += (30 * floatsin(-a, degrees));
y += (30 * floatcos(-a, degrees));
MoveObject(Objeto,x,y,z,35.0);
Re: GetVehicleRotationQuat -
n0minal - 21.05.2015
Cara quaternion й um assunto bem complicado de se mexer no sa-mp, por sorte eu conheзo uma include que usa esse conceito que vocк precisa:
https://sampforum.blast.hk/showthread.php?tid=115695
Caso precise de exemplo de script, procure pelo gamemode beta rp que postei, procure na parte de modificaзгo de carros prуprios (cores, mнsseis etc).
Re: GetVehicleRotationQuat -
SrDonalds - 21.05.2015
Quote:
Originally Posted by ipsLeon
Cara quaternion й um assunto bem complicado de se mexer no sa-mp, por sorte eu conheзo uma include que usa esse conceito que vocк precisa:
https://sampforum.blast.hk/showthread.php?tid=115695
Caso precise de exemplo de script, procure pelo gamemode beta rp que postei, procure na parte de modificaзгo de carros prуprios (cores, mнsseis etc).
|
Hahaha, mais foi dai mesmo que peguei o exemplo de script, da include VM de sistema de missil
O sistema funciona bem atй demais, mas sу atira reto, ai eu precisava do GetVehicleRotationQuat pra usar em aeronaves
Re: GetVehicleRotationQuat -
n0minal - 22.05.2015
Quer descobrir a rotaзгo Y da aeronave, й isso? Dai pode atirar pra baixo e pra cima em linha reta? Se for isso que precisa recomendo dar uma olhada
neste tуpico, nele tem essa
postagem muito interessante, deve ser o suficiente pro seu sistema
Re: GetVehicleRotationQuat -
SrDonalds - 22.05.2015
Quote:
Originally Posted by ipsLeon
Quer descobrir a rotaзгo Y da aeronave, й isso? Dai pode atirar pra baixo e pra cima em linha reta? Se for isso que precisa recomendo dar uma olhada neste tуpico, nele tem essa postagem muito interessante, deve ser o suficiente pro seu sistema
|
Ahhh, vocк tem toda razгo, eu precisava apenas da rotaзгo Y, consegui fazer isso usando:
Quote:
Originally Posted by DANGER1979
pawn Код:
stock ConvertNonNormaQuatToEuler(Float: qw, Float: qx, Float:qy, Float:qz, &Float:heading, &Float:attitude, &Float:bank) { new Float: sqw = qw*qw; new Float: sqx = qx*qx; new Float: sqy = qy*qy; new Float: sqz = qz*qz; new Float: unit = sqx + sqy + sqz + sqw; // if normalised is one, otherwise is correction factor //если normalised, - один, в противном случае - показатель коррекции new Float: test = qx*qy + qz*qw; if (test > 0.499*unit) { // singularity at north pole - особенность на северном полюсе heading = 2*atan2(qx,qw); attitude = 3.141592653/2; bank = 0; return 1; } if (test < -0.499*unit) { // singularity at south pole - особенность на южном полюсе heading = -2*atan2(qx,qw); attitude = -3.141592653/2; bank = 0; return 1; } heading = atan2(2*qy*qw - 2*qx*qz, sqx - sqy - sqz + sqw); attitude = asin(2*test/unit); bank = atan2(2*qx*qw - 2*qy*qz, -sqx + sqy - sqz + sqw); return 1; }
pawn Код:
stock GetVehicleRotation(vehicleid,&Float:heading, &Float:attitude, &Float:bank) { new Float:quat_w,Float:quat_x,Float:quat_y,Float:quat_z; GetVehicleRotationQuat(vehicleid,quat_w,quat_x,quat_y,quat_z); ConvertNonNormaQuatToEuler(quat_w,quat_x,quat_z,quat_y, heading, attitude, bank); bank = -1*bank; return 1; }
|
Re: GetVehicleRotationQuat -
n0minal - 22.05.2015
Legal, fico feliz por ter conseguido, essa funзгo do danger realmente й muito boa
Posta um video do sistema quando tiver pronto, gostaria de ver como fica o SAM com quaternion :P
Re: GetVehicleRotationQuat -
SrDonalds - 23.05.2015
Que tal?
https://www.youtube.com/watch?v=s0es...ature=*********
Re: GetVehicleRotationQuat -
n0minal - 23.05.2015
Ficou muito bom mas essa mъsica й horrenda kkkk bom trabalho.
Re: GetVehicleRotationQuat -
lucas_mdr1235 - 23.05.2015
O sistema fico show. Muito legal ! ! !