Hey!
How can I realize the player movement around a platform/planet, they moves (pan/tilt) as well?
(A player movement like in 'Populous - The Beginning', you know?)
I have already tried:
while(1)
{
ENTITY* eIsland = ptr_for_handle(my.skill1);
my.x = (eIsland.x - cos(eIsland.pan) * cos(eIsland.tilt + 90) * 50);
my.y = (eIsland.y - sin(eIsland.pan) * cos(eIsland.tilt + 90) * 50);
my.z = (eIsland.z + sin(eIsland.tilt + 90) * 50);
var varDistance = c_trace(my.x,vector(my.x,my.y,my.z - 100),IGNORE_ME | USE_POLYGON);
my.skill10 += (key_t - key_g) * time_step;
my.skill11 += (key_f - key_h) * time_step;
my.skill12 = -varDistance;
my.x += my.skill10;
my.y += my.skill11;
my.z += my.skill12;
my.pan -= (key_r - key_z) * 5 * time_step;
wait(1);
}
^^ In this case, the player will move exactly with the platform/planet if they moves but his own pan direction is going to lose.
And this:
ENTITY* eIsland = ptr_for_handle(my.skill1);
my.x = (eIsland.x - cos(eIsland.pan) * cos(eIsland.tilt + 90) * 50);
my.y = (eIsland.y - sin(eIsland.pan) * cos(eIsland.tilt + 90) * 50);
my.z = (eIsland.z + sin(eIsland.tilt + 90) * 50);
while(1)
{
var varDistance = c_trace(my.x,vector(my.x,my.y,my.z - 100),IGNORE_ME | USE_POLYGON);
my.skill10 = (key_t - key_g) * time_step;
my.skill11 = (key_f - key_h) * time_step;
my.skill12 = -varDistance;
my.pan -= (key_r - key_z) * 5 * time_step;
c_move(my,vector(my.skill10,my.skill11,my.skill12),nullvector,IGNORE_MODELS);
wait(1);
}
^^ There works the pan direction fine but the player will not moved to the right position of platform/planet.
And, let alone of the including of the normal adjustment...
So, any ideas?