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

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

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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
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
3 месяца назад
Отредактирован 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
3 месяца назад
3
Вышла новая версия!

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

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

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.
2
20
3 месяца назад
Отредактирован Unryze
2
Вышла новая версия!

v1.1.10.191

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

v1.1.10.192

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

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, он будет доступен для скачивания отдельно.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.