помогите с чатом
#1

http://i059.radikal.ru/1108/cb/4d5b6ee0dd1e.jpg
помогите сделать так чтобы писало сообщение в чат один раз и чтобы возле ника игрока был его ID

Код:
public OnPlayerText(playerid, text[])
{
       new
       PlayerName[MAX_PLAYER_NAME],
       string[128];
       GetPlayerName(playerid,PlayerName,sizeof(PlayerName));
       format(string,sizeof(string),"%s(%d): %s",PlayerName,playerid,text);
       SendClientMessageToAll(GetPlayerColor(playerid),string);
       if((strlen(text) < 3) || (text[0] == '/') || (text[0] == '#') || (text[0] == '!')) return 1;
		new offset;
		new len;
 		for(new i=0; i<MAX_WORDS; i++)
		{
		offset = strfind(text, swear[i], true);
		if(offset > -1)
		{
			len = strlen(swear[i]);
			if(len < 3) break;
			for(new y=0; y<len; y++)
			{
				text[offset+y] = '*';
			}
			swearCount[playerid]++;
			format(string, sizeof(string), "Мат на сервере запрещён [Предупреждения %d/%d ]", swearCount[playerid], MAX_SWEARCOUNT);
			SendClientMessage(playerid, 0xE60000FF, string);
   			if(swearCount[playerid] >= MAX_SWEARCOUNT)
			{
			    new name[24];
			    GetPlayerName(playerid, name, sizeof(name));
			    format(string, sizeof(string), "*** %s Кикнут за употребление мата!", name);
			    SendClientMessageToAll(0xE60000FF, string);
			    Kick(playerid);
			    break;
			}
			break;
		}
	}
       return 0;
}
Reply
#2

Quote:
Originally Posted by [HHT]DRON
Посмотреть сообщение
http://i059.radikal.ru/1108/cb/4d5b6ee0dd1e.jpg
помогите сделать так чтобы писало сообщение в чат один раз и чтобы возле ника игрока был его ID

Код:
public OnPlayerText(playerid, text[])
{
       new
       PlayerName[MAX_PLAYER_NAME],
       string[128];
       GetPlayerName(playerid,PlayerName,sizeof(PlayerName));
       format(string,sizeof(string),"%s(%d): %s",PlayerName,playerid,text);
       SendClientMessageToAll(GetPlayerColor(playerid),string);
       if((strlen(text) < 3) || (text[0] == '/') || (text[0] == '#') || (text[0] == '!')) return 1;
		new offset;
		new len;
 		for(new i=0; i<MAX_WORDS; i++)
		{
		offset = strfind(text, swear[i], true);
		if(offset > -1)
		{
			len = strlen(swear[i]);
			if(len < 3) break;
			for(new y=0; y<len; y++)
			{
				text[offset+y] = '*';
			}
			swearCount[playerid]++;
			format(string, sizeof(string), "Мат на сервере запрещён [Предупреждения %d/%d ]", swearCount[playerid], MAX_SWEARCOUNT);
			SendClientMessage(playerid, 0xE60000FF, string);
   			if(swearCount[playerid] >= MAX_SWEARCOUNT)
			{
			    new name[24];
			    GetPlayerName(playerid, name, sizeof(name));
			    format(string, sizeof(string), "*** %s Кикнут за употребление мата!", name);
			    SendClientMessageToAll(0xE60000FF, string);
			    Kick(playerid);
			    break;
			}
			break;
		}
	}
       return 0;
}
Этот код в моде или фс?
Reply
#3

в моде
Reply
#4

Попробуй отключить все фс и проверь, если не помогло, то попробуй удалить if((strlen(text) < 3) || (text[0] == '/') || (text[0] == '#') || (text[0] == '!')) return 1; авось поможет
Reply
#5

не помогло
Reply
#6

когда в OnPlayerText возвращаешь 1 то вроде срабатывает стандартный чат
Reply
#7

ну а как сделать чтобы нормально было чтобы сообщение одно отсылалось и id возле ника был?
Reply
#8

Quote:
Originally Posted by [HHT]DRON
Посмотреть сообщение
ну а как сделать чтобы нормально было чтобы сообщение одно отсылалось и id возле ника был?
Ну вот:
pawn Код:
public OnPlayerText(playerid, text[])
{
    new string[160],playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,sizeof(playername));
    format(string, sizeof(string),"%s(%d): {FFFFFF}%s",playername,playerid,text);
    SendClientMessageToAll(GetPlayerColor(playerid),string);
    return 0;
}
Reply
#9

всё равно двойное сообщение я сделал теперь по другому сообщение одно но без ID возле ника
Reply
#10

Quote:
Originally Posted by [HHT]DRON
Посмотреть сообщение
всё равно двойное сообщение я сделал теперь по другому сообщение одно но без ID возле ника
Этого не может быть, возможно это из-за фс, отключай все.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)