UjAPI

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


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

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

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

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

`
ОЖИДАНИЕ РЕКЛАМЫ...
4
20
3 месяца назад
Отредактирован Unryze
4
Вышла новая версия!

v1.1.4.167

1. Новые Типы:
	type war3image											extends agent
	type styleflag											extends handle
	type layerstyleflag										extends flagtype
	type controlstyleflag									extends flagtype
2. Новые Конверторы:
	constant native ConvertLayerStyleFlag					takes integer i returns layerstyleflag
	constant native ConvertControlStyleFlag					takes integer i returns controlstyleflag
3. Новые Константы:
	constant originframetype			ORIGIN_FRAME_SIMPLE_TOP										= ConvertOriginFrameType(56) // This frame contains all CSimpleRegions/CSimpleFrames.
	//
	constant layerstyleflag				LAYER_STYLE_SVIEWPOINT										= ConvertLayerStyleFlag(1)
	constant layerstyleflag				LAYER_STYLE_IGNORE_TRACK_EVENTS								= ConvertLayerStyleFlag(2)
	constant layerstyleflag				LAYER_STYLE_SHADING											= ConvertLayerStyleFlag(4)
	constant layerstyleflag				LAYER_STYLE_NO_DEPTH_SET									= ConvertLayerStyleFlag(16)
	constant layerstyleflag				LAYER_STYLE_NO_DEPTH_TEST									= ConvertLayerStyleFlag(32)
	//
	constant controlstyleflag 			CONTROL_STYLE_AUTOTRACK										= ConvertControlStyleFlag(1)
	constant controlstyleflag 			CONTROL_STYLE_CLICK_MOUSE_DOWN								= ConvertControlStyleFlag(2)
	constant controlstyleflag 			CONTROL_STYLE_RELEASE_NOTIFY								= ConvertControlStyleFlag(4)
	constant controlstyleflag 			CONTROL_STYLE_DRAG											= ConvertControlStyleFlag(8)
	constant controlstyleflag 			CONTROL_STYLE_HIGHLIGHT_FOCUS								= ConvertControlStyleFlag(32)
	constant controlstyleflag 			CONTROL_STYLE_HIGHLIGHT_HOVER								= ConvertControlStyleFlag(64)
	constant controlstyleflag 			CONTROL_STYLE_SLIDER_STEP									= ConvertControlStyleFlag(128)
	constant controlstyleflag 			CONTROL_STYLE_EXCLUSIVE										= ConvertControlStyleFlag(512)
	constant controlstyleflag 			CONTROL_STYLE_AT_LEAST_ONE									= ConvertControlStyleFlag(1024)
4. Удалённые Нативные Функции:
	native IsFrameDraggable									takes framehandle whichFrame returns boolean
	native SetFrameDraggable								takes framehandle whichFrame, boolean enabled returns nothing
	native GetFrameTrackState								takes framehandle whichFrame returns integer
	native SetFrameTrackState								takes framehandle whichFrame, integer trackState returns nothing // 0 - NONE | 1 - Track | 2 - Ignore Track
5. Новые Нативные Функции:
	native GetWar3ImagePlayerColour							takes war3image whichWar3Image returns playercolor // This gets glow/team colour.
	native SetWar3ImagePlayerColour							takes war3image whichWar3Image, playercolor color returns nothing // This sets Glow and Team Colour. Mimics the SetUnitColor.
	native SetWar3ImageMaterialTexture						takes war3image whichWar3Image, string textureName, integer materialId, integer textureIndex returns nothing
	native SetWar3ImageTexture								takes war3image whichWar3Image, string textureName, integer textureIndex returns nothing
	native SetWar3ImageReplaceableTexture					takes war3image whichWar3Image, string textureName, integer textureIndex returns nothing // 1 - TeamColour | 2 - TeamGlow | 11 - Cliff0/1 |  21 - "grabbed texture" for CCursorFrame | 31-37 trees.
	native GetWar3ImageModel								takes war3image whichWar3Image returns string
	native SetWar3ImageModel								takes war3image whichWar3Image, string modelName returns nothing
	native SetWar3ImageModelEx								takes war3image whichWar3Image, string modelName, integer playerColour returns nothing // 0-15, -1 to ignore the colour.
	native GetWidgetUnderCursor								takes nothing returns widget // Async
	native GetWidgetPlayerColour							takes widget whichWidget returns playercolor
	native SetWidgetPlayerColour							takes widget whichWidget, playercolor color returns nothing
	native GetDestructableUnderCursor						takes nothing returns destructable // Async
	native GetDestructablePlayerColour						takes destructable whichDestructable returns playercolor
	native SetDestructablePlayerColour						takes destructable whichDestructable, playercolor color returns nothing
	native GetItemUnderCursor								takes nothing returns item // Async
	native GetItemPlayerColour								takes item whichItem returns playercolor
	native SetItemPlayerColour								takes item whichItem, playercolor color returns nothing
	native IsItemDroppable									takes item whichItem returns boolean
	native GetUnitPlayerColour								takes unit whichUnit returns playercolor
	native SetUnitPlayerColour								takes unit whichUnit, playercolor color returns nothing
	native IsUnitGhosted									takes unit whichUnit returns boolean
	native SetUnitGhosted									takes unit whichUnit, boolean state, real transitionTime returns nothing // Attacking from this state does not cause the unit to exit Ghost state.
    native GetProjectilePlayerColour						takes projectile whichProjectile returns playercolor
	native GetDoodadPlayerColour							takes doodad whichDoodad returns playercolor
	native SetDoodadPlayerColour							takes doodad whichDoodad, playercolor color returns nothing
	native SetDoodadModelEx									takes doodad whichDoodad, string modelFile, integer playerId returns nothing
	native SetDoodadMaterialTexture							takes doodad whichDoodad, string textureName, integer materialId, integer textureIndex returns nothing
	native SetDoodadTexture									takes doodad whichDoodad, string textureName, integer textureIndex returns nothing
	native SetDoodadReplaceableTexture						takes doodad whichDoodad, string textureName, integer textureIndex returns nothing
	native IsFrameLayerFlag									takes framehandle whichFrame, layerstyleflag whichLayerStyle returns boolean
	native SetFrameLayerFlag								takes framehandle whichFrame, layerstyleflag whichLayerStyle, boolean isSet returns nothing
	native IsFrameControlFlag								takes framehandle whichFrame, controlstyleflag whichControlStyle returns boolean
	native SetFrameControlFlag								takes framehandle whichFrame, controlstyleflag whichControlStyle, boolean isSet returns nothing
	native GetFrameSpritePlayerColour						takes framehandle whichFrame returns playercolor
	native GetFrameMinMaxValues								takes framehandle whichFrame, integer valueId returns real // 0 = min | 1 = max
6. SetSpecialEffectVisibility переименован в SetSpecialEffectVisible.
7. SetTrackableVisibility переименован в SetTrackableVisible.
8. Исправлено PauseUnitEx позволяющая мёртвым юнитам атаковать.
	Пометка: это связано с неполным скрытием заклинаний, теперь заклинание атаки насильно скрывается.
9. Частично изменена обработка "RETURN" операции в JassVM, теперь она полностью обрабатывается через UjAPI и более не полагается на оригинальную функцию обработки байткода.
10. Исправлена критическая ошибка от CreateIllusion, так как оно ссылалась на изменённный код CAbilityInventory где я забыл, что GetIntegerField к сожалению работает со значениями с точкой в самом движке.
	Пометка: это было связано с проверкой размером инвентаря.
11. Исправлена работа с характеристиками заклинания "Бонусные Характеристики" (Aamk) через Field API.
12. Исправлено GetItemStringField возвращающая неверные значения.
13. Частично переделано внутреннее API Снарядов, чтобы предотвратить критические ошибки связанные с неправильным использованием API в коде.
14. Полностью переделано GetProjectileTargetX/Y/Z, теперь их значения хранятся в std::unordered_map, так как игра к сожалению не хранит эти точки, а если и хранит, то не так явно.
15. Исправлена критическая ошибка от HandleListGetHandleById.
16. Исправлена HandleListContainsTypeId срабатывающая только на первый индекс.
	Пометка: эта проблема появилась пару версий назад, после большого рефактора кода.
17. Исправлены поведения SetProjectileTargetX/Y/Z, которыеп запускали снаряд, заместо лишь установки точки цели.
	Пометка: если снаряд уже был запущен, то эти функции будут "перезапускать" снаряд на новую установленную точку, как и должны были.
18. Исправлена SetProjectileArc устанавливающая неверное значение.
19. Исправлено инвертирование событие CHECKBOX.
20. Добавлен темплейт для фреймов типа CHECKBOX.
21. SetFrameTexture теперь работает со всеми фреймами типа CControl.
22. SetFrameTexture теперь может менять текстуру галочки через эти индексы: 5 - галочка, 6 - галочка отключённая (серая).
23. widget теперь расширяет тип war3image вместо agent.
24. sprite теперь расширяет тип war3image вместо agent.
25. projectile теперь расширяет тип war3image вместо agent.
26. doodad теперь расширяет тип war3image вместо agent.
24. racepreference теперь расширяет тип flagtype вместо handle.
25. gametype теперь расширяет тип flagtype вместо handle.
26. mapflag теперь расширяет тип flagtype вместо handle.
27. movetype теперь расширяет тип flagtype вместо handle.
28. pathingaitype теперь расширяет тип flagtype вместо handle.
29. collisiontype теперь расширяет тип flagtype вместо handle.
30. targetflag теперь расширяет тип flagtype вместо handle.
31. unitcategory теперь расширяет тип flagtype вместо handle.
32. pathingflag теперь расширяет тип flagtype вместо handle.
33. GetUnitAbilityLevel now also properly works with buffs.
0
37
3 месяца назад
0
Похоже, тебе пора заключать блоки в `, а то комментарии ловятся txt2
3
20
3 месяца назад
Отредактирован Unryze
3
Вышла новая версия!

v1.1.5.168

1. Новые Нативные Функции:
	native GetJassLocalInteger								takes string variableName returns integer
	native GetJassLocalReal									takes string variableName returns real
	native GetJassLocalString								takes string variableName returns string
	native GetJassLocalHandle								takes string variableName returns handle
	native GetJassLocalBoolean								takes string variableName returns boolean
	//
	native SetJassLocalInteger								takes string variableName, integer value returns boolean
	native SetJassLocalReal									takes string variableName, real value returns boolean
	native SetJassLocalString								takes string variableName, string value returns boolean
	native SetJassLocalHandle								takes string variableName, handle value returns boolean
	native SetJassLocalBoolean								takes string variableName, boolean value returns boolean
	//
	native GetOperationLimit								takes nothing returns integer
	native SetOperationLimit								takes integer opLimit returns nothing
	//
	native GetAbilityOwningAbility							takes ability whichAbility returns ability
2. Добавлена поддержка баффов CBuffLightningShield (Blsh) в CreateBuff/UnitAddBuff/ById.
3. Добавлена поддержка баффов CBuffPermImmolation (BNpi) в CreateBuff/UnitAddBuff/ById.
4. Добавлена поддержка баффов CBuffItemCloakOfFlames (BIcf) в CreateBuff/UnitAddBuff/ById.
5. Добавлена поддержка баффов CBuffPandaImmolation (Bpig) в CreateBuff/UnitAddBuff/ById.
6. Добавлена поддержка баффов CBuffAntiMagicShell (Bams) в CreateBuff/UnitAddBuff/ById.
7. Добавлена поддержка баффов CBuffAntiMagicShellTwo (Bam2) в CreateBuff/UnitAddBuff/ById.
8. Добавлена поддержка баффов CBuffFrostArmor (BUfa) в CreateBuff/UnitAddBuff/ById.
9. Исправлена критическая ошибка от SetImageTexture.
10. Восстановлен парсинг оффсетов для АнтиХака, он был выключен для тестов, затем я забыл включить его обратно.
11. Полностью переписан код CNetData::EVENT_TURNS::Process (НетСобытия/Пакеты), это должно исправить ошибку, по которой определённый игрок терял контролю над юнитом.
12. Отключён бесполезный принт внутренних сообщений OnWidgetDamage.
1
32
3 месяца назад
1
Ух ты наконец то, можно создавать баффы, и ненужно возится с аурой торнадо.
2
20
3 месяца назад
2
Вышла новая версия!

v1.1.6.169

1. Новые Константы:
	constant unitintegerfield			UNIT_IF_PROPER_NAME_INDEX									= ConvertUnitIntegerField('uprd') // Gets/Sets currently active name from the list | Instance Unit Only.
	constant unitintegerfield			UNIT_IF_PROPER_NAME_GENERATION								= ConvertUnitIntegerField('uprg') // This sets the Roman numeration of the unit, a number is contained. | Instance Unit Only.
2. Новые Нативные Функции:
	native IntToRoman takes integer i returns string
3. Исправлена неправильная работа BlzSetUnitAbilityCooldown изменяющая данные заклинаний глобально, а не на базе Instance API.
4. Исправлена неправильная работа BlzGetUnitAbilityCooldown изменяющая данные заклинаний глобально, а не на базе Instance API.
5. Исправлена неправильная работа BlzGetUnitAbilityManaCost изменяющая данные заклинаний глобально, а не на базе Instance API.
6. Исправлена неправильная работа BlzSetUnitAbilityManaCost изменяющая данные заклинаний глобально, а не на базе Instance API.
7. Добавлен метод LoadBoolean( null, 0, StringHash( "ujapi" ) ) для проверки на то, что карта на UjAPI без использования нативных функций.
	Пометка: данный метод будет всегда возвращать false на Reforged и так далее.
8. Исправлены все Widget/Destructable/Item/Unit Get/SetStringField нативные функции возвращающие/устанавливающие неправильные значения.
9. Исправлена неправильная обработка GetUnitAbilityLevel (возвращаемое значение было индексом, а не уровнем, где уровень = индекс + 1.
3
20
2 месяца назад
Отредактирован Unryze
3
Вышла новая версия!

v1.1.7.171

1. Новые Типы:
type orderhandle extends agent
2. Новые Нативные Функции:
native GetLightningWidth takes lightning whichBolt returns real
native SetLightningWidth takes lightning whichBolt, real value returns nothing
//
native GetUnitOrderByIndex takes unit whichUnit, integer index returns orderhandle
native GetUnitOrderByOrderId takes unit whichUnit, integer orderId, integer index returns orderhandle // since units can queue same orders, this allows to differentiate between them.
native UnitRemoveOrderByIndex takes unit whichUnit, integer index returns boolean
native UnitRemoveOrderByOrderId takes unit whichUnit, integer orderId, boolean eraseAllSimilar returns boolean
native UnitReverseOrders takes unit whichUnit returns nothing
//
native GetTriggerOrder takes nothing returns orderhandle
native OrderGetNext takes orderhandle whichOrder returns orderhandle
native OrderGetId takes orderhandle whichOrder returns integer // returns actual order id, "move" as 851986.
native OrderGetTargetX takes orderhandle whichOrder returns real
native OrderGetTargetY takes orderhandle whichOrder returns real
native OrderGetTargetLoc takes orderhandle whichOrder returns location
// Patrol orders only?
native OrderGetSourceX takes orderhandle whichOrder returns real
native OrderGetSourceY takes orderhandle whichOrder returns real
native OrderGetSourceLoc takes orderhandle whichOrder returns location
//
native OrderGetTarget takes orderhandle whichOrder returns widget
native OrderGetTargetDestructable takes orderhandle whichOrder returns destructable
native OrderGetTargetItem takes orderhandle whichOrder returns item
native OrderGetTargetUnit takes orderhandle whichOrder returns unit
//
native HandleListGetOrderCount takes handlelist whichHandleList returns integer
native HandleListGetOrderByIndex takes handlelist whichHandleList, integer index returns orderhandle
native HandleListGetFilterOrder takes nothing returns orderhandle
native HandleListGetEnumOrder takes nothing returns orderhandle
native HandleListEnumUnitOrders takes handlelist whichHandleList, unit whichUnit, boolexpr filter returns nothing
//
3. Исправлены некорректно работающие SetBuffInteger/Real/Boolean API полей с некоторыми баффами.
4. Исправлены все нативные функции Queue API, которые не добавляли приказы в очередь.

v1.1.7.172 (Хотфикс):

1. Пере-исправлено SetBuffInteger/Real/Boolean некорректная обработка в API полей, на некоторых баффах.
2. Исправлена некорректная обработка CBuffSilence через API.
3. Исправлена некорректная обработка CBuffCripple через API.
3
20
2 месяца назад
3
Вышла новая версия!

v1.1.7.173 (Хотфикс)

1. Исправлена инвертированная работа EnableUnitAbility и DisableUnitAbility.
2. Очередное большое изменение Buff API полей, на некоторые баффы работало лишь последнее изменённое поле.
	Пометка: данное исправление потребовало куда больше кода, чем ожидалось, однако это должно быть последнее исправление, так как старых или же новых проблем не было выявлено.
3
20
2 месяца назад
3
Вышла новая версия!

v1.1.7.174 (Хотфикс)

1. Исправлена некорректная обработка длительности CBuffSpeed и её дочерних баффов: CBuffSpeedBonus/CBuffEarthquake/CBuffSlow.
2. Исправлено неверное поведение SetBuffOwner с баффами созданными через CreateBuff.
3. SetBuffRemainingDuration теперь работает с баффами, изначальная длительность которых равна 0.
4. CBuffSilence созданное через CreateBuff/UnitAddBuffById/Ex теперь правильно накладывает безмолвие на нужные заклинания/атаки.
5. Исправлена критическая ошибка от изменения любых полей у CBuffSilence через Buff Field API.
4
20
2 месяца назад
Отредактирован Unryze
4
Вышла новая версия!

v1.1.8.178

1. Новые Типы:
	type layoutstyleflag									extends flagtype
	type gridstyleflag										extends flagtype
2. Новые Конверторы:
	constant native ConvertLayoutStyleFlag					takes integer i returns layoutstyleflag
	constant native ConvertGridStyleFlag					takes integer i returns gridstyleflag
3. Новые Константы:
	constant layoutstyleflag			LAYOUT_STYLE_BOUNDING_FRAME_POSITION						= ConvertLayoutStyleFlag(1)
	constant layoutstyleflag			LAYOUT_STYLE_ALWAYS_TRACK									= ConvertLayoutStyleFlag(2)
	constant layoutstyleflag			LAYOUT_STYLE_NO_ENV											= ConvertLayoutStyleFlag(4)
	//
	constant gridstyleflag				GRID_STYLE_JUSTIFY_LEFT										= ConvertGridStyleFlag(8)
	constant gridstyleflag				GRID_STYLE_JUSTIFY_RIGHT									= ConvertGridStyleFlag(16)
	constant gridstyleflag				GRID_STYLE_JUSTIFY_TOP										= ConvertGridStyleFlag(32)
	constant gridstyleflag				GRID_STYLE_JUSTIFY_BOTTOM									= ConvertGridStyleFlag(64)
	constant gridstyleflag				GRID_STYLE_JUSTIFY_MIDDLE									= ConvertGridStyleFlag(128)
	constant gridstyleflag				GRID_STYLE_JUSTIFY_CENTER									= ConvertGridStyleFlag(256)
	constant gridstyleflag				GRID_STYLE_PACK_ITEMS										= ConvertGridStyleFlag(512)
	//
	constant layerstyleflag				LAYER_STYLE_SCROLL											= ConvertLayerStyleFlag(8)
	//
	constant controlstyleflag 			CONTROL_STYLE_HIGHLIGHT_ON_FOCUS							= ConvertControlStyleFlag(16)
	constant controlstyleflag 			CONTROL_STYLE_HIGHLIGHT										= ConvertControlStyleFlag(256)
	//
	constant abilitytype				ABILITY_TYPE_POSITIVE										= ConvertAbilityType(0)
	constant abilitytype				ABILITY_TYPE_NEGATIVE										= ConvertAbilityType(1)
	constant abilitytype				ABILITY_TYPE_AURA											= ConvertAbilityType(2)
	constant abilitytype				ABILITY_TYPE_BUFF											= ConvertAbilityType(3)
	constant abilitytype				ABILITY_TYPE_TIMED_LIFE										= ConvertAbilityType(4)
	constant abilitytype				ABILITY_TYPE_PHYSICAL										= ConvertAbilityType(5)
	constant abilitytype				ABILITY_TYPE_MAGICAL										= ConvertAbilityType(6)
	constant abilitytype				ABILITY_TYPE_AUTODISPEL										= ConvertAbilityType(7)
4. Новые Нативные Функции:
	native GetUnitAbilityEx									takes unit whichUnit, integer aid, integer id returns ability  // Allows you to search through duplicates.
	native GetUnitBuffEx									takes unit whichUnit, integer buffId, integer id returns buff // Allows you to search through duplicates.
	native IsAbilityType									takes ability whichAbility, abilitytype whichAbilityType returns boolean
	native IsBuffDispelleable								takes buff whichBuff returns boolean
	native SetBuffDispelleable								takes buff whichBuff, boolean isSet returns nothing
	native PauseBuff										takes buff whichBuff, boolean pause returns nothing
	native IsFrameLayoutFlag								takes framehandle whichFrame, layoutstyleflag whichLayoutStyle returns boolean
	native SetFrameLayoutFlag								takes framehandle whichFrame, layoutstyleflag whichLayoutStyle, boolean isSet returns nothing
	native IsFrameGridFlag									takes framehandle whichFrame, gridstyleflag whichGridStyle returns boolean
	native SetFrameGridFlag									takes framehandle whichFrame, gridstyleflag whichGridStyle, boolean isSet returns nothing
	native GetFrameGridRows 								takes framehandle grid returns integer
	native GetFrameGridColumns 								takes framehandle grid returns integer
	native SetFrameGridSize 								takes framehandle grid, integer row, integer column returns nothing
	native GetFrameGridFrame 								takes framehandle grid, integer row, integer column returns framehandle
	native GetFrameGridFrameById 							takes framehandle grid, integer id returns framehandle
	native SetFrameGridFrame 								takes framehandle grid, integer row, integer column, framehandle whichFrame returns nothing
	native IsBuffBarRenderDuplicates 						takes nothing returns boolean
	native SetBuffBarRenderDuplicates 						takes boolean allow returns nothing // this will allow the rendering (drawing) of duplicate (similar) buffs. By default is off.
6. CONTROL_STYLE_HIGHLIGHT_HOVER переименован в CONTROL_STYLE_HIGHLIGHT_ON_MOUSE_OVER.
5. Исправлено получение текстур через Get/SetFrameTexture с Console UI.
6. SetBuffRemainingDuration теперь возвращает nothing вместо boolean.
7. Исправлена ошибка по которой SetBuffRemainingDuration стартовало бафф, даже если юнит в паузе.
8. Исправлена ошибка по которой SetBuffRemainingDuration не сохраняло оставшееся значение когда юнит в паузе.
9. RefreshBuff теперь возвращает nothing вместо boolean.
10. RefreshBuff теперь вызывает события EVENT_PLAYER_UNIT_BUFF_REFRESHED и EVENT_UNIT_BUFF_REFRESHED.
11. SetFrameGridSize теперь полноценно поддерживает ORIGIN_FRAME_BUFF_BAR.
12. SetFrameGridSize теперь полноценно поддерживает ORIGIN_FRAME_COMMAND_BAR.
	Пометка: Хоткеи тоже работают.
13. Исправлена критическая ошибка от CBuffAuraEndurance при использовании через Buff API.
14. Исправлена критическая ошибка от CBuffAuraSlow при использовании через Buff API.
15. Исправлена критическая ошибка от CBuffAuraThorns при использовании через Buff API.
16. PauseUnitEx полностью переделана, теперь она более не прячет Атаку, но и не позволяет мёртвым юнитам атаковать.
Загруженные файлы
3
20
2 месяца назад
Отредактирован Unryze
3
Вышла новая версия!

v1.1.9.181

1. Новые Константы:
	constant itemintegerfield			ITEM_IF_HOTKEY												= ConvertItemIntegerField('ihot')
2. Новые Нативные Функции:
	// Base Field API
	native GetBuffBaseIntegerFieldById						takes integer bid, abilityintegerfield whichField returns integer
	native SetBuffBaseIntegerFieldById						takes integer bid, abilityintegerfield whichField, integer value returns boolean
	native GetBuffBaseBooleanFieldById						takes integer bid, abilitybooleanfield whichField returns boolean
	native SetBuffBaseBooleanFieldById						takes integer bid, abilitybooleanfield whichField, boolean value returns boolean
	native GetBuffBaseRealFieldById							takes integer bid, abilityrealfield whichField returns real
	native SetBuffBaseRealFieldById							takes integer bid, abilityrealfield whichField, real value returns boolean
	native GetBuffBaseIntegerArrayFieldById					takes integer bid, abilityintegerfield whichField, integer index returns integer
	native SetBuffBaseIntegerArrayFieldById					takes integer bid, abilityintegerfield whichField, integer index, integer value returns boolean
	native AddBuffBaseIntegerArrayFieldById					takes integer bid, abilityintegerfield whichField, integer value returns boolean
	native RemoveBuffBaseIntegerArrayFieldById				takes integer bid, abilityintegerfield whichField, integer value returns boolean
	native GetBuffBaseBooleanArrayFieldById					takes integer bid, abilitybooleanfield whichField, integer index returns boolean
	native SetBuffBaseBooleanArrayFieldById					takes integer bid, abilitybooleanfield whichField, integer index, boolean value returns boolean
	native AddBuffBaseBooleanArrayFieldById					takes integer bid, abilitybooleanfield whichField, boolean value returns boolean
	native RemoveBuffBaseBooleanArrayFieldById				takes integer bid, abilitybooleanfield whichField, boolean value returns boolean
	native GetBuffBaseRealArrayFieldById					takes integer bid, abilityrealfield whichField, integer index returns real
	native SetBuffBaseRealArrayFieldById					takes integer bid, abilityrealfield whichField, integer index, real value returns boolean
	native AddBuffBaseRealArrayFieldById					takes integer bid, abilityrealfield whichField, real value returns boolean
	native RemoveBuffBaseRealArrayFieldById					takes integer bid, abilityrealfield whichField, real value returns boolean
	native GetBuffBaseStringArrayFieldById					takes integer bid, abilitystringfield whichField, integer index returns string
	native SetBuffBaseStringArrayFieldById					takes integer bid, abilitystringfield whichField, integer index, string value returns boolean
	native AddBuffBaseStringArrayFieldById					takes integer bid, abilitystringfield whichField, string value returns boolean
	native RemoveBuffBaseStringArrayFieldById				takes integer bid, abilitystringfield whichField, string value returns boolean
	//
	// Field API
	native GetBuffIntegerArrayField							takes buff whichBuff, abilityintegerfield whichField, integer index returns integer
	native SetBuffIntegerArrayField							takes buff whichBuff, abilityintegerfield whichField, integer index, integer value returns boolean
	native AddBuffIntegerArrayField							takes buff whichBuff, abilityintegerfield whichField, integer value returns boolean
	native RemoveBuffIntegerArrayField						takes buff whichBuff, abilityintegerfield whichField, integer value returns boolean
	native GetBuffBooleanArrayField							takes buff whichBuff, abilitybooleanfield whichField, integer index returns boolean
	native SetBuffBooleanArrayField							takes buff whichBuff, abilitybooleanfield whichField, integer index, boolean value returns boolean
	native AddBuffBooleanArrayField							takes buff whichBuff, abilitybooleanfield whichField, boolean value returns boolean
	native RemoveBuffBooleanArrayField						takes buff whichBuff, abilitybooleanfield whichField, boolean value returns boolean
	native GetBuffRealArrayField							takes buff whichBuff, abilityrealfield whichField, integer index returns real
	native SetBuffRealArrayField							takes buff whichBuff, abilityrealfield whichField, integer index, real value returns boolean
	native AddBuffRealArrayField							takes buff whichBuff, abilityrealfield whichField, real value returns boolean
	native RemoveBuffRealArrayField							takes buff whichBuff, abilityrealfield whichField, real value returns boolean
	native GetBuffStringArrayField							takes buff whichBuff, abilitystringfield whichField, integer index returns string
	native SetBuffStringArrayField							takes buff whichBuff, abilitystringfield whichField, integer index, string value returns boolean
	native AddBuffStringArrayField							takes buff whichBuff, abilitystringfield whichField, string value returns boolean
	native RemoveBuffStringArrayField						takes buff whichBuff, abilitystringfield whichField, string value returns boolean
	//
3. SetFrameGridFrame теперь поддерживает CSimpleFontString и CSimpleTexture.
4. Переделана логика метода копирования CAbilityBase и CAbilityUIDef, теперь они должны работать полноценно.
5. SetAbility/BuffStringField теперь полноценно работают с ABILITY_SLF_CASTER, ABILITY_SLF_TARGET, ABILITY_SLF_SPECIAL, ABILITY_SLF_EFFECT и ABILITY_SLF_AREA_EFFECT.
6. ABILITY_SLF_CASTER, ABILITY_SLF_TARGET, ABILITY_SLF_SPECIAL, ABILITY_SLF_EFFECT and ABILITY_SLF_AREA_EFFECT теперь могут быть обработаны как массивы полей.
7. Исправлен старый визуальный баг "ванилы" связанный с перезарядкой предметов, анимация которых начиналась с нуля, а не сохраняла текущую позицию.
8. Исправлена ошибка по которой GetTriggerFrameMouseButton не работала с FRAMEEVENT_MOUSE_UP и FRAMEEVENT_MOUSE_DOWN.
9. Исправлена некорректная обработка нетКода фреймов для FRAMEEVENT_CONTROL_CLICKED и FRAMEEVENT_CONTROL_DRAG.
10. ITEM_IF_HOTKEY теперь может быть использовано для установки уникальных для предмета хоткеев, которые не привязаны к NUMPAD.
11. Убран 1024 лимит символов для подсказок (обычно используемый для имени) для Заклинаний.
12. Убран 1024 лимит символов для расширенных подсказок для Заклинаний.
13. Убран 1024 лимит символов для Researchtip/Learntip для Заклинаний.
14. Убран 96 лимит символов для подсказок (обычно используемый для имени) для баффов.
15. Убран 1024 лимит символов для расширенных подсказок для баффов.
16. Убран 96 лимит символов для подсказок (обычно используемый для имени) для предметов.
17. Убран 1024 лимит символов для расширенных подсказок для предметов.

v1.1.9.182 (Хотфикс)

1. Исправлена критическая ошибка от наведения на "предметы" в магазинах, то бишь Asud, AHer и так далее.

v1.1.9.183 (Хотфикс)

1. Исправлена критическая ошибка от оставшихся Заклинаний/Пустых заклинаний.

v1.1.9.184 (Хотфикс)

1. Исправлены бесконечно-дублюирующиеся визуалы баффов выданных аурами.
	Пометка: это происходило только если был включен режим прорисовки "дубликатов" (схожих) баффов.
2. Исправлена проблема по которой баффы выданные аурами не имели описаний.

v1.1.9.185 (Хотфикс)

1. Исправлена некорректная обработка GetItemUseSlotId, которая иногда приводила к перекрыванию других приказов.

v1.1.9.186 (Хотфикс)

1. Исправлены неправильные значения виртуальной таблицы функций CBuffIndicator для 1.27a/1.27b/1.28f.

v1.1.9.187 (Хотфикс)

1. Исправлена критическая ошибка от RemoveSprite.
Загруженные файлы
2
20
2 месяца назад
2
Вышла новая версия!

v1.1.10.190

1. Новые Типы:
	type framestate 										extends flagtype
2. Новые Конверторы:
	constant native ConvertFrameState						takes integer i returns framestate
3. Новые Константы:
	constant framestate					FRAME_STATE_SIMPLE_BUTTON_ENABLED							= ConvertFrameState(0)
	constant framestate					FRAME_STATE_SIMPLE_BUTTON_DISABLED							= ConvertFrameState(1)
	constant framestate					FRAME_STATE_SIMPLE_BUTTON_PUSHED							= ConvertFrameState(2)
	constant framestate					FRAME_STATE_SIMPLE_BUTTON_CURRENT							= ConvertFrameState(3)
	//
	constant framestate					FRAME_STATE_CONTROL_CURRENT									= ConvertFrameState(0)
	constant framestate					FRAME_STATE_CONTROL_ENABLED									= ConvertFrameState(1)
	constant framestate					FRAME_STATE_CONTROL_PUSHED									= ConvertFrameState(2)
	constant framestate					FRAME_STATE_CONTROL_DISABLED								= ConvertFrameState(3)
	constant framestate					FRAME_STATE_CONTROL_CHECK_ENABLED							= ConvertFrameState(5)
	constant framestate					FRAME_STATE_CONTROL_CHECK_DISABLED							= ConvertFrameState(6)
4. Новые Нативные Функции:
	native GetFrameState									takes framehandle whichFrame returns framestate
	native SetFrameState									takes framehandle whichFrame, framestate whichFrameState returns nothing
5. Исправлена критическая ошибка от SetFramePriority при установке приоритета выше 8 на CSimpleFrames.
6. Исправлена критическая ошибка от SetFramePriority при установке приоритета выше 4 на CSimpleRegions.
7. Исправлено инвертированное поведение SetFrameEnabled с CSimpleButtons.
8. Исправлена неправильная обработка цвета в SetFrameColour (внутренние функции были исправлены раннее, но не само АПИ).
9. Исправлена неправильная обработка некоторых полей через SetAbilityIntegerField.
1
20
2 месяца назад
Отредактирован Unryze
1
Вышла новая версия!

v1.1.10.191

1. Сделан откат фикса "эксплоита", который позволял прятать некоторые кнопки на командной панели благодаря отрицательным X/Y значениям.
	Пометка: теперь это работает универсально для всех поддерживаемых патчей, то бишь если X или же Y отрицательны, то эта кнопка не будет прорисована.
2. Исправлена критическая ошибка от виджетов у которых отсутствует описание или же расширенное описание.

v1.1.10.192

1. Исправлена застревающая на 99.99% (то бишь в самом конце) анимация перезарядки предметов.
3
20
1 месяц назад
3
Вышла новая версия!

v1.1.11.199

1. Добавлен AngelScript - новый скрпитовый язык с синтаксическим стилем C++ у которого есть строгая типизация как у Jass.
	Пометка: вы можете сравнить этот язык с vJass в плане синтаксиса. Этот язык во много раз быстрее Jass и имеет множество современных парадигм.
2. Новые Константы:
	constant gameevent					EVENT_GAME_AGENT_DESTROYED									= ConvertGameEvent(800)
	constant gameevent					EVENT_GAME_AGENT_ARRIVAL									= ConvertGameEvent(801)
	constant gameevent					EVENT_GAME_AGENT_CANT_PATH									= ConvertGameEvent(802)
	constant gameevent					EVENT_GAME_AGENT_WARP_START									= ConvertGameEvent(803)
	constant gameevent					EVENT_GAME_AGENT_WARP_END									= ConvertGameEvent(804)
	constant gameevent					EVENT_GAME_WIDGET_DAMAGING									= ConvertGameEvent(805)
	constant gameevent					EVENT_GAME_WIDGET_DAMAGED									= ConvertGameEvent(806)
	constant gameevent					EVENT_GAME_WIDGET_DEATH										= ConvertGameEvent(807)
	//
	constant playerevent				EVENT_PLAYER_WIDGET_TRACK									= ConvertPlayerEvent(320)
	constant playerevent				EVENT_PLAYER_WIDGET_GHOST_TRACK								= ConvertPlayerEvent(321)
	constant playerevent				EVENT_PLAYER_WIDGET_CLICK									= ConvertPlayerEvent(322)
	constant playerevent				EVENT_PLAYER_WIDGET_GHOST_CLICK								= ConvertPlayerEvent(323)
	constant playerevent				EVENT_PLAYER_TERRAIN_CLICK									= ConvertPlayerEvent(324)
3. Новые Нативные Функции:
	native HexToInt											takes string hex returns integer
	//
	native ResetAbilityOrder								takes ability whichAbility returns nothing
	//
	native GetWidgetZ										takes widget whichWidget returns real
	native SetWidgetZ										takes widget whichWidget, real z returns nothing
	native ResetWidgetZ										takes widget whichWidget returns nothing // returns Z control to game.
	native GetWidgetHeight									takes widget whichWidget returns real
	native SetWidgetHeight									takes widget whichWidget, real height returns nothing
	native SetWidgetPositionWithZ							takes widget whichWidget, real x, real y, real z returns nothing
	//
	native GetDestructableHeight							takes destructable whichDestructable returns real
	native SetDestructableHeight							takes destructable whichDestructable, real height returns nothing
	native GetDestructableZ									takes destructable whichDestructable returns real
	native ResetDestructableZ								takes destructable whichDestructable returns nothing // returns Z control to game.
	//
	constant native GetTriggerItem							takes nothing returns item
	native GetItemOwner										takes item whichItem returns unit
	native GetItemZ											takes item whichItem returns real
	native SetItemX											takes item whichItem, real x returns nothing
	native SetItemY											takes item whichItem, real y returns nothing
	native SetItemZ											takes item whichItem, real z returns nothing
	native SetItemPositionWithZ								takes item whichItem, real x, real y, real z returns nothing
	native ResetItemZ										takes item whichItem returns nothing // returns Z control to game.
	native GetItemHeight									takes item whichItem returns real
	native SetItemHeight									takes item whichItem, real height returns nothing
	//
	native SaveBuffHandle									takes hashtable table, integer parentKey, integer childKey, buff whichBuff returns boolean
	native SaveWar3Image									takes hashtable table, integer parentKey, integer childKey, war3image whichWar3Image returns boolean
	native LoadBuffHandle									takes hashtable table, integer parentKey, integer childKey returns buff
	native LoadWar3ImageHandle								takes hashtable table, integer parentKey, integer childKey returns war3image
	//
	native SetUnitPositionEx								takes unit whichUnit, boolean breakOrder, boolean checkPathing, real x, real y, real z returns nothing
	native SetUnitPositionWithZ								takes unit whichUnit, real x, real y, real z returns nothing
	native SetUnitZ											takes unit whichUnit, real z returns nothing
	native ResetUnitZ										takes unit whichUnit returns nothing // returns Z control to game.
	native GetUnitHeight									takes unit whichUnit returns real
	native SetUnitHeight									takes unit whichUnit, real height returns nothing
	native SetUnitResourceCurrent							takes unit whichUnit, integer amount returns nothing // only works on units that can "keep" gathered resources.
	native GetUnitResourceCapacity							takes unit whichUnit, integer resourceType returns integer // 0 for gold, 1 for lumber.
	native SetUnitResourceCapacity							takes unit whichUnit, integer resourceType, integer amount returns nothing // only works on units that can "keep" gathered resources.
	native GetUnitResourcePerGather							takes unit whichUnit, integer resourceType returns integer
	native SetUnitResourcePerGather							takes unit whichUnit, integer resourceType, integer amount returns nothing // for gold simply changes capacity
	native GetUnitResourceGatherInterval					takes unit whichUnit, returns real // wisp only
	native SetUnitResourceGatherInterval					takes unit whichUnit, real interval returns nothing
4. Удалён предыдущий механизм обработки netCode пакетов, который удалял дубликаты "событий", для избежания лимита в 1024 байта.
	Пометка: это был достаточно медленный процесс, который не особо нужен после полноценной переделки обработки NetCode.
5. Лимит в 1024 байтов был зафиксирован для нестадартных NetCode событий, так как если лимит был достигнут, то игра отвергала оставшиеся пакеты.
	Пометка: превышение лимита может вызывать проблемы, такие как неправильная обработка полученных пакетов, типа приказов юнитов и так далее.
6. Исправлена критическая ошибка от использования предметов на 1.27a/1.27b/1.28f.
7. Исправлена критическая ошибка от переноса предмета в другой слот на 1.27a/1.27b/1.28f.
8. Добавлено выведение текста загрузки UjAPI в World Editor.
9. Исправлена инвертированное поведение CBuffHowlOfTerror.
10. Исправлена критическая ошибка от SetBuffRemainingDuration на неподдерживаемых/удалённых баффах.
11. Добавлена поддержка CBuffAcidBomb в Buff API.
12. Добавлена поддержка CBuffSlowPoison в Buff API.
13. Исправлена критическая ошибка от SetFrameAlpha на 1.27a/1.27b/1.28f.
14. Исправлена GetBuffOwner всегда возвращающая 0.
15. Исправлена GetBuffTypeId всегда возвращающая 0.
16. GetUnitCurrentResources переименовано в GetUnitResourceCurrent.
17. Исправлена GetBuffIntegerField возвращающая неверные значения.
18. Исправлена SetBuffIntegerField устанавливающая неверные значения.
19. Исправлена CBuffRegenLife обработка DataC и DataD в Buff API.
20. Исправлена CBuffRegenMana обработка DataC и DataD в Buff API.
21. Исправлена CBuffRegeneration обработка DataC и DataE в Buff API.
22. Исправлена CBuffRejuvination обработка DataC и DataD в Buff API.
23. Исправлена CBuffDrunkenHaze обработка DataA в Buff API.
24. Исправлена CBuffLavaMonster обработка DataC и DataF в Buff API.
25. Исправлена CBuffSlowPoison обработка DataD в Buff API.
26. Исправлена критическая ошибка от SetFrameParent с CFrames на 1.27a.
27. SetFrameVertexColourEx теперь дополнительно берёт аргумент textureId.
28. SetFrameVertexColour теперь использует предыдущую декларацию SetFrameVertexColourEx без использования индекса текстуры.
29. SetFrameVertexColour and SetFrameVertexColourEx colour order fixed from ARBG to ARGB.
30. GetFrameAlpha/Ex теперь работает с CModelFrame/CBackdropFrame/CChatEditBar.
31. GetFrameAlpha/Ex теперь работает с CModelFrame/CBackdropFrame/CChatEditBar.
32. GetFrameColour/Ex теперь работает с CModelFrame/CBackdropFrame/CChatEditBar.
33. SetFrameColour/Ex/VertexColour/Ex теперь работает с CModelFrame/CBackdropFrame/CChatEditBar.
	Пометка: 30 - 33 работают только с моделями добавленными в CModelFrame/CBackdropFrame/CChatEditBar, а не на текстуры.
34. Полностью переписана внутренняя обработка EVENT_PLAYER_UNIT_ABILITY_ADDED.
35. Полностью переписана внутренняя обработка EVENT_UNIT_ABILITY_ADDED.
36. Полностью переписана внутренняя обработка EVENT_PLAYER_UNIT_ABILITY_REMOVED.
37. Полностью переписана внутренняя обработка EVENT_UNIT_ABILITY_REMOVED.
38. Полностью переписана внутренняя обработка EVENT_PLAYER_UNIT_ABILITY_AUTOCAST_ON.
39. Полностью переписана внутренняя обработка EVENT_PLAYER_UNIT_ABILITY_AUTOCAST_OFF.
40. Полностью переписана внутренняя обработка EVENT_UNIT_ABILITY_AUTOCAST_ON.
41. Полностью переписана внутренняя обработка EVENT_UNIT_ABILITY_AUTOCAST_OFF.
42. Полностью переписана внутренняя обработка EVENT_PLAYER_UNIT_BUFF_RECEIVED.
43. Полностью переписана внутренняя обработка EVENT_PLAYER_UNIT_BUFF_REFRESHED.
44. Полностью переписана внутренняя обработка EVENT_PLAYER_UNIT_BUFF_ENDED.
45. Полностью переписана внутренняя обработка EVENT_UNIT_BUFF_RECEIVED.
46. Полностью переписана внутренняя обработка EVENT_UNIT_BUFF_REFRESHED.
47. Полностью переписана внутренняя обработка EVENT_UNIT_BUFF_ENDED.
48. Полностью переписана внутренняя обработка EVENT_WIDGET_DAMAGING.
49. Полностью переписана внутренняя обработка EVENT_WIDGET_DAMAGED.
50. Полностью переписана внутренняя обработка EVENT_WIDGET_DEATH.
51. Полностью переписана внутренняя обработка EVENT_GAME_WIDGET_DAMAGING.
52. Полностью переписана внутренняя обработка EVENT_GAME_WIDGET_DAMAGED.
53. Полностью переписана внутренняя обработка EVENT_GAME_WIDGET_DEATH.
54. Полностью переписана внутренняя обработка EVENT_PLAYER_UNIT_DAMAGING.
55. Полностью переписана внутренняя обработка EVENT_PLAYER_UNIT_DAMAGED.
56. Полностью переписана внутренняя обработка EVENT_UNIT_DAMAGING.
57. Полностью переписана внутренняя обработка EVENT_UNIT_DAMAGED.
58. Полностью переписана внутренняя обработка EVENT_PLAYER_UNIT_PROJECTILE_LAUNCHED.
59. Полностью переписана внутренняя обработка EVENT_PLAYER_UNIT_PROJECTILE_HIT.
60. Полностью переписана внутренняя обработка EVENT_UNIT_PROJECTILE_LAUNCHED.
61. Полностью переписана внутренняя обработка EVENT_UNIT_PROJECTILE_HIT.
62. Полностью переписаны оффсеты Антихака для 1.24e.
	Пометка: 14 оффсетов было добавлено.
63. Полностью переписаны оффсеты Антихака для 1.26a.
	Пометка: 30 оффсетов было добавлено.
64. Полностью переписаны оффсеты Антихака для 1.27a.
	Пометка: 20 оффсетов было добавлено.
65. Полностью переписаны оффсеты Антихака для 1.27b.
	Пометка: 12 оффсетов было добавлено.
66. Полностью переписаны оффсеты Антихака для 1.28f.
	Пометка: 2 оффсетов было добавлено.
67. Юнит фрейма CTrainableButton теперь посылается в событие FRAMEEVENT_MOUSE_ENTER/FRAMEEVENT_MOUSE_LEAVE/FRAMEEVENT_MOUSE_UP/FRAMEEVENT_MOUSE_DOWN/FRAMEEVENT_CONTROL_CLICK.
68. Предмет/заклинание фрейма CCommandButton теперь посылается в событие FRAMEEVENT_MOUSE_ENTER/FRAMEEVENT_MOUSE_LEAVE/FRAMEEVENT_MOUSE_UP/FRAMEEVENT_MOUSE_DOWN/FRAMEEVENT_CONTROL_CLICK.
69. Юнит фрейма CCargoButton теперь посылается в событие FRAMEEVENT_MOUSE_ENTER/FRAMEEVENT_MOUSE_LEAVE/FRAMEEVENT_MOUSE_UP/FRAMEEVENT_MOUSE_DOWN/FRAMEEVENT_CONTROL_CLICK.
70. Юнит фрейма CHeroBarButton теперь посылается в событие FRAMEEVENT_MOUSE_ENTER/FRAMEEVENT_MOUSE_LEAVE/FRAMEEVENT_MOUSE_UP/FRAMEEVENT_MOUSE_DOWN/FRAMEEVENT_CONTROL_CLICK.
71. Бафф фрейма CBuffIndicator теперь посылается в событие FRAMEEVENT_MOUSE_ENTER/FRAMEEVENT_MOUSE_LEAVE/FRAMEEVENT_MOUSE_UP/FRAMEEVENT_MOUSE_DOWN/FRAMEEVENT_CONTROL_CLICK.
72. Исправлены SetDestructableX/Y/Z/Position/PositionWithZ/PositionLoc не двигающие карту путей.
	Пометка: тени карты путей не могут быть сдвинуты, так как они не привязаны к объекту.
73. Исправлены строки не работающие во второстепенных потоках. (В прелоаде, а так же в ExecuteFunc которые были вызваны из ExecuteFunc).
74. ClickFrame и ClickFrameEx теперь вызывают событие FRAMEEVENT_CONTROL_CLICK для CSimpleButton и дочерних фреймов.
75. Исправлена SetAbilityField API не обновляющая некоторые данные заклинания.
76. Исправлена CBuffAuraDevotion не дающая никаких бонусов при создании через buff API.
77. Исправлена CBuffAuraRegenLife не дающая никаких бонусов при создании через buff API.
78. Исправлена CBuffAuraRegenMana не дающая никаких бонусов при создании через buff API.
79. Исправлена CBuffAuraBrilliance не дающая никаких бонусов при создании через buff API.
80. Исправлена CBuffAuraBlightRegen не дающая никаких бонусов при создании через buff API.
81. Исправлена CBuffAuraUnholy не дающая никаких бонусов при создании через buff API.
82. Исправлена CBuffAuraEndurance не дающая никаких бонусов при создании через buff API.
83. Исправлена CBuffAuraSlow не дающая никаких бонусов при создании через buff API.
84. Исправлена CBuffAuraThorns не дающая никаких бонусов при создании через buff API.
85. Исправлена CBuffAuraVampiric не дающая никаких бонусов при создании через buff API.
86. Исправлена ошибка по которой фреймы предметов ломались если HideOriginFrames было использовано.
87. Исправлена критическая ошибка от DisplayTimedTopMessage.
88. Исправлены критические ошибки от некоторых заклинаний, которые были подвергнуты SetAbilityOrder.
89. Исправлено неправильное поведение SetAbilityOrder с CAbilityChannel.
90. Исправлена ошибка SetAbilityLevel позволяющая установить уровень выше максимального.
91. SetAbilityOrderId теперь возвращает nothing вместо boolean.
92. SetAbilityCooldown теперь возвращает nothing вместо boolean.
93. SetAbilityRemainingCooldown теперь возвращает nothing вместо boolean.
94. Все хендлы расширяющие agentdatafield теперь используют мнимые хендлы.
	Пометка: настоящие хендлы были использованы на значениях выше 0x100000, дабы луа не крашилось, это более не является приоритетом.
95. war3_lua был удалён из Modules, он будет доступен для скачивания отдельно.
1
20
3 недели назад
1
Вышла новая версия!

v1.1.11.202

1. Исправлено повторение события WIDGET_DEATH если уже умерший виджет получал урон.
2. Исправлено событие EVENT_PLAYER_MOUSE_MOVE не возвращающее позиции на экране.
3. Обработчик событий KEY/MOUSE нажатия/отжатия был перенесён в WndProc для более стабильной обработки.
	Пометка: это должно поправить часть игнорируемых клавиш, так я более не ориентируюсь на кнопки, которые обработала игра.
4. Добавлена поддержка XButton1 кнопки в событии KEY/MOUSE нажатия/отжатия.
5. Добавлена поддержка XButton2 кнопки в событии KEY/MOUSE нажатия/отжатия.
6. Исправлена обработка клавиш SHIFT/LSHIFT/RSHIFT. LSHIFT/RSHIFT будут посылать отдельное событие после SHIFT.
7. Исправлена обработка клавиш ALT/LALT/RALT. LALT/RALT будут посылать отдельное событие после ALT.
8. Исправлена обработка клавиш CTRL/LCTRL/RCTRL. LCTRL/RCTRL будут посылать отдельное событие после CTRL.
9. Исправлен десинх, который был обнаружен с версии 1.1.11.199.
10. Исправлена LaunchProjectileAt не сохраняющая координаты цели.
11. Исправлена LaunchProjectile не работающая через SetProjectileTargetPositionWithZ.
12. GetFrameTexture теперь работает с CSimpleFrame.
13. Исправлено кеширование текстур в SetFrameTexture с CSimpleFrame которое не позволяло вернуть оригинальную текстуру.
14. Обновлён модуль UnlockMapSize до версии 1.0.1.3.
2
20
3 недели назад
2
Вышла новая версия!

v1.1.12.205

1. Новые Нативные Функции:
	native BenchmarkStart									takes nothing returns nothing
	native BenchmarkEnd										takes nothing returns nothing
	native BenchmarkReset									takes nothing returns nothing
	native BenchmarkGetElapsed								takes integer benchType returns string // 0 for nanoseconds, 1 for microseconds, 2 for milliseconds
	//
	native GetFrameScreenX									takes framehandle whichFrame returns real
	native GetFrameScreenY									takes framehandle whichFrame returns real
	native GetFrameRelativePointParent						takes framehandle whichFrame, framepointtype point returns framehandle
	native GetFrameRelativePointType						takes framehandle whichFrame, framepointtype point returns framepointtype
	native GetFrameRelativePointX							takes framehandle whichFrame, framepointtype point returns real
	native GetFrameRelativePointY							takes framehandle whichFrame, framepointtype point returns real
	native GetFrameAbsolutePointX							takes framehandle whichFrame, framepointtype point returns real
	native GetFrameAbsolutePointY							takes framehandle whichFrame, framepointtype point returns real
	native GetFrameBackdrop									takes framehandle whichFrame, integer backdropId returns framehandle
	native IsFrameBorderEnabled 							takes framehandle whichFrame, integer backdropId returns boolean
	native SetFrameBorderEnabled 							takes framehandle whichFrame, integer backdropId, boolean isEnable returns nothing
	native GetFrameSlider 									takes framehandle whichFrame returns framehandle
	native AddFrameSlider 									takes framehandle whichFrame returns framehandle
2. Удалён стандартный темплейт LISTBOX, все настройки теперь возможны через API.
	Пометка: полная настройка возможна через код.
3. Удалён стандартный темплейт CHECKBOX, все настройки теперь возможны через API.
	Пометка: полная настройка возможна через код.
4. SetFrameFont теперь работает с CTextArea.
5. SetFrameText теперь работает с CTextArea.
6. AddFrameText теперь работает с CTextArea.
0
20
2 недели назад
0
Вышла новая версия!

v1.1.13.208

1. Новые Константы:
	constant integer					CHAT_RECIPIENT_UNKNOWN										= 4
2. Новые Нативные Функции:
	native DisplayChatMessageEx								takes player whichPlayer, integer recipient, real duration, boolean addToLog, string message returns nothing
	//
	native UnitGetTrainingProgress 							takes unit whichUnit returns real
	native UnitSetTrainingProgress 							takes unit whichUnit, integer trainingPercentage returns nothing
	native UnitGetTrainingRemainingTime						takes unit whichUnit returns real
	native UnitSetTrainingRemainingTime						takes unit whichUnit, real time returns nothing
	native UnitGetTrainingTypeIdAt 							takes unit whichUnit, integer index returns integer
	native UnitCancelTrainingAt 							takes unit whichUnit, integer index returns nothing
	native UnitSetTrainingTypeIdAt 							takes unit whichUnit, integer index, integer typeId returns nothing
	//
	native UnitGetResearchProgress 							takes unit whichUnit returns real
	native UnitSetResearchProgress 							takes unit whichUnit, integer trainingPercentage returns nothing
	native UnitGetResearchRemainingTime						takes unit whichUnit returns real
	native UnitSetResearchRemainingTime						takes unit whichUnit, real time returns nothing
	native UnitGetResearchTypeIdAt 							takes unit whichUnit, integer index returns integer
	native UnitCancelResearchAt 							takes unit whichUnit, integer index returns nothing
	native UnitSetResearchTypeIdAt 							takes unit whichUnit, integer index, integer typeId returns nothing
3. Исправлена неверная обработка damagetype в UnitDamageTarget.
4. Исправлены два неверных оффсета в АнтиХаке для 1.26a.
5. Добавлено отображение сообщения о десинхронизации, когда какой-либо игрок вылетит от десинхронизации.
6. Переисправлена ошибка по которой фреймы предметов не перерисовывались после HideOriginFrames.
7. Исправлена GetDestructableName всегда возвращающая "Default String" вместо действительного значения.
8. Исправлена GetItemName всегда возвращающая "Default String" вместо действительного значения.
9. Исправлена GetUnitName всегда возвращающая "Default String" вместо действительного значения.
10. Исправлена GetHeroProperName всегда возвращающая "Default String" вместо действительного значения.
11. Добавлены CLI настройки AngelScript.
0
20
2 недели назад
0
Вышла новая версия!

v1.1.13.209

1. Исправлен некорректный посыл события EVENT_PLAYER_WIDGET_GHOST_CLICK вместо EVENT_PLAYER_WIDGET_CLICK.
2. Добавлен пуш виджета под мышкой в GetTriggerWidget в событии EVENT_PLAYER_TERRAIN_CLICK.
0
15
2 недели назад
0
А можно как-то с помощью Unryze API организовать управление на джойстике?
Ответы (6)
1
20
2 недели назад
1
DarkLigthing, если совсем делать нечего, то при желании - возможно. Но страдать такой вакханалией я не особо горю. :)
1
37
2 недели назад
1
Unryze, там у винды есть универсальное апи, но тот же стим позволяет off-game controls, можно и без поддержки геймпада это делать
0
15
1 неделю назад
Отредактирован DarkLigthing
0
Unryze, Да, я понимаю что это маловостребовано ведь в кто играет в Wc3 на джойстиках. Просто сейчас все больше становятся актуальны портативные устройства как Steam Deck и теоретически карты, адаптированные под управление на подобных устройствах могли бы привлечь новых людей в Wc3. (:
0
37
1 неделю назад
0
DarkLigthing, steam deck работает на линуксе, а wine будет жрать аккум как не в себя
0
15
1 неделю назад
Отредактирован DarkLigthing
0
ScorpioT1000, Steam Deck работает на той OS которую ты туда захочешь поставить. Но по дефолту на ней действительно Linux семейства Arch Linux, который Valve адаптировала под свои нужды назвав SteamOS.
А wine это предшественник современной эмуляции, который называется Proton.
На моей деке, которой я уже пользуюсь как единственным пк стоит Windows 11 и батарейка это откровенно не проблема. Вот для портативного устройства x86 архитектура процессора это проблема для батарейки, лучше был бы ARM, но тогда игры с пк не запустились бы... А в целом это просто офигенная штука, для многих игр клавиатура и мышь по моему опыту это избыточность.
0
37
1 неделю назад
0
DarkLigthing, ну, мы же про стим дек для целевой аудитории говорим как стандартный стим ос с линуксом без подключенной зарядке на постоянке, x86 есть и на смартфонах, и кто-то даже ставил туда винду, но это единицы
1
20
1 неделю назад
1
Вышла новая версия!

v1.1.13.210

1. Исправлена внутренняя ошибка Id2S.
	Пометка: эта ошибка ломала Buff API для слк-оптимизированных карт.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.