GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: yoyo3071a le 15 Juin 2009, 18:13:26

Titre: [AIDE] Script PAWN et TCHAT
Posté par: yoyo3071a le 15 Juin 2009, 18:13:26
Bonjour je sais j'ai deja une discutione en cour mais un autre probleme survint

Voila je tape la commande /gsay CALMER VOUS SVP
Dans la chat sa va afficher ADMIN GENERAL : CALMER | PLus rien apres l'espace il le saute

Merci de m'aider. SVP voici le code de la commande.

    if(strcmp(cmd, "/gsay", true) == 0) // ADMIN GENERAL MESSAGE
    {
    if (PlayerInfo[playerid][pAdmin] >= 1337)
    {
GetPlayerName(playerid, sendername, sizeof(sendername));
        new result[128];
        result = strtok(cmdtext, idx);
        if(!strlen(result))
        {
        SendClientMessage(playerid, COLOR_ORANGE, "[UTILISATION]: /gsay [Message]");
            SendClientMessage(playerid, COLOR_ORANGE, "[FONCTION]: Fait apparaitre un message a tout les joueur en ADMIN GENERAL.");
            return 1;
        }
        format(string, sizeof(string), "* Admin Général: %s", result);
        SendClientMessageToAll(COLOR_RED, string);
        printf("%s", string);
        }
        else
        {
SendClientMessage(playerid,COLOR_GREY, "Vous n'avez pas le Niveau admin requis.");
            return 1;
}
    }

Mon second probleme est que lorsque que l'on parle dans le T les message  ne s'affiche pas nous somme obliger d'utiliser /l pour parler

J'utilise le FS de fred pour les voiture et j'ai modofier le return 1 mais pas de changement

AIDEZ MOI SVP
Titre: Re : [AIDE] Script PAWN et TCHAT
Posté par: S!m le 16 Juin 2009, 00:56:33
Salut,

juste en jetant un œil a ton problème, je peut déjà te dire qu'il s'agit d'un appel inutile a strtok

ne pas oublier que cette fonction sert uniquement a récupérer un SEUL mot

bref,
1. éradique le strtok de cette commande
2.  remplace le result par cmdtext[idx]
3. Assure toi de ne pas créer la chaîne cmdtext, elle provient de la callback
4. Tu dois comprendre que cmdtext contient tout le texte tapé par le joueur, idx représente l'index où se termine la commande (pourrait être remplacé par 6 dans ce cas), bref où se commence le texte devant être affiché

++Sim++