Simple Team Chat system [HELP] -
Sting. - 11.08.2012
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.
Re: Simple Team Chat system [HELP] -
phillip875 - 11.08.2012
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;
}
Re: Simple Team Chat system [HELP] -
Champ - 11.08.2012
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;
}
Re: Simple Team Chat system [HELP] -
Sting. - 12.08.2012
@Champ, so the team chat will be "! (chat)" to talk in team chat?
Re: Simple Team Chat system [HELP] -
Devilxz97 - 12.08.2012
Quote:
Originally Posted by RTR12
@Champ, so the team chat will be "! (chat)" to talk in team chat?
|
yes.
Re: Simple Team Chat system [HELP] -
Champ - 12.08.2012
yeah, please tell me if it works. i think it will work definetly
Re: Simple Team Chat system [HELP] -
Sting. - 12.08.2012
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.
Re: Simple Team Chat system [HELP] -
IceMeteor - 12.08.2012
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;
}
Re: Simple Team Chat system [HELP] -
phillip875 - 12.08.2012
Why are you using OnPlayerText, if he asked for it to be /t ?
Re: Simple Team Chat system [HELP] -
leonardo1434 - 12.08.2012
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;
}