Следите за нами!

Чат на CEF | MTA

Описание

Плюсы

Смайлики (😈)

Адаптивность (вам не нужно надевать очки, чтобы видеть, что пишут другие)

Скопируйте/вставьте из/в поле ввода (больше не нужно вводить в консоль — скажите, например, «длинное сообщение или URL»)

Настраиваемый (теперь вы можете объединить чат для всех своих игроков)

Расширяемый (например, вы можете сделать ссылки на URL-адреса в чате кликабельными или добавить поддержку Markdown)

Минусы

Он не может выполнять встроенные команды, такие как /nick/login, и т. д., «по соображениям безопасности». (c) mta wiki.

Вам нужно написать собственные обработчики для этих команд или просто использовать консоль для таких команд.

Пользовательские команды по-прежнему работают должным образом.

Его нельзя использовать до запуска ресурса, поэтому вы не можете писать полезные сообщения игроку в обработчике событий onPlayerConnect вместо используйте onPlayerJoin

Вопросы и ответы:

Я запустил этот ресурс, но не вижу чата

Вам нужно выполнить exports.chat2:useDefaultOutput(true) потому, что в вашем игровом режиме нет встроенного вывода

В чате дважды отображаются одни и те же сообщения

Как я могу добавить новые типы ввода, например, для глобальных/локальных/личных чатов?

Вам нужно добавить новые записи в таблицу inputKeyButtons на стороне клиента с уникальными значениями messageType и затем обработать эти типы сообщений в onPlayerChat

Приступая к работе

Выполнить exports.chat2:useDefaultOutput(false) где-нибудь в вашем коде

скачать ресурс

переместить этот ресурс в server/mods/deathmatch/resources/ каталог

добавить в server/mods/deathmatch/mtaserver.conf:


API:

Функции клиента

outputChatBox(string message, int red?, int green?, int blue?) -> void 

Обратите внимание, что последний параметр colorcoded. не указан.

По умолчанию включена шестнадцатеричная обработка

showChat(bool show) -> void

clearChatBox() -> void

exports.chat2:isChatVisible() -> bool

Функции сервера

outputChatBox(string message, element elem?, int red?, int green?, int blue?) -> void 

Обратите внимание, что последний параметр colorcoded. не указан.

По умолчанию включена шестнадцатеричная обработка

showChat(element elem, bool show) -> void

clearChatBox(element elem) -> void

exports.chat2:useDefaultOutput(bool) -> void Включите/отключите вывод по умолчанию.

Если вы отключите его, то вам нужно будет написать собственные обработчики для onPlayerChat событий

Примеры выгрузки:

addEventHandler("onResourceStart", resourceRoot, function()
 -- необходимо выполнить, если ваш игровой режим не выводит сообщения в чат в
  -- обработчиках событий onPlayerChat. В качестве примера: игровой режим «Игра» уже использует собственный вывод
  --, поэтому вам не нужно включать вывод по умолчанию, но в игровом режиме «Гонка» его нет,
  -- поэтому вам нужно включить вывод по умолчанию.
  exports.chat2:useDefaultOutput(true)
end)

addEventHandler("onPlayerJoin", root, function()
 outputChatBox("#ccff00привет #ffcc00мир", source)
 outputChatBox("я красный как рак", source, 255, 0, 0)
конец)

-- прослушивание прямого вывода из чата
-- должно быть создано, если для useDefaultOutput не было установлено значение 'true'
addEventHandler("onPlayerChat", root, function(message, messageType)
 if message ~= "ping"then
    outputChatBox("pong", source)
 end
end)

Добавить в mtaserver.conf:

<!-- установите этот ресурс перед всеми остальными ресурсами -->
<resource src="chat2" startup="1" protected="0" />

Добавить в acl.xml: 

<group name="chat2ACLGroup">
  <acl name="chat2ACL"></acl>
  <object name="resource.chat2"></object>
</group>

<acl name="chat2ACL">
  <right name="function.executeCommandHandler" access="true"></right>
</acl>





Автор публикации:

Flox Даниил Девелоп

Скачать:

Скачать

Дата:
Vehicle IDs
Vehicle IDs
01.03.2021, FAQ ПО МТА
Руководство по отладке - как найти ошибки в ваших скриптах
Руководство по отладке - как найти ошибки в ваших
24.12.2020, Статьи
Введение в скриптинг
Введение в скриптинг
12.02.2021, Статьи
Введение в скриптинг 2
Введение в скриптинг 2
24.12.2020, Клиенты MTA

Нет комментариев.Оставишь комментарий?