• 09 Juin 2024, 20:46:33


Auteur Sujet: Une commande pour faire rentrer quelqu'un de force dans un véhicule?  (Lu 2148 fois)

0 Membres et 1 Invité sur ce sujet

abox

  • Invité
Bonjour,

Il y a peu, j'ai remarqué que sur mon GM, je n'avais aucune commande pour faire rentrer les gens de force dans un véhicule quand on est conducteur.
Donc j'ai cherché un peu partout pour savoir comment en faire une, par exemple, il y avait un filterscript dont une commande le permettait mais comme par hasard, le lien était mort (le thread aussi d'ailleurs).
Donc je vous demande quelques explications a propos de cette fameuse commande (que seul les membres de factions pourraient utiliser bien sûr).
Ah petites précisions : Il faut être dans la voiture pour l'utiliser et il faut qu'il y ait une place de libre, il faut que le joueur qu'on veut faire rentrer soit assez près du véhicule et il faut faire partie d'une faction.
Merci d'avance a ceux qui répondront.

Cordialement,
Un petit débutant en Pawn =)

Hors ligne yah00078

  • *
  • Tueur en série
  • Messages: 163
    • Voir le profil
    • Radio locale F2xradio
Salut , je ne peux pas t'aider , mais c'est vrai que sa pourrais etre interessant pour les "police"

Je surveille =) et cherche de mon coté
Quand on veux , on peut !

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Ca se fait pas trop ici de faire donner sans expliquerr, mais bon, je l'ai fait il y a assez longtemps, et j'ai un peu la flemme  :laugh

if(strcmp(cmd, "/envoiture", true) == 0) // by Ellis
{
    if(IsPlayerConnected(playerid))
    {
        if(!IsACop(playerid))
{
    SendClientMessage(playerid, COLOR_GRAD1, "Vous n'êtes pas un policier !");
    return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Uttilisation: /envoiture [playerid/PartOfName]");
return 1;
}
new newcar = GetPlayerVehicleID(playerid);
new playa;
playa = ReturnUser(tmp);
if(IsACopCar(newcar) || IsNgCar(newcar) || IsAnFbiCar(newcar))
{
    if(IsPlayerConnected(playa))
    {
        if(playa != INVALID_PLAYER_ID)
        {
            new Float:x, Float:y, Float:z;
            GetPlayerPos(playa,x,y,z);
            if(PlayerToPoint(5, playerid, x, y, z))
            {
            PutPlayerInVehicle(playa,newcar,1);
            GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s met en voiture %s dans son véhicule.", sendername ,giveplayer);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Ce joueur n'est pas près de vous.");
}
}
    }
}
else
{
    SendClientMessage(playerid, COLOR_GRAD1, "Vous n'êtes pas près d'un véhicule de police !");
}
    }
    return 1;
}

Hors ligne Nico_Torres

  • *
  • Criminel
  • Messages: 30
    • Voir le profil
Mais comment faire poru choisir la place ?
Si on veux le mettre devant, derriere a gauche ou derriere a droite ?   ;D
Cordialement,
Nico Torres,
Noob en script et tout ce qui va avec =D

~~ Besoin d'aide ~~

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
regarde le tableu ci dessous
Citer
0 1
3 4

mais attention avec 3 4 le serveur crash facilement
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 Nico_Torres

  • *
  • Criminel
  • Messages: 30
    • Voir le profil
Oui mais is la on fait /envoiture ID 3
S afera rien, on doit le mettre ou ?
Cordialement,
Nico Torres,
Noob en script et tout ce qui va avec =D

~~ Besoin d'aide ~~

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
ici PutPlayerInVehicle(playa,newcar,1);   la le 1 veut dire place avant passager
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 Nico_Torres

  • *
  • Criminel
  • Messages: 30
    • Voir le profil
Ok merci mais comment on fait pour qu'on puisse choisir ?
Cordialement,
Nico Torres,
Noob en script et tout ce qui va avec =D

~~ Besoin d'aide ~~

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
dans ce cas la tu rajoute dans ta commande qui devient  /envoiture [playerid/PartOfName] [place 1-2-3]
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 ghm94

  • *
  • Grand Banditisme
  • Messages: 886
    • Voir le profil
Mais attention a ne pas mettre une place déja prise sinon crash il me semble.

++

Hors ligne Lance

  • *
  • Tueur
  • Messages: 87
    • Voir le profil
Et le test sur les voiture a 2 place, crash quand il sort, faut l'éjecter et tu crash.

Hors ligne Nico_Torres

  • *
  • Criminel
  • Messages: 30
    • Voir le profil
Re : Une commande pour faire rentrer quelqu'un de force dans un véhicule?
« Réponse #11 le: 01 Septembre 2009, 10:37:11 »
if(strcmp(cmd, "/envoiture", true) == 0) // by Ellis
{
    if(IsPlayerConnected(playerid))
    {
        if(!IsACop(playerid))
{
    SendClientMessage(playerid, COLOR_GRAD1, "Vous n'êtes pas un policier !");
    return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Uttilisation: /envoiture [playerid/PartOfName] [Place 1-2-3-4]");
return 1;
}
new newcar = GetPlayerVehicleID(playerid);
new playa;
playa = ReturnUser(tmp);
if(IsACopCar(newcar) || IsNgCar(newcar) || IsAnFbiCar(newcar))
{
    if(IsPlayerConnected(playa))
    {
        if(playa != INVALID_PLAYER_ID)
        {
            new Float:x, Float:y, Float:z;
            GetPlayerPos(playa,x,y,z);
            if(PlayerToPoint(5, playerid, x, y, z))
            {
            PutPlayerInVehicle(playa,newcar,1);
            GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s met en voiture %s dans son véhicule.", sendername ,giveplayer);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Ce joueur n'est pas près de vous.");
}
}
    }
}
else
{
    SendClientMessage(playerid, COLOR_GRAD1, "Vous n'êtes pas près d'un véhicule de police !");
}
    }
    return 1;
}

Ce code est bon ?
Cordialement,
Nico Torres,
Noob en script et tout ce qui va avec =D

~~ Besoin d'aide ~~

Hors ligne The Bird

  • *
  • Tueur en série
  • Messages: 110
    • Voir le profil
Re : Une commande pour faire rentrer quelqu'un de force dans un véhicule?
« Réponse #12 le: 02 Septembre 2009, 20:02:37 »
Si j'en crois ce que je vois, magrer que je ne peux pas plus t'aider, rajouter [placer 1 - 2 - 3] a SendClientMessage, c'est comme jeter un cailloux dans l'espace en esperant que le soleil te tombe dessus, sa ne peux pas marcher.

Je ne peux pas te donner d'indication de code, mais je peux juste te dire que sa ne marche pas.


Tu as beau rajouter [placer 1 - 2 - 3] , la seul chose que tu auras, c'est la phrase avec [placer 1 - 2 - 3], et rien d'autre.


Je ne peux pas t'aider, mais juste te prévenir que cela ne fonctionnera pas

abox

  • Invité
Re : Une commande pour faire rentrer quelqu'un de force dans un véhicule?
« Réponse #13 le: 03 Septembre 2009, 18:46:00 »
=O elle date c'est discuss', je l'avais completement oubliée!
Je vous donne ma commande =D :

if(strcmp(cmd, "/pullincar", true) ==0 || strcmp(cmd, "/mvg", true) == 0)
    {
    new suspect = GetClosestPlayer(playerid);
    if(PlayerInfo[playerid] [pMember] <= 1 || PlayerInfo[playerid] [pLeader] <= 1)
      {
    if(GetDistanceBetweenPlayers(playerid,suspect) < 15)
{
            tmp = strtok(cmdtext, idx);
            if (!strlen(tmp))
            return SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /mvg [player id] [1/2/3]");
            new person = strval(tmp);
            tmp = strtok(cmdtext, idx);
            if (!strlen(tmp))
            return SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /mvg [player id] [1/2/3]");
            new seat = strval(tmp);
            new Float:pos[6];
            GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
            GetPlayerPos(person, pos[3], pos[4], pos[5]);
            if (floatcmp(floatabs(floatsub(pos[0], pos[3])), 10.0) != -1 &&
            floatcmp(floatabs(floatsub(pos[1], pos[4])), 10.0) != -1 &&
            floatcmp(floatabs(floatsub(pos[2], pos[5])), 10.0) != -1) return false;
PutPlayerInVehicle(person, GetPlayerVehicleID(playerid), seat);
          }
          else
{
              SendClientMessage(playerid, COLOR_GREY, "Vous êtes trop loin du Joueur !");
            }
      }
      else
      {
           SendClientMessage(playerid, COLOR_GREY, "Vous n'êtes pas un Gang/Mafia !");
        }
  return 1;
}
if(strcmp(cmd, "/pullincar", true) ==0 || strcmp(cmd, "/mvp", true) == 0)
    {
    new suspect = GetClosestPlayer(playerid);
    if(PlayerInfo[playerid][pMember]== 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember]== 1 || PlayerInfo[playerid][pLeader] == 1)
      {
    if(GetDistanceBetweenPlayers(playerid,suspect) < 15)
{
            tmp = strtok(cmdtext, idx);
            if (!strlen(tmp))
            return SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /mvp [player id] [1/2/3]");
            new person = strval(tmp);
            tmp = strtok(cmdtext, idx);
            if (!strlen(tmp))
            return SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /mvp [player id] [1/2/3]");
            new seat = strval(tmp);
            new Float:pos[6];
            GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
            GetPlayerPos(person, pos[3], pos[4], pos[5]);
            if (floatcmp(floatabs(floatsub(pos[0], pos[3])), 10.0) != -1 &&
            floatcmp(floatabs(floatsub(pos[1], pos[4])), 10.0) != -1 &&
            floatcmp(floatabs(floatsub(pos[2], pos[5])), 10.0) != -1) return false;
PutPlayerInVehicle(person, GetPlayerVehicleID(playerid), seat);
          }
          else
{
              SendClientMessage(playerid, COLOR_GREY, "Vous êtes trop loin du Joueur !");
            }
      }
      else
      {
           SendClientMessage(playerid, COLOR_GREY, "Vous n'êtes pas un Policier !");
        }
  return 1;
}

(a placer dans OnCommandText après les news (si vous en avez mis dans le public).

Hors ligne The Bird

  • *
  • Tueur en série
  • Messages: 110
    • Voir le profil
Re : Une commande pour faire rentrer quelqu'un de force dans un véhicule?
« Réponse #14 le: 03 Septembre 2009, 19:39:11 »
Que représente cette ligne ?

if(PlayerInfo[playerid] [pMember] <= 1 || PlayerInfo[playerid] [pLeader] <= 1)
Le 2 ème code a l'air de pouvoir fonctionner.


PS : 2 ( ou plus ) commande du même nom, font buger la commande. Donc quand tu la tapes, tu peux juste t'attendre à ne rien n'obtenir de celle-ci