Simple Team Chat system [HELP]
#1

How do I create a simple chat system. Everyone who helps me, gets reputation. On my server, I use "SetPlayerTeam" and "GetPlayerTeam". I just want one simple chat system. Type /t (Chat) and it will show to all team members and they can also chat. Someone please help.
Reply
#2

pawn Код:
#include <a_samp>
#include <zcmd>
#include <foreach>
#include <sscanf>

forward TeamChat(playerid,string[]);

public TeamChat(playerid,string[])
{
    foreach(Player,i)
    {
        if(GetPlayerTeam(i) == GetPlayerTeam(playerid))
        {
            SendClientMessage(i,-1,string);
        }
    }
    return 1;
}

CMD:t(playerid,params[])
{
    new text[128],pName[MAX_PLAYER_NAME],formatted[156];
    if(sscanf(params,"s[128]",text)) return SendClientMessage(playerid,-1,"Usage: /t [teamchat text]");
    GetPlayerName(playerid,pName,sizeof(pName));
    format(formatted,sizeof(formatted),"[Team Chat]: %s(%d): %s",pName,playerid,text);
    TeamChat(playerid,formatted);
    return 1;
}
Reply
#3

try the simple code below ↓

pawn Код:
public OnPlayerText(playerid, text[])
{

    if(text[0] == '!')
    {
    new string[128];
    GetPlayerName(playerid, string, sizeof(string));
    format(string, sizeof(string), "[Team] %s: %s", string, text[1]);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && gTeam[i] == gTeam[playerid]) SendClientMessage(i, GetPlayerColor(playerid), string);
    }
    return 0;
    }

    return 1;
}
Reply
#4

@Champ, so the team chat will be "! (chat)" to talk in team chat?
Reply
#5

Quote:
Originally Posted by RTR12
Посмотреть сообщение
@Champ, so the team chat will be "! (chat)" to talk in team chat?
yes.
Reply
#6

yeah, please tell me if it works. i think it will work definetly
Reply
#7

Yeah I have 4 errors.

Код:
C:\Program Files\GtaSan\Rockstar Games\GTA San Andreas\Server 0.3e\gamemodes\*****(1279) : error 017: undefined symbol "gTeam"
C:\Program Files\GtaSan\Rockstar Games\GTA San Andreas\Server 0.3e\gamemodes\*****(1279) : warning 215: expression has no effect
C:\Program Files\GtaSan\Rockstar Games\GTA San Andreas\Server 0.3e\gamemodes\****(1279) : error 001: expected token: ";", but found "]"
C:\Program Files\GtaSan\Rockstar Games\GTA San Andreas\Server 0.3e\gamemodes\****(1279) : error 029: invalid expression, assumed zero
C:\Program Files\GtaSan\Rockstar Games\GTA San Andreas\Server 0.3e\gamemodes\****(1279) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.
Reply
#8

Let me correct the code from Champ
pawn Код:
public OnPlayerText(playerid, text[])
{
    if(text[0] == '!')
    {
        new string[128];
        GetPlayerName(playerid, string, sizeof(string));
        format(string, sizeof(string), "[Team] %s: %s", string, text[1]);
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i) && gTeam[i] == gTeam[playerid])return SendClientMessage(i, GetPlayerColor(playerid), string);
        }
        return 1;
    }
    return 1;
}
Reply
#9

Why are you using OnPlayerText, if he asked for it to be /t ?
Reply
#10

Just use this one, i've made it.
pawn Код:
public OnPlayerText(playerid, text[])
{
    if(text[0] == 't' || 'T') {
        new i,str[128],name[25];
        GetPlayerName(playerid,name,sizeof name);
        for(; i != MAX_PLAYERS;++i) {
            if(IsPlayerConnected(i) && GetPlayerTeam(playerid) == GetPlayerTeam(i)) {
                format(str,strlen(name) + strlen(text) + 1,#[Team]%s :%s,name,text);
                SendClientMessage(i,GetPlayerColor(playerid),str);
            }
        }
        return 1;
    }
    return 0;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)