GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: .:: Miguel .:: le 14 Février 2012, 18:53:21

Titre: [Aide] Problème /v infos
Posté par: .:: Miguel .:: le 14 Février 2012, 18:53:21
Salut,
J'ai crée un /v infos mais le problème quand je tape la cmds sa fait comme si elle n'existé pas :/

      if(strcmp(x_nr,"infos",true) == 0)
        {
         new StatsVString[1614];
     new carkey1 = PlayerInfo[playerid][pPcarkey]; // La on carkey pour évite de mettre PlayerInfo (pour que sa face moins long)
 new carkey2 = PlayerInfo[playerid][pPcarkey2]; // La on carkey pour évite de mettre PlayerInfo (pour que sa face moins long)
 new carkey3 = PlayerInfo[playerid][pPcarkey3]; // La on carkey pour évite de mettre PlayerInfo (pour que sa face moins long)
              format(StatsVString,sizeof(StatsVString),"VehModel:[%s] VehValue:[%d] VehLocked:[%d]\nVehModel:[%s] VehValue:[%d] VehLocked:[%d]\nVehModel:[%s] VehValue:[%d] VehLocked:[%d]",CarInfo[carkey2][cDescription], CarInfo[carkey2][cValue], CarInfo[carkey1][cLock],CarInfo[carkey2][cDescription], CarInfo[carkey2][cValue], CarInfo[carkey2][cLock], CarInfo[carkey3][cDescription], CarInfo[carkey3][cValue], CarInfo[carkey3][cLock]); // Le dialogue
              ShowPlayerDialog(playerid,1235,DIALOG_STYLE_MSGBOX,"Stats de vos vehicule",StatsVString,"Valider","");
                 return 1;
        }
Titre: Re : [Aide] Problème /v infos
Posté par: Xartrick le 14 Février 2012, 18:56:58
Dans la fonction évènementielle OnPlayerCommandText, la chaîne cmdtext ne sera jamais égal à infos, dans TOUS les cas car cette fonction est appelé seulement si la chaîne envoyé commence par un slash (/).
Après, il faut voir la valeur de la chaîne (j'espère que c'est une chaîne) de la variable x_nr.
Titre: Re : [Aide] Problème /v infos
Posté par: .:: Miguel .:: le 14 Février 2012, 19:05:01
new x_nr[64];
x_nr = strtok(cmdtext, idx);

La chaine N_nr

Après pas trop bien compris mais il dois etre dans un /vinfo et donc pas /v info ?

Titre: Re : [Aide] Problème /v infos
Posté par: Xartrick le 14 Février 2012, 19:13:56
public OnPlayerCommandText(playerid, cmdtext[])
{
    new idx      = 0;
    new x_nr[64] = strtok(cmdtext, idx);
   
    if (strcmp(x_nr, "/informations", false, 13) == 0)
    {
        // DO WORK
       
        return 1;
    }
   
    return 0;
}
Titre: Re : [Aide] Problème /v infos
Posté par: .:: Miguel .:: le 14 Février 2012, 19:27:56
Hum...Donc sa marcherait avec le /v info meme si sais pas dans la variable cmd /v ?
Titre: Re : [Aide] Problème /v infos
Posté par: Xartrick le 14 Février 2012, 20:50:17
public OnPlayerCommandText(playerid, cmdtext[])
{
    new idx      = 0;
    new x_nr[64] = strtok(cmdtext, idx);
    
    if (strcmp(x_nr, "/v", false, 2) == 0)
    {
        new cmd[64] = strtok(cmdtext, idx);
        
        if (strcmp(cmd, "info", false, 4) == 0)
        {
            // DO WORK
        }
        
        return 1;
    }
    
    return 0;
}
Titre: Re : [Aide] Problème /v infos
Posté par: .:: Miguel .:: le 14 Février 2012, 20:57:09
sa marche pas sa ?


(Le début de la CMDS)
if(strcmp(cmd, "/v", true) == 0 || strcmp(cmd, "/vehicule", true) == 0) // By LordMan
{
    if(IsPlayerConnected(playerid))
    {
        if(gPlayerLogged[playerid] == 0)
        {
            SendClientMessage(playerid, COLOR_GREY, "   Vous devez d'abord vous loggez ! ");
            return 1;
        }
            new x_nr[64];
            x_nr = strtok(cmdtext, idx);
        if(!strlen(x_nr))
        {
            SendClientMessage(playerid, COLOR_WHITE, "Note: (/v)ehicule [nom]");
            SendClientMessage(playerid, COLOR_WHITE, "Noms Disponibles: garer, fermer(1-3), vendre, vendrea, couleur , info, neon(-5000$)");
            return 1;
        }
        if(strcmp(x_nr,"info",true) == 0)
        {
             new StatsVString[1614];
             new carkey1 = PlayerInfo[playerid][pPcarkey];
         new carkey2 = PlayerInfo[playerid][pPcarkey2];
         new carkey3 = PlayerInfo[playerid][pPcarkey3];
              format(StatsVString,sizeof(StatsVString),"VehModel:[%s] VehValue:[%d] VehLocked:[%d]
VehModel:[%s] VehValue:[%d] VehLocked:[%d]
VehModel:[%s] VehValue:[%d] VehLocked:[%d]",CarInfo[carkey2][cDescription], CarInfo[carkey2][cValue], CarInfo[carkey1][cLock],CarInfo[carkey2][cDescription], CarInfo[carkey2][cValue], CarInfo[carkey2][cLock], CarInfo[carkey3][cDescription], CarInfo[carkey3][cValue], CarInfo[carkey3][cLock]);
              ShowPlayerDialog(playerid,1235,DIALOG_STYLE_MSGBOX,"Stats de vos vehicule",StatsVString,"Valider","");
                 return 1;
        }

Double post
UP
Titre: Re : [Aide] Problème /v infos
Posté par: .:: Miguel .:: le 16 Février 2012, 17:37:35
UP
Titre: Re : [Aide] Problème /v infos
Posté par: Xartrick le 16 Février 2012, 18:21:02
Ici, je peux prédire que à la ligne:

x_nr = strtok(cmdtext, idx);
La variable x_nr contiendra soit /v soit /vehicule.
Titre: Re : [Aide] Problème /v infos
Posté par: .:: Miguel .:: le 16 Février 2012, 18:28:35
Bah même avec ee /vinfo sa marche pas tfaçon comme si la CMDS existé pas
Titre: Re : [Aide] Problème /v infos
Posté par: Xartrick le 16 Février 2012, 18:56:57
Fait du pas à pas avec des lignes qui indique où ton code se trouve (printf, SendClientMessage).
Titre: Re : [Aide] Problème /v infos
Posté par: .:: Miguel .:: le 16 Février 2012, 20:16:18
Bah je vois pas mon erreur :/