Лауреат премии 2023 года
Данный ресурс работает ТОЛЬКО с патчами 1.24e/1.26а/1.27a/1.27b/1.28f
Как пользоваться?
- Распакуйте все файлы из архива, желательно в отдельную папку, вот так:
- Запустите UjAPI.exe.
- Если же у вас приложение не запускается, то скачайте и установите: .NET Framework 4.7.2.
- Если же ни в игре, ни в World Editor UjAPI не работает, то скачайте и установите: C++ Redistributable 2012
- Установите путь для Warcraft 3, вот так:
- Можно указать и на Frozen Throne.exe или же на Warcraft III.exe (но рекомендуется использовать именно war3.exe для патчей 1.27б и ниже).
- На патче 1.28.5(f) рекомендуется использовать непосредственно Warcraft III.exe.
- Установите путь для World Editor, вот так:
- Рекомендуется использовать JNGP версии Прометея: скачать
- Пароль от архива: JNGP
- Готово, вы можете теперь смело запускать как игру, так и World Editor через UjAPI Launcher.
- Для использования оконного режима в Warcraft III нажмите галочку на "Additional command line arguments" и в появившееся окно, пропишите -window, вот так:
Полезные файлы
Для лаунчера | Информационные |
---|---|
.NET Framework 4.7.2 | Список всех функций |
C++ Redistributables 2012 | Новые типы/функции |
v1.0.12.59
Ред. Unryze
v1.0.12.60
Дополнение: чтобы избежать критической ошибки на выходе из карты/игры, НЕ СОЗДАВАЙТЕ фреймы из main функции без какой-либо задержки с помощью таймера.
Дополнение: это исправление "контрмера" для нужды использования таймеров, как было сказано в пункте #1.
Ред. Unryze
v1.0.13.63
constant buffstringfield BUFF_SF_TOOLTIP_NORMAL = ConvertBuffStringField('ftip')
constant buffstringfield BUFF_SF_TOOLTIP_NORMAL_EXTENDED = ConvertBuffStringField('fube')
constant unitstringfield UNIT_SF_HERO_ABILITY_LIST = ConvertUnitStringField('uhab')
constant unitstringfield UNIT_SF_ABILITY_LIST = ConvertUnitStringField('uabi')
native HideOriginFrames takes boolean flag returns nothing
native EditBlackBorders takes real upperHeight, real bottomHeight returns nothing
Ability
native GetAbilityOrderId takes ability whichAbility returns integer this replaced GetAbilityOrder, used wrong naming
native SetAbilityOrderId takes ability whichAbility, integer orderId returns boolean Highly experimental, may be removed if proven unstable.
native SetAbilityLevel takes ability whichAbility, integer level returns boolean
Ability Base Field API
native GetAbilityBaseIntegerFieldById takes integer aid, abilityintegerfield whichField returns integer
native SetAbilityBaseIntegerFieldById takes integer aid, abilityintegerfield whichField, integer value returns boolean
native GetAbilityBaseBooleanFieldById takes integer aid, abilitybooleanfield whichField returns boolean
native SetAbilityBaseBooleanFieldById takes integer aid, abilitybooleanfield whichField, boolean value returns boolean
native GetAbilityBaseRealFieldById takes integer aid, abilityrealfield whichField returns real
native SetAbilityBaseRealFieldById takes integer aid, abilityrealfield whichField, real value returns boolean
native GetAbilityBaseStringFieldById takes integer aid, abilitystringfield whichField returns string
native SetAbilityBaseStringFieldById takes integer aid, abilitystringfield whichField, string value returns boolean
native GetAbilityBaseIntegerLevelFieldById takes integer aid, abilityintegerlevelfield whichField, integer level returns integer
native SetAbilityBaseIntegerLevelFieldById takes integer aid, abilityintegerlevelfield whichField, integer level, integer value returns boolean
native GetAbilityBaseBooleanLevelFieldById takes integer aid, abilitybooleanlevelfield whichField, integer level returns boolean
native SetAbilityBaseBooleanLevelFieldById takes integer aid, abilitybooleanlevelfield whichField, integer level, boolean value returns boolean
native GetAbilityBaseRealLevelFieldById takes integer aid, abilityreallevelfield whichField, integer level returns real
native SetAbilityBaseRealLevelFieldById takes integer aid, abilityreallevelfield whichField, integer level, real value returns boolean
native GetAbilityBaseStringLevelFieldById takes integer aid, abilitystringlevelfield whichField, integer level returns string
native SetAbilityBaseStringLevelFieldById takes integer aid, abilitystringlevelfield whichField, integer level, string value returns boolean
native GetAbilityBaseIntegerLevelArrayFieldById takes integer aid, abilityintegerlevelarrayfield whichField, integer level, integer index returns integer
native SetAbilityBaseIntegerLevelArrayFieldById takes integer aid, abilityintegerlevelarrayfield whichField, integer level, integer index, integer value returns boolean
native AddAbilityBaseIntegerLevelArrayFieldById takes integer aid, abilityintegerlevelarrayfield whichField, integer level, integer value returns boolean
native RemoveAbilityBaseIntegerLevelArrayFieldById takes integer aid, abilityintegerlevelarrayfield whichField, integer level, integer value returns boolean
native GetAbilityBaseBooleanLevelArrayFieldById takes integer aid, abilitybooleanlevelarrayfield whichField, integer level, integer index returns boolean
native SetAbilityBaseBooleanLevelArrayFieldById takes integer aid, abilitybooleanlevelarrayfield whichField, integer level, integer index, boolean value returns boolean
native AddAbilityBaseBooleanLevelArrayFieldById takes integer aid, abilitybooleanlevelarrayfield whichField, integer level, boolean value returns boolean
native RemoveAbilityBaseBooleanLevelArrayFieldById takes integer aid, abilitybooleanlevelarrayfield whichField, integer level, boolean value returns boolean
native GetAbilityBaseRealLevelArrayFieldById takes integer aid, abilityreallevelarrayfield whichField, integer level, integer index returns real
native SetAbilityBaseRealLevelArrayFieldById takes integer aid, abilityreallevelarrayfield whichField, integer level, integer index, real value returns boolean
native AddAbilityBaseRealLevelArrayFieldById takes integer aid, abilityreallevelarrayfield whichField, integer level, real value returns boolean
native RemoveAbilityBaseRealLevelArrayFieldById takes integer aid, abilityreallevelarrayfield whichField, integer level, real value returns boolean
native GetAbilityBaseStringLevelArrayFieldById takes integer aid, abilitystringlevelarrayfield whichField, integer level, integer index returns string
native SetAbilityBaseStringLevelArrayFieldById takes integer aid, abilitystringlevelarrayfield whichField, integer level, integer index, string value returns boolean
native AddAbilityBaseStringLevelArrayFieldById takes integer aid, abilitystringlevelarrayfield whichField, integer level, string value returns boolean
native RemoveAbilityBaseStringLevelArrayFieldById takes integer aid, abilitystringlevelarrayfield whichField, integer level, string value returns boolean
Buff Base Field API
native GetBuffBaseStringFieldById takes integer aid, buffstringfield whichField returns string
native SetBuffBaseStringFieldById takes integer aid, buffstringfield whichField, string value returns boolean
Buff Field API
native GetBuffStringField takes buff whichBuff, buffstringfield whichField returns string
native SetBuffStringField takes buff whichBuff, buffstringfield whichField, string value returns boolean
Item Base Field API
native GetBaseItemIntegerFieldById takes integer itemId, itemintegerfield whichField returns integer
native SetBaseItemIntegerFieldById takes integer itemId, itemintegerfield whichField, integer value returns boolean
native GetBaseItemBooleanFieldById takes integer itemId, itembooleanfield whichField returns boolean
native SetBaseItemBooleanFieldById takes integer itemId, itembooleanfield whichField, boolean value returns boolean
native GetBaseItemRealFieldById takes integer itemId, itemrealfield whichField returns real
native SetBaseItemRealFieldById takes integer itemId, itemrealfield whichField, real value returns boolean
native GetBaseItemStringFieldById takes integer itemId, itemstringfield whichField returns string
native SetBaseItemStringFieldById takes integer itemId, itemstringfield whichField, string value returns boolean
Unit Base Field API
native GetUnitBaseIntegerFieldById takes integer unitTypeId, unitintegerfield whichField returns integer
native SetUnitBaseIntegerFieldById takes integer unitTypeId, unitintegerfield whichField, integer value returns boolean
native GetUnitBaseBooleanFieldById takes integer unitTypeId, unitbooleanfield whichField returns boolean
native SetUnitBaseBooleanFieldById takes integer unitTypeId, unitbooleanfield whichField, boolean value returns boolean
native GetUnitBaseRealFieldById takes integer unitTypeId, unitrealfield whichField returns real
native SetUnitBaseRealFieldById takes integer unitTypeId, unitrealfield whichField, real value returns boolean
native GetUnitBaseStringFieldById takes integer unitTypeId, unitstringfield whichField returns string
native SetUnitBaseStringFieldById takes integer unitTypeId, unitstringfield whichField, string value returns boolean
native GetUnitBaseWeaponIntegerFieldById takes integer unitTypeId, unitweaponintegerfield whichField, integer index returns integer
native SetUnitBaseWeaponIntegerFieldById takes integer unitTypeId, unitweaponintegerfield whichField, integer index, integer value returns boolean
native GetUnitBaseWeaponBooleanFieldById takes integer unitTypeId, unitweaponbooleanfield whichField, integer index returns boolean
native SetUnitBaseWeaponBooleanFieldById takes integer unitTypeId, unitweaponbooleanfield whichField, integer index, boolean value returns boolean
native GetUnitBaseWeaponRealFieldById takes integer unitTypeId, unitweaponrealfield whichField, integer index returns real
native SetUnitBaseWeaponRealFieldById takes integer unitTypeId, unitweaponrealfield whichField, integer index, real value returns boolean
native GetUnitBaseWeaponStringFieldById takes integer unitTypeId, unitweaponstringfield whichField, integer index returns string
native SetUnitBaseWeaponStringFieldById takes integer unitTypeId, unitweaponstringfield whichField, integer index, string value returns boolean
CReplayButton
CTrainableButton
CCommandButton
CHeroBarButton
CSimpleCheckbox
Пояснение: CSimpleTexture и CSimpleFontString (то бишь CSimpleRegions) не поддерживаются, так как у них нет внутренних событий.
native BitAnd takes integer x,integer y returns integer
native BitXor takes integer x,integer y returns integer
native BitShiftL takes integer x,integer y returns integer
native BitShiftR takes integer x,integer y returns integer
native JNI2R takes integer i returns real
native JNR2I takes real r returns integer
native JNGetMaxAttackSpeed takes nothing returns real
native IsReplayMode takes nothing returns boolean
native IsHostPlayer takes nothing returns boolean
native JNStringPos takes string str,string sub returns integer
native JNStringReverse takes string str returns string
native JNStringCount takes string str,string sub returns integer
native JNStringContains takes string str,string sub returns boolean
native JNStringReplace takes string str,string old,string newstr returns string
native JNStringInsert takes string str,integer index,string val returns string
native JNStringSub takes string str,integer start,integer length returns string
native JNStringLength takes string str returns integer
Пояснение: остальные нативные функции будут видны для UjAPI, но они не будет выполнять ничего, но возвращать "пустые", но валидные данные, для превенции крашей.