Добавлен , опубликован

v1.1.15.218

UjAPI.dll

1. Новые Константы:
	constant frameeventtype				FRAMEEVENT_FRAME_ITEM_CHANGED								= ConvertFrameEventType(10)
	constant controlstyleflag 			CONTROL_STYLE_DRAW											= ConvertControlStyleFlag(32)
2. Новые Нативные Функции:
	native BitwiseShiftLeftLogical							takes integer i, integer bitsToShift returns integer
	native BitwiseShiftRightLogical							takes integer i, integer bitsToShift returns integer
	//
	native CountUnitAbilities								takes unit whichUnit, boolean alsoCountBuffs returns integer
	native CountUnitBuffs									takes unit whichUnit returns integer
	//
	native GetBuffOwningAbility								takes buff whichbuff returns ability // experimental
	native SetBuffOwningAbility								takes buff whichBuff, ability whichAbility returns nothing // experimental
	//
	native SetProjectileSourceAbility						takes projectile whichProjectile, ability whichAbility returns nothing
	//
	native GetFrameChildrenCountEx							takes framehandle whichFrame, integer listId returns integer // listId: CFrames: 0 for default | 1 for layouts (will return CLayer) | CSimpleFrames 0 - 6 | CSimpleRegions any number, as they only have 1 child node.
	native GetFrameChildEx									takes framehandle whichFrame, integer listId, integer index returns framehandle
	native GetFrameTextAlignmentValue						takes framehandle whichFrame, integer id returns real // CSimpleFontString: 0 - x, 1 - y | CTextFrame: 0 - x, 1 - y, 2 - x Shadow, 3 - y Shadow, 4 = FontJustificationOffset
	native SetFrameTextAlignmentValue						takes framehandle whichFrame, integer id, real offset returns nothing
	native GetTriggerFrameTargetFrame						takes nothing returns framehandle
3. Исправлена поддержка отрицательных чисел с сеттерами цифровых полей, ранее они обрабатывались без знака.
4. CListBox API теперь работает с CMenu.
5. CListBox API теперь работает с CPopupMenu.
6. CListBox API теперь работает с CRadioGroup.
7. GetFrameTextColourEx теперь работает с CListBoxItem.
8. SetFrameTextColourEx теперь работает с CListBoxItem.
9. SetFrameFont теперь работает с CTimerTextFrame.
10. SetFrameFont теперь работает с CListBoxItem.
11. SetFrameTextAlignment теперь работает с CTimerTextFrame.
12. SetFrameTextAlignment теперь работает с CListBoxItem.
13. SetFrameTextVerticalAlignment теперь работает с CTimerTextFrame.
14. SetFrameTextVerticalAlignment теперь работает с CListBoxItem.
15. SetFrameTextHorizontalAlignment теперь работает с CTimerTextFrame.
16. SetFrameTextHorizontalAlignment теперь работает с CListBoxItem.
17. FRAMEEVENT_POPUPMENU_ITEM_CHANGED теперь работает с CListBox.
18. AddFrameListItem теперь работает с CRadioGroup.
19. FRAMEEVENT_POPUPMENU_ITEM_CHANGED теперь работает с CRadioGroup.
20. Исправлено SetLightningTargetX устанавливающее x источника, вместо цели.
21. Исправлено SetLightningTargetY устанавливающее y источника, вместо цели.
22. Исправлено SetLightningTargetZ устанавливающее z источника, вместо цели.
23. Исправлено SetLightningTargetPositionLoc устанавливающее позицию источника, вместо цели.
24. Исправлено GroupContainsUnit всегда возвращающее true.
25. Перенесён весь внутренний код jFramea API во FrameAPI. Это пометка для себя, данное изменение не должно повлиять ни на что.
26. Исправлено BlzSetUnitMaxMana устанавливающее максимальное здоровье вместо маны.
27. Исправлено не работающее SetFrameTextHorizontalAlignment.
28. Исправлено SetFrameTextColourEx для CSimpleFontString.

Launcher

1. CLI теперь может обрабатывать эти warcraft 3 комманды: d3d, opengl, swtnl, classic, datadir, gametype, fullscreen.
2. Добавлена опция Dev Mode для AngelScript.
3. Добавлена опция Console для AngelScript.
4. Добавлена опция No Warnings для AngelScript.
5. Добавлена опция "dev" CLI команда для AngelScript.
6. Добавлена опция "console" CLI команда для AngelScript.
7. Добавлена опция "nowarnings" CLI команда для AngelScript.
8. Добавлен модуль FastMenu.dll в Modules.
9. Добавлена опция Fast Menu для Launcher.
10. Добавлена -fastmenu CLI команда для Launcher.
`
ОЖИДАНИЕ РЕКЛАМЫ...
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.20.84

  1. UjAPI.exe более не "заставляет" последующие запуски UjAPI запускаться от админ прав, теперь последующие запуски будут просто посылать свои команды в главное приложение. Это должно упростить создание "макетов запуска".
  2. Missile API переделан в Projectile API.
  3. Удалённые нативные функции:
    native GetAbilityCooldownEx takes ability whichAbility returns real
    native TriggerRegisterPlayerProjectileEvent takes trigger whichTrigger, player whichPlayer, playermissileevent whichEvent returns event
    Пометка: события теперь регистрируются через определённых игроков/юнитов используя TriggerRegisterPlayerUnitEvent and TriggerRegisterUnitEvent.
  4. Новые типы:
    type doodad extends agent
  5. Новые конвертеры:
    constant native ConvertProjectileType takes integer i returns projectiletype
  6. Новыее константы:
    constant playerunitevent EVENT_PLAYER_UNIT_BUFF_RECEIVED = ConvertPlayerUnitEvent(500)
    constant playerunitevent EVENT_PLAYER_UNIT_BUFF_REFRESHED = ConvertPlayerUnitEvent(501)
    constant playerunitevent EVENT_PLAYER_UNIT_BUFF_ENDED = ConvertPlayerUnitEvent(502)
    constant playerunitevent EVENT_PLAYER_UNIT_PROJECTILE_LAUNCH = ConvertPlayerUnitEvent(600)
    constant playerunitevent EVENT_PLAYER_UNIT_PROJECTILE_HIT = ConvertPlayerUnitEvent(601)
    constant unitevent EVENT_UNIT_BUFF_RECEIVED = ConvertUnitEvent(510)
    constant unitevent EVENT_UNIT_BUFF_REFRESHED = ConvertUnitEvent(511)
    constant unitevent EVENT_UNIT_BUFF_ENDED = ConvertUnitEvent(512)
    constant unitevent EVENT_UNIT_PROJECTILE_LAUNCH = ConvertUnitEvent(610)
    constant unitevent EVENT_UNIT_PROJECTILE_HIT = ConvertUnitEvent(611)
    constant projectiletype PROJECTILE_TYPE_BULLET = ConvertProjectileType(0)
    constant projectiletype PROJECTILE_TYPE_MISSILE = ConvertProjectileType(1)
    constant projectiletype PROJECTILE_TYPE_ARTILLERY = ConvertProjectileType(2)
    constant projectiletype PROJECTILE_TYPE_VISIBLE = ConvertProjectileType(4)
    constant projectiletype PROJECTILE_TYPE_DEAD = ConvertProjectileType(5)
  7. Новые нативные функции:
    native IsProjectileType takes projectile whichProjectile, projectiletype whichType returns boolean
    native GetProjectileTargetPointX takes projectile whichProjectile returns real
    native GetProjectileTargetPointY takes projectile whichProjectile returns real
    native GetProjectileTargetPointZ takes projectile whichProjectile returns real
    native GetProjectileTargetPoint takes projectile whichProjectile returns location
    native GetProjectileAreaOfEffectFullDamage takes projectile whichProjectile returns real
    native SetProjectileAreaOfEffectFullDamage takes projectile whichProjectile, real area returns nothing
    native GetProjectileAreaOfEffectMediumDamage takes projectile whichProjectile returns real
    native SetProjectileAreaOfEffectMediumDamage takes projectile whichProjectile, real area returns nothing
    native GetProjectileAreaOfEffectSmallDamage takes projectile whichProjectile returns real
    native SetProjectileAreaOfEffectSmallDamage takes projectile whichProjectile, real area returns nothing
    native GetProjectileAreaOfEffectMediumDamageFactor takes projectile whichProjectile returns real
    native SetProjectileAreaOfEffectMediumDamageFactor takes projectile whichProjectile, real factor returns nothing
    native GetProjectileAreaOfEffectSmallDamageFactor takes projectile whichProjectile returns real
    native SetProjectileAreaOfEffectSmallDamageFactor takes projectile whichProjectile, real factor returns nothing
    native EnumProjectilesInRect takes rect whichRect, boolexpr filter, code handlerFunc returns nothing
    native GetUnitRallyPointX takes unit whichUnit returns real
    native GetUnitRallyPointY takes unit whichUnit returns real
    native SetUnitKiller takes unit whichUnit, unit killer returns nothing
    native KillUnitEx takes unit whichUnit, unit killer returns nothing
    native GetAbilityOwner takes ability whichAbility returns unit
    native GetFilterAbility takes nothing returns ability
    native GetEnumAbility takes nothing returns ability
    native EnumUnitAbilities takes unit whichUnit, boolexpr whichBoolexpr, code whichCode returns boolean
    native GetBuffTypeId takes buff whichBuff returns integer
    native GetBuffBaseTypeId takes buff whichBuff returns integer
    native GetBuffOwner takes buff whichbuff returns unit
    native SetBuffLevel takes buff whichBuff, integer level returns nothing
    native GetFilterBuff takes nothing returns buff
    native GetEnumBuff takes nothing returns buff
    native EnumUnitBuffs takes unit whichUnit, boolexpr whichBoolexpr, code whichCode returns boolean
    native GetTriggerBuff takes nothing returns buff
    native GetTriggerBuffSourceAbility takes nothing returns ability
    native GetTriggerBuffSourceUnit takes nothing returns unit
    native GetTriggerBuffTarget takes nothing returns unit
    Doodad API
    native GetDoodadCount takes nothing returns integer
    native GetDoodadByIndex takes integer index returns doodad
    native GetDoodadIndex takes doodad whichDoodad returns integer
    native SetDoodadAnimationWithRarityByIndex takes doodad whichDoodad, integer animIndex, raritycontrol rarity returns nothing
    native SetDoodadAnimationWithRarity takes doodad whichDoodad, string animationName, raritycontrol rarity returns nothing
    native SetDoodadAnimationByIndex takes doodad whichDoodad, integer animIndex returns nothing
    native SetDoodadAnimationEx takes doodad whichDoodad, string animationName returns nothing
    native QueueDoodadAnimationByIndex takes doodad whichDoodad, integer animIndex returns nothing
    native QueueDoodadAnimation takes doodad whichDoodad, string animationName returns nothing
    native SetDoodadAnimationOffsetPercent takes doodad whichDoodad, real percent returns nothing
    native GetFilterDoodad takes nothing returns doodad
    native GetEnumDoodad takes nothing returns doodad
    native EnumDoodadsInRange takes real x, real y, real radius, boolexpr filter, code handlerFunc returns nothing
    native EnumDoodadsInRangeEx takes real x, real y, real radius, integer typeId, boolean nearestOnly, boolexpr filter, code handlerFunc returns nothing
    native EnumDoodadsInRect takes rect whichRect, boolexpr filter, code handlerFunc returns nothing
    native EnumDoodadsInRectEx takes rect whichRect, integer typeId, boolean nearestOnly, boolexpr filter, code handlerFunc returns nothing
    Handle List API
    native HandleListCreate takes nothing returns handlelist
    native HandleListDestroy takes handlelist whichHandleList returns nothing
    native HandleListAddHandle takes handlelist whichHandleList, handle whichHandle returns nothing
    native HandleListRemoveHandle takes handlelist whichHandleList, handle whichHandle returns nothing
    native HandleListAddList takes handlelist destHandleList, handlelist sourceHandleList returns integer
    native HandleListRemoveList takes handlelist destHandleList, handlelist sourceHandleList returns integer
    native HandleListClear takes handlelist whichHandleList returns nothing
    native HandleListContainsHandle takes handlelist whichHandleList, handle whichHandle returns boolean
    native HandleListGetCount takes handlelist whichHandleList returns integer
    native HandleListGetCountEx takes handlelist whichHandleList, integer handleTypeId returns integer
    native HandleListGetAgentCount takes handlelist whichHandleList returns integer
    native HandleListGetWidgetCount takes handlelist whichHandleList returns integer
    native HandleListGetUnitCount takes handlelist whichHandleList returns integer
    native HandleListGetItemCount takes handlelist whichHandleList returns integer
    native HandleListGetDestructableCount takes handlelist whichHandleList returns integer
    native HandleListGetAbilityCount takes handlelist whichHandleList returns integer
    native HandleListGetBuffCount takes handlelist whichHandleList returns integer
    native HandleListGetEffectCount takes handlelist whichHandleList returns integer
    native HandleListGetMissileCount takes handlelist whichHandleList returns integer
    native HandleListGetFrameCount takes handlelist whichHandleList returns integer
    native HandleListGetHandleByIndex takes handlelist whichHandleList, integer index returns handle
    native HandleListGetHandleByIndexEx takes handlelist whichHandleList, integer handleTypeId, integer index returns handle
    native HandleListGetAgentByIndex takes handlelist whichHandleList, integer index returns agent
    native HandleListGetWidgetByIndex takes handlelist whichHandleList, integer index returns widget
    native HandleListGetUnitByIndex takes handlelist whichHandleList, integer index returns unit
    native HandleListGetItemByIndex takes handlelist whichHandleList, integer index returns item
    native HandleListGetDestructableByIndex takes handlelist whichHandleList, integer index returns destructable
    native HandleListGetAbilityByIndex takes handlelist whichHandleList, integer index returns ability
    native HandleListGetBuffByIndex takes handlelist whichHandleList, integer index returns buff
    native HandleListGetEffectByIndex takes handlelist whichHandleList, integer index returns effect
    native HandleListGetMissileByIndex takes handlelist whichHandleList, integer index returns missile
    native HandleListGetFrameByIndex takes handlelist whichHandleList, integer index returns framehandle
    native HandleListGetFilterHandle takes nothing returns handle
    native HandleListGetFilterAgent takes nothing returns agent
    native HandleListGetFilterWidget takes nothing returns widget
    native HandleListGetFilterUnit takes nothing returns unit
    native HandleListGetFilterItem takes nothing returns item
    native HandleListGetFilterDestructable takes nothing returns destructable
    native HandleListGetFilterAbility takes nothing returns ability
    native HandleListGetFilterBuff takes nothing returns buff
    native HandleListGetFilterEffect takes nothing returns effect
    native HandleListGetFilterMissile takes nothing returns missile
    native HandleListGetFilterFrame takes nothing returns framehandle
    native HandleListGetEnumHandle takes nothing returns handle
    native HandleListGetEnumAgent takes nothing returns agent
    native HandleListGetEnumWidget takes nothing returns widget
    native HandleListGetEnumUnit takes nothing returns unit
    native HandleListGetEnumItem takes nothing returns item
    native HandleListGetEnumDestructable takes nothing returns destructable
    native HandleListGetEnumAbility takes nothing returns ability
    native HandleListGetEnumBuff takes nothing returns buff
    native HandleListGetEnumEffect takes nothing returns effect
    native HandleListGetEnumMissile takes nothing returns missile
    native HandleListGetEnumFrame takes nothing returns framehandle
    native HandleListEnumInRange takes handlelist whichHandleList, real x, real y, real radius, boolexpr filter returns nothing
    native HandleListEnumInRangeEx takes handlelist whichHandleList, real x, real y, real radius, integer handleTypeId, boolexpr filter returns nothing
    native HandleListEnumAgentsInRange takes handlelist whichHandleList, real x, real y, real radius, boolexpr filter returns nothing
    native HandleListEnumWidgetsInRange takes handlelist whichHandleList, real x, real y, real radius, boolexpr filter returns nothing
    native HandleListEnumUnitsInRange takes handlelist whichHandleList, real x, real y, real radius, boolexpr filter returns nothing
    native HandleListEnumItemsInRange takes handlelist whichHandleList, real x, real y, real radius, boolexpr filter returns nothing
    native HandleListEnumDestructablesInRange takes handlelist whichHandleList, real x, real y, real radius, boolexpr filter returns nothing
    native HandleListEnumEffectsInRange takes handlelist whichHandleList, real x, real y, real radius, boolexpr filter returns nothing
    native HandleListEnumMissilesInRange takes handlelist whichHandleList, real x, real y, real radius, boolexpr filter returns nothing
    native HandleListEnumInRangeOfLoc takes handlelist whichHandleList, location whichLocation, real radius, boolexpr filter returns nothing
    native HandleListEnumInRangeOfLocEx takes handlelist whichHandleList, location whichLocation, real radius, integer handleTypeId, boolexpr filter returns nothing
    native HandleListEnumAgentsInRangeOfLoc takes handlelist whichHandleList, location whichLocation, real radius, boolexpr filter returns nothing
    native HandleListEnumWidgetsInRangeOfLoc takes handlelist whichHandleList, location whichLocation, real radius, boolexpr filter returns nothing
    native HandleListEnumUnitsInRangeOfLoc takes handlelist whichHandleList, location whichLocation, real radius, boolexpr filter returns nothing
    native HandleListEnumItemsInRangeOfLoc takes handlelist whichHandleList, location whichLocation, real radius, boolexpr filter returns nothing
    native HandleListEnumDestructablesInRangeOfLoc takes handlelist whichHandleList, location whichLocation, real radius, boolexpr filter returns nothing
    native HandleListEnumEffectsInRangeOfLoc takes handlelist whichHandleList, location whichLocation, real radius, boolexpr filter returns nothing
    native HandleListEnumMissilesInRangeOfLoc takes handlelist whichHandleList, location whichLocation, real radius, boolexpr filter returns nothing
    native HandleListEnumInRect takes handlelist whichHandleList, rect whichRect, boolexpr filter returns nothing
    native HandleListEnumInRectEx takes handlelist whichHandleList, rect whichRect, integer handleTypeId, boolexpr filter returns nothing
    native HandleListEnumAgentsInRect takes handlelist whichHandleList, rect whichRect, boolexpr filter returns nothing
    native HandleListEnumWidgetsInRect takes handlelist whichHandleList, rect whichRect, boolexpr filter returns nothing
    native HandleListEnumUnitsInRect takes handlelist whichHandleList, rect whichRect, boolexpr filter returns nothing
    native HandleListEnumItemsInRect takes handlelist whichHandleList, rect whichRect, boolexpr filter returns nothing
    native HandleListEnumDestructablesInRect takes handlelist whichHandleList, rect whichRect, boolexpr filter returns nothing
    native HandleListEnumEffectsInRect takes handlelist whichHandleList, rect whichRect, boolexpr filter returns nothing
    native HandleListEnumMissilesInRect takes handlelist whichHandleList, rect whichRect, boolexpr filter returns nothing
    native HandleListEnumByTypeId takes handlelist whichHandleList, integer typeId, boolexpr filter returns nothing
    native HandleListEnumByTypeIdEx takes handlelist whichHandleList, integer handleTypeId, integer typeId, boolexpr filter returns nothing
    native HandleListForEach takes handlelist whichHandleList, code c returns nothing
    native HandleListForEachByType takes handlelist whichHandleList, integer typeId, code c returns nothing
    native HandleListForEachByTypeEx takes handlelist whichHandleList, integer handleTypeId, integer typeId, code c returns nothing
  8. Исправлена опечатка (дополнительное слово "unit" в Get/SetUnitBaseMoveSpeed.
  9. Исправлена критическая ошибка от GetFrameText, если текст фрейма не был инициализирован.
  10. Исправлена критическая ошибка в SetUnitBonusMoveSpeedPercent.
  11. Исправлена критическая ошибка при запуске патча 1.27b.
  12. Исправлена критическая ошибка при смене "страниц" в главном меню на 1.28f.
  13. Добавлена экспериментальная поддержка карт, которые НЕ содержат W3MH (HM3W) заголовок, то бишь карты Рефоржа, у которых ТОЛЬКО MPQ заголовок, они должны теперь хотя бы отображаться в списке карт и их w3i файл должен считываться.
  14. Исправлены нативные функции SetAbilityField ломающие заклинания, максимальный уровень которых выше 4.
  15. Исправлена критическая ошибка при выходе с карты/игры после изменения заклинания типа "канал" ANcl через SetAbilityField и т.д.
  16. Исправлена некорректное изменение цвета виджетов в SetWidgetVertexColour.
  17. Добавлена "поддержка" новой нативной функции DzAPI_Map_GetPlayerUserName.
  18. Добавлена поддержка MMEngine, теперь вы можете запускать её через UjAPI.
Этот комментарий удален
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.21.85

  1. Новые Константы:
    constant targetflag TARGET_FLAG_SELF = ConvertTargetFlag(4096)
    constant targetflag TARGET_FLAG_PLAYER_UNITS = ConvertTargetFlag(8192)
    constant targetflag TARGET_FLAG_ALLIED = ConvertTargetFlag(16384)
    constant targetflag TARGET_FLAG_FRIEND = ConvertTargetFlag(24576) ALLIED | PLAYER_UNITS
    constant targetflag TARGET_FLAG_NEUTRAL = ConvertTargetFlag(32768)
    constant targetflag TARGET_FLAG_ENEMY = ConvertTargetFlag(65536)
    constant targetflag TARGET_FLAG_NOT_SELF = ConvertTargetFlag(122880) ENEMY | NEUTRAL | FRIEND
    constant targetflag TARGET_FLAG_VULNERABLE = ConvertTargetFlag(1048576)
    constant targetflag TARGET_FLAG_INVULNERABLE = ConvertTargetFlag(2097152)
    constant targetflag TARGET_FLAG_HERO = ConvertTargetFlag(4194304)
    constant targetflag TARGET_FLAG_NON_HERO = ConvertTargetFlag(8388608)
    constant targetflag TARGET_FLAG_ALIVE = ConvertTargetFlag(16777216)
    constant targetflag TARGET_FLAG_DEAD = ConvertTargetFlag(33554432)
    constant targetflag TARGET_FLAG_ORGANIC = ConvertTargetFlag(67108864)
    constant targetflag TARGET_FLAG_MECHANICAL = ConvertTargetFlag(134217728)
    constant targetflag TARGET_FLAG_NON_SUICIDAL = ConvertTargetFlag(268435456)
    constant targetflag TARGET_FLAG_SUICIDAL = ConvertTargetFlag(536870912)
    constant targetflag TARGET_FLAG_NON_ANCIENT = ConvertTargetFlag(1073741824)
    constant targetflag TARGET_FLAG_ANCIENT = ConvertTargetFlag(2147483648)
    constant targetflag TARGET_FLAG_EMPTY = ConvertTargetFlag(4294967295)

    constant abilityrealfield ABILITY_RF_AURA_REFRESH_TIME = ConvertAbilityRealField('artm')
    constant abilityintegerlevelfield ABILITY_ILF_TARGETS_ALLOWED = ConvertAbilityIntegerLevelField('atar')

    constant playerunitevent EVENT_PLAYER_UNIT_ATTACK_FINISHED = ConvertPlayerUnitEvent(317)
    constant unitevent EVENT_UNIT_ATTACK_FINISHED = ConvertUnitEvent(316)
  2. Новые Нативные Функции:
    native IsAbilityTargetAllowed takes ability whichAbility, widget whichWidget returns boolean
    native GetSpecialEffectModelObjectPositionX takes effect whichEffect, string whichObject returns real
    native GetSpecialEffectModelObjectPositionY takes effect whichEffect, string whichObject returns real
    native GetSpecialEffectModelObjectPositionZ takes effect whichEffect, string whichObject returns real
    native GetSpecialEffectModelObjectPositionLoc takes effect whichEffect, string whichObject returns location
    native GetTrackableModelObjectPositionX takes trackable whichTrackable, string whichObject returns real
    native GetTrackableModelObjectPositionY takes trackable whichTrackable, string whichObject returns real
    native GetTrackableModelObjectPositionZ takes trackable whichTrackable, string whichObject returns real
    native GetTrackableModelObjectPositionLoc takes trackable whichTrackable, string whichObject returns location
    native GetWidgetModelObjectPositionX takes widget whichWidget, string whichObject returns real
    native GetWidgetModelObjectPositionY takes widget whichWidget, string whichObject returns real
    native GetWidgetModelObjectPositionZ takes widget whichWidget, string whichObject returns real
    native GetWidgetModelObjectPositionLoc takes widget whichWidget, string whichObject returns location
    native GetDestructableModelObjectPositionX takes destructable whichDestructable, string whichObject returns real
    native GetDestructableModelObjectPositionY takes destructable whichDestructable, string whichObject returns real
    native GetDestructableModelObjectPositionZ takes destructable whichDestructable, string whichObject returns real
    native GetDestructableModelObjectPositionLoc takes destructable whichDestructable, string whichObject returns location
    native GetItemModelObjectPositionX takes item whichItem, string whichObject returns real
    native GetItemModelObjectPositionY takes item whichItem, string whichObject returns real
    native GetItemModelObjectPositionZ takes item whichItem, string whichObject returns real
    native GetItemModelObjectPositionLoc takes item whichItem, string whichObject returns location
    native GetUnitModelObjectPositionX takes unit whichUnit, string whichObject returns real
    native GetUnitModelObjectPositionY takes unit whichUnit, string whichObject returns real
    native GetUnitModelObjectPositionZ takes unit whichUnit, string whichObject returns real
    native GetUnitModelObjectPositionLoc takes unit whichUnit, string whichObject returns location
    native GetProjectileModelObjectPositionX takes projectile whichProjectile, string whichObject returns real
    native GetProjectileModelObjectPositionY takes projectile whichProjectile, string whichObject returns real
    native GetProjectileModelObjectPositionZ takes projectile whichProjectile, string whichObject returns real
    native GetProjectileModelObjectPositionLoc takes projectile whichProjectile, string whichObject returns location
    Frame API
    native GetFrameCheckState takes fremehandle whichFrame returns boolean
    native SetFrameCheckState takes framehandle whichFrame, boolean isCheck returns nothing
    native GetTriggerFrameMouseButton takes nothing returns mousebuttontype
    native RegisterFrameMouseButton takes framehandle whichFrame, mousebuttontype whichButton, boolean isAdd returns nothing
  3. Исправлены CLI команды, которые порой не посылались/приходили с ошибкой.
  4. Исправлена ошибка "дочерних" приложений UjAPI, которая мешала им посылать CLI команды главному приложению.
  5. Исправлена IsTextTagVisible, которая возвращала инверсное значение.
  6. Исправлена CastAbilityTarget вызывающая критическую ошибку при применении на поддерживаемой целевом заклинании.
  7. Переделана SetUnitSelectable, теперь она более не имитирует "смерть", чтобы достигнуть невыделяемого/ненаводимого состояния.
  8. SetFrameTexture теперь работает с CSimpleButton/CCommandButton/CSimpleCheckBox.
  9. CSimpleCheckBox теперь поддерживается, так же добавлена поддержка CLICK/CHECK событий, вместе с RegisterFrameMouseButton.
  10. CONTROL_CLICK и MOUSE_DOUBLECLICK события теперь могут быть применены к CListBoxWar3 фреймам.
  11. Исправлены почти все ABILITY_RLF_ поля, которые имеют цифру в конце их typeId, они теперь должны работать как и задумывалось.
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.22.88

  1. Новые Типы:
type pathingaitype extends handle
type collisiontype extends handle
type textfilehandle extends handle
  1. Новые Конвертеры:
constant native ConvertPathingAIType takes integer i returns pathingaitype
constant native ConvertCollisionType takes integer i returns collisiontype
  1. Новые Константы:
constant pathingaitype PATHING_AI_TYPE_FOOT = ConvertPathingAIType(0)
constant pathingaitype PATHING_AI_TYPE_AMPHIBIOUS = ConvertPathingAIType(64)
constant pathingaitype PATHING_AI_TYPE_FLOAT = ConvertPathingAIType(128)
constant pathingaitype PATHING_AI_TYPE_FLY = ConvertPathingAIType(192) MOVE_TYPE_AMPHIBIOUS | MOVE_TYPE_FLOAT
constant collisiontype COLLISION_TYPE_NONE = ConvertCollisionType(0)
constant collisiontype COLLISION_TYPE_ANY = ConvertCollisionType(1)
constant collisiontype COLLISION_TYPE_FOOT = ConvertCollisionType(2)
constant collisiontype COLLISION_TYPE_AIR = ConvertCollisionType(4)
constant collisiontype COLLISION_TYPE_BUILDING = ConvertCollisionType(8)
constant collisiontype COLLISION_TYPE_HARVESTER = ConvertCollisionType(16)
constant collisiontype COLLISION_TYPE_BLIGHTED = ConvertCollisionType(32)
constant collisiontype COLLISION_TYPE_FLOAT = ConvertCollisionType(64)
constant collisiontype COLLISION_TYPE_AMPHIBIOUS = ConvertCollisionType(128)
constant collisiontype COLLISION_TYPE_GROUND = ConvertCollisionType(202) COLLISION_TYPE_FOOT | COLLISION_TYPE_BUILDING | COLLISION_TYPE_FLOAT | COLLISION_TYPE_AMPHIBIOUS
constant originframetype ORIGIN_FRAME_INVENTORY_COVER_FRAME = ConvertOriginFrameType(45)
constant originframetype ORIGIN_FRAME_UNIT_TIP = ConvertOriginFrameType(46)
constant unitevent EVENT_UNIT_DECAY_FINISHED = ConvertUnitEvent(318)
constant playerunitevent EVENT_PLAYER_UNIT_DECAY_FINISHED = ConvertPlayerUnitEvent(319)
constant frameeventtype FRAMEEVENT_CHECKBOX_CHANGED = ConvertFrameEventType(17)
constant frameeventtype FRAMEEVENT_CONTROL_RELEASE = ConvertFrameEventType(18)
constant frameeventtype FRAMEEVENT_CONTROL_DRAG = ConvertFrameEventType(19)
constant unitintegerfield UNIT_IF_COLLISION_TYPE = ConvertUnitIntegerField('ucot')
constant unitintegerfield UNIT_IF_PATHING_AI = ConvertUnitIntegerField('upai')
constant unitintegerfield UNIT_IF_PATHING_TYPE = ConvertUnitIntegerField('upat')
  1. Удалённые Нативные Функции:
native SetUnitMoveTypeByIndex takes unit whichUnit, integer moveIndex returns nothing
  1. Новые Нативные Функции:
native IntToChar takes integer i returns string
native BitwiseSetBit takes integer i, integer bitIndex, integer bitValue returns integer
native BitwiseSetByte takes integer i, integer byteIndex, integer byteValue returns integer
native BitwiseToInteger takes integer byte1, integer byte2, integer byte3, integer byte4 returns integer

native GetTimeStamp takes boolean isLocalTime, integer isMiliseconds returns string
native ConsoleEnable takes boolean flag returns nothing
native ConsolePrint takes string s returns nothing

native TextFileOpen takes string filePath returns textfilehandle
native TextFileGetPath takes textfilehandle whichTextFile returns string
native TextFileClose takes textfilehandle whichTextFile returns nothing
native TextFileClear takes textfilehandle whichTextFile returns nothing
native TextFileErase takes textfilehandle whichTextFile returns nothing
native TextFileCountLines takes textfilehandle whichTextFile returns integer
native TextFileReadLine takes textfilehandle whichTextFile, integer lineNumber returns string
native TextFileReadAll takes textfilehandle whichTextFile returns string
native TextFileWriteLine takes textfilehandle whichTextFile, string text returns nothing

native IsCursorEnabled takes nothing returns boolean
native SetCursorEnabled takes boolean enable returns nothing
native IsCursorAnimationLocked takes nothing returns boolean
native SetCursorAnimationLocked takes boolean isLock returns nothing
native IsFrameDraggable takes framehandle whichFrame returns boolean
native SetFrameDraggable takes framehandle whichFrame, boolean enabled returns nothing
native GetFrameModel takes framehandle whichFrame returns string
native SetFrameSpriteMaterialScale takes framehandle whichFrame, real sizeX, real sizeY, real sizeZ returns nothing
native IsWidgetTipEnabled takes nothing returns boolean
native SetWidgetTipEnabled takes boolean enable returns nothing
native IsAbilityBaseTargetAllowed takes integer abilityId, widget source, widget target returns boolean source can be null
native IsWidgetTargetAllowed takes widget source, widget target, targetflag whichFlags returns boolean

native GetUnitCollisionType takes unit whichUnit returns collisiontype
native SetUnitCollisionType takes unit whichUnit, collisiontype collisionType returns nothing
  1. Изменение Констант:
JASS_MAX_ARRAY_SIZE increased from 8192 to 262144.
  1. Исправлена IsSpecialEffectVisible, ранее возвращала инверсное значение.
  2. Исправлена ShowFrame, теперь она полноценно работает с CSimpleRegion/CSimpleTexture/CSimpleFrame и со всеми их дочерними типами.
  3. SetFrameTexture изменено имя аргумента "flag" на "textureId".
  4. SetFrameTexture теперь работает на CConsoleUI.
Пример: call SetFrameTexture( frm, "UI\\Console\\Orc\\OrcUITile01.blp", 0, false )
Пояснение: Консоль имеет 4 "части" потому индексы 0-3.
  1. Исправлена IsAbilityTargetAllowed, теперь она правильно определяет все флаги целей.
  2. Тип хендла targetflag type теперь работает по принципу CDataFieldWar3, чтобы избежать критической ошибки на флагах выше 0x100000 конвертируемые через ConvertTargetFlag.
  3. Исправлено поле ITEM_SF_ABILITY_LIST возвращающая "<null>".
  4. Исправлена критическая ошибка вызванная ABILITY_SLF_SPELL_LIST.
  5. ABILITY_SLF_SPELL_LIST опция теперь так же работает и на базовом заклинании и на интстанцируемом (Get и Set).
Примечание: данное поле игнорирует минимальное/максимальное количество заклинании, потому что мне было лень это делать.
Пример использования: call SetAbilityStringLevelField( GetUnitAbility( u, 'Aspb' ), ABILITY_SLF_SPELL_LIST, 0, "AHad,AHhb,AHbz,AUau" )
  1. SetFrameTexture теперь автоматически будет проверять расширения .tga/.blp (в этом порядке) если в пути файла отсутствует расширение файла.
Пример: call SetFrameTexture( frm, "UI\\Console\\Orc\\OrcUITile01", 0, false ), автоматически добавит .blp в конец пути.
  1. Исправлено по-большей части сломанное API синхронизации, пометка для себя попытка инстансирования CGameWar3 - была ужасно тупой затеей.
  2. Исправлен очень-очень старый баг со спеллбуком, когда он был частью предмета и этот предмет был переложен из одного слота в другой, тем самым применение предмета не прорисовывало эти заклинания.
Пометка: старый метод "исправления" этой ошибки являлся банальным выбрасыванием и подбором предмета.
  1. Значительно улучшено Frame API для CCursor фрейма.
  2. Удалён (или по крайней мере сильно увеличен) лимит RCString (Джасс строки).
Пометка: оригинальный лимит был 4097 (4096 + 1 для нуль-терминирования).
  1. Отладчик Jass ошибок, теперь печатает ошибки сгруппировано.
  2. Исправлена ошибка ввиду которой функция GetFrameChildByIndex не выдавала фрейм на 0 индексе.
  3. Исправлена критическая ошибка с SetFrameEnabled и BlzSetFrameEnable на Backdrop фреймах.
  4. Исправлен нерабочий внутренний обработчик ITEM_IF полей. (одним из этих полей являлся ITEM_IF_GOLD_COST).
  5. Переделаны GetFrameChild и GetFrameChildrenCount.
  6. FRAMEEVENT_MOUSE_ENTER и FRAMEEVENT_MOUSE_LEAVE теперь могут быть применены с IconDamage, IconHero, IconArmor, и т.д..
  7. Исправлены некоторые "неподдерживаемые" клавиши, такие как OSKEY_TAB, VK_SHIFT, и т.д..
  8. Потенциально полностью исправлена ошибка "паузы игры", которая ломала одиночный режим при альт-табе, если какой-либо KeyEvent был зарегистрирован.
Пояснение: этот баг только "преследовал" режим одиночной игры и никак не мог произойти в локальной/мультиплеерном режиме.
  1. Исправлены нерабочие события FRAMEEVENT_MOUSE_DOWN и FRAMEEVENT_MOUSE_UP для всех CControl фреймов.
  2. Исправлена RegisterFrameMouseButton неправильно обрабатывающая mousebuttontype, MIDDLE считывался как RIGHT, а RIGHT как MIDDLE.
  3. Исправлена ошибка в UjAPILauncher.exe, которая порой не позволяла запустить игру в виду полноэкранного режима.
  4. Исправлена ошибка в UjAPILauncher.exe, которая не позволяла CLI обработчику запустить игру, если все настройки были пустые.
  5. Поле юнита COLLISION_SIZE теперь работает в уникальном/инстанцируемом типа. Данное поле не меняет базовые данные, для изменения базовых данных используйте SetUnitBaseRealField, и т.д..
  6. Get/SetUnitMoveAIType "Move" переименован в "Pathing" и они теперь используют pathingaitype как аргументы.
  7. Get/SetUnitMoveType "Move" переименован в "Pathing" и они теперь используют pathingtype как аргументы.
  8. Добавлен модуль UnlockMapSizeLimit.dll.
  9. Добавлена опция Remove Map Size Limit в UjAPILauncher.
  10. Добавлена CLI команда -nomapsizelimit, для загрузки UnlockMapSizeLimit модуля
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.23.91

  1. Новые Нативные Функции:
native MathRealClamp takes real value, real min, real max returns real
native MathRealLerp takes real a, real b, real t returns real
native MathIntegerClamp takes integer value, integer min, integer max returns integer
native SetFrameWidth takes framehandle whichFrame, real width returns nothing
native SetFrameHeight takes framehandle whichFrame, real height returns nothing
native SetFrameTextVerticalAlignment takes framehandle whichFrame, textaligntype verticalAlign returns nothing
native SetFrameTextHorizontalAlignment takes framehandle whichFrame, textaligntype horizontalAlign returns nothing
native GetFrameTexture takes framehandle whichFrame, integer textureId returns string
native GetFrameTrackState takes framehandle whichFrame returns boolean
native SetFrameTrackState takes framehandle whichFrame, integer trackState returns nothing 0 - NONE | 1 - Track | 2 - Ignore Track
native SetFrameTextureEx takes framehandle whichFrame, string backgroundTextureFile, string borderTextureFile, integer textureId, boolean blend returns nothing
  1. CSimpleTexture теперь могут быть созданы через CreateFrameByType, используя фреймтип "SIMPLETEXTURE".
  2. CSimpleFontString теперь могут быть созданы через CreateFrameByType, используя фреймтип "SIMPLETEXT".
  3. FRAMEEVENT_MOUSE_DOWN и FRAMEEVENT_MOUSE_UP теперь полноценно работают со CSimpleButtons и со всеми их дочерними типами.
  4. Исправлено нерабочее Frame API для CScrollBar.
  5. Исправлен инверсированный флаг в BlzUnitHideAbility.
  6. Исправлены все нестандартные/новые события, которые работали лишь с последним добавленным действием.
    Спасибо пользователю Radioactive за то, что он заметил и сообщил об этой серьёзной проблеме.
  7. В очередной раз исправлены CSpellbook взимодействия и ABILITY_SF_FIELD_ABILITY_LIST.
  8. Исправлена критическая ошибка на загрузке карт на 1.27a/1.27b/1.28f.
    Пометка: это была новая ошибка, которая "всплыла" в виду снятия лимита RCString (джасс строк).
  9. Исправлена SetAbilityString не вызывающая клонирование UI данных.
  10. Исправлена ошибка, в виду которой StringReplace заменяла лишь 1 символ, заместо всех.
  11. Исправлена ошибка, в виду которой StringReplace не срабатывала, если заменяемая строка была пустой.
  12. Слегка увеличено время ожидания обработки пакетов, это должно исправить проблему, по которой UjAPI иногда не запускало карту, если она была указана в аргументах запуска.
  13. Добавлена Jass секция в UjAPI аппликацию.
  14. Добавлена опция Dev Mode в Jass секцию. Включение этой опции даст UjAPI возможность отображать имя текущей выполняемой функции в консоли.
  15. Добавлена опция Log Actions в Jass секцию. Включение этой опции даст UjAPI возможность отображать каждый шаг выполнения джасс байткода в консоли.
    Пример: ADD real -> -2816.000000 + 512.000000 = -2304.000000.
    Note: there are a total of 43 different types of operations (opcodes).
  16. Добавлена "-jass" CLI опция, для получения доступа к новому функционалу как Dev Mode и Log Actions.
  17. Добавлена "dev" опция для "-jass" CLI опции.
    Пример: "-jass dev".
  18. Добавлена "logactions" опция для "-jass" CLI опции.
    Пример: "-jass logactions".
  19. Get/SetFrameAlpha теперь должны работать с CSimpleFrames, у которых есть текстуры, а также со всеми CSimpleRegions.
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.24.92

  1. Новые Нативные Функции:
    native RemoveSound takes sound whichSound returns nothing
    native ReplaceSound takes sound whichSound, string fileName, boolean looping, boolean is3D, boolean stopwhenoutofrange, integer fadeInRate, integer fadeOutRate, string eaxSetting returns sound
    native ReplaceSoundWithLabel takes sound whichSound, string fileName, boolean looping, boolean is3D, boolean stopwhenoutofrange, integer fadeInRate, integer fadeOutRate, string SLKEntryName returns sound
    native ReplaceSoundFromLabel takes sound whichSound, string soundLabel, boolean looping, boolean is3D, boolean stopwhenoutofrange, integer fadeInRate, integer fadeOutRate returns sound
    native ReplaceMIDISound takes sound whichSound, string soundLabel, integer fadeInRate, integer fadeOutRate returns sound

    native TextFileExists takes string filePath returns boolean
  2. В очередной раз исправлена функция SetFrameTexture для CBackdropFrame.
  3. Исправлена критическая ошибка в GetStringField при использовании на пустое поле.
  4. TextFileErase переименовано в TextFileDelete.
  5. Исправлен не выполняющийся EVENT_WIDGET_DEATH.
  6. GetKillingUnit теперь работает с EVENT_WIDGET_DEATH.
  7. Исправлена критическая ошибка от HandleListEnumByTypeId.
  8. Исправлены частично-сломанные функции HandleListGetTYPEByIndex, теперь они работают как и должны.
    Пометка: HandleListGetHandleByIndex и HandleListGetAgentByIndex работали без каких-либо проблем.
  9. Исправлен Jass Logger Dev Mode не открывающий Дебаг Консоль.
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.25.94

  1. Новые Нативные Функции:
    native ConsolePause takes string s returns nothing
    native GetTickCount takes nothing returns integer
    native GetSpecialEffectCurrentAnimationId takes effect whichEffect returns integer
    native GetTrackableCurrentAnimationId takes trackable whichTrackable returns integer
    native GetWidgetCurrentAnimationId takes widget whichWidget returns integer
    native GetDestructableCurrentAnimationId takes destructable whichDestructable returns integer
    native GetItemCurrentAnimationId takes item whichItem returns integer
    native GetUnitCurrentAnimationId takes unit whichUnit returns integer
    native GetProjectileCurrentAnimationId takes projectile whichProjectile returns integer
    native GetFrameSpriteCurrentAnimationId takes framehandle whichFrame returns integer
    native GetFrameColourEx takes framehandle whichFrame, integer textureId returns integer
    native SetFrameColourEx takes framehandle whichFrame, integer textureId, integer colour returns nothing
    native GetFrameColour takes framehandle whichFrame returns integer
    native SetFrameColour takes framehandle whichFrame, integer colour returns nothing
    native GetFrameAlphaEx takes framehandle whichFrame, integer textureId returns integer
    native SetFrameAlphaEx takes framehandle whichFrame, integer textureId, integer alpha returns nothing
  2. Исправлена ошибка при которой HideOriginFrames также скрывала и фреймы предметов, чего быть не должно.
  3. Исправлена неправильно работающая IsFrameVisible с CSimpleRegions/CSimpleFrames и с их дочерними фреймами.
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.26.97

  1. Новые Типы:
    type mappedfield extends handle
    type mappedtype extends handle
    type attachmenttype extends mappedtype
    type bonetype extends attachmenttype
    type cursoranimtype extends mappedtype
  2. Новые Конверторы:
    constant native ConvertMappedField takes integer i returns mappedfield
    constant native ConvertAttachmentType takes integer i returns attachmenttype
    constant native ConvertBoneType takes integer i returns bonetype
    constant native ConvertCursorAnimType takes integer i returns cursoranimtype
  3. Новые Константы:
    constant mappedfield MAPPED_FIELD_ATTACHMENT = ConvertMappedField(0)
    constant mappedfield MAPPED_FIELD_BONE = ConvertMappedField(1)
    constant mappedfield MAPPED_FIELD_ANIMATION = ConvertMappedField(2)
    constant mappedfield MAPPED_FIELD_SUB_ANIMATION = ConvertMappedField(3)
    constant mappedfield MAPPED_CURSOR_SUB_ANIMATION = ConvertMappedField(4)

    constant attachmenttype ATTACHMENT_TYPE_CHEST = ConvertAttachmentType('ches')
    constant attachmenttype ATTACHMENT_TYPE_FEET = ConvertAttachmentType('feet')
    constant attachmenttype ATTACHMENT_TYPE_FOOT = ConvertAttachmentType('foot')
    constant attachmenttype ATTACHMENT_TYPE_HAND = ConvertAttachmentType('hand')
    constant attachmenttype ATTACHMENT_TYPE_HEAD = ConvertAttachmentType('head')
    constant attachmenttype ATTACHMENT_TYPE_ORIGIN = ConvertAttachmentType('orig')
    constant attachmenttype ATTACHMENT_TYPE_OVERHEAD = ConvertAttachmentType('over')
    constant attachmenttype ATTACHMENT_TYPE_SPRITE = ConvertAttachmentType('spri')
    constant attachmenttype ATTACHMENT_TYPE_WEAPON = ConvertAttachmentType('weap')
    constant attachmenttype ATTACHMENT_TYPE_ALTERNATE = ConvertAttachmentType('alte')
    constant attachmenttype ATTACHMENT_TYPE_LEFT = ConvertAttachmentType('left')
    constant attachmenttype ATTACHMENT_TYPE_RIGHT = ConvertAttachmentType('righ')
    constant attachmenttype ATTACHMENT_TYPE_MOUNT = ConvertAttachmentType('moun')
    constant attachmenttype ATTACHMENT_TYPE_REAR = ConvertAttachmentType('rear')
    constant attachmenttype ATTACHMENT_TYPE_SMART = ConvertAttachmentType('smar')
    constant attachmenttype ATTACHMENT_TYPE_FIRST = ConvertAttachmentType('firs')
    constant attachmenttype ATTACHMENT_TYPE_SECOND = ConvertAttachmentType('seco')
    constant attachmenttype ATTACHMENT_TYPE_THIRD = ConvertAttachmentType('thir')
    constant attachmenttype ATTACHMENT_TYPE_FOURTH = ConvertAttachmentType('four')
    constant attachmenttype ATTACHMENT_TYPE_FIFTH = ConvertAttachmentType('fift')
    constant attachmenttype ATTACHMENT_TYPE_SIXTH = ConvertAttachmentType('sixt')
    constant attachmenttype ATTACHMENT_TYPE_SMALL = ConvertAttachmentType('smal')
    constant attachmenttype ATTACHMENT_TYPE_MEDIUM = ConvertAttachmentType('medi')
    constant attachmenttype ATTACHMENT_TYPE_LARGE = ConvertAttachmentType('larg')
    constant attachmenttype ATTACHMENT_TYPE_GOLD = ConvertAttachmentType('gold')
    constant attachmenttype ATTACHMENT_TYPE_RALLYPOINT = ConvertAttachmentType('rall')
    constant attachmenttype ATTACHMENT_TYPE_EAT_TREE = ConvertAttachmentType('eatt')

    constant bonetype BONE_TYPE_CHEST = ConvertBoneType('ches')
    constant bonetype BONE_TYPE_FOOT = ConvertBoneType('foot')
    constant bonetype BONE_TYPE_HAND = ConvertBoneType('hand')
    constant bonetype BONE_TYPE_HEAD = ConvertBoneType('head')
    constant bonetype BONE_TYPE_TURRET = ConvertBoneType('turr')
    constant bonetype BONE_TYPE_ALTERNATE = ConvertBoneType('alte')
    constant bonetype BONE_TYPE_LEFT = ConvertBoneType('left')
    constant bonetype BONE_TYPE_RIGHT = ConvertBoneType('righ')
    constant bonetype BONE_TYPE_MOUNT = ConvertBoneType('moun')
    constant bonetype BONE_TYPE_SMART = ConvertBoneType('smar')

    constant cursoranimtype CURSORANIM_TYPE_NORMAL = ConvertCursorAnimType(0)
    constant cursoranimtype CURSORANIM_TYPE_SELECT = ConvertCursorAnimType(1)
    constant cursoranimtype CURSORANIM_TYPE_TARGET = ConvertCursorAnimType(2)
    constant cursoranimtype CURSORANIM_TYPE_TARGET_SELECT = ConvertCursorAnimType(3)
    constant cursoranimtype CURSORANIM_TYPE_INVALID_TARGET = ConvertCursorAnimType(4)
    constant cursoranimtype CURSORANIM_TYPE_HOLD_ITEM = ConvertCursorAnimType(5)
    constant cursoranimtype CURSORANIM_TYPE_SCROLL = ConvertCursorAnimType(6)
    constant cursoranimtype CURSORANIM_TYPE_LEFT = ConvertCursorAnimType(7)
    constant cursoranimtype CURSORANIM_TYPE_RIGHT = ConvertCursorAnimType(8)
    constant cursoranimtype CURSORANIM_TYPE_UP = ConvertCursorAnimType(9)
    constant cursoranimtype CURSORANIM_TYPE_DOWN = ConvertCursorAnimType(10)
  1. Удалённые Нативные Функции:
    native GetAnimationName takes animtype whichAnim returns string
  2. Новые Нативные Функции:
    native GetMiscDataString takes string sectionName, string optionName, integer index returns string
    native SetMiscDataString takes string sectionName, string optionName, integer index, string value returns nothing

    native GetSkinDataString takes string raceName, string sectionName, string optionName, integer index returns string raceName can be null
    native SetSkinDataString takes string raceName, string sectionName, string optionName, integer index, string value returns nothing raceName can be null

    native GetFDFDataString takes string sectionName, string optionName returns string
    native SetFDFDataString takes string sectionName, string optionName, string value returns nothing

    native GetMappedTypeName takes mappedfield whichField, mappedtype whichMapType returns string

    native TriggerCountEvents takes trigger whichTrigger returns integer
    native TriggerCountConditions takes trigger whichTrigger returns integer
    native TriggerCountActions takes trigger whichTrigger returns integer
    native TriggerRemoveEvent takes trigger whichTrigger, event whichEvent returns nothing
    native TriggerRemoveEventId takes trigger whichTrigger, eventid whichEventId, boolean removeAllOccurences returns nothing
    native TriggerClearEvents takes trigger whichTrigger returns nothing
    native TriggerClear takes trigger whichTrigger returns nothing

    native GetSpecialEffectCurrentAnimationName takes effect whichEffect returns string
    native GetTrackableCurrentAnimationName takes trackable whichTrackable returns string
    native GetWidgetCurrentAnimationName takes widget whichWidget returns string
    native GetDestructableCurrentAnimationName takes destructable whichDestructable returns string
    native GetItemCurrentAnimationName takes item whichItem returns string
    native GetUnitCurrentAnimationName takes unit whichUnit returns string
    native GetProjectileCurrentAnimationName takes projectile whichProjectile returns string
    native GetFrameSpriteCurrentAnimationName takes framehandle whichFrame returns string

    native CreateSimpleGlueFrame takes framehandle whichSimpleParent, framehandle whichSpriteFrame returns framehandle
    native SetFrameName takes framehandle whichFrame, string contextName returns nothing
    native GetFrameContext takes framehandle whichFrame returns integer
    native SetFrameContext takes framehandle whichFrame, integer createContext returns nothing
    native SetFrameContextName takes framehandle whichFrame, string contextName, integer createContext returns nothing
  3. Исправлен неправильный typeId поля ABILITY_IF_BUTTON_HOTKEY_RESEARCH's с aukh на arhk.
  4. Переименовано поле ABILITY_ILF_RESTORED_MANA__1_FOR_CURRENT в ABILITY_ILF_RESTORED_MANA_1_FOR_CURRENT.
  5. textfilehandle тип более не использует реальный менеджмент хендлов, теперь оно использует мнимые хендлы, как fogstate, то бишь теперь оно может быть использовано в локальном блоке.
  6. Добавлен новый экспериментальный парсер w3i, который умеет читать Reforged карты и отображать данные Сил/Игроков (слотов) и информацию карты. А также дать её запускать.
    Пометка: карты написанные на "чистом" луа всё ещё не будут работать, пока Ev3nt не исправит его war3_lua.dll.
    Пометка 2: это "маленькое" изменение потребовало более 1000 строк кода, что же я делаю со своей жизнью...
  7. Технически исправлена неправильная информация в структуре связанной с MemoryAllocation, которая относился к Jass стэку и так далее.
    Пометка: хотя ранее не было ошибок/проблем связанных с этой структурой, это было либо в виду везения, либо в виду малой популярности.
  8. Исправлены все функции связанные с SetAnimationOffsetPercent.
  9. Исправлена критическая ошибка от GetFrameName.
  10. Исправлена GetFrameName, которая ранее работала только со фреймами типа CFrame и его дочерними типами.
  11. Исправлена критическая ошибка, когда GetHandleId применялся на "слишком большие" значения.
  12. ClickFrameEx теперь использует mousebuttontype заместо булевого флага.
  13. Исправлено перекрытие стандартных действий фреймов Предметов/Заклинаний, после регистрации события FRAMEEVENT_MOUSE_DOWN.
  14. Исправлена критическая ошибка от GetFrameParent.
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.27.100

  1. Новые Константы
constant playercolor PLAYER_COLOR_MAROON = ConvertPlayerColor(12)
constant playercolor PLAYER_COLOR_NAVY = ConvertPlayerColor(13)
constant playercolor PLAYER_COLOR_TURQUOISE = ConvertPlayerColor(14)
constant playercolor PLAYER_COLOR_VIOLET = ConvertPlayerColor(15)
constant playercolor PLAYER_COLOR_WHEAT = ConvertPlayerColor(16)
constant playercolor PLAYER_COLOR_PEACH = ConvertPlayerColor(17)
constant playercolor PLAYER_COLOR_MINT = ConvertPlayerColor(18)
constant playercolor PLAYER_COLOR_LAVENDER = ConvertPlayerColor(19)
constant playercolor PLAYER_COLOR_COAL = ConvertPlayerColor(20)
constant playercolor PLAYER_COLOR_SNOW = ConvertPlayerColor(21)
constant playercolor PLAYER_COLOR_EMERALD = ConvertPlayerColor(22)
constant playercolor PLAYER_COLOR_PEANUT = ConvertPlayerColor(23)

constant integer CORNER_FLAG_UPPER_LEFT = 1
constant integer CORNER_FLAG_UPPER_RIGHT = 2
constant integer CORNER_FLAG_BOTTOM_LEFT = 4
constant integer CORNER_FLAG_BOTTOM_RIGHT = 8
constant integer CORNER_FLAG_TOP = 16
constant integer CORNER_FLAG_LEFT = 32
constant integer CORNER_FLAG_BOTTOM = 64
constant integer CORNER_FLAG_RIGHT = 128
constant integer CORNER_FLAG_ALL = 255
  1. Новые Нативные Функции:
constant native GetBJMaxPlayers takes nothing returns integer
constant native GetBJPlayerNeutralVictim takes nothing returns integer
constant native GetBJPlayerNeutralExtra takes nothing returns integer
constant native GetBJMaxPlayerSlots takes nothing returns integer
constant native GetPlayerNeutralPassive takes nothing returns integer
constant native GetPlayerNeutralAggressive takes nothing returns integer

native SaveCode takes hashtable table, integer parentKey, integer childKey, code whichCode returns boolean
native SaveHandleList takes hashtable table, integer parentKey, integer childKey, handlelist whichHandleList returns boolean
native LoadCode takes hashtable table, integer parentKey, integer childKey returns code
native LoadHandleList takes hashtable table, integer parentKey, integer childKey returns handlelist

native GetFrameTypeName takes framehandle whichFrame returns string
native GetFrameCornerFlags takes framehandle whichFrame, integer backdropId returns integer
native SetFrameCornerFlags takes framehandle whichFrame, integer backdropId, integer cornerFlag returns nothing
native GetFrameCornerSize takes framehandle whichFrame, integer backdropId returns real
native SetFrameCornerSize takes framehandle whichFrame, integer backdropId, real value returns nothing
native GetFrameBackgroundSize takes framehandle whichFrame, integer backdropId returns real
native SetFrameBackgroundSize takes framehandle whichFrame, integer backdropId, real value returns nothing
native GetFrameBackgroundInsetById takes framehandle whichFrame, integer backdropId, integer insetId returns real
native SetFrameBackgroundInsets takes framehandle whichFrame, integer backdropId, real minX, real minY, real maxX, real maxY returns nothing
native SetFrameBackgroundInsetById takes framehandle whichFrame, integer backdropId, integer insetId, real value returns nothing
native SetFrameBackdropTexture takes framehandle whichFrame, integer textureId, string backgroundTextureFile, boolean allowTransparency, boolean blend, string borderTextureFile, integer borderFlags, boolean isControlBackdrop returns nothing
  1. Изменена последовательность аргументов SetFrameTextureEx.
  2. Исправлен анализатор опкодов Jass секции, а точнее: GREATER/LESSER/GREATEROREQUAL/LESSEROREQUAL, числовые сравнения изменены с uint32_t на int32_t.
Пометка: это была очень глупая ошибка, которую заметил N1ghtSiren.
  1. Исправлена неверное возвращаемо значение нативной функцией I2C.
Пометка: Оказывается хоть сама переменная code хранит индекс функции, в неё нельзя посылать его напрямую, а нужно посылать адрес Opcode...
Спасибо N1ghtSiren за то, что заметил эту проблему.
  1. Исправлена критическая ошибка от SetWidgetModel и SetWidgetModelEx.
Пометка: Юниты/Предметы/Разрушаемые имели эту же проблему.
Спасибо PinkieNecro за то, что заметил эту проблему.
  1. Исправлена "форсированная" загрузка библиотеки в UjAPIApp даже если опция "Load Library" была отключена.
  2. Исправлен форсированный запуск карты UjAPI приложением, если был указан -loadfile даже при выключенном "Additional Command Line Arguments".
  3. Исправлена ошибка по которой UjAPI приложение не могло удалить старый "инстанс" после обновления.
  4. Исправлено событие EVENT_UNIT_DAMAGED теряющее GetUnitDamageSource когда UnitDamageTarget был вызван внутри него.
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.28.102

  1. Новые Константы:
    constant integer TEXT_TAG_MAX_SIZE = GetTextTagLimit( ) Original 100 limit raised to 1024, this is subject to change if needed.
  2. Новые Нативные Функции:
    constant native GetJassArrayLimit takes nothing returns integer
    constant native GetTextTagLimit takes nothing returns integer

    native GetCodeByName takes string funcName returns code

    native TimerIsPaused takes timer whichTimer returns boolean
    native TimerRestart takes timer whichTimer returns nothing
    native TimerIsPeriodic takes timer whichTimer returns boolean
    native TimerSetPeriodic takes timer whichTimer, boolean isPeriodic returns nothing
    native TimerSetRemaining takes timer whichTimer, real remaining returns nothing
    native TimerSetTimeout takes timer whichTimer, real timeout returns nothing
    native TimerGetCallback takes timer whichTimer returns code
    native TimerSetCallback takes timer whichTimer, code whichFunction returns nothing

    native GetDoodadModel takes doodad whichDoodad returns string
    native SetDoodadModel takes doodad whichDoodad, string whichModel returns nothing
    native IsDoodadVisible takes doodad whichDoodad returns boolean
    native ShowDoodad takes doodad whichDoodad, boolean isShow returns nothing

    native GetLightningSourceX takes lightning whichBolt returns real
    native SetLightningSourceX takes lightning whichBolt, real value returns nothing
    native GetLightningSourceY takes lightning whichBolt returns real
    native SetLightningSourceY takes lightning whichBolt, real value returns nothing
    native GetLightningSourceZ takes lightning whichBolt returns real
    native SetLightningSourceZ takes lightning whichBolt, real value returns nothing
    native GetLightningSourcePositionLocation takes lightning whichBolt returns location
    native SetLightningSourcePositionLocation takes lightning whichBolt, location whichLocation returns nothing
    native GetLightningTargetX takes lightning whichBolt returns real
    native SetLightningTargetX takes lightning whichBolt, real value returns nothing
    native GetLightningTargetY takes lightning whichBolt returns real
    native SetLightningTargetY takes lightning whichBolt, real value returns nothing
    native GetLightningTargetZ takes lightning whichBolt returns real
    native SetLightningTargetZ takes lightning whichBolt, real value returns nothing
    native GetLightningTargetPositionLocation takes lightning whichBolt returns location
    native SetLightningTargetPositionLocation takes lightning whichBolt, location whichLocation returns nothing
    native GetLightningScreenX takes lightning whichBolt returns real
    native GetLightningScreenY takes lightning whichBolt returns real
    native GetLightningColour takes lightning whichBolt returns integer
    native GetLightningLength takes lightning whichBolt returns real
    native SetLightningLength takes lightning whichBolt, real value returns nothing
    native GetLightningNoiseScaling takes lightning whichBolt returns real
    native SetLightningNoiseScaling takes lightning whichBolt, real value returns nothing
    native GetLightningTextureCoordinates takes lightning whichBolt returns real
    native SetLightningTextureCoordinates takes lightning whichBolt, real value returns nothing
    native GetLightningDuration takes lightning whichBolt returns real
    native SetLightningDuration takes lightning whichBolt, real value returns nothing
    native GetLightningTexture takes lightning whichBolt returns string
    native SetLightningTexture takes lightning whichBolt, string textureName returns nothing

    native GetTextTagScreenX takes texttag whichTextTag returns real
    native GetTextTagScreenY takes texttag whichTextTag returns real

    native GetImageScreenX takes image whichImage returns real
    native GetImageScreenY takes image whichImage returns real

    native GetSpecialEffectScreenX takes effect whichEffect returns real
    native GetSpecialEffectScreenY takes effect whichEffect returns real

    native GetTrackableScreenX takes trackable whichTrackable returns real
    native GetTrackableScreenY takes trackable whichTrackable returns real

    native GetWidgetScreenX takes widget whichWidget returns real
    native GetWidgetScreenY takes widget whichWidget returns real

    native GetDestructableScreenX takes destructable whichDestructable returns real
    native GetDestructableScreenY takes destructable whichDestructable returns real

    native GetItemScreenX takes item whichItem returns real
    native GetItemScreenY takes item whichItem returns real

    native GetUnitScreenX takes unit whichUnit returns real
    native GetUnitScreenY takes unit whichUnit returns real

    native GetProjectileScreenX takes projectile whichProjectile returns real
    native GetProjectileScreenY takes projectile whichProjectile returns real

    native HandleListContainsTypeId takes handlelist whichHandleList, integer typeId returns boolean
    native HandleListGetHandleByTypeId takes handlelist whichHandleList, integer typeId, integer index returns handle
    native HandleListRemoveEmpty takes handlelist whichHandleList returns integer
  3. Лимит TextTag'ов был увеличен со 100 до 1024.
    Пометка: использование 512 тексттагов никак не повлияло на фпс, однако тесты проведённые на 8192 увенчались 20 средними фпс, потому лимит был установлен в 1024, так как при этом лимите фпс тоже не пострадал.
  4. Исправлена ошибка в HandleListContainsHandle, по которой оно не определяло содержится хендл или нет.
  5. Исправлена критическая ошибка, при попытке получения индекса превышающего размер массива, если массив был инициализирован.
    Пометка: такой проблемы не было на "ванилле".
  6. Исправлена критическая ошибка от установки RESEARCH/ACTIVATED иконок через SetAbilityStringField, и т.д..
  7. ICON_RESEARCH теперь срабатывает на AHer (Изучение способностей героя) способность и всё связанное с изучением/наёмом и т.д..
  8. Исправлена SetFrameTexture, которая использовала неправильные внутренний аргументы.
  9. Исправлена HideOriginFrames вызывающая критическую ошибку, если была вызвана из main потока без задержки таймера.
  10. Исправлена критическая ошибка для пользователей на Windows 7, которая случалась в виду банально медленного запуска Warcraft III на Windows 7...
    Пометка: ошибка происходила потому, что UjAPI пытался получать доступ к CGlueManager для перезаписи "версии" и добавлении текста версии UjAPI, но это по итогу происходило на "чёрном" экране.
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.29.104

  1. Новые Нативные Функции:
    native GetLightningColourA takes lightning whichBolt returns integer
    native GetLightningColourR takes lightning whichBolt returns integer
    native GetLightningColourG takes lightning whichBolt returns integer
    native GetLightningColourB takes lightning whichBolt returns integer
    native SetLightningColour takes lightning whichBolt, integer r, integer g, integer b, integer a returns boolean

    native GetLocale takes nothing returns string

    native DisplayWarningMessage takes player toPlayer, string message returns nothing
    native DisplayTimedWarningMessage takes player toPlayer, real duration, string message returns nothing
    native DisplayTopMessage takes player toPlayer, string message returns nothing
    native DisplayTimedTopMessage takes player toPlayer, real duration, string message returns nothing

    native TextFileGetSizeByPath takes string filePath returns integer
    native TextFileGetSize takes textfilehandle whichTextFile returns integer

    native CreateDoodad takes integer objectid, real x, real y, real face, real scale, integer variation returns doodad
    native CreateDoodadZ takes integer objectid, real x, real y, real z, real face, real scale, integer variation returns doodad
    native RemoveDoodad takes doodad whichDoodad returns nothing
    native GetDoodadColour takes doodad whichDoodad returns integer
    native SetDoodadColour takes doodad whichDoodad, integer colour returns nothing
    native SetDoodadVertexColour takes doodad whichDoodad, integer red, integer green, integer blue, integer alpha returns nothing
    native GetDoodadScale takes doodad whichDoodad returns real
    native SetDoodadScale takes doodad whichDoodad, real facing returns nothing
    native GetDoodadX takes doodad whichDoodad returns real
    native SetDoodadX takes doodad whichDoodad, real x returns nothing
    native GetDoodadY takes doodad whichDoodad returns real
    native SetDoodadY takes doodad whichDoodad, real y returns nothing
    native GetDoodadZ takes doodad whichDoodad returns real
    native SetDoodadZ takes doodad whichDoodad, real z returns nothing
    native SetDoodadPosition takes doodad whichDoodad, real x, real y returns nothing
    native SetDoodadPositionEx takes doodad whichDoodad, real x, real y, real z returns nothing
    native GetDoodadPositionLocation takes doodad whichDoodad returns location
    native SetDoodadPositionLocation takes doodad whichDoodad, location whichLocation returns nothing
    native GetDoodadScreenX takes doodad whichDoodad returns real
    native GetDoodadScreenY takes doodad whichDoodad returns real
    native SetDoodadMatrixScale takes doodad whichDoodad, real x, real y, real z returns nothing
    native ResetDoodadMatrix takes doodad whichDoodad returns nothing
    native SetDoodadOrientationEx takes doodad whichDoodad, real yaw, real pitch, real roll, integer eulerOrder returns nothing
    native GetDoodadYaw takes doodad whichDoodad returns real
    native SetDoodadYaw takes doodad whichDoodad, real yaw returns nothing
    native GetDoodadFacing takes doodad whichDoodad returns real
    native SetDoodadFacing takes doodad whichDoodad, real facing returns nothing
    native GetDoodadPitch takes doodad whichDoodad returns real
    native SetDoodadPitch takes doodad whichDoodad, real pitch returns nothing
    native GetDoodadRoll takes doodad whichDoodad returns real
    native SetDoodadRoll takes doodad whichDoodad, real roll returns nothing
    native SetDoodadOrientation takes doodad whichDoodad, real yaw, real pitch, real roll returns nothing
    native GetDoodadModel takes doodad whichDoodad returns string
    native SetDoodadModel takes doodad whichDoodad, string whichModel returns nothing

    native GetWidgetTypeId takes widget whichWidget returns integer

    native GetUnitTarget takes unit whichUnit returns widget
    native GetUnitTargetUnit takes unit whichUnit returns unit
    native GetUnitTargetItem takes unit whichUnit returns item
    native GetUnitTargetDestructable takes unit whichUnit returns destructable
    native UnitAttackTarget takes unit whichUnit, widget whichTarget, bool ignoreDistance, boolean isInstant returns nothing ignoreDistance only works if isInstant is set to true.
    native UnitAttackTargetPointZ takes unit whichUnit, real x, real y, real z, boolean ignoreDistance, boolean isInstant returns nothing
    native UnitAttackTargetPoint takes unit whichUnit, real x, real y, boolean ignoreDistance, boolean isInstant returns nothing
    native UnitAttackTargetPointLoc takes unit whichUnit, location whichLocation, boolean ignoreDistance, boolean isInstant returns nothing
    native UnitAttackCancel takes unit whichUnit returns boolean
    native UnitCancelTimedLife takes unit whichUnit returns nothing
    native GetUnitRemainingTimedLife takes unit whichUnit returns real
    native SetUnitRemainingTimedLife takes unit whichUnit, real duration returns nothing

    native CreateIllusion takes player whichPlayer, integer unitTypeId, real x, real y, real facing returns unit
    native CreateIllusionAtLoc takes player whichPlayer, integer unitTypeId, location whichLocation, real facing returns unit
    native CreateIllusionFromUnit takes unit whichUnit returns unit
    native GetIllusionDamageDealt takes unit whichUnit returns real
    native SetIllusionDamageDealt takes unit whichUnit, real multiplier returns nothing
    native GetIllusionDamageReceived takes unit whichUnit returns real
    native SetIllusionDamageReceived takes unit whichUnit, real multiplier returns nothing

    native SetFrameValueEx takes framehandle whichFrame, real value, boolean isFireEvent returns nothing
    native GetFrameStepSize takes framehandle whichFrame returns real
  2. Исправлены некоторые (скорее всего все) способности, которые имели приказ выключения. (Пример: "Трансформация в эльфа" из формы медведя друида).
  3. Исправлена критическая ошибка при использовании DestroyFrame с CSimpleRegion/CSimpleFrame и их дочерними типами.
  4. Исправлены нерабочие OSKEY_UP/DOWN/LEFT/RIGHT кнопки с TriggerRegisterPlayerKeyEvent, и так далее.
  5. SetFrameValue теперь вызывает SLIDER_CHANGE событие.
  6. Исправлены ошибки по которым TriggerRegisterPlayerKeyEvent иногда блокировал ввод.
  7. SetUnitModel и SetUnitModelEx теперь так же обновляют любые и все крепления/эффекты и так далее.
  8. Исправлены нерабочие поля UnitStringFields: ICON_SCORE_SCREEN/MODEL/PORTRAIT/SHADOW_IMAGE_UNIT.
  9. Обновлён TextFile API, теперь оно может читать файлы из MPQ/Карт/Патчей и так далее.
    Пометка: когда TextFile API работает только в режиме чтения с этими файлами.
  10. Исправлены неправильные значения полей UNIT_IF_STRENGTH_BASE/UNIT_IF_AGILITY_BASE/UNIT_IF_INTELLIGENCE_BASE.
  11. UnitResetAttack переименовано в UnitRestartAttack.
  12. Исправлены нерабочие нативные функции UnitRestartAttack и UnitFinishAttack.
  13. Исправлены MathAngleBetweenPoints и MathAngleBetweenLocations возвращающие обратные значения.
  14. UnitRestartAttack и UnitFinishAttack переименованы в: UnitAttackRestart и UnitAttackFinish.
  15. BlzUnitCancelTimedLife теперь работает.
  16. Исправлено нерабочее событие PROJECTILE_HIT для Артиллерии/Артиллерии (линии).
  17. Добавлена экспериментальная система SecurityProtocol для обхода истёкших сертификатов Windows 7 из-за которых C# не мог использовать WebAPI.
    Пометка: это возможно исправит авто апдейтер для последующих версий.
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.29.105

  1. Исправлена неправильная обработка геттера и сеттера поля ABILITY_ILF_TARGET_TYPE.
  2. Добавлены новые методы детекта для АнтиХака.

v1.0.29.106

  1. Исправлена критическая ошибка на 1.28f при выборе карты, при включённом Дебаг Режиме.
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.29.107

  1. Исправлено быстрое меню от WFE, которое ломалось в виду Авто Инжектора.
    Пометка: это происходило потому что UjAPI имело свой код, который позволял включать/выключать быстрое меню, этот код был временно отключён.
  2. Исправлена ошибка по которой UjAPI не работала с аппликацией Frozen Throne.exe.
    Пометка: всё ещё рекомендовано запускать игру через War3.exe для патчей ниже 1.28.
  3. Начиная со следующей версии UjAPI должно без проблем удалять старую аппликацию после обновления.
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.30.110

  1. Новые Типы:
    type agentdatafield extends handle
  2. Удалённые Типы:
    type buffstringfield extends agentdatafield
  3. Удалённые Нативные Функции:
    constant native ConvertBuffStringField takes integer i returns buffstringfield
    native EnableUnitInventory takes unit whichUnit, boolean enable returns nothing
    native IsUnitInventoryEnabledEx takes unit whichUnit returns boolean
    native EnableUnitInventoryEx takes unit whichUnit, boolean enable returns nothing
    native EnableUnitMovement takes unit whichUnit, boolean enable returns nothing
    native IsUnitMovementEnabledEx takes unit whichUnit returns boolean
    native EnableUnitMovementEx takes unit whichUnit, boolean enable returns nothing
    native EnableUnitAttack takes unit whichUnit, boolean enable returns nothing
    native IsUnitAttackEnabledEx takes unit whichUnit returns boolean
    native EnableUnitAttackEx takes unit whichUnit, boolean enable returns nothing
    native SetUnitControl takes unit whichUnit, integer flagValue, boolean isSetFlagValue, boolean ismove, boolean isattack, boolean isinventory returns nothing
    native SetUnitLocustFlag takes unit whichUnit, integer flag, integer mode returns nothing
  4. Новые Нативные Функции:
    native CreateAbility takes integer abilityId returns ability
    native SetAbilityOwner takes ability whichAbility, unit whichUnit returns nothing

    native GetBuffIntegerField takes buff whichBuff, abilityintegerfield whichField returns integer
    native SetBuffIntegerField takes buff whichBuff, abilityintegerfield whichField, integer value returns boolean
    native GetBuffBooleanField takes buff whichBuff, abilittybooleanfield whichField returns boolean
    native SetBuffBooleanField takes buff whichBuff, abilittybooleanfield whichField, boolean value returns boolean
    native GetBuffRealField takes buff whichBuff, abilityrealfield whichField returns real
    native SetBuffRealField takes buff whichBuff, abilityrealfield whichField, real value returns boolean

    native CreateBuff takes integer buffId returns buff
    native SetBuffOwner takes buff whichBuff, unit whichUnit returns nothing
    native ResetBuffFieldData takes buff whichBuff returns boolean Acts same as ResetAbilityFieldData, but for buffs.
    In very early stages of development, may be unstable for now.
    native UnitAddBuff takes unit whichUnit, buff whichBuff returns boolean Does not add duplicates!
    native UnitAddBuffEx takes unit whichUnit, buff whichBuff, boolean checkForDuplicates returns boolean
    native UnitAddBuffById takes unit whichUnit, integer buffId returns boolean Does not add duplicates!
    native UnitAddBuffByIdEx takes unit whichUnit, integer buffId, boolean checkForDuplicates returns boolean

    native UnitEnableInventory takes unit whichUnit, boolean enable, boolean ignoreErrorMessages returns nothing
    native UnitEnableMovement takes unit whichUnit, boolean enable, boolean ignoreErrorMessages returns nothing
    native UnitEnableAttack takes unit whichUnit, boolean enable, boolean ignoreErrorMessages returns nothing
    native IsUnitTruesightImmune takes unit whichUnit returns boolean
    native CreateBuilding takes player whichPlayer, integer unitTypeId, real x, real y, real facing returns unit
    native CreateBuildingEx takes player whichPlayer, integer unitTypeId, real x, real y, real facing, boolean isAutoBuild, boolean workersCanAssist returns unit
    native UnitGetConstructionProgress takes unit whichUnit returns real
    native UnitGetConstructionRemainingTime takes unit whichUnit returns real
    native UnitSetConstructionRemainingTime takes unit whichUnit, real time returns nothing
    native UnitGetUpgradeProgress takes unit whichUnit returns real
    native UnitGetUpgradeRemainingTime takes unit whichUnit returns real
    native UnitSetUpgradeRemainingTime takes unit whichUnit, real time returns nothing

    native HandleListGetDoodadCount takes handlelist whichHandleList returns integer
    native HandleListGetDoodadByIndex takes handlelist whichHandleList, integer index returns doodad
    native HandleListGetFilterDoodad takes nothing returns doodad
    native HandleListGetEnumDoodad takes nothing returns doodad
    native HandleListEnumDoodadsInRange takes handlelist whichHandleList, real x, real y, real radius, boolexpr filter returns nothing
    native HandleListEnumDoodadsInRangeOfLoc takes handlelist whichHandleList, location whichLocation, real radius, boolexpr filter returns nothing
    native HandleListEnumDoodadsInRect takes handlelist whichHandleList, rect whichRect, boolexpr filter returns nothing
    native HandleListEnumUnitAbilities takes handlelist whichHandleList, unit whichUnit, boolexpr filter returns nothing
    native HandleListEnumUnitBuffs takes handlelist whichHandleList, unit whichUnit, boolexpr filter returns nothing
  5. API полей баффов теперь полностью заимствует поля заклинания, это позволит предотвратить огромное количество копий переменных.
  6. BUFF_SF_ICON_NORMAL, BUFF_SF_TOOLTIP_NORMAL, BUFF_SF_TOOLTIP_NORMAL_EXTENDED сохранили свои имена, однако как и сказано выше теперь используют ConvertAbilityStringField вместо ConvertBuffStringField.
  7. Все типы связанные с полями расширяют тип agentdatafield вместо handle.
  8. ABILITY_ILF_MAX_LIFE_GAINED поле теперь работает с SetAbilityIntegerLevelField.
  9. ABILITY_ILF_HIT_POINTS_REGENERATED_PER_SECOND поле теперь работает с SetAbilityIntegerLevelField.
  10. ABILITY_ILF_DEFENSE_BONUS_IDEF поле теперь работает с SetAbilityIntegerLevelField.
  11. ABILITY_ILF_ATTACK_BONUS field поле теперь работает с SetAbilityIntegerLevelField.
  12. ABILITY_ILF_STRENGTH_BONUS_ISTR поле теперь работает с SetAbilityIntegerLevelField.
  13. ABILITY_ILF_AGILITY_BONUS field поле теперь работает с SetAbilityIntegerLevelField.
  14. ABILITY_ILF_INTELLIGENCE_BONUS поле теперь работает с SetAbilityIntegerLevelField.
  15. Исправлена ошибка OnStartPipe для UjAPIApp.exe.
  16. Проведена оптимизация события EVENT_PLAYER_MOUSE_MOVE, а так же ускорено его срабатывание.
  17. SetFrameTooltip теперь работает с Симпл Фрейм наследниками (сам же Simple Frame к сожалению не вызывает события Входа/Выхода).
  18. Исправлена ошибка в SetUnitModel/SetUnitModelEx, которая по итогу множила бонусные характеристики на 2.
    Пометка: это происходило по причине того, что я использовал метод игры "воскрешения" героя, который банально "восстанавливал" пассивные способности, что и вызывало умножение на 2.
  19. Исправлена критическая ошибка при попытке получения/смены позиции эффекта, который был прикреплён к виджету.
  20. Получение позиции эффекта, прикреплённого к виджету теперь будет возвращать позицию виджета, к которому он прикреплён.
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.30.111

  1. Исправлена UnitEnableInventory не отключающая хоткей первого предмета.
  2. Очередная попытка исправления "ошибки" при попытке удаления старой версии приложения.

v1.0.30.112

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

v1.0.31.114

  1. Новые Константы:
    constant unitrealfield UNIT_RF_DEFENSE_BASE = ConvertUnitRealField('udfb') Get Only
    constant unitweaponintegerfield UNIT_WEAPON_IF_ATTACK_DAMAGE_BASE_MINIMUM = ConvertUnitWeaponIntegerField('udm1') Get Only
    constant unitweaponintegerfield UNIT_WEAPON_IF_ATTACK_DAMAGE_BASE_MAXIMUM = ConvertUnitWeaponIntegerField('udh1') Get Only
  2. GetUnitBonusDamageByIndex теперь включает бонусы от характеристик героя.
  3. GetUnitBaseDamageByIndex теперь исключает бонусы от характеристик героя для более точных значений.
  4. Исправлена SetTextTagText отображающая тексттаг даже если он изначально был спрятан, до того как был установлен текст.
  5. PauseUnitEx теперь полностью копирует логику обычной паузы, за исключением скрытия заклинаний, как оно и должно было, более не заимствует логику SetUnitStunned метода.
  6. UjAPI консоль теперь читает/пишет данные в UTF-8 формате.
  7. Исправлена случайная критическая ошибка от добавления баффов с помощью Buff API.
  8. Исправлена критическая ошибка от добавления Mirror Image баффа с помощью Buff API.
  9. Исправлена критическая ошибка от добавления Illusion баффа с помощью Buff API.
  10. Исправлена критическая ошибка от добавления Item Monster баффа с помощью Buff API.
  11. Исправлена критическая ошибка от добавления Lava Monster баффа с помощью Buff API.
37
Ждём, когда анрайза пригласят на работу в китайскую КК платформу, чтобы он встроил нативки в их клиент и китайцы опять смогли показать на что они способны
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.31.115

  1. Новые Константы:
constant unitweaponintegerfield UNIT_WEAPON_IF_ATTACK_DAMAGE_BONUS_FROM_STATS = ConvertUnitWeaponIntegerField('udbs')
  1. Исправлена критическая ошибка вызванная SetBuffField/SetAbilityField, когда вызывалась внутренняя проверка IsBuff.
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.31.116

  1. Исправлена критическая ошибка вызванная CreateIllusionFromUnit на отвратительном 1.28f.
  2. Исправлены ошибки UjAPI, которые иногда происходили с запуском патча 1.28f.
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.32.118

  1. Новые Нативные Функции:
    native CreateIllusionFromUnitEx takes unit whichUnit, boolean copyPassives returns unit
    native GetAbilityOwningItem takes ability whichAbility returns item
    native ShowUnitAbilityEx takes unit whichUnit, integer abilityId, boolean show, boolean checkDuplicates returns nothing
    native DisableUnitAbilityEx takes unit whichUnit, integer abilityId, boolean hide, boolean disable, boolean checkDuplicates returns nothing
    native EnableUnitAbilityEx takes unit whichUnit, integer abilityId, boolean show, boolean enable, boolean checkDuplicates returns nothing
  2. SetUnitBaseDamage и его эквиваленты в виде полей теперь включают в себя дополнительный урон от главной характеристики при перерасчёте.
  3. SetUnitBaseDamage и его эквиваленты в виде полей теперь обновляют интерфейс, для отображения изменений.
  4. SetUnitArmour и его эквиваленты в виде полей теперь обновляют интерфейс, для отображения изменений.
  5. SetUnitArmourType и его эквиваленты в виде полей теперь обновляют интерфейс, для отображения изменений.
  6. SetUnitPrimaryStat и его эквиваленты в виде полей теперь обновляют интерфейс, для отображения изменений.
  7. SetUnitMoveSpeed и его эквиваленты в виде полей теперь обновляют интерфейс, для отображения изменений.
  8. SetUnitBonusMoveSpeedPercent и его эквиваленты в виде полей теперь обновляют интерфейс, для отображения изменений.
  9. Исправлено некорректное обновление дополнительных характеристик через UnitUpdateInfoBar.
  10. Добавлен перехват критических ошибок, это по большей части полезно для патчей 1.27b и 1.28f, теперь в консоль будет выводится базовый адрес game.dll.
  11. UpdateUnitInfoBar теперь возвращает null, так как оригинально возвращаемое значение являлось бесполезным.
  12. UnitUnapplyUpgrades теперь возвращает null, так как оригинально возвращаемое значение являлось бесполезным.
  13. UnitApplyUpgrades теперь возвращает null, так как оригинально возвращаемое значение являлось бесполезным.
  14. Исправлены некорректно работающие поля BUFF_SF_TOOLTIP_NORMAL и BUFF_SF_TOOLTIP_NORMAL_EXTENDED.
  15. HandleListGetBuffByIndex теперь возвращает баффы, как и должно было.
  16. ShowUnitAbility/DisableUnitAbility/EnableUnitAbility более не срабатывают на всех дубликатах, это было вынесено как флаг в Ex версию.
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.33.121

  1. Новые Константы:
    constant originframetype ORIGIN_FRAME_ITEM_BUTTON_COOLDOWN_INDICATOR = ConvertOriginFrameType(47)
    constant originframetype ORIGIN_FRAME_ITEM_BUTTON_AUTOCAST_FRAME = ConvertOriginFrameType(48)
    constant originframetype ORIGIN_FRAME_ITEM_BUTTON_CHARGES_FRAME = ConvertOriginFrameType(49)
    constant originframetype ORIGIN_FRAME_ITEM_BUTTON_CHARGES_TEXT = ConvertOriginFrameType(50)
  2. Новые Нативные Функции:
    native SetProjectileMatrixScale takes projectile whichProjectile, real x, real y, real z returns nothing

    native SetWidgetMatrixScale takes widget whichWidget, real x, real y, real z returns nothing
    native ResetWidgetMatrix takes widget whichWidget returns nothing

    native SetDestructableMatrixScale takes destructable whichDestructable, real x, real y, real z returns nothing
    native ResetDestructableMatrix takes destructable whichDestructable returns nothing

    native SetItemMatrixScale takes item whichItem, real x, real y, real z returns nothing
    native ResetItemMatrix takes item whichItem returns nothing

    native IsUnitAutoOrientationEnabled takes unit whichUnit returns boolean
    native UnitEnableAutoOrientation takes unit whichUnit, boolean enable returns nothing
    native GetUnitYaw takes unit whichUnit returns real
    native SetUnitYaw takes unit whichUnit, real yaw returns boolean
    native GetUnitPitch takes unit whichUnit returns real
    native SetUnitPitch takes unit whichUnit, real pitch returns boolean
    native GetUnitRoll takes unit whichUnit returns real
    native SetUnitRoll takes unit whichUnit, real roll returns boolean
    native SetUnitMatrixScale takes unit whichUnit, real x, real y, real z returns nothing
    native ResetUnitMatrix takes unit whichUnit returns nothing
    native SetUnitOrientation takes unit whichUnit, real yaw, real pitch, real roll returns nothing
    native SetUnitOrientationEx takes unit whichUnit, real yaw, real pitch, real roll, integer eulerOrder returns nothing

    native ResetFrameSpriteMatrix takes framehandle whichFrame returns nothing
  3. ORIGIN_FRAME_COMMAND_BUTTON теперь использует тот же тип индексации что на Reforged.
  4. ORIGIN_FRAME_COMMAND_BUTTON_COOLDOWN_INDICATOR теперь использует тот же тип индексации что на Reforged.
  5. ORIGIN_FRAME_COMMAND_BUTTON_AUTOCAST_FRAME теперь использует тот же тип индексации что на Reforged.
  6. ORIGIN_FRAME_COMMAND_BUTTON_CHARGES_FRAME теперь использует тот же тип индексации что на Reforged.
  7. ORIGIN_FRAME_COMMAND_BUTTON_CHARGES_TEXT теперь использует тот же тип индексации что на Reforged.
  8. Исправлена ошибка, по которой UjAPIApp не работала со сторонними лаунчерами на 1.28f.
    Пометка: эта ошибка была "представлена" когда был оптимизирован метод запуска 1.28f.
  9. Исправлена ошибка по которой AntiHack не вызывал сделанных нововведений/изменений.
  10. Добавлена дополнительная проверка безопасности для Projectile событий.
  11. GetTriggerUnit теперь работает с Projectile событиями.
  12. Исправлена критическая ошибка от SetFrameColour при случайной комбинации цветов для CSimpleRegion/CSimpleFontString/CSimpleTexture.
  13. Ключевой набор слов SpaceRotation изменён на OrientationEx.
  14. Исправлена опечатка в ResetTrackableetMatrix на ResetTrackableMatrix.
  15. Добавлен перехват SetUnitFacingTimed для возможности поворота юнита при отключённой Авто Ориентации.
  16. Добавлен перехват SetUnitFacing для возможности поворота юнита при отключённой Авто Ориентации.
  17. Исправлены CreateProjectile/Ex возвращающие нуль вместо хендла.
  18. SetFrameSpriteMaterialScale переименовано в SetFrameSpriteMatrixScale.
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.33.122

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

v1.0.34.124

  1. Новые Нативные Функции:
    native AntiHackEnableEx takes boolean enable, boolean isModuleCheck, boolean isProcessCheck returns nothing
    native AntiHackEnableModuleCheck takes boolean enable returns nothing
    native AntiHackEnableProcessCheck takes boolean enable returns nothing
  2. EnableAntiHack переименован в AntiHackEnable.
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.35.127

  1. Новые Константы:
    constant originframetype ORIGIN_FRAME_TRAINABLE_BUTTON = ConvertOriginFrameType(51)
    constant originframetype ORIGIN_FRAME_CARGO_BUTTON = ConvertOriginFrameType(52)
    constant originframetype ORIGIN_FRAME_GROUP_BUTTON = ConvertOriginFrameType(53)
  2. Новые Нативные Функции:
    native RemoveProjectile takes projectile whichProjectile returns nothing
  3. Исправлена обработка Редактора Объектов, теперь стандартный РО может быть использован с UjAPI.
  4. FRAMEEVENT_DIALOG_ACCEPT теперь полноценно реализован.
  5. FRAMEEVENT_DIALOG_CANCEL теперь полноценно реализован.
  6. FRAMEEVENT_SPRITE_ANIM_UPDATE теперь полноценно реализован.
    Пометка: это событие происходит каждое обновление экрана для фрейма, я НЕ советую использовать это событие, если только оно именно необходимо.
  7. Оптимизировано и уменьшено количество отправляемых пакетов от действий Фреймов.
    Пометка: эта система банально ищет схожие/идентичные события и удаляет их из цикла посылаемых пакетов.
  8. Исправлена критическая ошибка вызываемая любым приказом на SHIFT. (это было связано с путевыми точками).
  9. Исправлена критическая ошибка при убийстве снаряда в момент его запуска.
  10. Исправлен отсутствующий пересчёт базовой скорости в MorphUnitToTypeId/Ex.
  11. FRAMEEVENT_CONTROL_CLICK теперь работает со фреймом миникарты.
  12. FRAMEEVENT_CONTROL_RELEASE теперь работает со фреймом миникарты.
  13. FRAMEEVENT_CONTROL_DRAG теперь работает со фреймом миникарты.
  14. Исправлена критическая ошибка от CreateDoodad.
20
Вышла новая версия! Прокрутить к ресурсу

v1.0.35.128

  1. Исправлена неправильная обработка GetEventDamage.
  2. Исправлена неправильная обработка Магического/Немагического урона.
    Пометка: IsEventAttack теперь работает правильно, UnitDamageTarget всегда считается "магической" атакой, однако если установлен буль isAttack, то добавится 0x100 флаг - "урон при попадании" (то бишь старая проверка на атаку).
Чтобы оставить комментарий, пожалуйста, войдите на сайт.