• 29 Mars 2024, 12:42:54


Auteur Sujet: Probleme: "OnPlayerCommandText"  (Lu 4920 fois)

0 Membres et 1 Invité sur ce sujet

doun

  • Invité
Probleme: "OnPlayerCommandText"
« le: 20 Juin 2006, 14:17:55 »
Salut j'ai un probleme avec la commande "OnPlayerCommandText"
Quand je met plusieur commande, une fois dans le jeu quand on tape nimporte quel commande c'est toujour la 1ère qui s'execute pourtant j'ai pris exemple sur le "landgrab" j'ai même vérifié sur des autre mod.
Qqn pourait me dire je il n'y a pas des propriété a definire ou si j'ai oublié quelque chose?

Mon code:
Citer
public OnPlayerCommandText(playerid, cmdtext[])
{
   new cmd[256];
      
   if(strcmp(cmd, "/healme", true) == 0) {
      SetPlayerHealth(playerid, 100);
        SendClientMessage(playerid, COLOR_BLUE, "Ta vie a été restoré");
      SendClientMessage(playerid, COLOR_LIGHTBLUE, "Your heal as been regenerated");
      return 1;
      }
   if(strcmp(cmd, "/test", true) == 0) {
      SendClientMessage(playerid, COLOR_GREEN, "test");
       return 1;
      }

 return 0;
}

Hors ligne smallbug

  • *
  • Tueur en série
  • Messages: 106
    • Voir le profil
Probleme: "OnPlayerCommandText"
« Réponse #1 le: 20 Juin 2006, 15:26:17 »
il manque pas un strtok ?

doun

  • Invité
Probleme: "OnPlayerCommandText"
« Réponse #2 le: 20 Juin 2006, 16:27:17 »
Ba quand je met strtok jarrive pas a compiler il me dit error je croit que c parcequ'il faut que je le definit.

Hors ligne Lalu

  • *
  • You can run, but you can't hide
  • Messages: 1184
    • Voir le profil
    • Webkot
Probleme: "OnPlayerCommandText"
« Réponse #3 le: 20 Juin 2006, 16:34:02 »
Ajouter des commandes

En premier lieu, ajouter ce code dans le bas du script :

strtok(const string[], &index)
{
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
        index++;
    }

    new offset = index;
    new result[20];
    while ((index <length> ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
        result[index - offset] = string[index];
        index++;
    }
    result[index - offset] = EOS;
    return result;
}

Ensuite, en dessous de ce code, ajoutez (Les commandes de ce script sont des exemples, n'hésitez pas à les modifier à votre guise) :

public OnPlayerCommandText(playerid, cmdtext[])
{
    new cmd[256];
    new idx;

    cmd = strtok(cmdtext, idx);

    if(strcmp(cmd, "/aide", true) == 0) {
        SendClientMessage(playerid, COLOR_LIGHTBLUE, "FsK Assault, codé par Laloutre (www.gta-online.fr).");
        SendClientMessage(playerid, COLOR_LIGHTBLUE, "Taper: /but : pour voir le but de ce mode de jeu.");
    return 1;
    }
    if(strcmp(cmd, "/but", true) == 0) {
        SendClientMessage(playerid, COLOR_LIGHTBLUE, "Pour les terroristes : Attaquer la base des Anti-Terroristes;");
        SendClientMessage(playerid, COLOR_LIGHTBLUE, "Pour les Anti-Terroristes : Defendre la base.");
        SendClientMessage(playerid, COLOR_LIGHTBLUE, "Ce mode de jeu est prévu pour les matchs.");
    return 1;
    }
    if(strcmp(cmd, "/go", true) == 0) {
        GameTextForAll("GO GO GO !!!", 1000, 5);
    return 1;
    }
    if(strcmp(cmd, "/glhf", true) == 0) {
        GameTextForAll("~y~Good Luck and Have Fun", 1000, 5);
    return 1;
    }

    // PROCESS OTHER COMMANDS


    return 0;
}
Drink Like a Russian, Drive like a German, Kiss like a French, Be a Belgian !

doun

  • Invité
Probleme: "OnPlayerCommandText"
« Réponse #4 le: 20 Juin 2006, 16:44:50 »
J'ai mis ce que tu ma donner, avec tes commands mais quand j'ecri /help ya bien l'aide mais après quand j'ecris /but il me ressort l'aide.

J'ai même ecris nimporte quoi du style: /sdfsdg et ca ma sortit l'aide

Hors ligne Lalu

  • *
  • You can run, but you can't hide
  • Messages: 1184
    • Voir le profil
    • Webkot
Probleme: "OnPlayerCommandText"
« Réponse #5 le: 20 Juin 2006, 17:00:50 »
Je répete ...
EN PREMIER LIEU, RAJOUTEZ CECI

strtok(const string[], &index)
{
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
        index++;
    }

    new offset = index;
    new result[20];
    while ((index <length> ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
        result[index - offset] = string[index];
        index++;
    }
    result[index - offset] = EOS;
    return result;
}
Drink Like a Russian, Drive like a German, Kiss like a French, Be a Belgian !

Hors ligne spykerc8

  • *
  • 'The GTAOnline.fr GodFather'
  • Messages: 3821
    • Voir le profil
    • http://www.gtaonline.fr
Probleme: "OnPlayerCommandText"
« Réponse #6 le: 20 Juin 2006, 17:03:22 »
bon, le copier coller, c'est bien mais ca marche pas à tous les coups...


public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/healme", true)==0){
SendClientMessage(playerid, COLOR_BLUE, "Ta vie a été restoré");
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Your heal as been regenerated");
SetPlayerHealth(playerid, 100);
return 1;
}
if(strcmp(cmdtext, "/test", true) == 0) {
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Test");
return 1;
}


Essais ca, je l'ait tirer d'un de mes modes ^^
Sinon c'est possible que ton setplayerhealth fasse foirer.


~ Leader honoraire de la FsK Team ~ -
~ Membre honoraire de la PCP Team ~

Co-fondateur de GTAO - Retraité de la communauté

"Nous ne sommes rien, soyons tout !"


doun

  • Invité
Probleme: "OnPlayerCommandText"
« Réponse #7 le: 20 Juin 2006, 17:07:19 »
Oui lalu c'est ce que j'ai fait
Sinon spyker je ne voit pas ce que tu as changer, tu as enlever "new cmd[256];" mais sans ca c impossible de compiler.

doun

  • Invité
Probleme: "OnPlayerCommandText"
« Réponse #8 le: 20 Juin 2006, 17:14:20 »
Waw ca marche mais quand je compile il me dit: warning 203: symbol is never used: "strtok"

J'arrive a compiler mais ca risque pas de planter defois?




Edit: voila j'arrive a compiler sans le warnig j'ai enlever:
strtok(const string[], &index)
{
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
        index++;
    }

    new offset = index;
    new result[20];
    while ((index <length> ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
        result[index - offset] = string[index];
        index++;
    }
    result[index - offset] = EOS;
    return result;
}





Mais dit moi Spykerc8 ta juste enlever "new cmd [256];"   ????
Parce que avant sans ca j'arrive pas a compiler et la j'arrive.


RE-edit: ha non c'est bon j'ai vu ce que tu as changer tu as mit cmdtext au lieu de cmd. GOOD-GAME :D

Ps: je fait des edit a chaque fois au lieu de refere des post (ca polue moin) mais si ca vous gêne dites le moi.

Hors ligne spykerc8

  • *
  • 'The GTAOnline.fr GodFather'
  • Messages: 3821
    • Voir le profil
    • http://www.gtaonline.fr
Probleme: "OnPlayerCommandText"
« Réponse #9 le: 20 Juin 2006, 17:48:01 »
à la base sa-mp marche avec "cmdtext" y a pas de raison de changer pour ce type de commandes...
enfin, tant que ca marche et qu'on a pu aider ;)


~ Leader honoraire de la FsK Team ~ -
~ Membre honoraire de la PCP Team ~

Co-fondateur de GTAO - Retraité de la communauté

"Nous ne sommes rien, soyons tout !"