• 23 Avril 2025, 03:30:07


Auteur Sujet: Commande " * Organisateur : " (Pour que sa parle en Organisateur)  (Lu 3633 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Jimmy_Krapovich

  • *
  • Tueur
  • Messages: 71
    • Voir le profil
    • www.lvdr.keuf.net
Re : Commande " * Organisateur : " (Pour que sa parle en Organisateur)
« Réponse #15 le: 28 Novembre 2010, 16:56:04 »
Salut à vous =D

Julien c'est un peu compliqué pour srtok:

if(strcmp(cmd, "/organisateur", true) == 0 || strcmp(cmd, "/orga", true) == 0)
{
   if(IsPlayerConnected(playerid))
   {
                        while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
new sendername[MAX_PLAYERS_NAME];
     new result[120];
format(string, sizeof(string), "* Organisateur: %s",result);
                                                SendClientMessageToAll(COLOR_WHITE, string);
  }
  return 1;
}

J'espère t'avoir aidé.
« Modifié: 28 Novembre 2010, 17:00:00 par Jimmy_Krapovich »

Hors ligne Jimmy_Krapovich

  • *
  • Tueur
  • Messages: 71
    • Voir le profil
    • www.lvdr.keuf.net
Re : Re : Commande " * Organisateur : " (Pour que sa parle en Organisateur)
« Réponse #16 le: 28 Novembre 2010, 17:00:41 »
super simple a la facon rp avec result , moi j'te reduis ça en 3 ligne mdr

Mdr.. Et bah vasy

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Commande " * Organisateur : " (Pour que sa parle en Organisateur)
« Réponse #17 le: 28 Novembre 2010, 18:06:51 »
vous vous prenez la tête pour rien pas besoin de sscanf ou autre, seul strcmp suffit ^^


if( strcmp( "/organisateur", cmdtext, true, 13 ) == 0 )
{
    if( strlen( cmdtext[ 13 ] ) == 0 )
        return SendClientMessage( playerid, 0xFF0000FF, "/organisateur [Texte]" );
new name[ MAX_PLAYER_NAME ] = "";
GetPlayerName( playerid, name, MAX_PLAYER_NAME );
format( cmdtext, 128, "L'organisateur %s dit %s", name, cmdtext[14] );
SendClientMessageToAll( 0xFFFFFFFF, cmdtext );
return 1;
}



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Commande " * Organisateur : " (Pour que sa parle en Organisateur)
« Réponse #18 le: 28 Novembre 2010, 18:16:06 »
Je préfère utiliser strtok personnellement.

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : Commande " * Organisateur : " (Pour que sa parle en Organisateur)
« Réponse #19 le: 28 Novembre 2010, 19:21:50 »
J'utilise plus la méthode classique c'pour ça :)
puis strcmp c'est trop long, vive sscanf :D

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Re : Commande " * Organisateur : " (Pour que sa parle en Organisateur)
« Réponse #20 le: 29 Novembre 2010, 16:06:51 »
Salut,

Je préfère utiliser strtok personnellement.
je me disait la même chose avant, d'ailleurs j'ai codé une version de strtok plus rapide et sécuritaire (disponible ICI, plus bas dans la page, et d'ailleurs tu peut enlever le return de la fonction...).

Sauf que je me suis rendu compte que cette fonction était pas très recommandé (pas une bonne idée de retourner une chaine), et relativement lente, principalement car il fallait encore traiter les données par la suite. En utilisant sscanf, on évite de devoir traiter les données manuellement comme la fonction le fait déjà.

Niveau système de commandes, pour avoir essayé la plupart des systèmes, mon préféré est de loin zcmd. Il est simple d'utilisation, permet de faire pratiquement tout et a un avantage remarquable: il ne ralentit pas de façon importante avec le nombre de commandes.

++Sim++





Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Commande " * Organisateur : " (Pour que sa parle en Organisateur)
« Réponse #21 le: 29 Novembre 2010, 17:51:10 »
Merci à Sim pour cette remarque, je vais essayer d'utiliser zcmd.

Hors ligne ShaDowxx™

  • We are cats.
  • *
  • Grand Banditisme
  • Messages: 706
    • Voir le profil
Re : Commande " * Organisateur : " (Pour que sa parle en Organisateur)
« Réponse #22 le: 01 Décembre 2010, 15:27:38 »
J'aime bien le code à sasuke mais le problème c'est que sa marche pas, j'ai mon return qui marque que la commande n'existe pas :(

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Commande " * Organisateur : " (Pour que sa parle en Organisateur)
« Réponse #23 le: 01 Décembre 2010, 15:53:57 »
T'es sur ? car chez moi ça fonctionne parfaitement la preuve



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne ShaDowxx™

  • We are cats.
  • *
  • Grand Banditisme
  • Messages: 706
    • Voir le profil
Re : Commande " * Organisateur : " (Pour que sa parle en Organisateur)
« Réponse #24 le: 01 Décembre 2010, 16:11:44 »
Désolé mais chez moi c'est une commande inconnue. J'ai juste modifié le nom de la commande aussi en /psay (pilote parler)

(j'ai un autre truc aussi c'est pour les voitures en txd dans le dossier vehicle dans scriptfiles :

C:\Users\Julien\Downloads\samp\gamemodes\AviationL.pwn(89) : error 012: invalid function call, not a valid address
C:\Users\Julien\Downloads\samp\gamemodes\AviationL.pwn(89) : warning 215: expression has no effect
C:\Users\Julien\Downloads\samp\gamemodes\AviationL.pwn(89) : error 001: expected token: ";", but found ")"
C:\Users\Julien\Downloads\samp\gamemodes\AviationL.pwn(89) : error 029: invalid expression, assumed zero
C:\Users\Julien\Downloads\samp\gamemodes\AviationL.pwn(89) : fatal error 107: too many error messages on one line

*Tousse, tousse*)

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Commande " * Organisateur : " (Pour que sa parle en Organisateur)
« Réponse #25 le: 01 Décembre 2010, 16:22:17 »
bah c'est normal si tu as changé le nom ^^

essai de comprendre le code et tu verra qu'il y a que quelque valeur à changer pour que ça fonctionne



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne ShaDowxx™

  • We are cats.
  • *
  • Grand Banditisme
  • Messages: 706
    • Voir le profil
Re : Commande " * Organisateur : " (Pour que sa parle en Organisateur)
« Réponse #26 le: 01 Décembre 2010, 16:57:12 »
J'ai vu comment ça marche or la configuration est dur ! ^^ Merci de m'avoir éclairé

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Re : Commande " * Organisateur : " (Pour que sa parle en Organisateur)
« Réponse #27 le: 01 Décembre 2010, 19:04:03 »
vous vous prenez la tête pour rien pas besoin de sscanf ou autre, seul strcmp suffit ^^


if( strcmp( "/organisateur", cmdtext, true, 13 ) == 0 )
{
    if( strlen( cmdtext[ 13 ] ) == 0 )
        return SendClientMessage( playerid, 0xFF0000FF, "/organisateur [Texte]" );
new name[ MAX_PLAYER_NAME ] = "";
GetPlayerName( playerid, name, MAX_PLAYER_NAME );
format( cmdtext, 128, "L'organisateur %s dit %s", name, cmdtext[14] );
SendClientMessageToAll( 0xFFFFFFFF, cmdtext );
return 1;
}

cette methode est la plus rapide connut en pawn a ce jour sa ne sert a rien le strtok dans ce genre de commande il y a meme un tuto de Yless sur le forum SAMP qui explique pourquoi dans ce genre de commande sa ne sert a rien d'utiliser le strtok ou le sscanf
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 ShaDowxx™

  • We are cats.
  • *
  • Grand Banditisme
  • Messages: 706
    • Voir le profil
Re : Commande " * Organisateur : " (Pour que sa parle en Organisateur)
« Réponse #28 le: 02 Décembre 2010, 07:15:27 »
Sinon quand je regarde la commande /organisateur il y en à 13 (+ le / qui compte).
128 qui doit limitée le nombre de caractère et le 14 je ne sais pas à quoi il sert.

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Commande " * Organisateur : " (Pour que sa parle en Organisateur)
« Réponse #29 le: 02 Décembre 2010, 07:44:22 »
C'est simple, la commande /organisateur fait 13 caractères donc si on ne trouve que 13 caractères, cela voudra dire que aucun argument n'aura était donné, et là, tu peux afficher la syntaxe par exemple.