• 23 Avril 2025, 15:02:33


Auteur Sujet: Team Discussion  (Lu 1207 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne VaKoS_95

  • *
  • Tueur
  • GTA-California Admin
  • Messages: 60
    • Voir le profil
    • GTA-California
Team Discussion
« le: 07 Février 2008, 21:01:02 »
Salut salut :D
J'ai un ptit problème.
Je vous donne le bout de script qui 'défaille' :

public OnPlayerText(playerid, text[])
{
new string[256];
new grouptalk[256];
new grouptalkid;
new playername[MAX_PLAYER_NAME];

GetPlayerName(playerid, playername, sizeof(playername));

    if (text[0] == '#')
{
if (GroupTalkers[playerid] != 0)
{
grouptalkid=GroupTalkers[playerid];
        strmid(grouptalk,text,1,strlen(text));
    for (new i=0;i<MAX_PLAYERS;i++)
{
        if(GroupTalkers[i] == grouptalkid && IsPlayerConnected(i))
{
format(string, sizeof(string), "* (Team Discussion) %s: %s", playername,grouptalk);
    SendClientMessage(i, COLOR_GROUPTALK, string);
    return 0;
    }
    }
    } else {
        SendClientMessage(playerid,COLOR_SYSTEM_PW,"* # est utilisé pour les Team Discussion.");
    }
}
return 0;
}

Donc quand on tape # Message, le message devrait être affiché seulement pour les participants de la TD.
Sauf que ça fait ça :
* (Team Discussion) Quelqu'un: Salut
Quelqu'un: # Salut

Comment faire pour ne pas afficher le second message (Quelqu'un: # Salut) ?

Je vous remercie d'avance.
++



Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : Team Discussion
« Réponse #1 le: 07 Février 2008, 21:07:37 »
public OnPlayerText(playerid, text[]){
new string[256];
new grouptalk[256];
new grouptalkid;
new playername[MAX_PLAYER_NAME];

GetPlayerName(playerid, playername, sizeof(playername));

    if (text[0] == '#')
{
if (GroupTalkers[playerid] != 0)
{
grouptalkid=GroupTalkers[playerid];
        strmid(grouptalk,text,1,strlen(text));
    for (new i=0;i<MAX_PLAYERS;i++)
{
        if(GroupTalkers[i] == grouptalkid && IsPlayerConnected(i))
{
format(string, sizeof(string), "* (Team Discussion) %s: %s", playername,grouptalk);
    SendClientMessage(i, COLOR_GROUPTALK, string);
    return 0;
    }
    }
    } else {
        SendClientMessage(playerid,COLOR_SYSTEM_PW,"* # est utilisé pour les Team Discussion.");
    }
        return 0; /* Là ! */
}
return 1;
}

return 0 ça veut dire ne pas retourner...

˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙

Hors ligne Malppower

  • Chef de la TEC
  • *
  • Tueur en série
  • Messages: 190
    • Voir le profil
    • Elevage des Sym'
Re : Team Discussion
« Réponse #2 le: 09 Février 2008, 02:15:36 »
Faudrais pas mettre un

if ( joueur dans une team ) = 1;

la commande

else if ( joueur dans une team ) = 0;
SendClientMessage (playerid, COLOR_RED, "Tu n'est pas dans cette team");

Je serai pas grandement t'aider plus...

Hors ligne R@f

  • *
  • GTAOnline Addict
  • Messages: 4655
    • Voir le profil
Re : Team Discussion
« Réponse #3 le: 09 Février 2008, 12:30:45 »
il suffit juste d'utiliser un de mes codes et prendre exemple de l'admin chat du RAS ;)
Voici le code  :D
Code: (cpp) [Sélectionner]
SendMessageToTeam(team, color, text[]) {
for(new i = 0; i < MAX_PLAYERS; i ++) {
if(IsPlayerConnected(i)) {
team=GetPlayerTeam(i);
if(GetPlayerTeam(i) == team) {
SendClientMessage(i, color, text);
}
}
}
}
Avec quelques petites modifications tu peux faire un beau team chat avec ;)

++
R@f

Hors ligne VaKoS_95

  • *
  • Tueur
  • GTA-California Admin
  • Messages: 60
    • Voir le profil
    • GTA-California
Re : Team Discussion
« Réponse #4 le: 10 Février 2008, 01:53:30 »
Chalut.
J'ai pris ton bout de script.
Donc j'utilise gTeam vu que c'est un serveur de stunt.
Les teams sont pas des teams dm (Grove.. etc..) et ne se choisissent pas par class.
Ce sont les teams de stunt (comme [TB], [DW], [GSK]...).
Donc j'ai fais un truc, c'est une commande avec un mot de passe qui nous fait rentrer dans la team donc qui nous permet d'accéder au team discussion :

if(strcmp(cmdtext, "/motdepasse", true) == 0)
{
    gTeam[playerid] = TEAM_TB;
    SendClientMessage(playerid, COLOR_GREEN, "Correctement loggué sur le Team Discussion [TB].");
    return 1;
}

Pour l'instant je vois pas d'erreur, ça compile pas de problème...
Pourtant IG, pas de message "Correctement loggué sur le Team Discussion [TB].
Comme si la commande n'existait pas quoi :/

Besoin d'aide ^_^

EDIT: C'est bon, j'ai fais un SetPlayerTeam.
« Modifié: 10 Février 2008, 01:58:33 par VaKoS_95 »