0
20
2 месяца назад
Отредактирован Unryze
0

» Unryze Jass API / UjAPI - Что нового?

Вышла новая версия!

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 месяца назад
Отредактирован Unryze
3

» Unryze Jass API / UjAPI

Вышла новая версия!

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.
2
20
3 месяца назад
2

» Unryze Jass API / UjAPI - Система Контролей

Ну, ошибку видно на лицо, нужно было лишь сдвинуть установку remain time, как ты и указал, поправлю.
2
20
3 месяца назад
2

» Unryze Jass API / UjAPI - Что нового?

Вышла новая версия!

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.
2
20
3 месяца назад
2

» Unryze Jass API / UjAPI

Вышла новая версия!

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 месяца назад
3

» Unryze Jass API / UjAPI - Что нового?

Вышла новая версия!

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

» Unryze Jass API / UjAPI

Вышла новая версия!

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.
0
20
3 месяца назад
0

» Unryze Jass API / UjAPI - Система Выбора Героев

Вышла новая версия!
Карта обновлена под UjAPI v1.1.4.167
2
20
3 месяца назад
2

» Unryze Jass API / UjAPI - Система Магазина

Вышла новая версия!
Карта обновлена под UjAPI v1.1.4.167
0
20
3 месяца назад
0

» Unryze Jass API / UjAPI - Пример Кнопки с Перезарядкой

Вышла новая версия!
Карта обновлена под UjAPI v1.1.4.167
2
20
3 месяца назад
Отредактирован Unryze
2

» Unryze Jass API / UjAPI - Что нового?

Вышла новая версия!

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

» Unryze Jass API / UjAPI

Вышла новая версия!

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
20
3 месяца назад
Отредактирован Unryze
0

» Unryze Jass API / UjAPI - Что нового?

Вышла новая версия!

v1.1.3.165

1. Новые Типы:
	type connectiontype										extends handle
2. Новые Конверторы:
	constant native ConvertConnectionType					takes integer i returns connectiontype
3. Новые Константы:
	constant connectiontype				CONNECTION_TYPE_SINGLE_PLAYER								= ConvertConnectionType(0)
	constant connectiontype				CONNECTION_TYPE_LOCAL_GAME									= ConvertConnectionType(1)
	constant connectiontype				CONNECTION_TYPE_BATTLE_NET									= ConvertConnectionType(2)
	constant connectiontype				CONNECTION_TYPE_REPLAY										= ConvertConnectionType(3)
4. Новые Нативные Функции:
	native GetConnectionType								takes nothing returns connectiontype
5. Исправлена некорректная работа GetFrameUnderCursor со фреймами не CSimpleFrame типа.
6. Исправлено некорректное поведение GetEventIsAttack в DAMAGED событии.
7. Добавлена поддержка CommandButton_0 по CommandButton_11 в GetFrameByName с contextId 0.
	Пометка: эти имена отвечают за кнопки заклинаний. Пример: GetFrameByName( "CommandButton_0", 0 ).
8. Добавлена поддержка CommandButton_0 по CommandButton_5 в GetFrameByName с contextId 1.
	Пометка: эти имена отвечают за кнопки предметов. Пример: GetFrameByName( "CommandButton_0", 1 ).
9. Исправлена некорректная обработка цвета в SetModel.
2
20
3 месяца назад
2

» Unryze Jass API / UjAPI

Вышла новая версия!

v1.1.3.165

  1. Новые Типы:
    type connectiontype extends handle
  2. Новые Конверторы:
    constant native ConvertConnectionType takes integer i returns connectiontype
  3. Новые Константы:
    constant connectiontype CONNECTION_TYPE_SINGLE_PLAYER = ConvertConnectionType(0)
    constant connectiontype CONNECTION_TYPE_LOCAL_GAME = ConvertConnectionType(1)
    constant connectiontype CONNECTION_TYPE_BATTLE_NET = ConvertConnectionType(2)
    constant connectiontype CONNECTION_TYPE_REPLAY = ConvertConnectionType(3)
  4. Новые Нативные Функции:
    native GetConnectionType takes nothing returns connectiontype
  5. Исправлена некорректная работа GetFrameUnderCursor со фреймами не CSimpleFrame типа.
  6. Исправлено некорректное поведение GetEventIsAttack в DAMAGED событии.
  7. Добавлена поддержка CommandButton_0 по CommandButton_11 в GetFrameByName с contextId 0.
    Пометка: эти имена отвечают за кнопки заклинаний. Пример: GetFrameByName( "CommandButton_0", 0 ).
  8. Добавлена поддержка CommandButton_0 по CommandButton_5 в GetFrameByName с contextId 1.
    Пометка: эти имена отвечают за кнопки предметов. Пример: GetFrameByName( "CommandButton_0", 1 ).
  9. Исправлена некорректная обработка цвета в SetModel.
4
20
3 месяца назад
Отредактирован Unryze
4

» Unryze Jass API / UjAPI - Что нового?

Вышла новая версия!

v1.1.2.163

1. Новые Нативные Функции:
	native TextFileRead										takes textfilehandle whichTextFile returns string
	native UnitAddItemToSlot								takes unit whichUnit, item whichItem, integer itemSlot returns boolean
	native ReviveUnit										takes unit whichUnit, real x, real y returns boolean
	native ReviveUnitLoc									takes unit whichUnit, location loc returns boolean
2. TextFileReadAll переименован в TextFileReadAllLines, теперь оно читает именно текст, а не сам файл.
3. Добавлена экспериментальная поддержка CSimpleFrame в АПИ CBackdropFrame.
4. Исправлена критическая ошибка от всех вариантов SetModel, эта ошибка связана с не-Ex вариациями, ибо цвет обрабатывался неверно.
5. Добавлена более точная, но менее строгая внутренняя проверка на "активность" Агента (то, что он не удалён).
	Пометка: это изменение по большей части затрагивает новое АПИ юнитов, которое было через-чур строгое к скрытым/убитым/удалённым юнитам.
1
20
3 месяца назад
1

» Unryze Jass API / UjAPI

Вышла новая версия!

v1.1.2.163

  1. Новые Нативные Функции:
    native TextFileRead takes textfilehandle whichTextFile returns string
    native UnitAddItemToSlot takes unit whichUnit, item whichItem, integer itemSlot returns boolean
    native ReviveUnit takes unit whichUnit, real x, real y returns boolean
    native ReviveUnitLoc takes unit whichUnit, location loc returns boolean
  2. TextFileReadAll переименован в TextFileReadAllLines, теперь оно читает именно текст, а не сам файл.
  3. Добавлена экспериментальная поддержка CSimpleFrame в АПИ CBackdropFrame.
  4. Исправлена критическая ошибка от всех вариантов SetModel, эта ошибка связана с не-Ex вариациями, ибо цвет обрабатывался неверно.
  5. Добавлена более точная, но менее строгая внутренняя проверка на "активность" Агента (то, что он не удалён).
    Пометка: это изменение по большей части затрагивает новое АПИ юнитов, которое было через-чур строгое к скрытым/убитым/удалённым юнитам.
0
20
3 месяца назад
Отредактирован Unryze
0

» Unryze Jass API / UjAPI - Что нового?

Вышла новая версия!

v1.1.1.160

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

» Unryze Jass API / UjAPI

Вышла новая версия!

v1.1.1.160

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

» Unryze Jass API / UjAPI - Что нового?

Вышла новая версия!

v1.1.1.159

  1. Исправлено взаимодействие UNIT_ABILITY_REMOVED с RemoveUnit, которое приводило к "замораживанию" процесса игры.
0
20
3 месяца назад
0

» Unryze Jass API / UjAPI

Вышла новая версия!

v1.1.1.159

  1. Исправлено взаимодействие UNIT_ABILITY_REMOVED с RemoveUnit, которое приводило к "замораживанию" процесса игры.
0
20
3 месяца назад
0

» Unryze Jass API / UjAPI - Что нового?

Вышла новая версия!

v1.1.1.158

  1. Новые Константы:
    constant playerunitevent EVENT_PLAYER_UNIT_ABILITY_ADDED = ConvertPlayerUnitEvent(503)
    constant playerunitevent EVENT_PLAYER_UNIT_ABILITY_REMOVED = ConvertPlayerUnitEvent(504)
    constant playerunitevent EVENT_PLAYER_UNIT_ABILITY_AUTOCAST_ON = ConvertPlayerUnitEvent(505)
    constant playerunitevent EVENT_PLAYER_UNIT_ABILITY_AUTOCAST_OFF = ConvertPlayerUnitEvent(506)
    constant unitevent EVENT_UNIT_ABILITY_ADDED = ConvertUnitEvent(513)
    constant unitevent EVENT_UNIT_ABILITY_REMOVED = ConvertUnitEvent(514)
    constant unitevent EVENT_UNIT_ABILITY_AUTOCAST_ON = ConvertUnitEvent(515)
    constant unitevent EVENT_UNIT_ABILITY_AUTOCAST_OFF = ConvertUnitEvent(516)
    constant originframetype ORIGIN_FRAME_FPS_TEXT = ConvertOriginFrameType(54)
    constant originframetype ORIGIN_FRAME_MEMORY_TEXT = ConvertOriginFrameType(55)
  2. Новые Нативные Функции:
    native GetMapFogZ takes nothing returns real
    native SetMapFogZ takes real z returns nothing
    native GetMapFogColour takes nothing returns integer
    native SetMapFogColour takes integer colour returns nothing
    native IsAbilityAutocastEnabled takes ability whichAbility returns boolean
  3. GetSpellAbility теперь работает с событиями баффов и новыми событиями заклинаний.
  4. GetSpellAbilityId теперь работает с событиями баффов и новыми событиями заклинаний.
  5. Исправлена SetAbilityOwner, которая не до конца работала с активными заклинаниями (они не отображались в панели, если были созданы напрямую через CreateAbility).
  6. Исправлена критическая ошибка от SetDoodadZ на 1.28f.
0
20
3 месяца назад
0

» Unryze Jass API / UjAPI

Вышла новая версия!

v1.1.1.158

  1. Новые Константы:
    constant playerunitevent EVENT_PLAYER_UNIT_ABILITY_ADDED = ConvertPlayerUnitEvent(503)
    constant playerunitevent EVENT_PLAYER_UNIT_ABILITY_REMOVED = ConvertPlayerUnitEvent(504)
    constant playerunitevent EVENT_PLAYER_UNIT_ABILITY_AUTOCAST_ON = ConvertPlayerUnitEvent(505)
    constant playerunitevent EVENT_PLAYER_UNIT_ABILITY_AUTOCAST_OFF = ConvertPlayerUnitEvent(506)
    constant unitevent EVENT_UNIT_ABILITY_ADDED = ConvertUnitEvent(513)
    constant unitevent EVENT_UNIT_ABILITY_REMOVED = ConvertUnitEvent(514)
    constant unitevent EVENT_UNIT_ABILITY_AUTOCAST_ON = ConvertUnitEvent(515)
    constant unitevent EVENT_UNIT_ABILITY_AUTOCAST_OFF = ConvertUnitEvent(516)
    constant originframetype ORIGIN_FRAME_FPS_TEXT = ConvertOriginFrameType(54)
    constant originframetype ORIGIN_FRAME_MEMORY_TEXT = ConvertOriginFrameType(55)
  2. Новые Нативные Функции:
    native GetMapFogZ takes nothing returns real
    native SetMapFogZ takes real z returns nothing
    native GetMapFogColour takes nothing returns integer
    native SetMapFogColour takes integer colour returns nothing
    native IsAbilityAutocastEnabled takes ability whichAbility returns boolean
  3. GetSpellAbility теперь работает с событиями баффов и новыми событиями заклинаний.
  4. GetSpellAbilityId теперь работает с событиями баффов и новыми событиями заклинаний.
  5. Исправлена SetAbilityOwner, которая не до конца работала с активными заклинаниями (они не отображались в панели, если были созданы напрямую через CreateAbility).
  6. Исправлена критическая ошибка от SetDoodadZ на 1.28f.
0
20
3 месяца назад
0

» WarCraft 3 / Циклы и их лимиты (+ способы обхода лимитов)

Скинь все эти карты, я готов тебе потыкать где и как создатель этих карт буквально нагадил и в коде и в штаны. А то этот сыр бор - банально мимо кассы.
И повторюсь, коли так тебя душат ОП лимиты у тебя есть несколько выборов:
  1. UjAPI.
  2. MemHack.
  3. Патч 1.29 или выше.
  4. Реф.
Тебя кто-то душит сидеть на 1.26а и тем более Ванильном? Если да, то тогда соизволь пытаться умещаться в лимиты, а не городить костыли обходить то, что достигаться и не должно.
2
20
3 месяца назад
2

» WarCraft 3 / Jass MythBusters

Где-то была инфа что обычные boolexpr не плодятся а кэшируются, но если юзать And Or Not (те которые для булекспров) то вот тогда они будут постоянно плодится. Хотя это не миф наверное.
Не совсем так. And, Or и Not создают хендлы "самих себя", куда по итогу записывается исход и так на каждый вызов (что логично), такая же логика у Location, Rect ибо им неоткуда брать "заготовку", ибо координаты/данные динамические.
Хотя на деле Condition/Filter кэшируется лишь за счёт того, что количество функций ограничено, потому можно хранить сами функции и брать базируясь на ней кондишен. Что опять же логично. :)
2
20
3 месяца назад
2

» WarCraft 3 / Циклы и их лимиты (+ способы обхода лимитов)

В картах обычно цикл до 8192 (прелести структур и вджасс) - и это подавляющее большинство. Если каким-то чудом цикл уже больше 8192 - то это скорее проблема разработчика, нежели ОП лимита.
И нет, обычно проблема не в циклах, а в перегруженности потока, который можно "разгружать" - да. Но все эти проблемы ОП лимита обходятся дроблениями main функции, да и самих циклов на отдельные "потоки" либо через ExecuteFunc, либо через TimerStart. В любом случае, такой прямо катастрофической проблемы банально нет.
Говоря проще, причина по которой не было подобных тем - скорее потому что ОП лимит достигается лишь фокусниками/извращенцами, нежели из-за неизбежности/случайно, ну а те, кто юзают Мемхак этот лимит могут поднять вручную, на UjAPI он вообще 2 миллиарда, а на рефе 30 миллионов с 300к.
Тут уже скорее проблема ванилы, но и она на деле не проблема, ибо испытывается единицами.