Перейти к содержанию

Дайджесты за январь-февраль

Обновления гайдов и аддонов

Январь Февраль

Мониторинг серверов и редактор аддонов

Представляем вам две легенды. То, о чем можно было только мечтать, стало реальностью.

Мониторинг серверов Редактор аддонов

Подсказки из игры на вашем сайте

Теперь вы можете отображать сведения о внутриигровых элементах простым наведением курсора мыши.

Подробнее

Апдейтер аддонов

Представляем вам программу для автообновления аддонов и делимся подробностями.

Подробнее Скачать

duvo

Пользователь
  • Постов

    202
  • Зарегистрирован

  • Посещение

Весь контент duvo

  1. duvo

    DarkDPSMeter

    А есть какая-то проблема? Последняя версия аддона (r35) прекрасно перетаскивается, по крайней мере, на ру-серверах.
  2. Колонка, думаю, лишнее, а отображать в имени и/или подсказке в самый раз.
  3. Ага, видел, пробовал. Ловить нажатия клавиш мы не можем. Ребинд доступен в настройках, свои бинды создавать нельзя. Для чего этот функционал нужен, не понимаю.
  4. Процесс как-то не идет, мотивация на 0 Надо доделать подсказки, меню, но пока что-то никак.
  5. duvo

    MinimapSla

    Почитал тему, занятно Сам ковырялся в прошлом году с <Sizing> и Ко, но не так умело (не использовал GetPlacementPlain()), а тупо методом проб и ошибок Что касается WIDGET_SIZING_CHILDREN. В описатель панельки заголовка wtTitle.(WidgetPanel).xdb нужно добавить два параметра: <sizingWidget> и <Sizing>, и все будет шоколадно ^____^ Code: <?xml version="1.0" encoding="UTF-8" ?><WidgetPanel> <Name>wtTitle</Name> <Priority>1</Priority> <Children> <Item href="Texts/labTitle.(WidgetTextView).xdb#xpointer(/WidgetTextView)" /> </Children> <BackLayer href="Textures/MinimapTitle.(WidgetLayerTiledTexture).xdb#xpointer(/WidgetLayerTiledTexture)" /> <Placement> <sizingWidget href="Texts/labTitle.(WidgetTextView).xdb#xpointer(/WidgetTextView)" /> <X> <Align>WIDGET_ALIGN_HIGH</Align> <Sizing>WIDGET_SIZING_CHILDREN</Sizing> <HighPos>134</HighPos> <Size>300</Size> </X> <Y> <Align>WIDGET_ALIGN_LOW</Align> <Pos>23</Pos> <Size>63</Size> </Y> </Placement> <clipContent>true</clipContent> </WidgetPanel>
  6. Чудеса какие-то. Удалил АМ, скачал аттач, распаковал, вставил в LightDPS Code: common.RegisterEventHandler( function( params ) if params.target == common.GetAddonName() then userMods.SendEvent( "SCRIPT_ADDON_INFO_RESPONSE", { sender = params.target, desc = "pew-pew!!!11oneone", --showDNDButton = true, --showHideButton showSettingsButton = true, --addonsBlocked = { "ContextDamageVisualization" } } ) end end, "SCRIPT_ADDON_INFO_REQUEST" ) Появилась одна кнопка. Раскомментировал showDNDButton и showHideButton, перезагрузил в АМ'e, появились еще 2 кнопки. Да, после того, как закомментировал их вновь, перезагрузил, они никуда не исчезли. Попробуй заменить в AddonManager.lua на Code: addon.handlers [ "SCRIPT_ADDON_INFO_RESPONSE" ] = function( event ) ... if event.showDNDButton then item.isLocked = addon.config.avatar and addon.config.avatar [ sender ] and addon.config.avatar [ sender ] .isLocked or false W( "ButtonToggleDND", item.w ):SetVariant( item.isLocked and 1 or 0 ) userMods.SendEvent( "SCRIPT_TOGGLE_DND", { target = event.sender, state = item.isLocked } ) end W( "ButtonToggleDND", item.w ):Show( event.showDNDButton or false ) W( "ButtonShowHide", item.w ):Show( event.showHideButton or false ) W( "ButtonSettings", item.w ):Show( event.showSettingsButton or false ) ... end
  7. Quote: ...отвечу на любые вопросы касательно виджетов... Имеется WidgetTextView с <Sizing>WIDGET_SIZING_INTERNAL</Sizing> и <maxWidth>256</maxWidth>. Вставляю строку, состоящую из 100500 символов. Как ограничить высоту виджета, например, 5 линиями-строками? Т.е., чтобы его размер был: 256 X { ( 2 + 4 ) * lineSpacing + 5 * fontsize }. Значение тэга <size> в Placement'е не будет этим самым ограничителем, или при Sizing = WIDGET_SIZING_INTERNAL игнорируется <size>?
  8. 1. Исправил, но не залил. Quote: я могу навыделять кучу аддонов на первой заклаадке, затем, на кучу аддонов на второй закладке, затем нажму "Выгрузить все" - и выгрузит с обоих закладок? Нет. "Выгрузить все" - выгружает только _все пользовательские_, а вот "Выгр. Выбранные" - выгружает выбранные пользовательские и стандартные.
  9. Quote: ЗЫЫ. С кнопками траблы какие то. У меня появляется только крайняя правая, и потом никак исчезать не хочет до перезапуска менеджера (перезаход) Странно. Ни с CT_Total, ни с GuildGui нет никаких проблем. Или кнопка не пропадает при отключении аддона? Если да, она и не должна Просто дизэйблится.
  10. 1. Исправил. 2. Не знаю А кто-то будет считать? Ну, пусть будет 256 +/- 16 о_0 3. Исправил, но не залил. 4. Хм. Надо DnDLib -> ContextDragNDrop 5. Ок, выкинул. 6. Исправил, но не залил. 7. Свернуть SCRIPT_TOGGLE_UI в функцию и отправлять по EVENT_AVATAR_CREATED? 8, 9. GetGameLocalization() -> addon GameLoc. На SCRIPT_GET_GAME_LOCALIZATION { sender = common.GetAddonName() } отвечать SCRIPT_GAME_LOCALIZATION { target = "", localization = }. Т.е. выделить аддоны ContextDragNDrop, GameLoc (а дальнейшем Tooltip, Popup и т.п. ) в отдельную группу, ммм, "системных" аддонов, не? Quote: А для чего там 3 узких колонки справа (в окне AddonManager)? Там кнопки, которые по умолчанию скрыты: днд, скрыть, настройки. Их видимость определяется в SCRIPT_ADDON_INFO_RESPONSE.
  11. Quote: Дефолтные значения какие? false/nil o_0 Quote: "/am" уже не работает? Пока закомментировал, дуамю, добавить в настройки editline, чтоб каждый забивал команду(-ы) по вкусу. Quote: U_EVENT_ADDON_MEM_USAGE_REQUEST не будет? Будет посылаться один раз вызове подсказки.
  12. 1. Хорошо, не вопрос. 2. Да, ошибка. Должен быть sender, исправил. 3. В CT_Total MainPanel -- это виджет с кнопкой, нажатие которой открывает панель с настройками. Виджет скрываю, т.к. настройки вызываются из АМ.
  13. duvo

    MinimapSla

    Quote: а лучше, чтобы он просил аддон выключиться самостоятельно А если при выполнении скрипта возникнет критическая ошибка? Как его отключить/перезагрузить при таком подходе?
  14. Тестовая версия. В общем, она практически финальная (осталось добавить подсказки и контекстное меню ), я надеюсь, но нужна проверка перед релизом о_0. ВАЖНО! Данная версия НЕ для пользователей, а для разработчиков. Если вы это прочли и проигнорировали, "сами буратины". Отличия от r1: -- добавлена кнопка для вызова главного окна; -- убрана кнопка "Скрыть все". Теперь должно скрываться самостоятельно (спасибо Setras'у за идею с таймером) при открытии главного меню игры/отключении интерфейса (отправляется событие SCRIPT_TOGGLE_UI); -- немного изменены названия событий и добавлены новые: SCRIPT_ADDON_INFO_RESPONSE { sender (string) -- название аддона (common.GetAddonName() ); desc (string) {optional [/default: addonname] } -- описание аддона;showDNDButton (boolean) {optional [/default: false] } -- показать кнопку переключения состояния DnD? Если да, то при нажатии кнопки будет отправляться событие SCRIPT_TOGGLE_DND { target = addonName }; showHideButton (boolean) {optional [/default: false] } -- показать кнопку переключения видимости аддона/элементов_аддона? Если да, то при нажатии кнопки будет отправляться событие SCRIPT_TOGGLE_VISIBILITY { target = addonName }; showSettingsButton (boolean) {optional [/default: false] } -- показать кнопку вызова настроек? Если да, то при нажатии кнопки будет отправляться событие SCRIPT_SHOW_SETTINGS { target = addonName }; addonsBlocked (table) {optional [/default: nil] } -- массив, элементы -- названия аддонов, которые необходимо включить, при отключении целевого аддона. }-- изменен механизм сохранения. В глобальную секцию записываются только комментарии, положения кнопки и окна (пока не реализовано). В секцию аватара состояние аддона и его "пристегнут ость"; -- небольшой ре-дизайн. Перед пробой лучше сделать резервную копию user.cfg. Взаимодействия проверял с CT_Total, добавив в CT.lua: Code: function SCRIPT_ADDON_INFO_REQUEST( params ) if params.target == common.GetAddonName() then MainPanel:Show( false ) userMods.SendEvent( "SCRIPT_ADDON_INFO_RESPONSE", { sender = params.target, desc = "desc-desc! pew-pew!!!11oneone", showDNDButton = true, --showHideButton showSettingsButton = true, addonsBlocked = { "ContextDamageVisualization" } } ) end end function SCRIPT_SHOW_SETTINGS( params ) if params.target == common.GetAddonName() then Options:Show( true ) end end common.RegisterEventHandler( SCRIPT_ADDON_INFO_REQUEST, "SCRIPT_ADDON_INFO_REQUEST" ) common.RegisterEventHandler( SCRIPT_SHOW_SETTINGS, "SCRIPT_SHOW_SETTINGS" ) Несколько сумбурно, но голова уже не варит. Все, ушел спать upd: Исправлена досадная ошибка при добавлении комментария в процессе создания элемента. File: yQvTCrOG7cX7RSw.zip
  15. SLA, вот поэтому лучше избегать какой-то конкретики: как только, так сразу.
  16. Quote: создавая любую переменную Global мы можем через нее передавать данные между разными аддонами... так? Нет. Для каждого аддона создается своя "песочница". Обмен осуществляется с помощью событий. LibDnD давно пора перевести в аддон. Это уже предлагалась, как минимум, тут.
  17. Стандартные -> UpgradeMetaItem -> Включить -> Сохранить
  18. Думаю, заметили, но для написания и тестирования такого аддона, разумеется, требуется время, которого, видимо, пока ни у кого нет
  19. В каком виде нужно показывать мп и хп?
  20. Да, можно. Если есть какой-то виджет с уникальным именем, не встречающимся в других аддонах, достаточно воспользоваться рекурсивным поиском Code: stateMainForm:GetChildChecked( "UniqueName", true ) Затем "подняться" до, например, mainFrame с помощью :GetParent(). Каким образом виджеты Item'a в логе оказались связаны с ContextRuneCombiner2, я, честно говоря, не знаю.
  21. Из доков: Quote: unit.GetTrioInfo( unitId )-- параметры: unitId: ObjectId ( not nil ) -- идентификатор игрока Когда цели нет Code: targetId = nilСледовательно Code: unit.GetTrioInfo( targetId ) вызовет ошибку. Избавиться от нее просто: Code: local Gibberling = targetId and unit.GetTrioInfo( targetId )
  22. Может, следует вопрос задавать в существующей теме, а не создавать новую?
  23. 1-ый код -- это дети Item.(WidgetPanel) менеджера аддонов
  24. Code: [ "Raid" ] = "Отряд", [ "Emote" ] = "Эмоция", [ "World" ] = "Мир", [ "Shout" ] = "Крик", [ "Officer" ] = "Офицеры", [ "System" ] = "Система" or "Уведомления" [ "Telepathy" ] = "Мистик", [ "Online" ] = "заходит в мир.", [ "Offline" ] = "выходит из мира.",
  25. Упс, моя недоработка Попробуй заменить в WhisperWindow.lua строки 124 и 125: Code: local quality = avatar.GetItemInfo( v.item:GetId() ).qualityfragments [ i + 1 ] :SetClassVal( "quality", IQColor [quality] ) на Code: local info = avatar.GetItemInfo( v.item:GetId() )fragments [ i + 1 ] :SetClassVal( "quality", IQColor [info.quality] .. ( info.isCursed and "Cursed" or "" ) )
×
×
  • Создать...

Важная информация

Пользуясь сайтом, вы принимаете Условия использования