RU/Resource:Helpmanager
Help manager ("менеджер помощи") - централизованный скрипт, целью которого является предоставить простой способ для создания GUI помощи, предоставляющих инструкции игрокам сервера. Пользователи могут быть предупреждены всплывающим окном при загрузке страницы помощи ресурса в первый раз.
Contents
Использование
Простой GUI
Если вы просто хотите добавить текст, добавления именно (ничего вообще не меняйте) этой строки в meta.xml вашего ресурса будет достаточно:
<config src="help.xml" type="client"/>
Указанное ниже - "костяк" вашего файла help.xml, содержимое которого будет показано под вкладкой ресурса в окне помощи (без самого костяка, конечно же). Кстати, дополнительное указание popup="no" в "костяке" отвечает за то, чтобы страница помощи не открывалась всякий раз, когда она доступна (т.е., например, она не будет открываться всякий раз при перезаходе на сервер, где к опредленному ресурсу имеется справка).
Пример:
<help popup="no"> Тут ваша справка </help>
Текст справки, как правило, объясняет сущность мода, дополнительные клавиши и консольные команды. Эта справка создается для рядового пользователя, а не разработчика, так что не переусложняйте ее.
Собственный GUI
Вы можете добавить свой собсвтенный GUI помощи через добавление вкладки вручную, внутри клиентского скрипта:
myHelpTab = call(getResourceFromName("helpmanager"), "addHelpTab", getThisResource(), true)
Вы можете добавлять содержимое через использование возвращенного элемента GUI в качесвте главного (parent GUI) для своих виджетов. Необязательно стирать их при удалении страницы / остановке ресурса, так как менеджер сам за этим следит.
Клавиши
F9: вызывает окно справки.
Команды
gamehelp: вызывает окно справки.
Экспортируемые функции
Сервер
bool showHelp ( element showTo )
Показывает окно справки для элемента showTo, распространяясь вниз по древу.
bool hideHelp ( element hideTo )
Скрывает окно справки для элемента hideTo, распространяясь вниз по древу.
Клиент
bool showHelp ()
Показывает окно справки local player (локальному игроку).
bool hideHelp ()
Скрывает окно спарвки от local player (локального игрока).
gui-tab addHelpTab ( resource forResource, [bool showPopup = true] )
Добавялет gui-вкладку с именем указанного ресурса в окно помощи local player. Если значение showPopup - false, всплывающее окно "page available" не показывается.
bool removeHelpTab ( resource forResource )
Добавляет gui-вкладку с именем указанного ресурса в окно помощи local player.
Срабатывающие события
Клиент
(Для всех событий "source" - local player.)
onHelpShown ()
onHelpHidden ()