Aller au contenu

Et Oui... Je Demande Encore De L'aide !


thomasleroi

Messages recommandés

Pour le timer, quand je compilais, il y avait quelques erreurs...

 

Sinon, pour le ProxDetector, je n'est pas vraiment compris, j'ai regardé sur google mais ça ne m'a pas vraiment aidé. Je ne sais pas l'instaurer dans mon GM...

Il faut un include ou autre chose ?

Modifié par thomasleroi
Lien vers le commentaire
Partager sur d’autres sites

Heu, on a utiliser le IsPlayerInArea, donc le ProxDetector t'en a pas besoin pour ce cas la ;)

 

Sinon tu avais des erreurs dans le timer, tu pourrais pas les poster, pour que je vois ça ^^ si ça ne te dérange pas :P

 

Edit : dès que tu as des erreurs poste les, pour qu'on les corrige et que le code fonctionne !!! :P

Lien vers le commentaire
Partager sur d’autres sites

Heu, on a utiliser le IsPlayerInArea, donc le ProxDetector t'en a pas besoin pour ce cas la ;)

 

Sinon tu avais des erreurs dans le timer, tu pourrais pas les poster, pour que je vois ça ^^ si ça ne te dérange pas :P

 

Edit : dès que tu as des erreurs poste les, pour qu'on les corrige et que le code fonctionne !!! :P

 

 

Le PorxDetecor, j'aimerais m'en servir pour ma commande "/payer" c'est pour ça que j'en parle ^^.

 

Je recompile et j'édit pour poster les erreurs.

 

 

EDIT :

 

Finalement, il n'y a aucune erreur mais pas de porte qui se fermer...

 

 

new CommiPortee;
forward CommiPorte ();

 

    if(strcmp(cmd, "/Ouvrir", true) == 0){
    if (IsPlayerInArea(playerid,2368.702, 2177.364, 2529.236, 2382.25))
    { // Lieu d'action
    if(gTeam[playerid] == TEAM_P) // Il faut être du Team_P
    {
    SendClientMessage(playerid, COLOR_GREEN, "Vous ouvrez les portes."); // Action
    MoveObject(id4,2294.018310,2508.369628,4.975717,1.0); // Action 2
    MoveObject(id3,2335.225830,2443.929199,0.164209,1.0);
    SetTimer("CommiPortee",5000,1);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Vous n'êtes pas un Policier.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Vous ne pouvez pas utiliser cette commande ici.");
    return 1;
}
}

public CommiPorte()
{
   MoveObject(id3,2335.231445,2443.969726,6.629711,1.0);
   MoveObject(id4,2294.005615,2499.361328,4.935194,1.0);
   KillTimer(CommiPortee);
}

Modifié par thomasleroi
Lien vers le commentaire
Partager sur d’autres sites

Ta rien compris au timer toi xD ton forward doit être exactement pareil que ton SetTimer, donc tu retire ton petit new CommiPortee en haut de ton script, tu le remplace par Timer, comme je t'avais fait.

 

new Timer;
forward CommiPorte ();

 

 

if(strcmp(cmd, "/Ouvrir", true) == 0){
    if (IsPlayerInArea(playerid,2368.702, 2177.364, 2529.236, 2382.25))
    { // Lieu d'action
    if(gTeam[playerid] == TEAM_P) // Il faut être du Team_P
    {
    SendClientMessage(playerid, COLOR_GREEN, "Vous ouvrez les portes."); // Action
    MoveObject(id4,2294.018310,2508.369628,4.975717,1.0); // Action 2
    MoveObject(id3,2335.225830,2443.929199,0.164209,1.0);
    Timer=SetTimer("CommiPorte",5000,1);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Vous n'êtes pas un Policier.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Vous ne pouvez pas utiliser cette commande ici.");
    return 1;
}
}

 

 

public CommiPorte()
{
   MoveObject(id3,2335.231445,2443.969726,6.629711,1.0);
   MoveObject(id4,2294.005615,2499.361328,4.935194,1.0);
   KillTimer(Timer);
}

Modifié par superpompier
Lien vers le commentaire
Partager sur d’autres sites

Re ! ^^ :rolleyes:

 

Alors, j'ai un petit problème... Je te met les lignes et je t'explique ce qui ne va pas...

 

 if(strcmp(cmd, "/Ouvrir", true) == 0 || strcmp(cmd, "/O", true) == 0){
    if (IsPlayerInArea(playerid,2368.702, 2177.364, 2529.236, 2382.25))
    { // Lieu d'action
    if(gTeam[playerid] == TEAM_P) // Il faut être du Team_P
    {
...blablabla...
    return 1;
}
}
//////////////////////////////////////////////////////////////////Porte de l'armée
if(strcmp(cmd, "/Ouvrir", true) == 0 || strcmp(cmd, "/O", true) == 0){
    if (IsPlayerInArea(playerid,315.3026, 58.38938, 2008.595, 1775.037))
    { // Lieu d'action
    if(gTeam[playerid] == TEAM_A) // Il faut être du Team_A
    {
...blablabla...
    return 1;
}
}

 

Donc, j'ai deux fois la même comande /ouvrir (pour les deux actions), et j'aimerais que quand je suis du Team_A, ou du Team_P, l'action qui ne concerne pas la Team ou je suis n'affecte pas l'action.

 

Car là, quand je suis du Team_A et que je fais /ouvrir, l'action ne se passe pas...

 

Tu vois ce que je veux dire ? C'est assez dur à expliquer... Si tu comprend pas je ferrais une petite vidéo pour te montrer.

Modifié par thomasleroi
Lien vers le commentaire
Partager sur d’autres sites

if(strcmp(cmd, "/Ouvrir", true) == 0 || strcmp(cmd, "/O", true) == 0)
{
   if (IsPlayerInArea(playerid,2368.702, 2177.364, 2529.236, 2382.25))
   { // Lieu d'action
       if(gTeam[playerid] == TEAM_P) // Il faut être du Team_P
       {
           ...blablabla...
       return 1;
       }
   }
   else if (IsPlayerInArea(playerid,315.3026, 58.38938, 2008.595, 1775.037))
   {
      if(gTeam[playerid] == TEAM_A) // Il faut être du Team_A
      {
         ...blablabla...
     return 1;
      }
   }
}

 

 

Et voila, juste une commande, pour plusieurs actions :P

 

a++

Modifié par superpompier
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×
×
  • Créer...