Salut,
petite erreur sasuke:
posX += Distance * -floatsin( Angle );
posX += Distance * -floatcos( Angle );
Sinon c'est pas mal bon. Je ne sais pas si MoveObject retourne une valeur particulière (par exemple en cas d'objet inexistant), mais on pourrait la rendre utilisable ainsi:
MoveObjectFromAngle( objectid, Float:Angle, Float:Distance )
{
new Float:posX = 0.0, Float:posY = 0.0, Float:posZ = 0.0;
GetObjectPos( objectid, posX, posY, posZ );
posX += Distance * -floatsin( Angle );
posY += Distance * -floatcos( Angle );
return MoveObject( objectid, posX, posY, posZ, 1.0 );
}
sinon, tes montgolfières ne devraient pas pouvoir monter et descendre?
Pour faire un truc plus réaliste ce serait bien de faire une matrice de vents (je parle de tableau bidimensionnel bien sur) qui dépendent de la position en x et y. On pourrait ainsi imposer le déplacement en X et Y à la montgolfière comme c'est le cas en réalité.
La matrice pourrait être modifié à tous les X minutes et le joueur pourrait contrôler le bruleur de la montgolfière. Le bruleur devrait avoir un effet sur l'altitude de la montgolfière, effet retardé de quelques secondes vu le délai pour la répartition de l'air dilaté... Bref, ça devient un script intéressant.
++Sim++