Zeus u3 BeJlarusi
Новичок
Паблик, который отвечает за отправку сообщений в чат - это OnPlayerText. С ним мы и будем работать.
Находим этот паблик в вашем моде/скрипте. Если вы начали свой мод/скрипт с нуля, тоесть с чистого new.pwn, то этот паблик будет пуст.
Для тех, кто не смог найти этот паблик, я выкладываю его код, чтобы вам не пришлось искать его в инклудах
Итак, начнем:
Для начала создадим переменную, которая будет отвечать за сообщение в чате.
Назовем её chatstring[128];
Теперь нам нужно узнать имя игрока, который будет посылать сообщение в чат.
Для этого создадим еще одну переменную, и назовем её sendername[MAX_PLAYER_NAME];
(MAX_PLAYER_NAME - максимальная длина ника игрока)
Чтобы узнать ник игрока, мы воспользуемся функцией GetPlayerName
Итак, используя переменную sendername узнаем ник игрока
Когда мы узнали ник игрока, нам нужно соединить ник игрока и сообщение, которое он отправит в чат.
Для этого мы воспользуемся функцией format, которая позволяет включать в строку переменные и другие строки.
Теперь нам остается вывести сообщение в чат. Выводить его мы будем при помощи функции SendClientMessageToAll
Вроде-бы все успешно скомпилировалось, но при отправлении сообщения в чат у вас получается что-то похожее на это:
Мы видим, что помимо нашего нового сообщения в чате появляется и старое. Чтобы отключить данный эффект, нужно всего-лишь в конце OnPlayerText изменить return 1 на 0.
И тогда данный эффект больше не будет показыватся
Спасибо за внимание.
Находим этот паблик в вашем моде/скрипте. Если вы начали свой мод/скрипт с нуля, тоесть с чистого new.pwn, то этот паблик будет пуст.
Для тех, кто не смог найти этот паблик, я выкладываю его код, чтобы вам не пришлось искать его в инклудах
PHP:
public OnPlayerText(playerid, text[])
{
return 1;
}
Итак, начнем:
Для начала создадим переменную, которая будет отвечать за сообщение в чате.
Назовем её chatstring[128];
Теперь нам нужно узнать имя игрока, который будет посылать сообщение в чат.
Для этого создадим еще одну переменную, и назовем её sendername[MAX_PLAYER_NAME];
(MAX_PLAYER_NAME - максимальная длина ника игрока)
Чтобы узнать ник игрока, мы воспользуемся функцией GetPlayerName
Итак, используя переменную sendername узнаем ник игрока
PHP:
GetPlayerName(playerid,sendername,MAX_PLAYER_NAME);
Для этого мы воспользуемся функцией format, которая позволяет включать в строку переменные и другие строки.
PHP:
format(chatstring,sizeof(chatstring),"%s(%d):%s",sendername,playerid,text);
PHP:
SendClientMessageToAll(0xFFFFFFAA,chatstring);
Вроде-бы все успешно скомпилировалось, но при отправлении сообщения в чат у вас получается что-то похожее на это:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Мы видим, что помимо нашего нового сообщения в чате появляется и старое. Чтобы отключить данный эффект, нужно всего-лишь в конце OnPlayerText изменить return 1 на 0.
И тогда данный эффект больше не будет показыватся
Спасибо за внимание.
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Последнее редактирование:
