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

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

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

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

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

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

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

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

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

Подробнее

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

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

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

duvo

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

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

  • Посещение

Сообщения, опубликованные duvo

  1. что wtScrollableContainer:RemoveItems() удаляет виджеты основательно, с уничтожением.

    Не удаляет. Просто очищает контейнер, при этом у всего содержимого убирается предок (может, это происходит при добавлении в контейнер), поэтому их не видно в инспекторе, но они вполне себе существуют, и, имея ссылку, с ними можно работать.

  2. старый вариант

    Да, новый можно найти в ScriptLIB.lua ( AddonsTools ), если интересно.

    Чтобы заработал вариант из 1-го сообщения:

    1. В Chat.lua добавить строку в начале:

    local errMess = {}
    
    

    И заменить в строках:

    w = stateMainForm:GetChildUnchecked("Chat", false)
    

    w = w:GetChildUnchecked("Chat", true)
    

    "Chat" и "Chat" на "ChatLog" и "Container" соответственно.

    2. В Test.lua заменить

    Chat:LogToChat({ text = "Привки ВСЕМ!", color = "LogColorGreen" })
    

    на

    Chat:LogToChat( "Привки ВСЕМ!", "LogColorGreen" )
    

    В данном примере ошибка

    Attempt to read from undeclared global variable: LogToChat

    будет возникать, если Chat.lua не загружен совсем либо загружен после Test.lua.

    Следует проверить пути, имена файлов и порядок загрузки.

    Рабочий вариант прикрепил.

    Вот у кого надо брать примеры кода :)

    Не, лучше что-нибудь отсюда. Хотя бы. :)

    Test.zip

  3. Содержание:

    Пояснения:

    <Name/ > - название параметра.
    {true|false} - допустимые значения.
    <Name>MyAddon</Name> - пример.


    UIAddon

    <Name /> - название аддона, {латинские буквы и цифры}. <Name>MyAddon</Name>

    <localizedNameFileRef href="" /> - локализованное название аддона, ссылка на текстовый файл. <localizedNameFileRef href="localizedName.txt" />

    <localizedDescFileRef href="" /> - локализованное описание аддона, ссылка на текстовый файл. <localizedDescFileRef href="localizedDesc.txt" />

    <AutoStart /> - параметр автоматического запуска аддона, {false | true}. По умолчанию — false. <AutoStart>false</AutoStart>
    <addonGroups>

    <Item />

    </addonGroups>

    <ScriptFileRefs> - блок, в котором перечислены ссылки на файлы с LUA-скриптами аддона. Скрипты выполняются в том порядке, в котором расположены в блоке.

    <Item href="" /> - ссылка на скрипт. <Item href="MyAddon.lua" />

    </ScriptFileRefs>

    <MainFormId /> - идентификатор главного виджета/формы, {латинские буквы и цифры}. <MainFormId>Main</MainFormId>
    <Forms> - блок с ссылками на описатели форм (*.(WidgetForm).xdb)

    <Item> - блок формы.

    <Id /> - идентификатор формы, {латинские буквы и цифры}. <Id>Main</Id>

    <Form href="" /> - ссылка на описатель формы. <Form href="MainForm.xdb#xpointer(/WidgetForm)" />

    </Item>

    </Forms>

    <visObjects href="" />

    <aliasVisObjects href="" />

    <texts href="" /> - ссылка на описатель группы локализумых текстов. <texts href="MyTextGroup.xbd#xpointer(/UIRelatedTexts)" />

    <textsGroups> - блок описателей групп тестовых файлов (*.(UIRelatedTexts).xdb).

    <Item> - группа.

    <groupName /> - идентификатор группы {латинские буквы и цифры}. <groupName>MyTextGroup</groupName>

    <texts href="" /> - ссылка на описатель группы. <texts href="MyTextGroup.xdb#xpointer(/UIRelatedTexts)" />

    </Item>

    </textsGroups>

    <textures href="" /> - ссылка на описатель группы слоев с текстурами. <textures href="MyTexturesGroup.xdb#xpointer(UIRelatedTexture)" />

    <texturesGroups> - блок описателей групп слоев с текстурами.

    <Item> - группа.

    <groupName /> - идентификатор группы {латинские буквы и цифры}. <groupName>MyTexturesGroup</groupName>

    <textures href="" /> - ссылка на описатель групп. <textures href="MyTexturesGroup.xdb#xpointer(UIRelatedTexture)" />

    </Item>

    </texturesGroups>

    <sounds href="" />
    <soundsGroups>
    <Item>
    <groupName />
    <sounds href="" />
    </Item>
    </soundsGroups>
    <decalObjects href="" />

  4. потестить версию в аттаче (r4 beta)

    Error: addon InspectEquipRating: Error while running the chunk
    Error: addon InspectEquipRating: (none):0: attempt to index a nil value
    Error: addon InspectEquipRating: func: ?, ?, line: -1, defined: C, line: -1, [C]
    Error: addon InspectEquipRating:	 func: LoadDnDOpt, global, line: 0, defined: Lua, line: 376, (none)
    Error: addon InspectEquipRating:	 func: PostInit, global, line: 0, defined: Lua, line: 434, (none)
    

    При перезагрузке

    Error: addon InspectEquipRating: Error while running the chunk
    Error: addon InspectEquipRating: (none):0: attempt to index a nil value
    Error: addon InspectEquipRating: func: ?, ?, line: -1, defined: C, line: -1, [C]
    Error: addon InspectEquipRating:	 func: LoadDnDOpt, global, line: 0, defined: Lua, line: 376, (none)
    Error: addon InspectEquipRating:	 func: PostInit, global, line: 0, defined: Lua, line: 434, (none)
    Error: addon InspectEquipRating:		 func: Init, global, line: 0, defined: Lua, line: 407, (none)
    Error: addon InspectEquipRating:		 func: ?, ?, line: 0, defined: main, line: 0, (none)
    Error: addon InspectEquipRating: Can't execute script for addon: Mods/Addons/InspectEquipRating/AddonDesc.(UIAddon).xdb
    

    Ошибки не мешают аддону считать. Фриз <500ms где-то в пустой локации лагограде на моем калькуляторе :)

  5. ArcHUD

    Просмотр файла

    Простой аддон, который показывает Ваше и Вашей цели здоровье и ману/энергию.
    Если целью является другой игрок, здоровье окрашивается в цвет класса. Цвет здоровья не зависит от его количества или враждебности цели.

    Настройки:
    После ввода в чат команды /ahud откроется окно с настройками, в котором можно изменить:

    • Масштаб кривых [0.25 ... 1.25]. По умолчанию - 0,5;
    • Смещение по горизонтали относительно центра экрана [0...1000]px. По умолчанию - 200px;
    • Смещение по вертикали относительно центра экрана [-250...250]px. По умолчанию - 0px;
    • Видимость кривой маны/энергии в бою/вне боя. По умолчанию - для аватара видима в бою и вне боя, для цели - только в бою.
    • Прозрачность кривых в бою/вне боя [0.0...1.0]. По умолчанию: вне боя - 0.25, в бою - 0.85.

    Кнопка "Применить" сохраняет текущие настройки в глобальную секцию файла конфигурации (это значит, что нет необходимости настраивать аддон для каждого персонажа).
    Кнопка "Отмена" и крестик в верхнем правом углу закрывают окно настроек и сбрасывают все несохраненные установки.
    Кнопка "Ок" сохраняет настройки и закрывает окно.
    Кнопка "По умолч." загружает настройки по умолчанию. Чтобы сохранить эти настройки, необходимо нажать "Ок" или "Применить".

    Все просто. smile.gif

    Установка:
    Скачать pak-файл и положить в папку с аддонами.


    • Добавил
    • Добавлено
      11.03.2013
    • Категория

     

  6. В продолжение темы возник вопрос насколько сложно экспортировать данные из игры? Желательно в Эксель, но можно и в любой (хоть текстовый) редактор.

    "Экспортировать" можно либо в mods.txt, либо в user.cfg (первое предпочтительнее), отформатировать с любыми разделителями так, что достаточно будет экспорт сохранить, например, в текстовый файл с расширением csv, а затем открыть в табличном процессоре (OO Calc, MO Excel и т.п.).

    Пример вывода накопленной информации в mods.txt командой /dcexport (после экспорта информацию обнуляется). Разделитель - точка с запятой ( ; ).

    Info: addon DmgCalc: 2013/02/23 16:50:28
    Базовый урон;Средний Урон;Модификатор Разума;Коэффициент Духа;Штраф Интуиции;Вероятность Крита;Вероятность Неудачи;
    100;2666,14;32,85;31,94;37,11;2,80;9,98;
    100;2726,88;32,64;23,07;30,60;2,80;9,98;
    100;2673,15;32,64;20,62;27,43;0,00;12,88;
    100;2626,28;30,03;15,40;26,88;7,66;8,01;
    100;2550,87;28,91;11,75;23,82;7,66;8,01;
    
    Info: addon DmgCalc: 2013/02/23 16:56:52
    Базовый урон;Средний Урон;Модификатор Разума;Коэффициент Духа;Штраф Интуиции;Вероятность Крита;Вероятность Неудачи;
    
    
    

    DmgCalc.pak

  7. при снятии шмотки на дух изменяется значение коэффициента с +8 на -20, но при этом результирующее значение вырастает...

    Не учитывался знак. Поправил.

    Сейчас результат считается при изменении характеристик, а не экипировки. Поправлю.

    Теперь уведомление появляется только при изменении экипировки (в том числе, стиля. о_0) А так же дважды, если снять вещь. O_______O

    Не знаю даже чем распаковать архив *.pak :)

    pak - это обычный zip-архив.

    Выводить на экран значения самих коэффициентов

    Может быть незначительно увеличить время индикации результатов.

    Команды в чат:

    Включить/отключить вывод характеристик.

    /dcdebug 0

    Значения: 1 или 0. По умолчанию: 1

    Время индикации (в мс)

    /dctime 5000

    Значение: от 500 до 60000. По умолчанию - 2000.

    Шрифт:

    /dcname 2

    1 - Сарнаутский, 2 - Системный, 3 - Моноширинный. По умолчанию 3.

    Размер текста:

    /dcsize 25

    Значния: от 6 до 46. По умолчанию - 36.

    Значения не сохраняются в конфиг.

    при каком разрешении вы играете?

    1920х1080

    надпись скрывается развернутым экраном характеристик.

    Поднял индикацию над остальным интерфейсом.

    DmgCalc.pak

  8. при срабатывания вех друида, увеличивающих его удачу в бою на экран выводится новое сообщение

    Сейчас результат считается при изменении характеристик, а не экипировки. Поправлю.

    при снятии шмотки на дух изменяется значение коэффициента с +8 на -20, но при этом результирующее значение вырастает...

    Не могу ответить пока, вечером проверю.

    Кстати вопрос - откуда берется значение базового урона: 154,18? Для сравнения результатов расчетов я его вычислил - но в аддоне оно откуда-то взялось?

    Не знаю :)

    Взял формулу вычисления среднего урона из таблички, базовый урон = 100.

    В файле DmgCalc.pak\Mods\Addons\DmgCalc\Script.lua

    Пятая строка:

    BASE_DAMAGE = 100
    

    Средний урон (строка 20):

    BASE_DAMAGE * modifierIntellect * ( 1 + modifierSpirit ) * ( 1 - intuitionPenalty ) * ( 1 + luckChance - .5 * unluckChance )
    

  9. Правильно ли я понимаю, что сам файл нужно положить в папку D:\Games\Allods Online\data\Mods\Addons?

    Верно.

    Насколько сложно будет вытащить такой же коэффициент у Таргета?

    Можно ли средствами LUA получить значения характеристик цели (a-la TargetManager)

    Напрямую получить характеристики цели невозможно.

    Можно получить информацию об экипировке, бафах. Нельзя получить информацию о вехах.

    Итог: можно посчитать приблизительные значения характеристик цели, а затем вычислить значения вторичных характеристик/производных (Модификатор разума, шанс крита и т.п.), если есть формула их расчета.

  10. Из документации:

    avatar.SelectTarget( unitId )

    Попытка аватара сделать указанного юнита своей целью.

    ВНИМАНИЕ! В пользовательских аддонах есть ограничение: этот метод будет работать только в обработчиках реакции на действия (не перемещение) мыши. То есть на нажатие кнопки

  11. 1. Создаю файл personal/input.cfg

    commonbindsection
    bind my_button 'CTRL'+'F'
    

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

    3. Создаю файл Allods Online\data\Mods\Addons\My_Button\AddonDesc.(UIAddon).xdb

    UIAddon - это основной (корневой) описатель аддона. Блок параметров bindSections нужно вставлять в описатель виджета. Например, WidgetForm или WidgetPanel.

    upd.

    Честно говоря, не очень понимаю весь смысл этих заморочек с Mem и Info (тупо взял их из другого аддона), но вряд ли они могут давать сбой в работе?

    Не могут. Эти заморочки нужны, если есть желание передавать информацию в AddonManager, целесообразность использования которого сейчас под вопросом. :)

  12. Добавить, например, в описатель формы:

    <bindSections>
    <Item>
    <bindSection>common</bindSection>
    <bindedReactions>
    <Item>some_action</Item>
    </bindedReactions>
    </Item>
    </bindSections>
    

    В скрипте подписать обработчик на реакцию:

    common.RegisterReactionHandler(
    function()
    common.LogInfo( '', 'Btooom!!!11' )
    end,
    'some_action'
    )
    

    • Плюсую 1
  13. Сохранять нужно по полному имени (форма.имя_предка.имя_предка...имя_виджета). Не допускай одинаковые названия потомков одного предка. Без имени ты не сможешь получить ссылку на виджет и подписать его на dnd.

    Чтобы ничего не переставлять при изменении размера экрана, нужно сразу правильно позиционировать виджеты.

    Имхо, разумеется.

    upd. Пробую переделать libdnd, заимствуя способ Ramirez'a из примера.

×
×
  • Создать...

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

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