• 20 Avril 2024, 04:21:59


Auteur Sujet: [Help] Système de Carton  (Lu 3440 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne warbanker

  • *
  • Nouveau
  • Messages: 3
    • Voir le profil
[Help] Système de Carton
« le: 25 Avril 2015, 19:17:44 »
Bonjours,
Je poste ici car j'ai un problèmes, la commande /prendrecarton marche très bien mais le problème et si deux joueurs veulent prendre un carton un des deux joueurs aura un message d'erreur "Pas deux fois !". Je pense que le problème vient du pcarton = 1; quand un joueur fait la commande mais du coups je ne sais pas comment faire pour affecté cette variable a chaque joueur du serveur.

Voici les codes de la commandes:
if(!strcmp(cmdtext, "/prendrecarton", true))
 {
    if(pcarton == 1) return SendClientMessage(playerid, COLOR_RED,"Pas deux fois !"),1;
    if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, COLOR_RED,"Vous devez être connecté"), 1;
    if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "Vous devez sortir du véhicule"), 1;
new truckids[] = {73, 74, 75, 76, 77, 72, 71, 78, 80, 79}, Float:pos[2][3];
GetPlayerPos(playerid, pos[0][0], pos[0][1], pos[0][2]);
for(new i = 0; i < sizeof(truckids); i++)
{
GetVehiclePos(truckids[i], pos[1][0], pos[1][1], pos[1][2]);
if(VectorSize(pos[0][0]-pos[1][0], pos[0][1]-pos[1][1], pos[0][2]-pos[1][2]) < 6.0)
{
        new carton;
  pcarton = 1;
                        ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1);
            carton = CreateObject(1220, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
                        AttachObjectToPlayer(carton, playerid, 1.5, 0.5, 0.0, 0.0, 1.5, 2);
SendClientMessage(playerid, COLOR_RED, "Test reussi");
return 1;// Ce que tu veux faire s'il est proche de l'un de ces véhicules
  }
}
SendClientMessage(playerid, COLOR_RED, "tu n'est pas près d'un camion !");
return 1;
}

Merci de votre aide

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : [Help] Système de Carton
« Réponse #1 le: 27 Avril 2015, 17:32:04 »
Salut,

il faut que tu alloue la variable au joueur.

new pCarton[MAX_PLAYERS];

de même avec l'objet en lui même puisque sinon tu va écraser l'id du 1er joueur avec le deuxième et ainsi de suite.

new carton[MAX_PLAYERS]; carton[playerid] = create...

déclare les variables en global bien entendu pour pouvoir, detruire le carton etc.. après.

A+, Sam.
:cheers:

Hors ligne warbanker

  • *
  • Nouveau
  • Messages: 3
    • Voir le profil
Re : [Help] Système de Carton
« Réponse #2 le: 27 Avril 2015, 19:11:02 »
Merci de ton aide, je viens d'essayé sa a marché.

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : [Help] Système de Carton
« Réponse #3 le: 27 Avril 2015, 21:38:29 »
D'ailleurs tu pCarton sert à rien, tu as juste à vérifier que carton[playerid] est différent de 0 :p

Hors ligne CarCrasher

  • *
  • Tueur en série
  • Messages: 144
    • Voir le profil
Re : [Help] Système de Carton
« Réponse #4 le: 28 Avril 2015, 13:28:07 »
Non pas différent de 0, parce qu'un objet peut avoir l'id 0, faut vérifier si carton[playerid] != INVALID_OBJECT_ID plutôt

Hors ligne warbanker

  • *
  • Nouveau
  • Messages: 3
    • Voir le profil
Re : [Help] Système de Carton
« Réponse #5 le: 28 Avril 2015, 18:25:42 »
A ouais j'y avais pas pensé merci

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : [Help] Système de Carton
« Réponse #6 le: 28 Avril 2015, 21:54:30 »
Salut,

Oui autant pour moi, tu as raison CarCrasher :p

A+, Sam.
:cheers: