Информация о файле
Модификация одноименного аддона.
Удобная панель для игры. Сама по себе она не содержит ни каких аддонов. Но если сделать поддержку панели в аддоне то на ней выведется кнопка или текст от аддона. Это было сделано для того, что бы убрать лишние кнопки с экранов. Кнопки выводятся автоматически.
+FPS Счетчик отображает количество кадров в секунду в игре.
Примечание:
Аддон реализован на основе AOPanel с измененным кодом.
Аддон не совместим с аддонами AOPanel
Выбор каким пользоваться за вами.
В версии (r2+) появились настройки.
Настройка адона производится блокнотом в файле config.txt
Пример
------------------------------------------------------------------------------- -- Тут настройка кому не нужен FPS -- Если не хотим отображать на панели ставим (true) ------------------------------------------------------------------------------- FPSoff = false
Синхронизация аддонов.
Поддержка аддонов происходит через события. При запуске AOPanelMod происходит отправка события AOPANEL_START. В ответ он должен получить событие AOPANEL_SEND_ADDON содержащие:
{ name = " НАЗВАНИЕ АДДОНА ", sysName = " СИСТЕМНОЕ НАЗВАНИЕ ", param = ТАБЛИЦА ПАРАМЕТРОВ }
На данный момент таблица параметров выглядит так:
ptype - Это тип блока на панели. Кнопка(button) или Текст(text).
size - Размер блока.
header - Таблица текста блока (необязательно, если есть иконка).
icon - Иконка аддона (необязательно).
header состоит из:
val - (Локальная строка) Стандартный текст в блоке
val1 - (Локальная строка) Второй текст
class1 - (Системный стиль) Стиль для второго текста
val2 - (Локальная строка) Третий текст
class2 - (Системный стиль) Стиль для третьего текста
val3 - (Локальная строка) Четвертый текст
class3 - (Системный стиль) Стиль для четвертого текста
Пример из плагина AOPanelTime
local SetVal = { val = userMods.ToWString(Time) } local params = { header = SetVal, ptype = "text", size = 100 } userMods.SendEvent( "AOPANEL_SEND_ADDON", { name = "AOPanel Time", sysName = "AOPanelTime", param = params } )
Пример из плагина AOPanelMoney
local SetVal = { val1 = userMods.ToWString(""..gold), class1 = "LogColorYellow", val2 = userMods.ToWString(" "..silver), class2 = "LogColorWhite", val3 = userMods.ToWString(" "..copper), class3 = "" } local params = { header = SetVal, ptype = "text", size = 100 } userMods.SendEvent( "AOPANEL_SEND_ADDON", { name = "AOPanel Money", sysName = "AOPanelMoney", param = params } )
Пример из FittingRoom
local SetVal = { val = GetTextLocalized( "AddonName" ) } local params = { header = SetVal, ptype = "button", size = 150 } userMods.SendEvent( "AOPANEL_SEND_ADDON", { name = "Fitting Room", sysName = "FittingRoom", param = params } )
Пример из FittingRoom с иконкой
local SetVal = { val = userMods.ToWString("") } local params = { header = SetVal, ptype = "button", size = 22, icon = wtIcon } userMods.SendEvent( "AOPANEL_SEND_ADDON", { name = "Fitting Room", sysName = "FittingRoom", param = params } )
Обновления блока.
Если нужно что бы текст на панели менялся то нужно отправлять событие AOPANEL_UPDATE_ADDON с таблицей: { sysName = " СИСТЕМНОЕ НАЗВАНИЕ ", header = ТАБЛИЦА ТЕКСТА СТИЛЯ КАК ПРИ ОТПРАВКИ }
Пример из плагина AOPanelTime:
local SetVal = { val = userMods.ToWString(Time) } userMods.SendEvent( "AOPANEL_UPDATE_ADDON", { sysName = "AOPanelTime", header = SetVal } )
Нажатие на кнопку.
Если используете тип блока button то при нажатии на него отправляется событие AOPANEL_BUTTON_LEFT_CLICK для клика левой кнопкой мыши или AOPANEL_BUTTON_RIGHT_CLICK для клика правой кнопкой мыши, которое передает в поле sender системное название аддона к которому относится нажатая кнопка.
Пример из FittingRoom:
onEvent [ "AOPANEL_BUTTON_LEFT_CLICK" ] = function( params ) if params.sender == "FittingRoom" then Тут то что должно выполнится при нажатии на кнопку. end end
Пример из для кликом правой кнопки мыши:
onEvent [ "AOPANEL_BUTTON_RIGHT_CLICK" ] = function( params ) if params.sender == "FittingRoom" then Тут то что должно выполнится при нажатии на кнопку. end end
Требование к иконки.
Высота должна быть не больше 20.
Для версии AOPanelMod r2+ по поже опубликую функции так как может чего нибудь ещё изменю или доработаю.
Что нового в версии r3 Просмотр изменений
Размещено
- Fix: для патча 5.0.2