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

Titre: [ Terminé ] Renseignements..
Posté 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
Titre: Re : [ En cours ] Renseignements..
Posté par: herq le 07 Octobre 2010, 19:21:20
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 :

Code: (pawn) [Sélectionner]
    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;
    }
Titre: Re : [ En cours ] Renseignements..
Posté par: Tornade-L™ le 07 Octobre 2010, 19:25:19
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.. !
Titre: Re : [ En cours ] Renseignements..
Posté par: D0os-Nox le 07 Octobre 2010, 19:58:45
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  :-[
Titre: Re : [ En cours ] Renseignements..
Posté par: Tornade-L™ le 07 Octobre 2010, 20:06:34
Merci DOos-Nox.

Citer
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:
Citer
Faudrait faire un loop for , sinon ça va le faire qu'à celui qui parle .


Un loop for ?
Titre: Re : [ En cours ] Renseignements..
Posté par: Tornade-L™ le 07 Octobre 2010, 20:20:27
Ha okey. Je vous remercie à vous tous pour m'avoir aidé !

Tornade-L
Titre: Re : [ Terminé ] Renseignements..
Posté par: D0os-Nox le 07 Octobre 2010, 20:22:43
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

Titre: Re : [ Terminé ] Renseignements..
Posté par: herq le 07 Octobre 2010, 21:53:42
Merci Nox tu ma appris un truc  8)