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

Titre: probleme zone
Posté 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
Titre: Re : probleme zone
Posté par: UrbanGhetto le 12 Février 2008, 21:07:01
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
Titre: Re : Re : probleme zone
Posté par: Orosko le 12 Février 2008, 21:08:06
Exemple si tu veut un quaret de 100 mettres tu ajoute +100 à la position X et Y

caré  ;D
Titre: Re : probleme zone
Posté par: ghettoman94 le 12 Février 2008, 21:19:36
Je demande parce que le logiciel qui fait les zone ne le fait pas pour les interieur.
Titre: Re : Re : Re : probleme zone
Posté par: UrbanGhetto le 12 Février 2008, 21:23:45
caré  ;D

Ca arrive des fautes d'orthographe, Oui, Même pour les pro  :P (Sans vouloir me vanter)
Titre: Re : probleme zone
Posté par: R@f le 12 Février 2008, 21:25:21
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
Titre: Re : probleme zone
Posté par: UrbanGhetto le 12 Février 2008, 21:27:54
T'es sur que c'est comme ça raf ?  ???
Titre: Re : probleme zone
Posté par: R@f le 12 Février 2008, 21:32:06
c'est comme sa que je fais ;)

++
R@f
Titre: Re : Re : probleme zone
Posté par: ghettoman94 le 12 Février 2008, 22:35:32
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
Titre: Re : probleme zone
Posté par: R@f le 13 Février 2008, 09:34:53
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
Titre: Re : probleme zone
Posté par: ghettoman94 le 13 Février 2008, 15:39:08
Ok merci de vos réponse.
Vous pourriez aussi m' expliquer comment définir une zone autour d' un joueur.
Merci
Titre: Re : Re : probleme zone
Posté par: UrbanGhetto le 13 Février 2008, 17:14:49
Vous pourriez aussi m' expliquer comment définir une zone autour d' un joueur.

Pas compris...
Titre: Re : probleme zone
Posté par: ghettoman94 le 13 Février 2008, 18:23:15
Par exemple je fait la commande /prison [id du joueur] mais il faut que je soit au moins a 3 metre de lui.
Titre: Re : probleme zone
Posté par: R@f le 13 Février 2008, 18:26:33
tu utilises cette fonction ;)
Code: (cpp) [Sélectionner]
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
Titre: Re : probleme zone
Posté par: LiiGhTFiiRe le 13 Février 2008, 20:56:34
Pour pas t'embêter en debug, voilà un très bon logiciel :
http://forum.sa-mp.com/index.php?topic=14702.0

++

LiiGhTFiiRe.
Titre: Re : probleme zone
Posté par: ghettoman94 le 13 Février 2008, 21:09:56
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.
Titre: Re : probleme zone
Posté par: LiiGhTFiiRe le 13 Février 2008, 21:17:38
Citation de: ghettoman94
Bonjour quelqu un pourrait m expliquer comment relever manuellement les coordonnée pour les zone

Ah oui en effet, j'avais pas fait attention ;)
Titre: Re : probleme zone
Posté par: UrbanGhetto le 14 Février 2008, 12:44:49
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...
Titre: Re : probleme zone
Posté par: ApocKalipsS le 15 Février 2008, 21:30:08
Justement, c'est ce qu'il dit, il utilise se logiciel mais il ne fait pas les interrieur...
Titre: Re : probleme zone
Posté par: bni@ le 19 Février 2008, 00:20:06
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). */
Titre: Re : probleme zone
Posté par: ApocKalipsS le 21 Février 2008, 08:30:53
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
Titre: Re : probleme zone
Posté par: R@f le 21 Février 2008, 16:58:10
tu as quoi comme erreurs ? j'ai la flem de tester  ::)

++
R@f
Titre: Re : probleme zone
Posté par: ApocKalipsS le 21 Février 2008, 17:02:09
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)"