Using strcmp() FR
From SA-MP Wiki
Revision as of 14:15, 4 March 2013 Smithy (Talk | contribs) ← Previous diff |
Revision as of 16:47, 24 January 2014 Connor Mead (Talk | contribs) (Add category) Next diff → |
||
Line 1: | Line 1: | ||
- | '''Utilisez strcmp() dans [[OnPlayerCommandText_FR|OnPlayerCommandText]] pour crée vos commandes''' | + | '''Utilisez strcmp() dans [[OnPlayerCommandText_FR|OnPlayerCommandText]] pour créer vos commandes''' |
Ouvrez Pawno, File > New. | Ouvrez Pawno, File > New. | ||
Line 57: | Line 57: | ||
Vous savez maintenant comment faire des commandes avec strcmp() (et [[strtok]] pour les paramètres !) | Vous savez maintenant comment faire des commandes avec strcmp() (et [[strtok]] pour les paramètres !) | ||
- | [[ru:Использование_strcmp]] | + | [[Category: Tutorials FR]] |
Revision as of 16:47, 24 January 2014
Utilisez strcmp() dans OnPlayerCommandText pour créer vos commandes
Ouvrez Pawno, File > New.
Création d'une commande /me
Dans cette section vous allez apprendre a créer une commande /me sans strtok ! Sachez tout d'abord que strcmp() est utilisé pour la comparaison de deux chaines de caractères, ce qui peux permettre de faire des commandes. Explication : Je tape la commande "/vivesampwikifr" dans le chat. Et grace à strcmp, je vais comparer dans la callback OnPlayerCommandText() si cmdtext vaudra "/vivesampwikifr" Si tel est le cas, ça voudra dire que un joueur a tapé la commande "/vivesampwikifr"
public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp(cmdtext, "/me", true, 3)) // 3 is the length of /me { if(!cmdtext[3])return SendClientMessage(playerid, 0xFF0000FF, "USAGE: /me [action]"); new str[128]; GetPlayerName(playerid, str, sizeof(str)); format(str, sizeof(str), "* %s %s", str, cmdtext[4]); SendClientMessageToAll(0xFFFF00AA, str); return 1; } return 0; }
Notre commande /me est faite ! Maintenant passons aux explications
Si j'utilise cmdtext[4], les quatres premiers caractères vont être supprimés et ré-inséré après l'utilisation de cmdtext. Donc si je marque "/me blabla", cmdtext[4] vaudra "blabla".
Utilisons le strtok()
Le strtok est très utilisé pour les commandes avec paramètres. Par exemple, dans la commande /say Salut !, je pourrais faire en sorte que "Salut" soit stocké dans une variable, "/say" dans une autre et "!" dans encore une autre variable !
public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[30], idx; cmd = strtok(cmdtext, idx); if(strcmp(cmd, "/sayhello", true) == 0) { new tmp[30]; //tmp vaudra ce qui sera écrit après "/sayhello". tmp = strtok(cmdtext, idx); if(IsPlayerConnected(otherplayer)) SendClientMessage(otherplayer, 0xFFFF00AA, "Salut !"); return 1; } return 0; }
Pour que ce code fonctionne n'oubliez pas d'inserer le strtok dans votre code ! Vous savez maintenant comment faire des commandes avec strcmp() (et strtok pour les paramètres !)