• 06 Juin 2026, 07:11:05


Auteur Sujet: Onplayertext  (Lu 1228 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Onplayertext
« le: 19 Février 2010, 22:20:19 »
Bonsoir, j'ai un soucis, j'ai ce code qui foire
Citer
public OnPlayerText(playerid, text[])
{
   new sendername[MAX_PLAYER_NAME];
   new giveplayer[MAX_PLAYER_NAME];
   new tmp[256];
   new string[256];
   if(Estdanscoffre[playerid] == 1)
   {
           new idx;
          new x_nr[64];
         //x_nr = strtok(cmdtext, idx);
         x_nr = strtok(text, idx);
         if(!strlen(x_nr))
         {
             SendClientMessage(playerid, COLOR_WHITE, "Vous êtes dans votre coffre, vous pouvez:");
             SendClientMessage(playerid, COLOR_WHITE, "fermer, mettrearme, prendrearme, mettrekevlar, prendrekevlar");
             SendClientMessage(playerid, COLOR_WHITE, "mettredrogues, prendredrogues, mettrematos, prendrematos");
             return 1;
         }
         if(strcmp(x_nr,"fermer",true) == 0)
                        { ... }
   }
if (realchat)
   {
       if(gPlayerLogged[playerid] == 0)
       {
           return 0;
         }
      GetPlayerName(playerid, sendername, sizeof(sendername));
      if(!IsPlayerInAnyVehicle(playerid))
      {
         if(PlayerInfo[playerid][pMaskuse] == 1)
         {
            format(string, sizeof(string), "Etranger dit: %s", text);
            ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
            SetPlayerChatBubble(playerid, string, COLOR_FADE1, 20.0, 5000);
            //OnePlayAnim(playerid,"PED","IDLE_CHAT",4.0,0,0,0,0,0);
         }
         else
         {
             format(string, sizeof(string), "%s dit: %s", sendername, text);
             ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
             SetPlayerChatBubble(playerid, string, COLOR_FADE1, 20.0, 5000);
             //OnePlayAnim(playerid,"PED","IDLE_CHAT",4.0,0,0,0,0,0);
         }
      }
      return 0;
   }
   return 1;
}

Quand je fais fermer   

Il y a X dit: fermer

Alors que j'aimerais que ça ne le fasse pas, pourtant j'ai mis des return, je ne sais pas comment faire, merci de votre aide
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 : Onplayertext
« Réponse #1 le: 19 Février 2010, 22:26:13 »
peu etre comme ceci


else if(Estdanscoffre[playerid] == 0)
         {
             format(string, sizeof(string), "%s dit: %s", sendername, text);
             ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
             SetPlayerChatBubble(playerid, string, COLOR_FADE1, 20.0, 5000);
             //OnePlayAnim(playerid,"PED","IDLE_CHAT",4.0,0,0,0,0,0);
         }
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 : Onplayertext
« Réponse #2 le: 23 Février 2010, 20:03:10 »
Oui mais non ^^, car la j'ai condenser les infos, mais entre il y a beaucoup d'autre chose, je ne comprend pas, car ceci

if(RegistrationStep[playerid] > 0)
{
    if(RegistrationStep[playerid] == 1)
    {
        new idx;
    tmp = strtok(text, idx);
    if((strcmp("homme", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("homme")))
{
    PlayerInfo[playerid][pSex] = 1;
    SendClientMessage(playerid, COLOR_YELLOW2, "Ok, donc vous êtes un Homme.");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Quelle est votre date de naissance? (Utilisez jj/mm/aaaa)");
    new maleskin;
    maleskin = random(sizeof(CivMalePeds));
    SetPlayerSkin(playerid, maleskin);
    PlayerInfo[playerid][pChar] = maleskin;
    RegistrationStep[playerid] = 2;
    return 0;
}
else if((strcmp("femme", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("femme")))
{
    PlayerInfo[playerid][pSex] = 2;
    SendClientMessage(playerid, COLOR_YELLOW2, "Ok, donc vous êtes une Femme.");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Quelle est votre date de naissance? (Utilisez jj/mm/aaaa)");
    new femaleskin;
    femaleskin = random(sizeof(CivFemalePeds));
    SetPlayerSkin(playerid, femaleskin);
    PlayerInfo[playerid][pChar] = femaleskin;
    RegistrationStep[playerid] = 2;
    return 0;
}
else
{
    SendClientMessage(playerid, COLOR_LIGHTRED, "Êtes vous un Homme ou une Femme? (Tapez ce que vous êtes).");
}
return 0;
}

Je n'ai pas fermer le code, mais quand je repond au questions du tuto, le texte n'est pas envoyé comme je voudrais pour estdanscoffre
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 ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Onplayertext
« Réponse #3 le: 25 Février 2010, 17:12:19 »
Il t'envoie quoi quand tu dis ta réponse ?

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Onplayertext
« Réponse #4 le: 25 Février 2010, 18:42:50 »
il fait

Tupac_Shakur: fermer

mais pas comme sur les rp, tout le monde le voi, comme sur les dm
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 Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Onplayertext
« Réponse #5 le: 01 Mars 2010, 14:23:50 »
Tout est dans le return de la fonction.

Si tu veux que le texte saisi par le joueur soit afficher, tu fais return 1;
Si tu ne veux pas que le texte soit afficher, tu fais return 0;

Pour reprendre très rapidement ton code :
public OnPlayerText(playerid, text[])
{
   if(Estdanscoffre[playerid] == 1)
   {
          new idx;
          new x_nr[64];
         //x_nr = strtok(cmdtext, idx);
         x_nr = strtok(text, idx);
         if(!strlen(x_nr))
         {
             SendClientMessage(playerid, COLOR_WHITE, "Vous êtes dans votre coffre, vous pouvez:");
             SendClientMessage(playerid, COLOR_WHITE, "fermer, mettrearme, prendrearme, mettrekevlar, prendrekevlar");
             SendClientMessage(playerid, COLOR_WHITE, "mettredrogues, prendredrogues, mettrematos, prendrematos");
         }
         if(strcmp(x_nr,"fermer",true) == 0)
         {
            ...
         }
         return 0; // LE TEXTE SAISI PAR LE JOUEUR NE SERA PAS AFFICHE
   }

   ...
   return 1; // DANS TOUS LES AUTRES CAS, LE TEXTE SERA AFFICHE
}

Sinon, il faut que tu supprimes tous les return qui ne servent à rien.

++
Syg
Courtesy of GtaManiac

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Onplayertext
« Réponse #6 le: 01 Mars 2010, 18:20:35 »
Merci ça fonctionne
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