GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: ghettoman94 le 12 Février 2008, 17:11:57
-
Bonjour quelqu un pourrait m expliquer comment relever manuellement les coordonnée pour les zone
Max_X
Min_X
Max_Y
Min_Y
Merci
-
Je crois pas que c'est possible, Même si ça l'est ça reste dififcile.
Tu dois te mettre dans un point, Sauvegarder ta position avec /Save, Ensuite tu agrandis la position à la valeur que tu veut.
Exemple si tu veut un quaret de 100 mettres tu ajoute +100 à la position X et Y
-
Exemple si tu veut un quaret de 100 mettres tu ajoute +100 à la position X et Y
caré ;D
-
Je demande parce que le logiciel qui fait les zone ne le fait pas pour les interieur.
-
caré ;D
Ca arrive des fautes d'orthographe, Oui, Même pour les pro :P (Sans vouloir me vanter)
-
si tu veux avoir ces positions in-game, tu te places tout simplement a chaque coin de ton carré, par exemple, tu veux faire une zone de gang, imaginons que tu es ce symbole "$" ^^
Voila comment tu te placeras
$- - -$
- -
- -
$- - -$
dès que tu es en position tu fais /save ;)
++
R@f
-
T'es sur que c'est comme ça raf ? ???
-
c'est comme sa que je fais ;)
++
R@f
-
si tu veux avoir ces positions in-game, tu te places tout simplement a chaque coin de ton carré, par exemple, tu veux faire une zone de gang, imaginons que tu es ce symbole "$" ^^
Voila comment tu te placeras
$- - -$
- -
- -
$- - -$
dès que tu es en position tu fais /save ;)
++
R@f
ok est quand je fait /save il y a plusieurs coordonner , lesquelles je doit prendre et ou je doit les mettre par rapport a
Max_X
Min_X
Max_Y
Min_Y
-
sa va te donner un AddPlayerClass, sachant que X est le premier chiffre et que Y c'est le 2ème dans la coordonnée, tu vas prendre le chiffre X le plus grand qui sera ton Max_X, après tu prends le chiffre X le plus petit qui te donnera Max_Y, tu fais de même pour Y. Après, le plus dur c'est de savoir dans quel ordre tu dois les mettre dans ton code, mais sa risque de ne pas être trop dur, après 2/3 essais tu vas trouver ;)
++
R@f
-
Ok merci de vos réponse.
Vous pourriez aussi m' expliquer comment définir une zone autour d' un joueur.
Merci
-
Vous pourriez aussi m' expliquer comment définir une zone autour d' un joueur.
Pas compris...
-
Par exemple je fait la commande /prison [id du joueur] mais il faut que je soit au moins a 3 metre de lui.
-
tu utilises cette fonction ;)
stock Float:GetDistanceBetweenPlayers(p1,p2)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
if (!IsPlayerConnected(p1) || !IsPlayerConnected(p2)){
return -1.00;
}
GetPlayerPos(p1,x1,y1,z1);
GetPlayerPos(p2,x2,y2,z2);
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}en mettant un "if(GetDistanceBetweenPlayers(p1,p2) < 3)" dans ta commande ;)
++
R@f
-
Pour pas t'embêter en debug, voilà un très bon logiciel :
http://forum.sa-mp.com/index.php?topic=14702.0
++
LiiGhTFiiRe.
-
Bonjour quelqu un pourrait m expliquer comment relever manuellement les coordonnée pour les zone
Si j' ai dit manuelement c est sans logiciel parce que je l' ai deja mais sa marche pas pour les interieur.
Merci quand meme.
-
Bonjour quelqu un pourrait m expliquer comment relever manuellement les coordonnée pour les zone
Ah oui en effet, j'avais pas fait attention ;)
-
Hum si tu avais lu plus haute tu aurais compris qu'il veut pas utiliser ce logiciel parce-qu'il prend pas en compte les intérieurs...
-
Justement, c'est ce qu'il dit, il utilise se logiciel mais il ne fait pas les interrieur...
-
slt
esaye de faire ca ces sur que ca fonctione ;)
/* Le coin supérieur gauche de la zone (Xmin, Ymin). */
/* Le coin inférieur droit de la zone (Xmax, Ymax). */
-
stock Float:GetDistanceBetweenPlayers(p1,p2)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
if (!IsPlayerConnected(p1) || !IsPlayerConnected(p2)){
return -1.00;
}
GetPlayerPos(p1,x1,y1,z1);
GetPlayerPos(p2,x2,y2,z2);
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}
Salut R@f, :)
Désolé de remonter un peu le sujet mais... Je comprend rien !! ;D
J'ai mit ce code comme le "strtok" ou le "IsPlayerInArea" en bas de mon GM. OK, après j'ai rien compris c'est pour le IF ma commande :
"if(GetDistanceBetweenPlayers(p1,p2) < 3)" Ca me met plein d'erreur, je comprend rien !! ;D
Merci de m'aider... :D :cheers
-
tu as quoi comme erreurs ? j'ai la flem de tester ::)
++
R@f
-
C:\Documents and Settings\pcadrien\Mes documents\Serveur GTA\filterscripts\jobs.pwn(353) : warning 208: function with tag result used before definition, forcing reparse
C:\Documents and Settings\pcadrien\Mes documents\Serveur GTA\filterscripts\jobs.pwn(137) : error 017: undefined symbol "p1"
Ca me remet un warning à la ligne 353 :
stock Float:GetDistanceBetweenPlayers(p1,p2)//ligne 353
{//354
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;//355
if (!IsPlayerConnected(p1) || !IsPlayerConnected(p2)){
return -1.00;
}
GetPlayerPos(p1,x1,y1,z1);
GetPlayerPos(p2,x2,y2,z2);
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));//ligne 361
}//362
Puis l'erreur ba c'est le if :
"if(GetDistanceBetweenPlayers(p1,p2) < 3)"