Новый чат MTA
Описание
Плюсы:
- Адаптивность (вам не нужно надевать очки для вашего экрана 1920x1080, чтобы увидеть, что пишут другие)
- Копирование / вставка из / в input (больше нет консоли - & gt; скажем someLongMessageOrUrl)
- Настраиваемый (теперь вы можете унифицировать чат для всех ваших игроков)
- Расширяемый (например, вы можете сделать ссылки url в чате кликабельными или добавить поддержку markdown)
Минусы:
- Он не может выполнять встроенные команды, такие как
/nick ; /login
, и т.д. Из соображений безопасности. Вам нужно написать свои собственные обработчики для этих команд или просто использовать консоль для таких команд. Пользовательские команды по-прежнему работают должным образом. - Он не может быть использован до запуска ресурса, поэтому вы не можете писать полезные сообщения для игрока в
onPlayerConnect
обработчике событий. используйтеonPlayerJoin
вместо этого.
Приступая к работе:
- скачать русурс
- переместить этот ресурс в
server/mods/deathmatch/resources/
- добавить в
server/mods/deathmatch/mtaserver.conf
:
<!-- set this resource before all other resources --> <resource src=\"chat2\" startup=\"1\" protected=\"0\" />
- добавить в
server/mods/deathmatch/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>
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 обработчик события. Например: play gamemode уже использует свой собственный вывод - так что вам не нужно включать вывод по умолчанию, но race gamemode его не имеет, - так что вам нужно включить вывод по умолчанию.
exports.chat2:useDefaultOutput(true) end) addEventHandler(\"onPlayerJoin\", root, function() outputChatBox(\"#ccff00hellow #ffcc00world\", source) outputChatBox(\"i\'m red af\", source, 255, 0, 0) end) addEventHandler(\"onPlayerChat\", root, function(message, messageType) if message ~= \"ping\" then outputChatBox(\"pong\", source) end end)
ВОПРОСЫ И ОТВЕТЫ:
Я запустил этот ресурс, но я не вижу чата
- Вы должны выполнить exports.chat2:useDefaultOutput(true), потому что ваш игровой режим не имеет встроенного вывода
Чат показывает одни и те же сообщения дважды
- Выполните exports.chat2:useDefaultOutput(false) где-нибудь в своем коде
Как я могу добавить новые типы ввода для, скажем, глобальных / локальных / частных чатов?
- Вам нужно добавить новые записи в таблицу clientside inputKeyButtons с уникальными
messageType
значениями, А затем обработать эти типы сообщений вonPlayerChat
обработчиках событий
Категория:
Скрипты MTAАвтор публикации:
Root
Дата публикации:
2 нояб. 2022 г.
Для скачивания войдите в аккаунт и получите премиум доступ.