GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: MrFredo le 02 Novembre 2007, 22:03:01

Titre: Zone et Objet
Posté par: MrFredo le 02 Novembre 2007, 22:03:01
Salut , Se serait pour vous demander de l'aide , je vous explique mon probleme

Enfet j'aimerai que quand un joueur entre dans une zone autour d'un certain objet le mouvement de l'objet s'active

mais je ne sais pas du tout comment realiser sa alor si vous pourier m'aider sa serait bien gentil

je precise que je ne veux pa un code tout fait mais les fonction a utiliser et quelque explication pour realiser sa


++

Fred
Titre: Re : Zone et Objet
Posté par: R@f le 02 Novembre 2007, 22:11:06
tu crée un nouveau public :
public zoneobjet()
{
new i, j, Float:X, Float:Y, Float:Z;

for (i = 0, j = MAX_PLAYERS; i < j; i++) {

GetPlayerPos(i, X, Y, Z);

if(X <= -1134.14 && X >= -1431.14  && Y <= 832.19  && Y >= 2312.37) // tu change les coordonnées

        MoveObject(objectid,X,Y,Z,vitesse);
        }
}
oublie pas le forward zoneobjet()et le timer en haut de ton script ;)

++
R@f

PS : je sais pas si se code est juste, je viens de le faite
Titre: Re : Zone et Objet
Posté par: MrFredo le 02 Novembre 2007, 22:30:32
j'ai eseyer j'ai mis mes position et tout mais sa marche pas :s
Titre: Re : Zone et Objet
Posté par: At1x le 02 Novembre 2007, 23:34:55
Dans OnGameModeInit rajoute un timer :
SetTimer("zonobjet",100,1);
pour que toutes les 0.1 secondes cela fasse bouger l'objet si un joueur est dans la zone.
Titre: Re : Zone et Objet
Posté par: spykerc8 le 02 Novembre 2007, 23:44:30
Surtout un timer qui relance la vérification de la zone sinon ta fonction ne sert à rien...xD
Titre: Re : Zone et Objet
Posté par: Nip le 03 Novembre 2007, 04:37:35
lu tlm

je ne trouve pas la page wiki  pour la fonction move objet

je ne comprend pas bien  ou je doit  mettre le "code"

Code:
forward zoneobjet()
Titre: Re : Zone et Objet
Posté par: NatiVe™ le 03 Novembre 2007, 11:28:19
Ce code la tu le met en haut de ton GM avec tout les new, define ...

AK NV.
Titre: Re : Zone et Objet
Posté par: Nip le 03 Novembre 2007, 14:32:45
ok merci

a toi ArseniK

et a tout les autre pour leur information

-++
Titre: Re : Zone et Objet
Posté par: Sismix84 le 03 Novembre 2007, 18:33:51
mais là l'objet ne va pas bouger même si le joueur n'est pas à côté ?
Titre: Re : Zone et Objet
Posté par: Syg le 03 Novembre 2007, 23:04:27
Avec cette ligne :
if(X <= -1134.14 && X >= -1431.14  && Y <= 832.19  && Y >= 2312.37),
l'objet ne bougera jamais !!!
Effectivement, Y ne peut pas être à la fois plus petit que 832 ET plus grand que 2312 !!!

Donc il faut faire très attention à la défintion de la zone sinon, plus rien ne marche.

Quand à la fonction MoveObject, elle est très délicate à utiliser à cause du paramètre vitesse :
MoveObject (objectid, X, Y, Z, vitesse);
où:
objectid -> Identifiant de l'objet (valeur retournée par la fonction CreateObject)
X, Y, Z -> Nouvelles coordonnées à atteindre (attention, ce ne sont pas des coordonnées relatives)
vitesse -> Vitesse de déplacement de l'objet (je ne connais pas l'unité mais je pense que ce sont des m/s). Plusieurs essais sont nécessaires pour arriver à la bonne valeur.

++
Syg
Titre: Re : Zone et Objet
Posté par: MrFredo le 06 Novembre 2007, 09:02:16
Salut, J'ai fait tout se que vous m'avez dit de faire mais l'objet ne bouge toujour pa  :(


++
Fred
Titre: Re : Zone et Objet
Posté par: R@f le 06 Novembre 2007, 09:20:12
fait bien attention aux coordonnées ! moi pour ma zone admin j'avais ce problème avant, je pensais que le code était faux mais c'était seulement les "coords", donc essaye plusieurs coordonnées

++
R@f
Titre: Re : Zone et Objet
Posté par: MrFredo le 08 Novembre 2007, 03:26:43
Saluuut! , Je suis heureux grace a vous lol!!!


Grace a vous j'ai reusi a faire que ma grille s'ouvre toute seule si un flic s'aproche et se referme si il s'eloigne

En Effet c'etait bien les cordoonee le probleme enfet c'etait les cordoonee negative sur lequel je m'etait gouré

C en reflechisant que j'ai compris mon probleme j'avait mit que ma zone devait etre inferieur a -1646.3911  et superieur a -1630.5466

Mais ensuite je me suis rapeler que c'etait dans le negatif donc il fallait faire l'inverse ^^

En tout cas un grand merci a vous :)

Maintenant je me lance dans la creation d'un trajet fait en race checkpoint pour les chaufeur de bus quand il prene leur service il auront

un trajet a suivre et sur le chemin si il ya des gens au arret de bus il doivent s'areter et les faire monter

puis si un pasager veux desendre au prochain arret il fait une comande du genre /arret comme sa au prochain checkpoint le bus s'arete

obligatoirement pdt un delai de 5 seconde par exemple ^^
Titre: Re : Re : Zone et Objet
Posté par: katalistix le 08 Novembre 2007, 19:52:23
Salut Syg , Pourrais tu me dire comment trouvé ces coordonnée :

if(X <= -1134.14 && X >= -1431.14  && Y <= 832.19  && Y >= 2312.37),

Merci !

Katalistix.
Titre: Re : Zone et Objet
Posté par: R@f le 09 Novembre 2007, 22:03:42
moi je l'avais fait avec X-Treme San Andreas Multiplayer Ultimate Visual Mapper et j ai mis les coordonnées au suivant ce qui correspond (si sa marche pas vérifie les coords ;) )

Télécharger X-Treme San Andreas Multiplayer Ultimate Visual Mapper (http://forum.sa-mp.com/index.php?topic=14702.0)

++
R@f
Titre: Re : Zone et Objet
Posté par: Syg le 09 Novembre 2007, 22:18:05
Premièrement, ce n'est pas moi qui est trouvé ces corrdonnées, c'est R@f et il vient de t'expliquer comment les trouver.
Deuxièmement, le bout de code que tu cites ne doit pas être utilisé, comme je l'ai dit dans mon premier post.

++
Syg
Titre: Re : Zone et Objet
Posté par: katalistix le 10 Novembre 2007, 04:58:18
Oui je suis d'accord , mais si je dois selectionné mon emplacement c'est trop petit.. :blink
Titre: Re : Zone et Objet
Posté par: UZI-I le 10 Novembre 2007, 10:08:20
Utilise le lien dans ma signature SA-MP Coord Picker

Je doit préciser que tu peut pas prendre les position en étant sous SA-MP, Lance ton jeu solo et fait ce qu'il y a ecrit ;)
Titre: Re : Zone et Objet
Posté par: doun le 30 Décembre 2007, 00:58:11
Salut ,
J'essaye de faire une grille qui s'ouvre quand on passe devant avec se qui est ecris plus haut mais quand je v a coter de ma grille elle bouge pas ...
Pourtant mes coordonés sont bonne, je n'arrete pas de verifier, je trouve pas l'erreur
Je suis partis d'un Blank Script il faut peut etre definir quelque fonction?
et Sinon g un warning : warning 217: loose indentation
et cette ligne c'est : 

public zoneobjet()
{
new i, j, Float:X, Float:Y, Float:Z;

   for (i = 0, j = MAX_PLAYERS; i < j; i++) { <=Ici

   GetPlayerPos(i, X, Y, Z);

   if(X <= 2030.0908 && X >= 2020.0908  && Y <= 1345.0281  && Y >= 1340.0281){ // tu change les coordonnées

        MoveObject(objet, 2026.0908,1345.0281,10.8203, 2.00 );
        }
        }
}

J'ai mis mon GM en Pastebin : http://pastebin.gtaonline.fr/pastebin.php?show=255
Titre: Re : Zone et Objet
Posté par: doun le 31 Décembre 2007, 01:36:56
Personne ne peu m'aider svp? je ne trouve vraiment l'erreur :(
(dsl pour le double post)