03.10.2011, 10:53
Okay, this function is perfect for rotating a plane around a point however, rotating the object to face this specific way of movement may need to be tweaked with some correct offsets;
Enjoy your time!
pawn Код:
static
Float: g_ObjectDeg [ MAX_OBJECTS ]
;
stock SetObjectMoveAroundPoint( objectid, Float: X, Float: Y, Float: Z, Float: distance, Float: speed = 1.0, Float: face = false)
{
new
Float: nX, Float: nY
;
if( g_ObjectDeg[ objectid ] >= 360 ) g_ObjectDeg[ objectid ] = 0;
else g_ObjectDeg[ objectid ] += speed;
nX = X + distance * floatcos( g_ObjectDeg[ objectid ], degrees );
nY = Y + distance * floatsin( g_ObjectDeg[ objectid ], degrees );
SetObjectPos( objectid, nX, nY, Z );
if(face) SetObjectRot( objectid, 0.0, 0.0, 90 - g_ObjectDeg[ objectid ] );
}

