• Страница 1 из 1
  • 1
Добавление ID игрока в чате рядом с ником
[S]ilverbac[k]Дата: Четверг, 04.04.2013, 23:15 | Сообщение # 1
.::Offline::.
Пахан
Сообщений: 723
[ 86 ]
Награды: 17

Статус отсутствует
Паблик, который отвечает за отправку сообщений в чат - это OnPlayerText. С ним мы и будем работать.

Находим этот паблик в вашем моде/скрипте. Если вы начали свой мод/скрипт с нуля, тоесть с чистого new.pwn, то этот паблик будет пуст.
Для тех, кто не смог найти этот паблик, я выкладываю его код, чтобы вам не пришлось искать его в инклудах

Код


public OnPlayerText(playerid, text[])
{
  return 1;
}



Итак, начнем:

Для начала создадим переменную, которая будет отвечать за сообщение в чате.
Назовем её chatstring[256];

Теперь нам нужно узнать имя игрока, который будет посылать сообщение в чат.
Для этого создадим еще одну переменную, и назовем её sendername[MAX_PLAYER_NAME];

(MAX_PLAYER_NAME - максимальная длина ника игрока)

Чтобы узнать ник игрока, мы воспользуемся функцией GetPlayerName

Итак, используя переменную sendername узнаем ник игрока

Код
GetPlayerName(playerid,sendername,MAX_PLAYER_NAME);


Когда мы узнали ник игрока, нам нужно соединить ник игрока и сообщение, которое он отправит в чат.
Для этого мы воспользуемся функцией format, которая позволяет включать в строку переменные и другие строки.

Код
format(chatstring,sizeof(chatstring),"%s(%d):%s",sendername,playerid,text);


Теперь нам остается вывести сообщение в чат. Выводить его мы будем при помощи функции SendClientMessageToAll

Код
SendClientMessageToAll(0xFFFFFFAA,chatstring);


Вроде-бы все успешно скомпилировалось, но при отправлении сообщения в чат у вас получается что-то похожее на это:



Мы видим, что помимо нашего нового сообщения в чате появляется и старое. Чтобы отключить данный эффект, нужно всего-лишь в конце OnPlayerText изменить return 1 на 0.
И тогда данный эффект больше не будет показыватся





[S]ilverbac[k] © 2013
Специально для SAMP-TEAM.COM
Прикрепления: 4326366.png (7.3 Kb) · 6018752.png (3.7 Kb)


[FS]Neon[APP]FCP[APP]Vehicle Tuning Generator ||||| 20% -- Работа приостановленаОбложка:
 
fenix05Дата: Суббота, 06.04.2013, 10:08 | Сообщение # 2
.::Offline::.
Гангстер
Сообщений: 151
[ 62 ]
Награды: 4

Статус отсутствует
Хороший урок.

Небольшое дополнение.
Чтобы в чате имя ника было своим цветом, а текст оставался белым:
Код
format(chatstring,sizeof(chatstring),"%s(%d): {FFFFFF}%s",sendername,playerid,text);
SendClientMessageToAll(GetPlayerColor(playerid),chatstring);


Alien Brickman [vk.com/alien_brickman]Обложка:
 
мася2821Дата: Воскресенье, 11.10.2015, 09:26 | Сообщение # 3
.::Offline::.
Новичок
Сообщений: 5
[ 0 ]
Награды: 0

Статус отсутствует
Чёткий текст
 
  • Страница 1 из 1
  • 1
Поиск:


Copyright www.SAMP-TEAM.com (c) 2009-2024
Правила использования материалов сайта

При копировании материалов из нашего сайта
ссылка на www.SAMP-TEAM.com обязательна!
Нарушители правил будут строго наказаны!

Хостинг от uCoz   
Для корректного просмотра мы рекомендуем Вам использовать браузер Google Chrome.
Яндекс.Метрика
Яндекс.Метрика