GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: ApocKalipsS le 26 Janvier 2008, 18:43:54

Titre: Encore une question : Les interieurs.
Posté par: ApocKalipsS le 26 Janvier 2008, 18:43:54
Alors encore et encore Boujours,
J'ai plusieurs questions :
•Comment prendre les coordoné d'une zone dans un interieur ?
•Comment mettre un objet et savoir c'est coordoné dans un interieur ?(Pour faire un MoveObject)
•Comment l'ancer une action si on est à COTER du joueur auquel on doit lancer l'action ?


Voila SVP répondez-y ! :D
Merci d'avance
Titre: Re : Encore une question : Les interreurs.
Posté par: NatiVe™ le 26 Janvier 2008, 18:47:06
Lu,

1- type /interior pour l'id de l'interieur et /save pour la position

2- Pareil que la 1

3- Pas compris !

NV.

Titre: Re : Encore une question : Les interreurs.
Posté par: ApocKalipsS le 26 Janvier 2008, 19:03:02
Native pour la 1 et la 2 ça je sais, moi ce que je veux c'est mettre un OBJET et une ZONE (description de Zone = un caré qui ce situe dans un interrior où l'ont peux par exemple taper une commande.)
et savoir les coordoné de l'objet

Pour la 3) =
Si je doit donner une amende à quelqu'un, il faut que je sois au moins à 20Mètres de lui....

Compris  ? :P
Titre: Re : Encore une question : Les interieurs.
Posté par: MrFredo le 26 Janvier 2008, 21:59:36
Pour 1 et 2 suffit juste de la pos pa besoin de faire que sa soit dans un interieur sa i sera tout seul tu prend la pos et c tout ;)
Titre: Re : Encore une question : Les interieurs.
Posté par: ApocKalipsS le 27 Janvier 2008, 08:36:48
Avec le /save ? Mais pour les zone aussi je vois pas trop bien...
Parcequ'il faut Max_X Min_X Max_Y Min_Y  et dans le /save il n'y à que 3Coordoné...
Titre: Re : Encore une question : Les interieurs.
Posté par: ApocKalipsS le 27 Janvier 2008, 13:05:41
Bon j'ai reussi pour l'objet (en 1Heure !) mais pour la zone... pas compris 0_o
Titre: Re : Encore une question : Les interieurs.
Posté par: ghettoman94 le 27 Janvier 2008, 13:54:25
Une zone c est pas ta position.
Je pense que tu doit faire 4 /save aux 4 coin de la maison.
Après je ne c est pas quelle coordonné prendre.
Titre: Re : Encore une question : Les interieurs.
Posté par: ApocKalipsS le 27 Janvier 2008, 14:04:52
Ah oui pas bête je prend les coordoné X l'autre X le Y et l'autre Y
Titre: Re : Encore une question : Les interieurs.
Posté par: ghettoman94 le 27 Janvier 2008, 14:07:40
Oui mais je ne suis pas sur. :D
Titre: Re : Encore une question : Les interieurs.
Posté par: ApocKalipsS le 27 Janvier 2008, 15:39:36

         if (!strcmp(cmd, "/prison", true))
        {
                new message[127];
                new pid, tmp[256], tmpp[256];
                tmp = strtok(cmdtext, idx);
                tmpp = strtok(cmdtext, idx);
                  if(IsPlayerFlic == 1)
                      {
                  if (IsPlayerInArea(playerid,188.1826, 188.1824, 180.7640, 177.3943)) { // max_x, min_x max_y, min_y
                if      (!strlen(tmp))
                {
                        SendClientMessage(playerid, COLOR_GREEN, "USAGE: /prison [playerid] [Secondes]");
                        return 1;
                }
               
                pid = strval(tmp);
                if      (!(IsPlayerConnected(pid)))
                {
                        SendClientMessage(playerid, COLOR_RED, "Ce joueur n'est pas connecter !");
                        return 1;
                }
                new Second = strval (tmpp);
                GetPlayerName(pid, pidName, sizeof(pidName));
                format(tmp, sizeof(tmp), "Tu as mit en prison : %s (ID:%d) pour %d secondes",pidName,pid,Second);
                SendClientMessage(playerid, 0xAA3333AA, tmp);
                SetPlayerInterior(pid,3);
                SetPlayerPos(pid,197.9693,175.3055,1003.0234);
                SetPlayerFacingAngle(pid, 358.9875);
                SetCameraBehindPlayer(pid);
                SetPlayerArmour(pid,0);
                ResetPlayerWeapons(pid);
               GetPlayerName(playerid, message, sizeof(message));
            SendClientMessage(pid, COLOR_RED, "%s t'as mit en prison !", playerid);
                SetTimerEx ("Unjail", Second*1000, 0, "i", pid);
                }else if(IsPlayerFlic == 0){
                  SendClientMessage(playerid, COLOR_GREY, " Tu n'est pas policier !");
                                           }
                                           }else{
                 SendClientMessage(playerid, COLOR_GREY, " Tu doit être à coter de la prison pour mettre quelqu'un dedans !");
                 }
                return 1;
        }

Voila mon script, il ne marche pas :
Je ne suis pas "flic" et ca me dit "Tu doit être à coter de la prison etc..."
Quand je suis logué en "flic" et je ne suis pas à coter de la zone, ca me marque rien ca fait rien du tous. Je suis dans la zone et ca me fait rien du tous non plus....
Titre: Re : Encore une question : Les interieurs.
Posté par: [StAfF]MaN le 27 Janvier 2008, 16:31:29
J'aimais fai de zone désolé je peu pas t'aider...

Sinon estc e qu'il y a des erreurs ou le code est bon mais ne fonctionne pas ??
Titre: Re : Encore une question : Les interieurs.
Posté par: ApocKalipsS le 27 Janvier 2008, 17:20:32
Le code est bon mais fonctionne pas (il marche seulement sans les zones...)
Titre: Re : Encore une question : Les interieurs.
Posté par: MrFredo le 27 Janvier 2008, 17:22:02
Peux etre que c'est tes coordonnee qui sont incorect ;)
Titre: Re : Encore une question : Les interieurs.
Posté par: Syg le 28 Janvier 2008, 14:13:38
Je pense que ta zone n'est pas correcte, il y a 2 millimètres d'écart entre ton Xmax et ton Xmin (188.1826 - 188.1824 = 0.002 !!). Il faut vraiment bien être positionné pour que ça fonctionne.

Pour prendre les coordonnées d'un zone, il suffit de deux positions (deux /save) :
- Le coin supérieur gauche de la zone (Xmin, Ymin et on se fiche du Z)
- Le coin inférieur droit de la zone (Xmax, Ymax et on se fiche du Z)

NB : Dans GTA, l'axe des X est orienté de gauche à droite (Ouest->Est) et l'axe des Y de haut en bas (Nord -> Sud).

++
Syg
Titre: Re : Re : Encore une question : Les interieurs.
Posté par: UrbanGhetto le 28 Janvier 2008, 14:19:19
NB : Dans GTA, l'axe des X est orienté de gauche à droite (Ouest->Est) et l'axe des Y de haut en bas (Nord -> Sud).

++
Syg

Avant en arrière plutôt, C'est le Z qui est haut en bas.
Titre: Re : Encore une question : Les interieurs.
Posté par: ApocKalipsS le 28 Janvier 2008, 17:04:08
/save là
\/___
|***|
|***|
|___|
***/\ /save là

C'est pas très compréhensible m'enfin... c'est comme ça ?
Titre: Re : Encore une question : Les interieurs.
Posté par: Syg le 29 Janvier 2008, 16:38:10
Merci Lepro, c'est le dessin que j'ai eu la flemme de faire.

Sinon, Urban, quand je disait de haut en bas (Nord/Sud), c'est sur la carte (qui est en 2D).
D'ailleurs, en 3D, l'axe Z qui est orienté de bas en haut (et non pas de haut en bas).

++
Syg