Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
getVobRotation
#1
Code:
vobs <- {};

_createVob <- createVob;
_destroyVob <- destroyVob;
_setVobRotation <- setVobRotation;
    
function createVob(model, pos_x, pos_y, pos_z, rot_x, rot_y, rot_z)
{
    local vob = _createVob(model, pos_x, pos_y, pos_z, rot_x, rot_y, rot_z);
    if(vob)
        vobs[vob] <- ({ x = rot_x, y = rot_y, z = rot_z });
    
    return vob;
};

function setVobRotation(vobPointer, rot_x, rot_y, rot_z)
{
    if(360 < rot_x) vobs[vobPointer].x = (rot_x -= 360); else if(0 > rot_x) vobs[vobPointer].x = (rot_x += 360); else vobs[vobPointer].x = rot_x;
    if(360 < rot_y) vobs[vobPointer].y = (rot_y -= 360); else if(0 > rot_y) vobs[vobPointer].y = (rot_y += 360); else vobs[vobPointer].y = rot_y;
    if(360 < rot_z) vobs[vobPointer].z = (rot_z -= 360); else if(0 > rot_z) vobs[vobPointer].z = (rot_z += 360); else vobs[vobPointer].z = rot_z;
            
    return _setVobRotation(vobPointer, rot_x, rot_y, rot_z);
};

function getVobRotation(vobPointer)
{
    if(vobPointer)
        return vobs[vobPointer];
};

function destroyVob(vobPointer)
{
    if(vobPointer)
        vobs.rawdelete(vobPointer);
    
    return _destroyVob(vobPointer);
};

Kod pastebin: http://pastebin.com/vRcqwpiq

W g2o brakuje funkcji pozwalającej na sprawdzenie rotacji VOBa... Więc łapcie, jeżeli ktoś znajdzie błędy to piszcie, żebym mógł poprawić.
Reply
#2
Nie rozumiesz dlaczego jej brakuje. Mamy funkcje, która zwraca wszystkie voby ze świata, a od nich pobierzesz rotacji i funkcja sie posypie.
W nowej wersji dojdzie ta funkcja, ale będzie bazować na macierzy i konwersji do vektora, bo to jedyna opcja.
Reply
#3
A ja stworzyłem to z myślą o ludziach, którzy będą próbowali stworzyć np. własne WB i zmieniać rotacje vobów własnych, a nie tych ze świata.
Reply


Forum Jump:


Users browsing this thread: