native __SetPlayerCameraLookAt(playerid, Float:x, Float:y, Float:z) = SetPlayerCameraLookAt;
native __InterpolateCameraLookAt(playerid, Float:FromX, Float:FromY, Float:FromZ, Float:ToX, Float:ToY, Float:ToZ, time, cut = CAMERA_CUT) = InterpolateCameraLookAt;
enum CAMERA_LOOKAT_INFO{
Float:_posX,
Float:_posY,
Float:_posZ
};
new cameraLookAt[MAX_PLAYERS][CAMERA_LOOKAT_INFO];
#define SetPlayerCameraLookAt _SetPlayerCameraLookAt
#define InterpolateCameraLookAt _InterpolateCameraLookAt
stock _InterpolateCameraLookAt(playerid, Float:FromX, Float:FromY, Float:FromZ, Float:ToX, Float:ToY, Float:ToZ, time, cut = CAMERA_CUT){
cameraLookAt[playerid][_posX] = ToX;
cameraLookAt[playerid][_posY] = ToY;
cameraLookAt[playerid][_posZ] = ToZ;
__InterpolateCameraLookAt(playerid, FromX, FromY, FromZ, ToX, ToY, ToZ, time, cut);
}
stock _SetPlayerCameraLookAt(playerid, Float:x, Float:y, Float:z){
cameraLookAt[playerid][_posX] = x;
cameraLookAt[playerid][_posY] = y;
cameraLookAt[playerid][_posZ] = z;
__SetPlayerCameraLookAt(playerid, x, y, z);
}
stock GetPlayerCameraLookAt(playerid, &Float:x, &Float:y, &Float:z){
x = cameraLookAt[playerid][_posX];
y = cameraLookAt[playerid][_posY];
z = cameraLookAt[playerid][_posZ];
return 1;
}