• 06 Juin 2026, 19:57:03


Auteur Sujet: [ Problème : en cours ] Intérieur auto école  (Lu 1218 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Paradize

  • Scripteur
  • *
  • Tueur
  • Scripteur de Paradize Rôle Play
  • Messages: 67
    • Voir le profil
    • Paradize Rôle Play
[ Problème : en cours ] Intérieur auto école
« le: 23 Décembre 2009, 06:45:14 »
Bonjour !

Alors voilà..j'ai un soucis avec mon auto école.

J'ai installer mon auto école à Los Santos. J'ai commencé par changé le spawn des joueurs de la faction instructeur (Spawn dans l'intérieur) :

Citer
       if(IsAnInstructor(playerid)) //Spawn instructeur
       {
         if(SchoolSpawn[playerid] == 0)
         {
              SetPlayerToTeamColor(playerid);
            SetPlayerPos(playerid, 1494.8589,1306.48,1093.2953); // Spawn du joueur de la faction instructeur
            SetPlayerFacingAngle(playerid, 275.1114);
            SetPlayerInterior(playerid,3);
            PlayerInfo[playerid][pInt] = 3;
         }
         else if(SchoolSpawn[playerid] == 1)
         {
            SetPlayerToTeamColor(playerid);
            SetPlayerPos(playerid, -2032.6810,-117.4816,1035.1719);
            SetPlayerFacingAngle(playerid, 4.6505);
            SetPlayerInterior(playerid,0);
            PlayerInfo[playerid][pInt] = 0;
         }
           return 1;

Ensuite, j'ai ajouté l'ID de l'intérieur. J'ai ajouté l'auto école comme bizz avec intérieur. Quand je me connecte, je spawn bien dans l'intérieur mais si je veux sortir (En marchant vers la porte), mon joueur sort mais rerentre directement dans l'auto école. Par contre, si je fais /sortir, mon joueur sort bien du bâtiment..

Suis-je obliger de mettre l'auto école comme bizz pour pouvoir /entrer et /sortir ? Il y a pas une autre manière ? Peut-on m'aider ? Me donner des codes..etc

Si vous avez besoin d'autre ligne, dites moi :)
Scripteur de Paradize Rôle Play !

Hors ligne The Bird

  • *
  • Tueur en série
  • Messages: 110
    • Voir le profil
Re : [ Problème : en cours ] Intérieur auto école
« Réponse #1 le: 23 Décembre 2009, 08:45:01 »
Le problème ne vient pas de ton spawn, ni de ton biz.

Le problème, si je ne me trompe pas, c'est de ta sortie et entré automatique.
Il y'a 2 possibilité :

1. Quand tu sorts, ton joueur se trouve la ou il doit se placer pour entré, donc il se retrouve de nouveau dedans.

Solution : Faire le spawn de sortie un petit peu plus loin du points d'entré.


2. Si le points d'entré est déjà éloigné du spawn à la sortie, ton rayon de PlayerToPoint est trop élevée.
Donc quand le joueur sort, il se trouve dans ce rayon, et donc TP à l'intérieur.

Solution :

PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
Float:radi = rayon du point, plus il est petit, plus la position du joueur devra êtré précise.

Pour un entré/sortie, je te conseille la valeur 1.0.
Ensuite, il vaut mieux rajouter un pick up pour mieux indiquer les joueurs


PS : Si tu es passé par la 2, revérifie la 1 si sa ne marche pas.

Hors ligne Paradize

  • Scripteur
  • *
  • Tueur
  • Scripteur de Paradize Rôle Play
  • Messages: 67
    • Voir le profil
    • Paradize Rôle Play
Re : [ Problème : en cours ] Intérieur auto école
« Réponse #2 le: 23 Décembre 2009, 08:47:50 »
Ok..

Citer
Solution : Faire le spawn de sortie un petit peu plus loin du points d'entré

Comment je le fais spawn un peu plus loin ?
Scripteur de Paradize Rôle Play !

Hors ligne The Bird

  • *
  • Tueur en série
  • Messages: 110
    • Voir le profil
Re : [ Problème : en cours ] Intérieur auto école
« Réponse #3 le: 23 Décembre 2009, 08:59:58 »
Je te donne un exemple

}
else if(PlayerToPointStripped(1, playerid,1352.1194,-1759.2534,13.5078, cx,cy,cz))
{//24/7 near PD Entrance
GameTextForPlayer(playerid, "~w~24/7", 5000, 1);
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid,-26.6916,-55.7149,1003.5469);
PlayerInfo[playerid][pInt] = 6;
}
else if(PlayerToPointStripped(1, playerid,-27.3919,-58.2529,1003.5469, cx,cy,cz))
{//24/7 near PD Exit
GameTextForPlayer(playerid, "~w~San Francisco", 5000, 1);
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,1352.3282,-1755.4298,13.3542);
PlayerInfo[playerid][pInt] = 0;
}

Dans la sortie, tu vois que le position ( SetPlayerPos ) n'est pas le même que PlayerToPointStripped ( ne t'occupe pas de Stripped et de cx,cy, cz, si tu utilises PlayerToPoint )
La position du SetPlayerPos de la sortie est hors du champs du PlayerToPoint ( qui est ici une position précise, vu que le rayon est de 1).
Donc quand ton joueur sera dehors, il ne sera pas TP à l'intérieur, car il n'est pas TP dans le champs du PlayerToPoint, qui est la condition pour entrer dans l'auto école.

Mais j'ai vu ton autre post, et à je crois avoir vu que ton champs est de 8, essaye d'abords la solution de 2, en mettant pour tester la valeur 1.

Hors ligne Paradize

  • Scripteur
  • *
  • Tueur
  • Scripteur de Paradize Rôle Play
  • Messages: 67
    • Voir le profil
    • Paradize Rôle Play
Re : [ Problème : en cours ] Intérieur auto école
« Réponse #4 le: 23 Décembre 2009, 09:05:17 »
Je t'explique ce que je voudrais :

Déplacer l'auto école de San Fierro avec l'intérieur (Coordonnée de l'intérieur : -2031.1196,-115.8287,1035.1719) à Los Santos.

Donne moi les lignes dans mon GM (Godfather), que je dois modifier..Etc ?

 :-[

Scripteur de Paradize Rôle Play !

Hors ligne The Bird

  • *
  • Tueur en série
  • Messages: 110
    • Voir le profil
Re : [ Problème : en cours ] Intérieur auto école
« Réponse #5 le: 23 Décembre 2009, 10:38:59 »
Alors pour déplacer.

Si les instructeur spawn dans l'auto école, de ce côté, y'a rien a modifier.
Pour les entré/sortie, tu as besoin de 4 positions.

1. Position d'entré ( la ou le joueur doit aller pour entrer )
2. Position de spawn après l'entré ( la ou le joueur se trouve après être entré, plus loin du points ou il devra aller pour sortie )
3. Position de sortie ( la ou le joueur ira pour sortie )
4. Position de spawn après la sortie ( la ou le joueur se trouve après être sortie, plus loin du poitns ou il devra aller pour entré )


Et tu modifies ces positions dans le codes, le même style que celui d'avant ( voir plus haut )

Hors ligne Paradize

  • Scripteur
  • *
  • Tueur
  • Scripteur de Paradize Rôle Play
  • Messages: 67
    • Voir le profil
    • Paradize Rôle Play
Re : [ Problème : en cours ] Intérieur auto école
« Réponse #6 le: 23 Décembre 2009, 10:42:14 »
Ok je vois...je vais essayé  ::)

Le code est celui là :

Citer
}
   else if(PlayerToPointStripped(1, playerid,1352.1194,-1759.2534,13.5078, cx,cy,cz))
   {//24/7 near PD Entrance
      GameTextForPlayer(playerid, "~w~24/7", 5000, 1);
      SetPlayerInterior(playerid, 6);
      SetPlayerPos(playerid,-26.6916,-55.7149,1003.5469);
      PlayerInfo[playerid][pInt] = 6;
   }
   else if(PlayerToPointStripped(1, playerid,-27.3919,-58.2529,1003.5469, cx,cy,cz))
   {//24/7 near PD Exit
      GameTextForPlayer(playerid, "~w~San Francisco", 5000, 1);
      SetPlayerInterior(playerid, 0);
      SetPlayerPos(playerid,1352.3282,-1755.4298,13.3542);
      PlayerInfo[playerid][pInt] = 0;
   }

??
Scripteur de Paradize Rôle Play !

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : [ Problème : en cours ] Intérieur auto école
« Réponse #7 le: 23 Décembre 2009, 10:50:41 »
Non ça c'est un exemple.
Tu dois changé dans ton script par toi même.
Si tu es dans un LARP je crois, c'est dans public CheckForWalkingTeleport.
Tu cherche le code où tu es téléporté à l'exterieur de ton auto école.
PAR EXEMPLE : celui là :


Citer
   else if(PlayerToPointStripped(1, playerid,-27.3919,-58.2529,1003.5469, cx,cy,cz))
   {//24/7 near PD Exit
      GameTextForPlayer(playerid, "~w~San Francisco", 5000, 1);
      SetPlayerInterior(playerid, 0);
      SetPlayerPos(playerid,1352.3282,-1755.4298,13.3542);
      PlayerInfo[playerid][pInt] = 0;
   }


Ce qui est en rouge est la position à l'interieur de l'auto école, là où il doit se mettre pour être téléporté à l'exterieur.
Ce qui est en vert est la position où il va spawn à l'exterieur de l'auto école. C'est donc ici que tu dois changer par une position plus éloignée. Tu vas dans le jeu, tu tape /save un peu plus devant et tu as la position, voilà.


En éspérant t'avoir aidé,  ;)

Hors ligne Paradize

  • Scripteur
  • *
  • Tueur
  • Scripteur de Paradize Rôle Play
  • Messages: 67
    • Voir le profil
    • Paradize Rôle Play
Re : [ Problème : en cours ] Intérieur auto école
« Réponse #8 le: 23 Décembre 2009, 10:53:10 »
Tu peux m'avoir beaucoup aidé

Mais le soucis, c'est que je suis sur un Godfather (Celui d'origine), et il y a pas "CheckForWalkingTeleport"...Etc

Je fais comment ?
Scripteur de Paradize Rôle Play !