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

Дайджест за июль-сентябрь

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

Сентябрь Август Июль

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

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

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

Бот статистики для Telegram

Удобная аналитика в телефоне.

Подробнее

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

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

Подробнее

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

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

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

SLA

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

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

  • Посещение

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

  1. Обновление. 1) Обновлён внешний вид "заплатки" плашки Цели, т.к. в АО 1.1.00.3 обновился внешний вид этой плашки. 2) Добавлена аналогичная "заплатка" на плашку Цель Цели, которая появилась в АО 1.1.00.3 (разработчики скомуниздили мой TargetOfTarget). 3) Исправлены все ошибки, которые АО 1.1.00.3 строчил в файл Mods.txt.
  2. Всё. Начиная с версии 1.1.00.3, common.SendEvent() НЕ работает. Дружно забыли про все возможности, которые он нам давал, и ещё дал бы в будущем.
  3. Не знаю. ValuedText - это не просто текст, имхо, это что-то вроде куска HTML документа. С раскраской, шрифтами, и другими наворотами. И это, если не ошибаюсь, не переменная даже, а ссылка на ресурс? В таком случае, если API не предоставляет никаких способов вытащить из этого ресурса строку, но ничего с этим не поделаешь.
  4. Quote: ты сам это придумал! Да, придумал, конечно. Но имхо, именно так всё и есть. Quote: В пункте 2 я бы еще написал: Сделать видимость голосования. Нагло накрутить голоса за нужнвый вариант. Так ведь тут и так явная манипуляция налицо. Кроме того, что Отмена СС - единственный чётко сформулированный вариант, также заметно, что нпц, предлагающий голосовать за отмену СС, стоит в центре (два других - по краям), и он выше ростом двух остальных (у Лиги это Эльф, у Империи это Зем) -- это чтобы он привлекал больше внимания, чем два других нпц. В общем, всё сделали, чтобы завлечь голосовать за этот пункт. В политике это считалось бы нарушением правил, и результаты были бы признаны недействительными. Но здесь, никакой комиссии и инспекторов нет , Mail сам себе бог и судья.
  5. Да, так и есть. Sk1LL создал такую тему: Продам 1000 кристаллов (ру сервы) за 519рублёф на money.yandex.ru (Яндекс деньги). Продолжение этой истории здесь: Скилл, малек кидала . Sk1LL кинул человека на 500 рублей. Это ж надо? За 500 рублей так опуститься!..
  6. Ну и ладно. Хоть отладку нормальную сделали. Это уже первый шаг Интересно, не выводятся ли ошибки XDB-файлов в MODS.TXT ? Завтра проверю.
  7. Беда в том, что нам отключили почти все функции для работы с чатом. Чудо, что аддон ChatBarAO всё ещё корректно работает (переключает каналы чата). Не знаю, можно ли сделать такой аддон, я не разбирался. Но, подозреваю, что нет.
  8. SLA

    ChatBarAO

    1. Чтобы в теме "current" (эта тема по умолчанию), подсветка НЕ затемняла кнопки, а ВЫСВЕТЛЯЛА (идентично закладкам "Общий" и "Бой"), нужно исправить одну-единственную строчку в ChatBarAO\skins\current\Button\ButtonRegularHighlighted.(WidgetLayerTiledTexture).xdb: Code: <BlendEffect>BLEND_EFFECT_ADD</BlendEffect> 2. Чтобы аддон не строчил ошибки в MODS.TXT, нужно в ChatBarAO.lua закомментировать 263-ю строку: Code: --common.RegisterReactionHandler(OnEscMenu, "SCRIPT_ESCAPE_PRESSED")
  9. SLA

    ChatBarAO

    Не уверен, но по-моему, ID чата = 1
  10. Теоретически, в этом направлении можно сделать многое, но далеко не всё. Что 100% сделать НЕЛЬЗЯ: 1) Панели заклинаний. 2) Кнопки контекстных действий. 3) Портреты персонажей.
  11. Спасибо, так и сделаю EDIT: Поясню для всех, чтобы было понятно, и чтобы поисковики находили это решение проблемы: Событие называется EVENT_AVATAR_CREATED До его наступления, нельзя работать с библиотекой avatar. Иначе, например, если при инициализации аддона попробовать взять ID аватара - avatar.GetId() - выйдет дурацкая ошибка "main player not found": Code: Game::LuaAvatarGetId: main player not found, details: int __cdecl Game::LuaAvatarGetId(struct lua_State *)
  12. Тогда понятно. Но они должны бы нам дать альтернативу, для обмена данными между аддонами. Что-нибудь вроде SendUserEvent(), и чтобы пользовательские сообщения ставились в отдельную очередь, обрабатываемую только аддонами... Удобно и безопасно. P.S. Прощайте, всплывающие подсказки. Они работали на SendEvent().
  13. УРА!!!!! Может, и перезагрузка аддона С РЕСУРСАМИ теперь работает? =) Ушёл читать API... - Ничего не нашёл. Теперь придётся САМИМ разбираться, что значат эти функции... А что, если эти функции НЕ для нас, а для игры, чтобы она работала с нашими аддонами? Мне эти RunChildGame очень смахивают на запуск виртуальных машин, песочниц, для "безопасной" работы аддонов. В принципе, Addon Developer и Developer Addon - разные вещи. Я тут, в радостной эйфории, не пригляделся. Addon Developer - это мы , а Developer Addon - это аддоны разработчиков игры, НЕ НАШИ. Так они нам доступны? Значит, мы тоже можем их использовать.
  14. А без SendEvent() вообще не представляю, как аддоны будут общаться между собой. Через конфиг-файл? Подарочек, блин. Быстренько сверил папки из ModsDocs.zip в WinMerge... Перемены только в папке LuaApi: 1.0.07.21 vs 1.1.0: Новых файлов нет. Удалено - 32 файла. НЕ изменились - 982 файла. Изменились - 484 файла. Такое количество изменённых файлов потому, что из них изъяли перекрёстные ссылки на всякие запрещённые команды вроде RunSpell(). Кроме того, много где поменялись описания функций. Это требует более пристального сравнения. Убрали такие функции как, например: common.SendEvent() group.Chat.....() (все функции чата!) mission.RunChatInput() avatar.TakeAllLoot() avatar.TakeLoot() avatar.TakeLootMoney() mailBox.CreateMail()
  15. На самом деле, загрузка серверов определяется НЕ количеством народу, а загруженностью самого сервера. Т.е. когда в 1.0.06 на сервере был баг, когда игра страшно лагала у всех, сервера тоже были "Свободными", но людей ставили в очередь. Связано это было с тем, что из-за бага, сервер делал кучу лишней работы, и именно этим он и был перегружен. Т.е. НАСЕЛЕНИЕ и ЗАГРУЗКА - совершенно разные вещи.
  16. Ага, я заглянул в MODS.TXT, и офигел. Выводятся ошибки скриптов! Ну наконец-то!! УРА!!! =)) Правда, сыровато: Code: Error: addon Minimap: Game::LuaAvatarGetId: main player not found, details: int __cdecl Game::LuaAvatarGetId(struct lua_State *) Но это приколы их движка. Во время инициализации, он иногда "не находит" таких вещей, которые ДОЛЖНЫ быть. Во время смены зоны, может не найти названия новой зоны. Во время смены резолюции, может выдать неправильную новую резолюцию. Даже не знаю, как с этим бороться - неужели, ставить в инициализации таймер на 5 секунд, и по его истечении запускать инициализацию.
  17. Я не пробовал, но, по-моему, тут поможет тег <BlendEffect>. Это способ наложения текстур, вот все возможные варианты, и они аналогичны способам наложения слоёв в Photoshop: BLEND_EFFECT_ALPHABLND - Как указано в альфа-канале (его у тебя нет). BLEND_EFFECT_HIGHLIGHT BLEND_EFFECT_ADD - Сложение каналов (осветление) BLEND_EFFECT_MUL - Умножение каналов (не знаю, осветление или затемнение?) BLEND_EFFECT_REPLACE Пробуй все. Я бы начал с варианта BLEND_EFFECT_ADD. P.S. К тому же, (имхо, мало вероятно, но всё же) если ничто не сработает, тогда смотри тег <Color>. Может быть, здесь нужно указать цвет фона - чёрный? 0xffffffff = белый, 100% закараска 0xff000000 = чёрный, 100% закраска ( кажется так, если нет, то 0x000000ff ) 0x00000000 = чёрный, 0% закраска EDIT: ВСПОМНИЛ! Тебе нужен именно BLEND_EFFECT_ADD, т.к. он аналогичен способу "Overlay" в Photoshop'е А <Color> вообще не трогай.
  18. Сегодня-завтра сделаю пакет аддонов для 1.06, часть из которых будет работать и в 1.05. Кроме того, ищем способ запускать НОВЫЕ аддоны (сделанные для 1.07+) в СТАРОЙ игре (1.05-1.06). Есть вероятность, что это возможно. Quote: А мы вот фанимся на евро (-: Возвращайтесь на русскую. Прямо сейчас, похоже, вводят патч 1.1.0. Бета-тестеры, которые его видели, говорят, что патч 1.1.0 - СКАЗКА! Невероятно хороший патч!
  19. Если интересует именно событие, происходящее чаще чем раз в секунду - то Wait ответил. А если нужно просто анимировать текстуру, то для этого есть специальный шаблон SampleDefault.(WidgetLayerAnimatedTexture).xdb. Все кадры анимации склеиваются в одном TGA-изображении, в один или несколько рядов (если их общая ширина не превышает 4096 пикселей, то проще расположить их в ОДИН ряд). Это изображение конвертируется в TiledTexture. Затем, файл (WidgetLayerTiledTexture).xdb переименовывают в (WidgetLayerAnimatedTexture).xdb, и редактируют, приводя его к виду шаблона AnimatedTexture. Вместо блока тегов <Layout>, добавляются эти теги: <blockWidth> - ширина одного кадра. <blockHeight> -высота одного кадра. <blockCountX> - количество кадров в верхнем ряду. <blockCountTotal> - количество кадров в анимации (во всех рядах). <delayMs> - пауза между кадрами, в миллисекундах.
  20. Я пользуюсь слегка украшенной версией функции DarkMaster'а: Code: function LogInfoTable( strName, ptrData ) LogInfo( "----------------------------------------" ) if ptrData then LogInfo( strName, " = {" ) for DataName, DataValue in ptrData do LogInfo( " ", DataName, " = ", DataValue ) end LogInfo( "}" ) else LogInfo( strName, " = nil" ) end LogInfo( "----------------------------------------" ) end Возможно, её можно объединить с LogInfo(), добавив проверку типа данных if type(ptrData) == "table" then но мне лень :Р Рекурсия? Хм.. Запросто можно сделать.
  21. ZGN Team - это ещё одна мистическая команда, наподобие Z-Motion в программе Astral Updater.
  22. Почитай документацию по аддонам, она лежит в Allods Online\data\Mods\Dosc\ModsDocs.zip И посмотри официальные примеры аддонов в Allods Online\data\Mods\SampleAddons А также, просмотри наши аддоны.
  23. Эх, как бы это было здорово! Только как представлю, сколько тут работы... *смотрит в сторону WoW UI Designer* Может, я для начала, простой учебник по XDB файлам напишу? *мечтает*:
  24. Ресурсы НЕ ПЕРЕЗАГРУЖАЮТСЯ. Аддоном AddonDevReloader перезагружается только сам LUA-файл. А чтобы перезагрузить остальные ресурсы (XDB-файлы, текстуры, тексты), приходится полностью выходить из игры, и запускать её заново. Вкупе с тем, что в игре полностью отсутствует дебаггинг XDB-файлов, думаю, у разработчиков есть полноценная IDE для создания интерфейсов, которая, по определению, никогда не допускает в них ошибок. Нам же дали только выдранный из неё конвертер текстур, и набор шаблонов XDB-файлов.
  25. 1) Смотри обсуждение AutoAcceptInvite. 2) Вот так приглашается выделенный игрок: Code: local targetId = avatar.GetTarget()if targetId then local scriptParams = {} scriptParams.description = object.GetName( targetId ) common.SendEvent( "SCRIPT_GROUP_SEND_INVITATION", scriptParams ) group.Invite( targetId ) end
×
×
  • Создать...

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

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