• 17 Mai 2024, 04:02:55


Auteur Sujet: Teleporter un joueur dans un voiture  (Lu 5569 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Teleporter un joueur dans un voiture
« le: 21 Octobre 2009, 15:43:49 »
Bonjour a tous,

'aimerai savoir comment faire pour qu'n joueur qui fait une commande soit tp dans le véhicule 175, mais que si il y a deja quelqu'un au volant, qu'il soit tp dans le 176, mais que si il y a deja quelqu'un au volant, qu'il soit tp dans le 177 , mais que si il y a deja quelqu'un au volant, qu'ion li dise que tout les véhicule sont utiliser, qu'il doit attendre un peux. Merci



Merci
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Teleporter un joueur dans un voiture
« Réponse #1 le: 23 Octobre 2009, 03:35:09 »
Salut,

faudrait davantage t'expliquer, tu ne veut que ça le fasse qu'avec ces trois véhicules ou il s'agit d'un exemple?

tu peut toujours faire le test IsPlayerInVehicle dans une loop qui test tous les joueurs (ce qui revient à un IsAnyPlayerInVehicle)

voilà si tu pouvais élaborer et arriver avec un début de code à améliorer, ça aiderait ton cas...

++Sim++





Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Teleporter un joueur dans un voiture
« Réponse #2 le: 23 Octobre 2009, 07:54:21 »
béh c' est assez simple
tu creer une variable tableau avec MAX_VEHICLES comme grandeur puis tu fait une boucle

genre

for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerInAnyVehicle(i)
{
tavar[GetPlayerVehicleID(i)] = 1;
}
}

Et la tu va mieu comprendre



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Teleporter un joueur dans un voiture
« Réponse #3 le: 23 Octobre 2009, 16:35:04 »
Voila ma cmd.

if(strcmp(cmd, "/pratique", true) == 0)
{
if(IsPlayerConnected(playerid))
        {
if(PlayerToPoint(3.0,playerid,1490.3195,1305.6976,1093.2964))
          {
              if(PlayerInfo[playerid][pCarLic] != 0)
{
            if(PlayerInfo[playerid][pPrat] == 0)
{
    if(GetPlayerMoney(playerid) < 1500)
    {
              SendClientMessage(playerid, COLOR_GREY, "Vous n'avez pas assez d'argent pour acheter le permis pratique.");
              return 1;
}
else
{
              SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous avez commencer le test pour le permis pratique pour $1, 500");
              SendClientMessage(playerid, COLOR_LIGHTBLUE, "Pour commencer utiliser /commencerpratique");
              SafeGivePlayerMoney(playerid, - 1500);
                        PutPlayerInVehicle(playerid, 175, 0);
                        SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid, 0);
TogglePlayerControllable(playerid, 0);
              OnPlayerUpdate(playerid);
}
}
else
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous avez déjà le permis pratique.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous devez d'abord avoir le permis théorique.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous n'êtes pas à l'auto école.");
return 1;
}
}
  return 1;
}

J'ai mis  PutPlayerInVehicle(playerid, 175, 0);    Le probleme s'est que si un joueur est déjà dans le véhicule, il sera éjecté. J'aimerai simplement qui si il y a déjà quelqu'un dedans ce soit PutPlayerInVehicle(playerid, 176, 0);
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Diablo62

  • *
  • Bandit
  • Script seulement pour m'amuser :)
  • Messages: 305
    • Voir le profil
Re : Teleporter un joueur dans un voiture
« Réponse #4 le: 24 Octobre 2009, 11:13:03 »
Il faut que tu mettes des conditions  "si 1 joueur est dans le véhicule 175 alors 176 sinon 175" et pour cela il faut que tu utilises des if, else et des else if

Là dans ta commande, tu dis au script "si la personne n'a pas 1500 alors il ne peux pas le passer sinon il va directement dans le véhicule 175" et donc le script c'est se qu'il fait. Pour lui, si une personne est déjà dans le véhicule, ça ne lui fait ni chaud ni froid vu qu'il n'est pas pris en compte dans la commande et donc il l'éjecte.

Avec tout ça et se qu'il est écrit au dessus, normalement tu devrais pouvoir continuer ;)
« Modifié: 24 Octobre 2009, 11:15:25 par Diablo62 »
Merci à Colonel Marco pour la Signature

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Teleporter un joueur dans un voiture
« Réponse #5 le: 24 Octobre 2009, 12:13:00 »
Mais je ne sais pas comment verifier si un joueur est dans le véhicule. :s
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Teleporter un joueur dans un voiture
« Réponse #6 le: 24 Octobre 2009, 12:27:49 »
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Teleporter un joueur dans un voiture
« Réponse #7 le: 24 Octobre 2009, 12:47:45 »
Non, car ça ça vérifie si le joueur est dans un véhicule, moi je cherche si un joueur et dans le véhicule, subtil ^^
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Diablo62

  • *
  • Bandit
  • Script seulement pour m'amuser :)
  • Messages: 305
    • Voir le profil
Re : Teleporter un joueur dans un voiture
« Réponse #8 le: 24 Octobre 2009, 13:08:58 »
Justement, avec la fonction GetPlayerVehiculeID tu récupère l'id du Véhicule. Il te suffit donc de bien regarder les liens donné par cristab et de définir les conditions et le tour est joué ;)
Merci à Colonel Marco pour la Signature

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Teleporter un joueur dans un voiture
« Réponse #9 le: 24 Octobre 2009, 14:49:03 »
Parameters:
(playerid)
playerid   The player in the vehicle that you want to get the ID of
Returns   ID of the vehicle or 0 if not in a vehicle


//add 10x Nitro if the player is in a car. Might be called on a command.
new vehicle;
vehicle = GetPlayerVehicleID(playerid);
if (vehicle > 0)
{
    AddVehicleComponent(vehicle, 1010);
}

Quand je lis ça, voila ce que je comprend.

playerid   L'id du joueur qui est dans le véhicule

donc
si le joueur est dans un véhicule dont l'id est > 0 on ajoute de la nitro.

Donc je ne vois pas en quoi ça m'aide puisqu'on cherche si le joueur est dans un véhicule.

Ou  je comprend mal?
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Diablo62

  • *
  • Bandit
  • Script seulement pour m'amuser :)
  • Messages: 305
    • Voir le profil
Re : Teleporter un joueur dans un voiture
« Réponse #10 le: 24 Octobre 2009, 14:56:07 »
Tu comprends bien mais tu ne réfléchis pas.

Dans une commande, tu n'est pas obligé d'utiliser que > mais tu peux utiliser < ou = et donc tu peux dire si une personne est dans le véhicule 175 au lieu de dire si une personne est dans un véhicule au dessus de 0 ;)
Merci à Colonel Marco pour la Signature

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Teleporter un joueur dans un voiture
« Réponse #11 le: 24 Octobre 2009, 14:57:50 »
tu comprend mal

playerid 5 a taper la commande est teleporter dans le vehicul 175 tu fait une variable qui va dire que ce vehicule est occuper
playerid 6 a taper la commande est teleporter dans le vehicul 175 mais vus que la variable de ce vehicule est a 1 on le met dans le vehicule 176 et la on met la varible du vehicule a 1 qui va dire que ce vehicule est occuper

si tu regarde plusieur script la variable que tout le monde emploie s'apelle "used[vehicleid]"

diablo plus rapide que moi  :happy
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Teleporter un joueur dans un voiture
« Réponse #12 le: 24 Octobre 2009, 15:08:42 »
Bon voila j'ai essayer ça, il n'y a plus qu'a la tester

if(strcmp(cmd, "/pratique", true) == 0)
{
if(IsPlayerConnected(playerid))
        {
if(PlayerToPoint(3.0,playerid,1490.3195,1305.6976,1093.2964))
          {
              if(PlayerInfo[playerid][pCarLic] != 0)
{
            if(PlayerInfo[playerid][pPrat] == 0)
{
    if(GetPlayerMoney(playerid) < 1500)
    {
              SendClientMessage(playerid, COLOR_GREY, "Vous n'avez pas assez d'argent pour acheter le permis pratique.");
              return 1;
}
else
{
              for(new i; i<MAX_PLAYERS; i++)
{
    if(IsPlayerInVehicle(i,175) == 0)
{
   
    PutPlayerInVehicle(playerid, 175, 0);
                        SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid, 0);
TogglePlayerControllable(playerid, 0);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous avez commencer le test pour le permis pratique pour $1, 500");
              SendClientMessage(playerid, COLOR_LIGHTBLUE, "Pour commencer utiliser /commencerpratique");
              SafeGivePlayerMoney(playerid, - 1500);
              OnPlayerUpdate(playerid);
              return 1;
}
              if(IsPlayerInVehicle(i,175) == 1)
{
    if(IsPlayerInVehicle(i,176) == 0)
{
    PutPlayerInVehicle(playerid, 176, 0);
                        SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid, 0);
TogglePlayerControllable(playerid, 0);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous avez commencer le test pour le permis pratique pour $1, 500");
              SendClientMessage(playerid, COLOR_LIGHTBLUE, "Pour commencer utiliser /commencerpratique");
              SafeGivePlayerMoney(playerid, - 1500);
              OnPlayerUpdate(playerid);
}
return 1;
}
if(IsPlayerInVehicle(i,175) == 1)
{
    if(IsPlayerInVehicle(i,176) == 1)
{
    if(IsPlayerInVehicle(i,177) == 0)
{
    PutPlayerInVehicle(playerid, 177, 0);
                        SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid, 0);
TogglePlayerControllable(playerid, 0);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous avez commencer le test pour le permis pratique pour $1, 500");
              SendClientMessage(playerid, COLOR_LIGHTBLUE, "Pour commencer utiliser /commencerpratique");
              SafeGivePlayerMoney(playerid, - 1500);
              OnPlayerUpdate(playerid);
}
}
return 1;
}
    if(IsPlayerInVehicle(i,175) == 1)
{
    if(IsPlayerInVehicle(i,176) == 1)
{
    if(IsPlayerInVehicle(i,177) == 1)
{
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Toutes les voitures sont occupée, revenez plus tard.");

              }
}
}
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous avez déjà le permis pratique.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous devez d'abord avoir le permis théorique.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous n'êtes pas à l'auto école.");
return 1;
}
}
  return 1;
}

Double post
ça ne va pas.Je desespere.
« Modifié: 24 Octobre 2009, 17:11:21 par scott1 »
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Diablo62

  • *
  • Bandit
  • Script seulement pour m'amuser :)
  • Messages: 305
    • Voir le profil
Re : Teleporter un joueur dans un voiture
« Réponse #13 le: 24 Octobre 2009, 22:11:24 »
Je me doutais bien que ça n'aurait pas fonctionner étant donner que tu as plusieurs fois la condition if(IsPlayerInVehicle(i,175) == 1).

Donc 2 choses pour t'aider, soit devant tu ajoutes des else pour faire que tes conditions se transforme en else if(IsPlayerInVehicle(i,175) == 1) (mais je ne crois pas que ça va fonctionner), soit tu réduit en employant qu'une seule fois if(IsPlayerInVehicle(i,175) == 1) (chose qui est plus probable à mon avis).

Ta condition se présentera comme ça (je schématise et donc il ne te reste plus qu'à remplacer avec les bons termes):

Si (pas de joueur dans vehicule 175)
Alors il monte
sinon si (pas de joueur dans vehicule 176)
alors il monte
sinon si (pas de joueur dans vehicule 177)
alors il monte
sinon tous les véhicules sont pris.


Maintenant que tu as tous les éléments avec le schéma pour réussir, tu devrais pouvoir la faire sans problème ;)
Merci à Colonel Marco pour la Signature

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Teleporter un joueur dans un voiture
« Réponse #14 le: 24 Octobre 2009, 23:00:46 »
Ceci ça va?

if(strcmp(cmd, "/pratique", true) == 0)
{
if(IsPlayerConnected(playerid))
       {
if(PlayerToPoint(3.0,playerid,1490.3195,1305.6976,1093.2964))
           {
              if(PlayerInfo[playerid][pCarLic] != 0)
{
            if(PlayerInfo[playerid][pPrat] == 0)
{
   if(GetPlayerMoney(playerid) < 1500)
   {
            SendClientMessage(playerid, COLOR_GREY, "Vous n'avez pas assez d'argent pour acheter le permis pratique.");
            return 1;
}
else
{
            for(new i; i<MAX_PLAYERS; i++)
{
   if(IsPlayerInVehicle(i,175) == 0)
{
   
  PutPlayerInVehicle(playerid, 175, 0);
                        SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid, 0);
TogglePlayerControllable(playerid, 0);
  SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous avez commencer le test pour le permis pratique pour $1, 500");
            SendClientMessage(playerid, COLOR_LIGHTBLUE, "Pour commencer utiliser /commencerpratique");
            SafeGivePlayerMoney(playerid, - 1500);
            OnPlayerUpdate(playerid);
            return 1;
}
else if(IsPlayerInVehicle(i,176) == 0)
{
  PutPlayerInVehicle(playerid, 176, 0);
                        SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid, 0);
TogglePlayerControllable(playerid, 0);
  SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous avez commencer le test pour le permis pratique pour $1, 500");
            SendClientMessage(playerid, COLOR_LIGHTBLUE, "Pour commencer utiliser /commencerpratique");
            SafeGivePlayerMoney(playerid, - 1500);
            OnPlayerUpdate(playerid);
}
else if(IsPlayerInVehicle(i,177) == 0)
{
  PutPlayerInVehicle(playerid, 177, 0);
                        SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid, 0);
TogglePlayerControllable(playerid, 0);
  SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous avez commencer le test pour le permis pratique pour $1, 500");
            SendClientMessage(playerid, COLOR_LIGHTBLUE, "Pour commencer utiliser /commencerpratique");
            SafeGivePlayerMoney(playerid, - 1500);
            OnPlayerUpdate(playerid);
}
    else if(IsPlayerInVehicle(i,175) == 1 && IsPlayerInVehicle(i,176) == 1 && IsPlayerInVehicle(i,177) == 1)
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Toutes les voitures sont occupée, revenez plus tard.");
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous avez déjà le permis pratique.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous devez d'abord avoir le permis théorique.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous n'êtes pas à l'auto école.");
return 1;
}
}
   return 1;
}
« Modifié: 24 Octobre 2009, 23:11:11 par scott1 »
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction