GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: ProgramFiles le 10 Février 2010, 16:29:56
-
Bonjour (oui me revoilà :ninja) je voudrais savoir comment faire pour faire viser un bot sur un joueur,j'ai réussi a faire tirer un bot mais a pas a le faire viser,genre si on s'approche de lui a une certaine distance alors il commence a nous tirer dessus,comment je dois faire ? ça se passe dans l'enregistrement ou par cmd ?et au passage comment faire pour que si un joueur essai de le tuer que le npc perd de la vie et peut mourir ?
Merci
@+
-
Salut,
il te faudrait forcer le NPC à faire face au joueur, utilise atan2 qui permet d'avoir l'angle entre deux positions sans trop de calculs (il te faut trouver la différence entre la position du bot et du joueur dans les composantes horizontales (X et Y))
ensuite il y a un petit ajustement a effectuer, mais à toi de voir
++Sim++
-
Mais il va viser automatiquement le joueur ? ou juste tirer si un joueur passe dans la ligne de mir ?
-
Dans le cas de Sim il tirerait plutôt dans la ligne de mir .
-
Ah ok...Mais j'avais vu un bot qui tirait sur le joueur quand on s'approchait mais il tirait a l'endroit du joueur genre il prend la position du joueur et tire la ou il est...
-
Salut,
pour faire un bon NPC tireur il nous faudrait une fonction du genre NPCAttackPlayer(botid, playerid, weaponid, SkillLevel); qui serait en parti compenser côté client afin d'obtenir un résultat acceptable mais bon....
dans le code que je t'ai indiqué, le npc regardera dans la direction du joueur, ensuite il te faudrait possiblement gérer aussi l'angle de la hauteur, mais bon ça te force à passer par des tas d'enregistrements et donc ce serait très long à faire
++Sim++
-
Donc il faut que je me fasse un tat d'enregistrement ? si j'ai bien compris la solution 1 existe pas...j'ai vu sur le wiki une commandes qui permet de donner la position du joueur au bot,peut-être existe t-il une solution avec ça ?