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, вот так:
скриншоты

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

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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Этот комментарий удален
19
EugeAl, не забывайте, что лаунчер обновляется, а это значит, что многое ещё может поменяться.
20
Крутая штука! Интересно, а её можно объединить с другими надстройками, например MMEngine и RenderEdge, и прочими, чтобы получилась одна большая мега надстройка? Или это слишком много возни плюс не совместимость?
Если та или иная система может выступать как модуль, то можно это легко добавить. MMEngine - немного отличается в этом плане и не в обиду Ev3nt, но пока она не доведена до уровня модуля, я даже смотреть в сторону её поддержки не хочу. :(
RenderEdge технически я уже могу добавить, но в данный момент он будет мешаться тестам, потому с этим я повременю. В идеале вообще убрать его "внутренние" настройки и сделать по принципу WFE, но опять же - это в низком приоритете.
30
может зря гисты ввели вообще?
Они удобны, если в статье много кода, то править её боль и страдания. Да и подсветка кода на xgm ужасна, гитхаб лучше с этим справляется.
29
nazarpunk, ScorpioT1000 что нам мешает создать собственный?
На всякий случай, по типу gist.xgm.guru
23
Ev3nt, ну это то понятно.
Unryze, что ж, это хорошо, что планируете. Если хотите сделать красивый лаунчер, с красивыми кнопками, рамкой, фоном и т д - пишите в лс, попробую помочь, нарисовать. Только мне потребуется эскиз и список картинок с параметрами: формат и размер в пикселях. За основу возьму интерфейс главного меню вк3.
38
Или бахнуть на webview xD
20
Ev3nt, ну это то понятно.
Unryze, что ж, это хорошо, что планируете. Если хотите сделать красивый лаунчер, с красивыми кнопками, рамкой, фоном и т д - пишите в лс, попробую помочь, нарисовать. Только мне потребуется эскиз и список картинок с параметрами: формат и размер в пикселях. За основу возьму интерфейс главного меню вк3.
Спасибо, но стилистику War 3 я вряд ли в целом буду использовать, текущий лаунчер - просто пустышка, визуально будет конечно переделываться. По дизайну я склоняюсь ближе к лаунчеру Battle.net, нежели именно Вар 3 тематики, но когда руки до этого дойдут, буду знать к кому обращаться. :)
30
Спасибо, но стилистику War 3 я вряд ли в целом буду использовать
И правильно, на лаунчер не нужно луюбоваться, им пользоваться нужно. ИМХО нарисовать всё на системном ui с поддержкой тем и обязательно опциональную восьмибитную музычку.
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.1.9

  1. Новые нативные функции:
    native ForceHasPlayer takes force whichForce, player whichPlayer returns boolean
    native ForceCountPlayers takes force whichForce returns integer
    native GetUnitBuff takes unit whichUnit, integer buffId returns buff
    native GetUnitBuffLevel takes unit whichUnit, integer buffId returns integer
    native GetBuffLevel takes buff whichBuff returns integer
    native RefreshBuff takes buff whichBuff returns boolean
    native SetBuffDuration takes buff whichBuff, real duration returns boolean
  1. Исправлена ошибка по которой утекало 20 байт в CScriptEvent ввиду повторного выделения памяти.
  2. Исправлено неверное название нативной функции (SetFrameFront) на SetFrameFont.
  3. Включены эти нативные функции:
    1. TriggerRegisterFrameEvent
    2. GetTriggerFrame
    3. GetTriggerFrameEvent
  4. Исправлена критическая ошибка, если была использована какая-либо нативная функция фреймов, где в аргументах фигурировал string.
  5. Все кейсы HotKey исправлены на Hotkey.
  6. Все новые геттеры и сеттеры связанные с кнопками используют тип oskeytype.
  7. MorphUnitToTypeIdEx расшифрована, теперь все аргументы имеют правильные названия.
  8. Исправлена ошибка, по которой новые нативки работали лишь у хоста в локальной/игре по сети.
  9. Исправлен запуск w3l и прочих сторонних "запускаторов" игры через UjAPI.exe.
    Пометка: сторонние "запускаторы" не поддерживают мульти-окно и War3Lua дебаг режим, для их работы нужно запускать игру через war3.exe и прочее.
  10. Добавлен модуль War3_Lua.dll в папку Modules.
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.2.12

  1. Новые нативные функции:
    native SaveFrameHandle takes hashtable table, integer parentKey, integer childKey, framehandle whichFrame returns boolean
    native LoadFrameHandle takes hashtable table, integer parentKey, integer childKey returns framehandle

    native GetEventPreDamage takes nothing returns real
  1. Весь common.j был отредактирован и "оттабулирован" (это изменение никак не влияет на производительность, только на семантику и синтаксис).
  2. Нативные функции GroupAddGroupEx и GroupRemoveGroupEx теперь возвращают целочисленное значение, вместо флага (то есть сколько юнитов было добавлено/удалено).
  3. Добавлены новые нативные типы вместе с их конвертаторами и глобальными константами:
    type abilityintegerfield extends handle
    type abilityrealfield extends handle
    type abilitybooleanfield extends handle
    type abilitystringfield extends handle
    type abilityintegerlevelfield extends handle
    type abilityreallevelfield extends handle
    type abilitybooleanlevelfield extends handle
    type abilitystringlevelfield extends handle
    type abilityintegerlevelarrayfield extends handle
    type abilityreallevelarrayfield extends handle
    type abilitybooleanlevelarrayfield extends handle
    type abilitystringlevelarrayfield extends handle
    type unitintegerfield extends handle
    type unitrealfield extends handle
    type unitbooleanfield extends handle
    type unitstringfield extends handle
    type unitweaponintegerfield extends handle
    type unitweaponrealfield extends handle
    type unitweaponbooleanfield extends handle
    type unitweaponstringfield extends handle
    type itemintegerfield extends handle
    type itemrealfield extends handle
    type itembooleanfield extends handle
    type itemstringfield extends handle
  1. Исправлена критическая ошибка от нативной функции CreateFrameByType на патче 1.27a.
  2. Исправлены все нативные функции SpecialEffectAPI, большинство из них не работало/вызывало краш.
30
только на сменатику и синтаксис
Сменатика очень важна для для работы)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.