UjAPI

Добавлен , опубликован
Лауреат премии 2023 года


Данный ресурс работает ТОЛЬКО с патчами 1.24e/1.26а/1.27a/1.27b/1.28f

Как пользоваться?

  1. Распакуйте все файлы из архива, желательно в отдельную папку, вот так:
скриншоты
  1. Запустите UjAPI.exe.
    • Если же у вас приложение не запускается, то скачайте и установите: .NET Framework 4.7.2.
    • Если же ни в игре, ни в World Editor UjAPI не работает, то скачайте и установите: C++ Redistributable 2012
  2. Установите путь для Warcraft 3, вот так:
скриншоты
  • Можно указать и на Frozen Throne.exe или же на Warcraft III.exe (но рекомендуется использовать именно war3.exe для патчей 1.27б и ниже).
  • На патче 1.28.5(f) рекомендуется использовать непосредственно Warcraft III.exe.
  1. Установите путь для World Editor, вот так:
скриншоты
  • Рекомендуется использовать JNGP версии Прометея: скачать
  • Пароль от архива: JNGP
4.1 Для удобства, добавления подсветки/автозаполнения, скачайте: [UjAPI] TESH Подсветка (спасибо DevilVsLife и Nazarpunk) и просто положите его в папку tesh/data вот так:
скриношоты
  1. Готово, вы можете теперь смело запускать как игру, так и World Editor через UjAPI Launcher.
    • Для использования оконного режима в Warcraft III нажмите галочку на "Additional command line arguments" и в появившееся окно, пропишите -window, вот так:
скриншоты

Полезные файлы

`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Этот комментарий удален
29
О да! Больше гаек, болтов и прочего... Мои гаечные ключи так и ждут, когда начнут закручиваться гайки, болты. Да и отвёртка тоже в деле будет. Близзарды курят нервно в сторонке. Анрайз делает годное, что даже рефорджед переплюнуло. Рефорджед близзардасов не рефорджед. UjAPI - вот он истинный рефорджед, которого все хотели. Или нет.
По сему я скажу: WarCraft III ReUnryzed
20
Вышла новая версия! Прокрутить к ресурсу

v1.1.0.153

  1. Исправлена критическая ошибка от GetBuffBaseStringFieldById.
  2. Исправлена критическая ошибка от SetBuffBaseStringFieldById.
20
Вышла новая версия! Прокрутить к ресурсу

v1.1.0.154

  1. Удалено бесполезное логирование для ExecuteCode и схожих нативных функций.
20
Вышла новая версия! Прокрутить к ресурсу

v1.1.0.155

  1. Исправлена обработка пустой строки, которая вызывала тихое закрытие игры.
    Пометка: это произошло из-за внутренней рекурсии, которую я же и создал, если получаемый текст был пустой или равен nullptr.
20
Вышла новая версия! Прокрутить к ресурсу

v1.1.0.156

  1. Переделана обработка OnDamage, дабы избежать новую проблему, из-за которой юниты становились неуязвимыми.
    Пометка: это было связано с предыдущим исправлением 0-левого урона.
20
Вышла новая версия! Прокрутить к ресурсу

v1.1.1.158

  1. Новые Константы:
    constant playerunitevent EVENT_PLAYER_UNIT_ABILITY_ADDED = ConvertPlayerUnitEvent(503)
    constant playerunitevent EVENT_PLAYER_UNIT_ABILITY_REMOVED = ConvertPlayerUnitEvent(504)
    constant playerunitevent EVENT_PLAYER_UNIT_ABILITY_AUTOCAST_ON = ConvertPlayerUnitEvent(505)
    constant playerunitevent EVENT_PLAYER_UNIT_ABILITY_AUTOCAST_OFF = ConvertPlayerUnitEvent(506)
    constant unitevent EVENT_UNIT_ABILITY_ADDED = ConvertUnitEvent(513)
    constant unitevent EVENT_UNIT_ABILITY_REMOVED = ConvertUnitEvent(514)
    constant unitevent EVENT_UNIT_ABILITY_AUTOCAST_ON = ConvertUnitEvent(515)
    constant unitevent EVENT_UNIT_ABILITY_AUTOCAST_OFF = ConvertUnitEvent(516)
    constant originframetype ORIGIN_FRAME_FPS_TEXT = ConvertOriginFrameType(54)
    constant originframetype ORIGIN_FRAME_MEMORY_TEXT = ConvertOriginFrameType(55)
  2. Новые Нативные Функции:
    native GetMapFogZ takes nothing returns real
    native SetMapFogZ takes real z returns nothing
    native GetMapFogColour takes nothing returns integer
    native SetMapFogColour takes integer colour returns nothing
    native IsAbilityAutocastEnabled takes ability whichAbility returns boolean
  3. GetSpellAbility теперь работает с событиями баффов и новыми событиями заклинаний.
  4. GetSpellAbilityId теперь работает с событиями баффов и новыми событиями заклинаний.
  5. Исправлена SetAbilityOwner, которая не до конца работала с активными заклинаниями (они не отображались в панели, если были созданы напрямую через CreateAbility).
  6. Исправлена критическая ошибка от SetDoodadZ на 1.28f.
20
Вышла новая версия! Прокрутить к ресурсу

v1.1.1.159

  1. Исправлено взаимодействие UNIT_ABILITY_REMOVED с RemoveUnit, которое приводило к "замораживанию" процесса игры.
20
Вышла новая версия! Прокрутить к ресурсу

v1.1.1.160

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

v1.1.2.163

  1. Новые Нативные Функции:
    native TextFileRead takes textfilehandle whichTextFile returns string
    native UnitAddItemToSlot takes unit whichUnit, item whichItem, integer itemSlot returns boolean
    native ReviveUnit takes unit whichUnit, real x, real y returns boolean
    native ReviveUnitLoc takes unit whichUnit, location loc returns boolean
  2. TextFileReadAll переименован в TextFileReadAllLines, теперь оно читает именно текст, а не сам файл.
  3. Добавлена экспериментальная поддержка CSimpleFrame в АПИ CBackdropFrame.
  4. Исправлена критическая ошибка от всех вариантов SetModel, эта ошибка связана с не-Ex вариациями, ибо цвет обрабатывался неверно.
  5. Добавлена более точная, но менее строгая внутренняя проверка на "активность" Агента (то, что он не удалён).
    Пометка: это изменение по большей части затрагивает новое АПИ юнитов, которое было через-чур строгое к скрытым/убитым/удалённым юнитам.
38
Вообще писать все эти Ex это плохие практики, когда разработчик не может придумать правильное имя функции. В винапи оно имеет смысл, т.к. добавляет огромный набор параметров, но все еще является примером плохой архитектуры
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.