UjAPI

UjAPI — полноценная модификация для Warcraft III версий 1.24e/1.26а/1.27a/1.27b/1.28f кардинально расширяющая функционал игры, добавляющая новые native-функции и типы доступные в редакторе, исправляющая известные проблемы (утечки, неработающие функции и т.п.)
Дополнительно планируется интегрировать и другие проекты, такие как UjAPI - AngelScript, War3 LUA.
В данный момент для тестов и нахождения недочётов доступен альфа-релиз.
Лауреат премии 2023 года
347 7 866
28
Тесты показали, что возвращает exp_required, тогда передачу юнита можно убрать, от героя к герою эти значения не меняются.
Также, GetHeroExperienceNeeded возвращает неверные значения. Так, для уровня 1 будет возвращено 200, хотя все герои изначально имеют уровень 1, то есть верный ответ 0. Для уровня 0 и негативных значений также возвращается 200. Для уровня 2 вернётся 500, хотя для достижения второго уровня нужно 200. И так далее, как будто внутри функция увеличивает переданный уровень на единицу.
28
Unryze, то, что Blizzard не создавала доку по жассу, не оправдывает отсутствие документации в этом проекте. Тем более, что jass изначально и не создавался для широкой публики (хотя и в этом случае отсутствие документации осуждаю). А вот в гуи документация +/- имеется.
Я могу посоветовать следующее: при создании новых функций сразу писать документацию к ним, а к старым постепенно добавлять.
28
native GetHeroMaxLevelExperienceNeeded takes unit whichUnit returns integer
native GetHeroExperienceNeeded takes unit whichUnit, integer forLevel returns integer
Эти функции возвращают exp_required - exp_present или только exp_required? Если второе, то зачем тогда передаётся юнит?

О системе

Относительно краткий пример создания PopupMenu фрейма используя UjAPI и Frame API.
Главным бонусом UjAPI в данной наработке является полноценный API специально добавленный для обработки PopupMenu фреймов, который позволяет просто на просто отказаться от fdf, а так же позволяет не только добавлять…
Алгоритмы, Наработки и Способности
2 272
20
П.С. данный пример будет возможно на будущем обновлении UjAPI, то бишь с версии 1.1.15.218, которая ещё не выпущена.

О системе

Относительно краткий пример создания ListBox фрейма используя UjAPI и Frame API.
Главным бонусом UjAPI в данной наработке является полноценный API специально добавленный для обработки ListBox фреймов, который позволяет просто на просто отказаться от fdf, а так же позволяет не только добавлять…
Алгоритмы, Наработки и Способности
4 633
20
Карта обновлена под UjAPI v1.1.14.215, добавлено событие выбора фреймов в ListBox.
Относительно краткий пример создания пик системы строго на CSimpleFrame/CSimpleRegion фреймах (за исключением превью героя) используя UjAPI и Frame API.
Алгоритмы, Наработки и Способности
18 1 130
20
Вышла новая версия!
Прокрутить к ресурсу
Карта обновлена под UjAPI v1.1.14.215, система выбора теперь использует SetFrameBlendMode для изменения типа отрисовки.
Относительно краткий пример создания системы магазина строго на CSimpleFrame/CSimpleRegion фреймах используя UjAPI и Frame API.
Алгоритмы, Наработки и Способности
7 876
20
Вышла новая версия!
Прокрутить к ресурсу
Карта обновлена под UjAPI v1.1.14.215, система выбора теперь использует SetFrameBlendMode для изменения типа отрисовки.

UjAPI - AngelScript

Ресурс предназначенный для под-проекта UjAPI - AngelScript (это интерпретируемый язык программирования, разработанный специально для использования в качестве скриптового языка в приложениях).
В данном ресурсе будет вестись логирование изменений, а так же всяческие описания, примеры и прочее.
Программы
26 1 288
20
Алексей Андреич, забыл ответить, парсер был обновлён.
31
При добавлении через менеджер импорта и попытке сохранить появляется ошибка:
Это, скорее всего, мой личный косяк.
без UjAPI происходит тоже самое. Как и в обычном WE. И не только со скриптами. Пытался заменить текстуру ландшафта - та же проблема. Переустановка JNGP не дала результатов. Чуть позже проверю на другой машине, надеюсь, поможет.

Все, разобрался, запустил. Сдуру в пути импорта указал двойные "//".
Тогда только жду обновление парсера. Спасибо.