GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Eloctro le 05 Septembre 2009, 14:53:14
-
Bonjour ,
Voila je fesait mes test avec Sa-mp 0.3 et je voudrais faire marcher un bot ver moi par exemple .
Je sais qu'on peut mettre une anim pour fair marcher le bot en définissant l'angle ver le joueur mais il y a peut être un meilleur moyen ?
-
Nop pas encore de moyen de faire des bot dynamique.
On peut seulement faire des semi statique (puisque on peu faire la technique )
-
Je vai voir si je peut le fair avec une anim alors
EDIT :
Mon BOT marche mais y reste sur sa position je vais essayé une tactic si sa marche je ferais un include avec une ligne pour fair marcher le bot
-
on peut toujours téléporte point par point ( avec l' anim ) le bot =) mais c' est pas très beau
-
Sa dépend si on précise bien tou les 100 milisecond
-
Ouais je parle pas de l' estetique Ig mais je parle du code ( ressource )
-
Ok mais comment faire pour être orienter ver une position que l'on désir
Je voudrait que mon joueur soit dans l'angle de la position défini.
-
Avec un calcule de trigonometrie, tu trouveras la solution dans un de mes post dans la fonction recherche tape les keywords "sasuke78200 rotation objet + calcule"
;)
-
forward Distance(playerid,id,msg);
public Distance(playerid,id,msg)
{
new Float:Pos1[3],Float:Pos2[3],Float:x,Float:y,Float:Pytha,string[32],Float:z;
GetPlayerPos(playerid,Pos1[0],Pos1[1],Pos1[2]);//Joueur 1
GetPlayerPos(id,Pos2[0],Pos2[1],Pos2[2]);//Joueur 2
x = Pos1[0] - Pos2[0];
y = Pos1[1] =- Pos2[1];
Pytha = (x*x)-(y*y);
floatsqroot(Pytha);
if(Pos1[2] > Pos2[2]){
z = Pos1[2] =- Pos2[2];}
else{
z = Pos2[2] =- Pos1[2];}
Pytha += z;
format(string,sizeof(string),"%.f",Pytha);
return SendClientMessage(msg,0x00F600F6,string);
}
Voila ce que j'ai trouvé si j'ai bien compris la rotation de mon joueur est Pytha mais a quelle joueur c'est angle correspond t'il ?
-
Lol la tu viens de prendre mon premier calcule pour connaitre la distance (il n' est pas très bon je fait mieu lol).
Mais pour l' angle il te faut faire une calcule d' arctangente que j' ai jamais fait et que j' essayerais de faire prochainement car ca m' interresse de plus en plus de melande math et prog =)
-
Où puis-je trouvé ce calcul ?
-
Je suis en train de le faire, mais franchement c' est pas un succès, je n' arrive pas a mettre ce que j' ai sur la tête dans le script :'(
Si quelqun de fort en math et pawn veut venir nous aider lol, Mon calcule ne fonction qu' avec environ deux deux angle.
Si tu veut tester avec moi coco pm moi je te passerais l ip de mon local
EDIT: bon a vrai dire j' ai a peu pres reussi l' objet suit mon angle mais a l' envers ce n' est rien il faut apres juste mettre un a -180 a la derniere rotation pm moi coco que tu vienne tester avec moi
forward SetAngleBot(playerid,botid);
public SetAngleBot(playerid,botid)
{
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
new Float:xo,Float:yo,Float:zo;
GetPlayerPos(botid,xo,yo,zo);
x = x -xo;
y = y -yo;
Rot = atan2(y,x);
SetPlayerFacingAngle(botid,Rot);
}
Je n' est tester qu' avec des objet donc a toi de voir si c' est bon avec les bots
-
Merci vraiment sa marche niquel et pour info c'est -90