• 09 Juillet 2025, 22:22:36


Auteur Sujet: SendClientMessageToAll  (Lu 3088 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne John_Montavedro

  • Création du serveur UVDV
  • *
  • Tueur en série
  • Position: GTAOnline Addict :p
  • Messages: 220
    • Voir le profil
SendClientMessageToAll
« le: 28 Novembre 2010, 15:30:09 »
Bonjour, je reprends un peu le pawno ;) Mais j'ai encore! perdu la phrase qui permet d'envoyer un message à tout le monde...
Voici ce que j'ai fais (sa ne marche pas IG) :
if (strcmp(cmdtext, "/clearchat", true) == 0)
    {
        SendClientMessageToAll(blanc, "[%s] : La chatbox a été remise à zero");
        return 1;
    }

Pourriez vous m'aider, merci!

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : SendClientMessageToAll
« Réponse #1 le: 28 Novembre 2010, 15:50:38 »
A quoi correspond le %s, car je ne vois vraiment pas à quoi il correspond.
De plus, si tu veux afficher une variable, tu dois formater une phrase !

Sinon, SendClientMessageToAll est la bonne commande pour envoyer une message à tous le monde.

Hors ligne John_Montavedro

  • Création du serveur UVDV
  • *
  • Tueur en série
  • Position: GTAOnline Addict :p
  • Messages: 220
    • Voir le profil
Re : Re : SendClientMessageToAll
« Réponse #2 le: 28 Novembre 2010, 15:52:58 »
A quoi correspond le %s, car je ne vois vraiment pas à quoi il correspond.
De plus, si tu veux afficher une variable, tu dois formater une phrase !

Sinon, SendClientMessageToAll est la bonne commande pour envoyer une message à tous le monde.


%s -> nom de la personne qui clear

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : SendClientMessageToAll
« Réponse #3 le: 28 Novembre 2010, 16:03:44 »
Salut,

if(strcmp.............)
{
     new nom[MAX_PLAYER_NAME]; // La variable qui stockera le nom
     new string[100]; // On crée la variable de phrase
     format(string,sizeof(string),"[%s] a effacé le chat",nom);
     SendClientMessage(color,string);
return 1;
}

Si tu as des questions n'hésite pas :)

Hors ligne Jimmy_Krapovich

  • *
  • Tueur
  • Messages: 71
    • Voir le profil
    • www.lvdr.keuf.net
Re : SendClientMessageToAll
« Réponse #4 le: 28 Novembre 2010, 16:14:23 »
Saluut =DD

Pour un début pas mal. Mais il y a encore des choses à voir. Tout d'abbord il faut que t'apprene les variables.

/!\ Attention : A chaque fois qu'il a un %s ou %d il faudras mettre à la fin de la phrase ce qu'ils représentent.

Exemple:
format(string, sizeof(string), "* %s est malade", sendername);
         SendClientMessage(giveplayerid, COLOR_WHITE, string);

Explication:
%s = Représente des lettres et non pas des chiffres.
%d = Représente des chiffres et non pas des lettres.

Dans ton cas, le script n'a rien a représenté. Donc il affichera aux joueurs " %s: La chatbox a été remise à zéro."
Il ne faut jamais oublié ce que %s ou %d doivent représentés.

Correction:
if (strcmp(cmdtext, "/clearchat", true) == 0)
         {
                            new string[50];
                            new sendername[MAX_PLAYERS_NAME];
                            for(new i = 0; i < MAX_PLAYERS; i++)
                            ClearChatbox(i, 100);
                            format(string, sizeof(string), "* %s: La chatbox a été remise à zéro", sendername);
                            SendClientMessageToAll(COLOR_WHITE, string);        
                            return 1;
         }

PS: Attention au dessus Gilux c'est trompé, il a oublié SenClientMessageToAll


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

Hors ligne Jimmy_Krapovich

  • *
  • Tueur
  • Messages: 71
    • Voir le profil
    • www.lvdr.keuf.net
Re : Re : Re : SendClientMessageToAll
« Réponse #5 le: 28 Novembre 2010, 16:34:48 »
ClearChatbox(i, 100);

et tu le trouve ou sa

Sa signifie tout les joueurs. "i++"

Hors ligne Jimmy_Krapovich

  • *
  • Tueur
  • Messages: 71
    • Voir le profil
    • www.lvdr.keuf.net
Re : SendClientMessageToAll
« Réponse #6 le: 28 Novembre 2010, 16:38:06 »
Lol.. Et bah corrige moi

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : SendClientMessageToAll
« Réponse #7 le: 28 Novembre 2010, 17:24:59 »
Il faut également précisé que %d inclut que des nombres entier et non des nombres décimales.

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : SendClientMessageToAll
« Réponse #8 le: 28 Novembre 2010, 17:58:30 »
Bien sur qu'il prend les nombres décimaux ^^

Tu veut plutôt que %d ainsi que %i prend les entiers décimaux ^^


 Un petit explicatif sur les nombres décimaux



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 : SendClientMessageToAll
« Réponse #9 le: 28 Novembre 2010, 18:18:46 »
Citation de: Wiki SAMP
%d   Inserts an integer (whole) number
Citation de: Traduction Wiki SAMP
%d   Insertion d'un nombre entier

CF: http://wiki.sa-mp.com/wiki/Format

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : SendClientMessageToAll
« Réponse #10 le: 28 Novembre 2010, 18:40:56 »
Oui, mais ce que je veut dire par la, c'est que le %i et le %d ne sont la que pour les entiers décimal réel, et pas autres chose je sais pas si tu comprend ce que je veut dire lol



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 : SendClientMessageToAll
« Réponse #11 le: 28 Novembre 2010, 18:54:00 »
Non je ne comprend pas :-\.

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : SendClientMessageToAll
« Réponse #12 le: 28 Novembre 2010, 19:17:40 »
1 ou 1.0 sont des nombres décimaux.
Mais le soucis du pawno c'est qu'il ne cherche pas à savoir si c'est un nombre décimal ou pas. Juste à savoir si il est entier ou float.

Donc si le nombre (décimal) est entier %d
si c'est par exemple 1.0 %f

A+, Sam.
« Modifié: 28 Novembre 2010, 19:19:26 par chneubeul »

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : SendClientMessageToAll
« Réponse #13 le: 28 Novembre 2010, 19:37:34 »
Je comprend mieux, dans mon esprit, 1 est un nombre entier mais 1.0 est un nombre décimal même si il est réellement un nombre entier.

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : SendClientMessageToAll
« Réponse #14 le: 28 Novembre 2010, 19:46:08 »
Oui voila, ça porte à confusion. ^^
C'est dommage quand même que les nombres doivent se séparer et l'on doit utiliser des systèmes distinct pour les utiliser :( Mais obliger de faire avec ^^