UjAPI

UjAPI — полноценная модификация для Warcraft III версий 1.24e/1.26а/1.27a/1.27b/1.28f кардинально расширяющая функционал игры, добавляющая новые native-функции и типы доступные в редакторе, исправляющая известные проблемы (утечки, неработающие функции и т.п.)
Дополнительно планируется интегрировать и другие проекты, такие как UjAPI - AngelScript, War3 LUA.
В данный момент для тестов и нахождения недочётов доступен альфа-релиз.
Лауреат премии 2023 года
347 7 869
38
Вообще писать все эти Ex это плохие практики, когда разработчик не может придумать правильное имя функции. В винапи оно имеет смысл, т.к. добавляет огромный набор параметров, но все еще является примером плохой архитектуры
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. Добавлена более точная, но менее строгая внутренняя проверка на "активность" Агента (то, что он не удалён).
    Пометка: это изменение по большей части затрагивает новое АПИ юнитов, которое было через-чур строгое к скрытым/убитым/удалённым юнитам.
20
Вышла новая версия!
Прокрутить к ресурсу

v1.1.1.160

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

v1.1.1.159

  1. Исправлено взаимодействие UNIT_ABILITY_REMOVED с RemoveUnit, которое приводило к "замораживанию" процесса игры.
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.
Ресурс предназначенный для логирования изменений в проекте UjAPI, а так же для краткого ознакомления со внесёнными изменениями.
90 2 144
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. Добавлена более точная, но менее строгая внутренняя проверка на "активность" Агента (то, что он не удалён).
	Пометка: это изменение по большей части затрагивает новое АПИ юнитов, которое было через-чур строгое к скрытым/убитым/удалённым юнитам.
20
Вышла новая версия!
Прокрутить к ресурсу

v1.1.1.160

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

v1.1.1.159

  1. Исправлено взаимодействие UNIT_ABILITY_REMOVED с RemoveUnit, которое приводило к "замораживанию" процесса игры.
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.0.156

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