GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Tornade-L™ le 07 Octobre 2010, 19:04:00
-
Bonsoir à tous,
J'aurais une question à vous posé !
> Comment je pourrais faire une commande (Ex: /pp [TEXTE] pour une team) et que se message affiche [PP] Texte, sans que un joueurs qui n'ai pas dans la faction approprié vois ce qu'il marque. Donc en faite, le joueur verrais Nom du joueur Parle dans langue inconnu.. ?
Tornade-L
-
J'ai cherché un petit peu, et je pense que j'ai la solution. Donc s'y j'ai bien compris, si la personne tape /inconnu sonmsg
Sa écrit : " Inconnu : sonmsg " Si c'est cela alors :
if(strcmp(cmd, "/inconnu", true) == 0)
{
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[256];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "SERVEUR: /inconnu [texte]");
return 1;
}
format(string, sizeof(string), "Inconnu : %s", result);
ProxDetector(50.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
printf("%s", string);
}
return 1;
}
-
Oui tu à bien compris. Mais, ce code je l'ai déjà. C'est que je voudrais savoir si la personne qui est près de l'interlocuteur vois [INCONNU]: Son SMG. Et moi, je veut pas que la personne qui est près de l'autre ne vois pas le message, et comme elle ne vois pas le message, je voudrais qu'il y ai écrit Interlocuteur parle dans un langage inconnu.. !
-
Bonjour, Pour faire plus simple reprend la commande citer plus haut (( /inconnu )), et modifie en ajoutant une condition du genre en prenant les bases du larp :
if(PlayerInfo[playerid][pMember] == 16) // Si, le joueur playerid est membre du groupe 16
{ // alors
format(string, sizeof(string), "%s Dit: [G16] %s", sendername, result); // sendername on recuperant le nom du joueur, result on récupère le texte (tmp)
SendClientMessage(playerid, COLOR_FADE3, string); // On envoie un message en recuperer les informations stocker dans la varible string
} // on ferme la condition
else // sinon ( si il ne fait pas partit du groupe 16
{
format(string, sizeof(string), "%s Dit: [Langage Inconnu]", sendername); // Pareil, sauf que on n'affiche pas le texte
SendClientMessage(playerid, COLOR_FADE3, string); // ...
}
Voilà, en même temps de t'avoir fait ta commande, je t'ai fait apprendre quelques base qui pourrait t'aider à l'avenir !
??? D0os-Nox :-[
-
Merci DOos-Nox.
Voilà, en même temps de t'avoir fait ta commande, je t'ai fait apprendre quelques base qui pourrait t'aider à l'avenir !
Je te remercie une deuxième fois ! ;)
_______________
Double Post
_______________
EDIT: Faudrait faire un loop for , sinon ça va le faire qu'à celui qui parle .
Un loop for ?
-
Ha okey. Je vous remercie à vous tous pour m'avoir aidé !
Tornade-L
-
RE: Oui effectivement, tu fait mieux de le rappeler dizzy, sinon n'oublier pas de mettre la boucle avant la condition et de remplacer les playerid suivant par i
-
Merci Nox tu ma appris un truc 8)