Классы
Статы, идеальное соотношение · Умения и вехи, как получить · Души · Сравнение классов
Воин · Жрец · Некр · Лучник · Шаман · Мист · Бард · Инж · Демон
Игровой процесс
Как одеваться · Драконий облик · Наследие Богов · Фарм золота
Прохождения локаций
Мониторинг серверов и редактор аддонов
Представляем вам две легенды. То, о чем можно было только мечтать, стало реальностью.
Подсказки из игры на вашем сайте
Теперь вы можете отображать сведения о внутриигровых элементах простым наведением курсора мыши.
-
Постов
3 118 -
Зарегистрирован
-
Посещение
Тип контента
Загрузки
Форумы
Статьи и объявления
Гардероб
Маунты
Сообщения Allods Team
Магазин
Галерея
Весь контент icreator
-
перевод Instal addon "AddonsTools" from UI9.RU.
-
только что проверила - все корректно работает в любом случае
-
а если включить выключить?
-
в интерфейсе вроде есть - image или что-то в этом роде?
-
можно "просматривать" только тех кто занесен в какие либо панельки, а не просто ВСЕХ в округе. Поэтому сначала скажи - из какой панельки тебе нужны цели? потом занеси эту панель в список AUTOTARGETlist и укажи там тип сортировки для хила обычно актуальна панелька группы - gp
-
достаточно написать функцию (см примеры) и она появится в списке меню для списка авто-таргета
-
доступ к данным по панелям - через массив List чтобы посмотреть что там лежит можно использовать функцию explore Object: exObj(name, obj ) вывод будет в mods.txt
-
видимо у тебя нет AddonTools
-
да потому что он ждет события от AddonsTools (AddonsMenu) - только им он включается/выключается
-
1. ни какие!!! ну читайте ОПИСАНИЕ ну! 2. а зачем? не слишком ли много места на экране будет занято? достаточно того что они по цветам отличаются в панели - так?
-
есть панель gp - члены группы уже там есть изначально - ты можешь даже ее видеть или заменить стандартную панель на gp
-
исправила ошибку изменения табличных параметров через интерфейс - из-за чего раньше не работал список на AUTOTARGET и списки для поиска устройств/юнитов и другие списки со значениями. добавила в список для AUTOTARGET режим - My Last Target - будет браться в цель ваша последняя цель - удобно если ваш враг исчез а потом появился. Однако при этом других целей не должно браться - то есть в списке тогда не должно быть больше пунктов сделала возможность для пользователей писать свои собственные функции для режима AUTOTARGET файл LUA назыввается USER_funcs.lua смотри тут там есть пример на выбор по классам
-
в общем сделала возможность для пользователей писать свои собственные функции для режима AUTOTARGET файл LUA назыввается USER_funcs.lua
-
Quote: [string "mods/addons/addonstools/config.txt"] ты что-то с config.txt сделал - ошибку какую-то туда закатал - исправь или обнови версию
-
чудес на свете не бывает )) то что аддону выгодно - торговцу может быть в убыток... если народ продает по 21 а ты поставишь то по 20 - то ты можешь в убыток начать продавать ))
-
добавлено меню настроек для работы аддона нужен AddonsTools
-
откуда я знаю - тыж никаких ошибок не приводишь тут
-
make_FButton = true, -- to add my own FastButton to FastButtons Panel of AddonsMenu settings = { { name = "mfPrior", label = L("'mainForm' Priority"), type = "_edl" }, { name = "Settings1", label = L("Set First Param"), type = "_edl" }, { name = "Settings_2", label = L("Set _2 Param"), type = "_txt", valLabels = names, listVals = { NEED, GREED, SAME, PASS, OFF }, valFormats = valFormats, chars = 10, tip = L("choice for Example Settings_2") }, }, commands = { { name = "cmd1", label = "Command 1", }, { name = "cmd2", label = "Command 2", }, --{}, }, vers = "r13", --- or .version lib = "AddonsTools r77", --- or .library
-
параметры описания аддона: local DESCR = { --[[ DESCRIBE Your addon here. parameters: abbrev = --- abbreviation for fast button, sender = common.GetAddonName() -- addon name - auto inserted icon = texture for icon desc - addon description commands { --- menuItem for context menu {name = ..., label =...}, {name = ..., label =...}, ... } on_click_hide = true, -- hide AddonsMenu when to show me ]] abbrev = "ASL", notAOPanel = true, desc = L("Alarming Status Line - notify many events"), icon = common.GetAddonRelatedTexture("ExcitedFan"), on_click_hide = true, -- hide AddonsMenu when to show me settings = nil, commands = nil, vers = "r04", lib = "AddonsTools r77b", }
-
например ваш аддон меняет интерфейс игры или выгружает другие аддоны, может быть даже системные... либо создает довольно увесистый свой интфейс используя много памяти. Так вот если идти обычным путем (не использовать выше приложенный файл) и если пользователь захочет отказаться от вашего аддона и будет выгружать его с помощью AddonsManager, то пользователь все равно получит измененный интерфейс игры и выгруженные другие аддоны! Ведь как все происходит - сначала игра загружает ВСЕ аддоны, при этом они выполняются, а потом уже аддон AddonsManadger дает команду на выгрузку вашего аддона. В результате ваш аддон, даже будучи потом выгруженным успеет натворить то, что пользователю, например, сейчас не нужно А если использовать систему событий, которая предлагается мною, то когда стартует Ваш аддон - он на самом деле оказывается в ждущем режиме, и не запускает ваш основной Init(), а лишь шлет запрос на "разрешение старта". Если пользователь ваш аддон не выгружал в AddonsMenu, то придет ответ от AddonsMenu - "старт разрешен" и тогда уже ваш аддон запустится полностью. к тому же в выше приложенном файле есть множество дополнительных полезных стандартизированных событий - для удобной работы через AddonsMenu: для запросов на память: ADDON_MEM_REQUEST -- посылаем запрос к аддону ADDON_MEM_RESPONSE -- ответ аддона для запросов на информацию об аддоне: ADDON_INFO_REQUEST -- посылаем запрос к аддону ADDON_INFO_RESPONSE -- ответ аддона local DESCR = { abbrev = "ALC", -- аббревиатура для FB Panel desc = L("Alchemy"), --- описание аддона icon = "AddGreenNormal", --- иконка из списка в Textures.lua on_click_hide = true, -- hide AddonsMenu when to show me make_FButton = false, -- to add my own FastButton to FastButtons Panel of AddonsTools vers = "r13", --- версия аддона lib = "AddonsTools r77", --- имя библиотеки, которое аддон использует. } для управления загрузкой и выгрузкой аддонов: ADDON_START_REQUEST --- запрос аддона на свой запуск ADDON_START_CONFIRMED -- ответ от менеджера аддонов ( разрешение или нет ) parameters = { target = pars.sender, unloaded = nil, skin = skin, localization = GetGameLocalization(), textures = makeTextures() } Если пользователь выгружает ваш аддон через AddonsMenu то вашему аддону будет послано событие "ADDON_UNLOAD" - по которому вы сможете сохранить настройки аддона, загрузить назад выгруженные вашим аддном аддоны и потом уже с чистой совестью спокойно свой аддон сам выгружается: ADDON_UNLOAD -- команда от менеджера аддонов на выгрузку ADDON_UNLOADED -- ответ аддона что он себя выгрузил прочее управление: ADDON_SET_LOCALIZATION --- установить локализацию AOPANEL_BUTTON_LEFT_CLICK -- в AddonsMenu нажата кнопка мышки на этом аддоне AOPANEL_BUTTON_RIGHT_CLICK -- в AddonsMenu нажата правая кнопка мышки на этом аддоне AOPANEL_BUTTON_DOUBLE_CLICK -- -- в AddonsMenu двойной клик на этом аддоне AOPANEL_COMMAND r77 added: ADDON_GET_PARAMS -- запрос параметров от аддона для подстановки в конектсное меню для него ADDON_GET_PARAMS_RESPONSE -- ответ аддона со значениями в параметрах ADDON_SET_PARAM -- ответ от AddonsMenu что параметр был изменен пользователем ADDON_LOCK_DND --- если надо запретить DnD в аддоне. Для того чтобы это сработала нужно взять LibDnD.lua из папки AddonsTools/Scripts - там немного подправленный мною файл от SLA и других разработчиков ADDON_SHOW_BUTTON --- обычно каждый аддон имеет свою отдельную кнопку (назависимо от AT-AM), так вот её можно погасить по этому событию - так как вызов окна аддона можно делать из AM по событиям AOPANEL_BUTTON_LEFT_CLICK и т.д. для того чтобы получить текстуры отдельно (но они обычно приходят сразу в событии ADDON_START_CONFIRMED вместе с локализацией): ADDON_TEXTURES_RESPONSE ADDON_TEXTURES_REQUEST если вы пользуетесь стандартным скриптом AddonsMenuClient.lua, то доступ к текстурам получаем так: texture = getWorldTextutes()["CheckC0"].texture если поменялось оформление то посылается событие: ADDON_AT_MENUS_SKIN_CHANGED как это все работаеn и устроено можно посмотреть в примере Example3.zip
-
просьба при создании аддона придерживаться этой темы
-
тут набор событий расширен: ADDON_SET_LOCALIZATION AOPANEL_BUTTON_LEFT_CLICK AOPANEL_BUTTON_RIGHT_CLICK AOPANEL_BUTTON_DOUBLE_CLICK AOPANEL_COMMAND
-
если вы не используете AddonsMenuClient.lua и menuCls.lua в своем проекте, то для того чтобы ваш аддон обслуживался менеджерами аддонов - просьба использовать стандартный набор событий (MANAGING_EVENTS)- просто включите файл MANAGING_EVENTS.lua в свой аддон и замените в нем некоторые функции и описания файл приложен тут File: Z1JHbe0edcoli4J.zip какие параметры передаются по событиям можно глянуть в файле AddonsMenuClient.lua
-
прикладываю файл, шаблон, в котором надо просто вставить свое описание и функцию запуска своего аддона небольшое описание тут File: MANAGING_EVENTS.zip
-
и так поработав с этим пришла к следующей системе: названия событий желательно сделать попроще но понятные вместо старых, например таких: Code: U_EVENT_ADDON_MEM_USAGE_RESPONSESCRIPT_ADDON_MEM_RESPONSE предлагаю сделать такие: для запросов на память: Code: ADDON_MEM_REQUEST -- посылаем запрос к аддонуADDON_MEM_RESPONSE -- ответ аддона для запросов на информацию об аддоне: Code: ADDON_INFO_REQUEST -- посылаем запрос к аддонуADDON_INFO_RESPONSE -- ответ аддона для управления загрузкой и выгрузкой аддонов: ADDON_START_REQUEST --- запрос аддона на свой запуск ADDON_START_CONFIRMED -- ответ от менеджера аддонов ( разрешение или нет ) ADDON_UNLOAD -- команда от менеджера аддонов на выгрузку
