Перейти к публикации
alloder.pro: официальный фан-сайт игры "Аллоды Онлайн"

ramirez

Разработчик аддонов
  • Публикации

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

  • Посещение

  • Дней в лидерах

    9

О ramirez

  • Звание
    Lua Guru

Профиль

  • Пол
    Мужской

Посетители профиля

3 925 просмотров профиля
  1. ramirez

    Вопрос по userdata

    common.GetApiType( buffInfo.description ) - расскажет подробно, какая именно это userdata. Есть подозрение, что это ValuedText. И по этой причине глупый LogInfo не может придумать ничего лучше, чем сделать tostring и вывести результат.
  2. ramirez

    Выбрасывание предмета

    Злые все стали. Событие все-таки есть. Но поймать его нельзя, т.к. это событие врукопашную посылается одним стандартным аддоном другому стандартному аддону. События, посылаемые стандартными аддонами не ловятся пользовательскими аддонами. Разрабы довольно давно спецом отпилили это дело. С тех пор стало нельзя перехватывать запросы на инфотипы, например. Автоматически ответить тоже нельзя, единственный возможный ответ - нажать мышкой нужную кнопку в окне. Тогда аддон окна пошлет событие-ответ аддону-инициатору, который его поймает и сам произведет все нужные действия. Типа, удалит предмет. Еще раз повторю: вмешаться в этот обмен событиями из пользовательских аддонов нельзя.
  3. Виджеты можно копировать, но нельзя создавать из ничего, нужен файл ресурса.
  4. Чтобы открывать в игре, надо прописать в input.cfg в Personal строку, что-то вроде bind toggle_damage_done 'CTRL' + 'INSERT' Нажатие открывает окошко. В окошке - параметры всех приходящих со времени старта аддона ивентов EVENT_UNIT_DAMAGE_RECEIVED, выстроенные в дерево по категориям source, target, spellId, buffId, abilityId. Левый клик в строку разворачивает свиток, правый - открывает свиток в отдельном окне. Каждый свиток опять же выстроен деревом по тем же признакам, минус выбранный, и так до упора. Все цифры уронов даны в виде минимум, максимум, среднее арифметическое, сумма всего, количество ударов. Нулевые уроны не регистрируются, насколько помню. Аддон позволяет смотреть кто кого сколько раз и насколько сильно ударил конкретным спеллом, баффом или абилкой, в любых сочетаниях. Например, все применения файерболла вообще. Или все применения только спеллов по кабанчику от всех вокруг, или от конкретного игрока. Мобы различаются по objectId, игроки - по имени, про петов - не помню. Случайно народился такой странный аддон, давно уже. В ДПСометр не превратился, развитие не планируется. Да, в таком виде он не удобный, но может кому будет нужно, цифры сверять. DamageDone.pak
  5. ramirez

    Сравнение строк

    if common.CompareWString( mission.GetShardName(), userMods.ToWString( "Нужный шард" ) ) ~= 0 then --- some code end if userMods.FromWString( mission.GetShardName() ) ~= "Нужный шард" then --- some code end
  6. ramirez

    Что выбрать: свои события или нет?

    Не будет никакой параллельности, не надо морочить себе голову. Пишите меньше и проще, и будет меньше проблем в дальнейшем.
  7. Собственно, сабж. Все текстурки (tga и bin) и ресурсы xdb, которые использовал в окошках InspectWidgets и InspectAPI. Elements.zip
  8. ramirez

    Помогите с Action

    Все проще. В этом экшн-слоте есть виджет. Зовется Button. На клики посылает реакции slot_pressed и slot_pressed_rmb. Создать виджет слота из шаблона, подписаться на реакции его кнопки.
  9. ramirez

    Вопрос по работе события EVENT_UNIT_DESPAWNED

    В Аллодах не бывает интовых persistent id. Если обж пропал, а потом объявился снова - у него новый id.
  10. ramirez

    Вопрос по работе события EVENT_UNIT_DESPAWNED

    Даже если юнит после деспавна тут же отспавнится обратно, он отспавнится с новым id. Старый id по-любому протухает, и это надо обрабатывать.
  11. ramirez

    LibGS

    Посмотрел из любопытства. Скажу кое-что: - Не стоит включать в библиотеку внутренние обработчики событий и всякие private функции. Если они действительно private, лучше объявить их как локальные переменные. В этом случае к ним невозможно будет получить доступ за пределами библиотеки, а внутри они будут жить как upvalues. - Вообще, стоит больше пользоваться локальными переменными, они - безусловное и бесплатное добро в плане оптимизации и безопасности кода. Вплоть до того, что все функции в библиотеке объявить локально и работать с ними в таком виде, а уже в самом конце напихать в либу все, что public. В этом случае они не будут всякий раз доставаться через GETGLOBAL и GETTABLE (или чем там теперь пользуется LuaJIT), и их невозможно будет поймать и подменить снаружи, ни случайно, ни специально. - Возможно стоит подумать насчет динамической подписки на события типа EVENT_INSPECT_STARTED и EVENT_INSPECT_FINISHED, т.е. обрабатывать их только тогда, когда сам же и инициировал инспекцию. Это может избавить от проверок, по крайней мере от некоторых, и от множества ложных срабатываний. Про Inspect не знаю, но с DnD такой подход прекрасно работает.
  12. ramirez

    Paladin Kanons

    Показывает только баффы на самом себе. Кавычки не помогут, только навредят. Имя писать прям как есть, с учетом больших букв. Вообще, на аллодере всяких настраиваемых бафф-панелей - десятки, чего вы вцепились в несчастный старый аддон?
  13. ramirez

    Paladin Kanons

    Здравствуйте. Автор уже давно не занимается аддонами и не играет в Аллоды. Настолько давно, что понятия не имеет, о какой полоске речь. Про баффы сталка: аддон полностью открыт, *.pak - это обычный zip. Если поменять имена баффов в файлах KanonLight.txt и KanonPurity.txt на нужные, а в скрипте поменять проверку на класс, т.е. в строчке if avatar.GetClass() ~= "PALADIN" then "PALADIN" поменять на "STALKER", то получится то, что вам надо.
  14. ramirez

    Вопрос про IsExist

    Объект может существовать, но при этом не являться юнитом. Например, это девайс. Проверьте, откуда приходит этот айдишник.
  15. ramirez

    Paladin Kanons

    Я давно забил на Аллоды, и аддонами больше не занимаюсь. НЕМНОГО изменить не получится, там все заточено на ДВА баффа. Если двух баффов хватит - просто поменяйте названия баффов в Kanon***.txt. Если мало - исходники открыты, попросите кого-нибудь еще.

ALLODER.PRO
about Allods
with love

manager@igrograd.net

×