Для начала создадим переменную, которая будет отвечать за сообщение в чате. Назовем её chatstring[256]; Теперь нам нужно узнать имя игрока, который будет посылать сообщение в чат. Для этого создадим еще одну переменную, и назовем её sendername[MAX_PLAYER_NAME]; (MAX_PLAYER_NAME - максимальная длина ника игрока) Чтобы узнать ник игрока, мы воспользуемся функцией GetPlayerName Итак, используя переменную sendername узнаем ник игрока GetPlayerName(playerid,sendername,MAX_PLAYER_NAME); Код GetPlayerName(playerid,sendername,MAX_PLAYER_NAME); Когда мы узнали ник игрока, нам нужно соединить ник игрока и сообщение, которое он отправит в чат. Для этого мы воспользуемся функцией format, которая позволяет включать в строку переменные и другие строки. format(chatstring,sizeof(chatstring),"%s(%d):%s",sendername,playerid,text); Код format(chatstring,sizeof(chatstring),"%s(%d):%s",sendername,playerid,text); Теперь нам остается вывести сообщение в чат. Выводить его мы будем при помощи функции SendClientMessageToAll SendClientMessageToAll(0xFFFFFFAA,chatstring); Код SendClientMessageToAll(0xFFFFFFAA,chatstring); Вроде-бы все успешно скомпилировалось, но при отправлении сообщения в чат у вас получается что-то похожее на это: Мы видим, что помимо нашего нового сообщения в чате появляется и старое. Чтобы отключить данный эффект, нужно всего-лишь в конце OnPlayerText изменить return 1 на 0. И тогда данный эффект больше не будет показыватся