20

» Unryze Jass API / UjAPI

У игровых студий решение простое, если надо удалить - удаляют.
Сначала метят deprecated, а через несколько версий удаляют. Кто не успел, тот сам себе доктор.
Пометка если в имени, то карта всё-равно сломается. А если помечать в комментариях, то кто будет их читать? Никто. :D
20

» Unryze Jass API / UjAPI

Kokomi, о, нет, ещё долго до карт.)
Вообще я не про себя спрашивал, а про какого либо случайного человека, который будет использовать ujapi в своей карте.
Unryze, Да, здесь тяжело как то решить технически. Может быть у игровых студий есть какие то решения?
У игровых студий решение простое, если надо удалить - удаляют. Кто будет церемониться с мододелами, либо будет фиаско в виде рефоржеда и Blz приписок.
20

» Unryze Jass API / UjAPI

Unryze, Честно говоря не знаю, что тут предложить...
Идеального решения к сожалению нет. А я - к сожалению тоже человек, ошибки допускать тоже могу. :(
20

» Unryze Jass API / UjAPI

Unryze, неудобно. Если у него удалённая нативка вызывается в коде в 50 местах, кучу кода править придётся... ну если удалений уже не будет, тогда ок)
А что ты предлагаешь? Не править косые названия и плодить клонов? И опять же, удалений было лишь 2, сейчас была мелкая правка. И если удаление нужно, значит что поделать придётся не только мне одному страдать.
20

» Unryze Jass API / UjAPI

Такой вопрос - как быть с патчингом ujapi? Допустим, человек начал делать карту на ujapi позапрошлой версии, написал много кода, а вышло обновление, где часть нативок удалена. Соответственно код у человека перестал работать, потому что вызывает старые нативки, а их не стало. Как быть с этим?
Ручками править, как же ещё? Удаления нативок по идее уже завершены, ибо оставлять совсем бесполезные нативки не хотелось. Да и что World Editor что моя UjAPI в дев моде буквально будут указывать на какой строке не хватает функции.
20

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

Вышла новая версия! Прокрутить к ресурсу

v1.0.17.73

  1. Новые Типы:
    type minimapicon extends handle
    type commandbuttoneffect extends handle
  2. Новые Константы:
    constant unitrealfield UNIT_RF_COLLISION_SIZE = ConvertUnitRealField('ucol')
    constant originframetype ORIGIN_FRAME_CONSOLE_UI = ConvertOriginFrameType(18)
    constant originframetype ORIGIN_FRAME_PORTRAIT_TEXT = ConvertOriginFrameType(19)
    constant originframetype ORIGIN_FRAME_BUFF_BAR = ConvertOriginFrameType(20)
    constant originframetype ORIGIN_FRAME_BUFF_BAR_TEXT = ConvertOriginFrameType(21)
    constant originframetype ORIGIN_FRAME_BUFF_BAR_INDICATOR = ConvertOriginFrameType(22)
    constant originframetype ORIGIN_FRAME_TIME_OF_DAY_INDICATOR = ConvertOriginFrameType(23)
    constant originframetype ORIGIN_FRAME_LEADERBOARD = ConvertOriginFrameType(24)
    constant originframetype ORIGIN_FRAME_MULTIBOARD = ConvertOriginFrameType(25)
    constant originframetype ORIGIN_FRAME_INFO_BAR = ConvertOriginFrameType(26)
    constant originframetype ORIGIN_FRAME_COMMAND_BAR = ConvertOriginFrameType(27)
    constant originframetype ORIGIN_FRAME_RESOURCE_BAR = ConvertOriginFrameType(28)
    constant originframetype ORIGIN_FRAME_RESOURCE_BAR_TEXTURE = ConvertOriginFrameType(29)
    constant originframetype ORIGIN_FRAME_RESOURCE_BAR_TEXT = ConvertOriginFrameType(30)
    constant originframetype ORIGIN_FRAME_UPPERBUTTON_BAR = ConvertOriginFrameType(31)
    constant originframetype ORIGIN_FRAME_UPPERBUTTON_BAR_BUTTON = ConvertOriginFrameType(32)
    constant originframetype ORIGIN_FRAME_PEON_BAR = ConvertOriginFrameType(33)
    constant originframetype ORIGIN_FRAME_PLAYER_MESSAGE = ConvertOriginFrameType(34)
    constant originframetype ORIGIN_FRAME_UNIT_MESSAGE = ConvertOriginFrameType(35)
    constant originframetype ORIGIN_FRAME_CHAT_MESSAGE = ConvertOriginFrameType(36)
    constant originframetype ORIGIN_FRAME_TOP_MESSAGE = ConvertOriginFrameType(37)
    constant originframetype ORIGIN_FRAME_CHAT_EDITBAR = ConvertOriginFrameType(38)
    constant originframetype ORIGIN_FRAME_CINEMATIC_PANEL = ConvertOriginFrameType(39)
    constant originframetype ORIGIN_FRAME_COMMAND_BUTTON_COOLDOWN_INDICATOR = ConvertOriginFrameType(40)
    constant originframetype ORIGIN_FRAME_COMMAND_BUTTON_AUTOCAST_FRAME = ConvertOriginFrameType(41)
    constant originframetype ORIGIN_FRAME_COMMAND_BUTTON_CHARGES_FRAME = ConvertOriginFrameType(42)
    constant originframetype ORIGIN_FRAME_COMMAND_BUTTON_CHARGES_TEXT = ConvertOriginFrameType(43)
  3. Новые Нативные Функции:
    native MathRealMin takes real a, real b returns real
    native MathRealMax takes real a, real b returns real
    native MathRealSign takes real r returns integer
    native MathIntegerMin takes integer a, integer b returns integer
    native MathIntegerMax takes integer a, integer b returns integer
    native MathIntegerSign takes integer i returns integer
    native MathPointProjectionX takes real x, real angle, real distance returns real
    native MathPointProjectionY takes real y, real angle, real distance returns real
    native MathAngleBetweenPoints takes real fromX, real fromY, real toX, real toY returns real
    native MathDistanceBetweenPoints takes real fromX, real fromY, real toX, real toY returns real
    native MathAngleBetweenLocations takes location fromLoc, location toLoc returns real
    native MathDistanceBetweenLocations takes location fromLoc, location toLoc returns real
    native GetUnitZ takes unit whichUnit returns real
    native DisableUnitAbility takes unit whichUnit, integer abilityId, boolean hide, boolean disable returns nothing
    native EnableUnitAbility takes unit whichUnit, integer abilityId, boolean show, boolean enable returns nothing
    native GetUnitBuffByIndex takes unit whichUnit, integer index returns buff
    native SetSpecialEffectMatrixScale takes effect whichEffect, real x, real y, real z returns nothing\
    native SetMiniMapTexture takes string texturePath returns boolean
    native IsFrameRegion takes framehandle whichFrame returns boolean
    native IsFrameSimple takes framehandle whichFrame returns boolean
    native IsFrameComplex takes framehandle whichFrame returns boolean
  4. Добавлена упущенная константа UNIT_IF_LUMBER_COST.
  5. Добавлена упущенная константа UNIT_IF_HOTKEY.
  6. Добавлена упущенная константа UNIT_WEAPON_IF_ATTACK_WEAPON_TYPE.
  7. Исправлена критическая ошибка в нативных функциях полей при использовании UNIT_WEAPON_RF_ATTACK_PROJECTILE_ARC или UNIT_WEAPON_RF_ATTACK_PROJECTILE_SPEED на юните ближнего боя.
  8. Исправлено неправильное значение в константе UNIT_WEAPON_SF_ATTACK_PROJECTILE_ART.
  9. GetMouseScreenX и GetMouseScreenY теперь возвращают значения от .0 до 1. заместо .0 до .8 для X и .0 до .6 для Y.
  10. HideOriginFrames теперь ведёт себя почти идентично функции на Рефордже.
  11. UnitUnapplyUpdates и UnitApplyUpdates, слова Updates изменены на Upgrades, это была большая опечатка.
  12. Silence/UnsilenceAbility переименованы в Disable/EnableAbility.
  13. ITEM_IF_TINTING_COLOR значение изменено с icol на iclt.
  14. UNIT_IF_TINTING_COLOR значение изменено с ucol на uclt.
  15. Добавлены Blz нативные функции, часть из них - простые пустышки, но большая часть рабочая. Список рабочих/не пустышек функций:
    BlzGroupAddGroupFast
    BlzGroupRemoveGroupFast
    BlzGroupGetSize
    BlzGroupUnitAt
    BlzForceHasPlayer
    BlzGetTriggerPlayerMouseX
    BlzGetTriggerPlayerMouseY
    BlzGetTriggerPlayerMousePosition
    BlzGetTriggerPlayerMouseButton
    BlzSetAbilityTooltip
    BlzSetAbilityActivatedTooltip
    BlzSetAbilityExtendedTooltip
    BlzSetAbilityActivatedExtendedTooltip
    BlzSetAbilityResearchTooltip
    BlzSetAbilityResearchExtendedTooltip
    BlzGetAbilityTooltip
    BlzGetAbilityActivatedTooltip
    BlzGetAbilityExtendedTooltip
    BlzGetAbilityActivatedExtendedTooltip
    BlzGetAbilityResearchTooltip
    BlzGetAbilityResearchExtendedTooltip
    BlzSetAbilityIcon
    BlzGetAbilityIcon
    BlzSetAbilityActivatedIcon
    BlzGetAbilityActivatedIcon
    BlzGetAbilityPosX
    BlzGetAbilityPosY
    BlzSetAbilityPosX
    BlzSetAbilityPosY
    BlzGetAbilityActivatedPosX
    BlzGetAbilityActivatedPosY
    BlzSetAbilityActivatedPosX
    BlzSetAbilityActivatedPosY
    BlzGetUnitMaxHP
    BlzSetUnitMaxHP
    BlzGetUnitMaxMana
    BlzSetUnitMaxMana
    BlzSetItemName
    BlzSetItemDescription
    BlzGetItemDescription
    BlzSetItemTooltip
    BlzGetItemTooltip
    BlzSetItemExtendedTooltip
    BlzGetItemExtendedTooltip
    BlzSetItemIconPath
    BlzGetItemIconPath
    BlzSetUnitName
    BlzSetHeroProperName
    BlzGetUnitBaseDamage
    BlzSetUnitBaseDamage
    BlzGetUnitDiceNumber
    BlzSetUnitDiceNumber
    BlzGetUnitDiceSides
    BlzSetUnitDiceSides
    BlzGetUnitAttackCooldown
    BlzSetUnitAttackCooldown
    BlzSetSpecialEffectColorByPlayer
    BlzSetSpecialEffectColor
    BlzSetSpecialEffectAlpha
    BlzSetSpecialEffectScale
    BlzSetSpecialEffectPosition
    BlzSetSpecialEffectHeight
    BlzSetSpecialEffectTimeScale
    BlzSetSpecialEffectTime
    BlzSetSpecialEffectOrientation
    BlzSetSpecialEffectYaw
    BlzSetSpecialEffectPitch
    BlzSetSpecialEffectRoll
    BlzSetSpecialEffectX
    BlzSetSpecialEffectY
    BlzSetSpecialEffectZ
    BlzSetSpecialEffectPositionLoc
    BlzGetLocalSpecialEffectX
    BlzGetLocalSpecialEffectY
    BlzGetLocalSpecialEffectZ
    BlzPlaySpecialEffect
    BlzPlaySpecialEffectWithTimeScale
    BlzGetAnimName
    BlzGetUnitArmor
    BlzSetUnitArmor
    BlzUnitHideAbility
    BlzUnitDisableAbility
    BlzIsUnitSelectable
    BlzIsUnitInvulnerable
    BlzUnitInterruptAttack
    BlzGetUnitCollisionSize
    BlzGetAbilityManaCost
    BlzGetAbilityCooldown
    BlzSetUnitAbilityCooldown
    BlzGetUnitAbilityCooldown
    BlzGetUnitAbilityCooldownRemaining
    BlzEndUnitAbilityCooldown
    BlzStartUnitAbilityCooldown
    BlzGetUnitAbilityManaCost
    BlzSetUnitAbilityManaCost
    BlzGetLocalUnitZ
    BlzSetEventDamage
    BlzGetEventDamageTarget
    BlzGetEventAttackType
    BlzGetEventDamageType
    BlzGetEventWeaponType
    BlzSetEventAttackType
    BlzSetEventDamageType
    BlzSetEventWeaponType
    BlzGetEventIsAttack
    BlzGetUnitZ
    BlzGetOriginFrame
    BlzHideOriginFrames
    BlzConvertColor
    BlzLoadTOCFile
    BlzCreateFrame
    BlzCreateSimpleFrame
    BlzCreateFrameByType
    BlzDestroyFrame
    BlzFrameSetPoint
    BlzFrameSetAbsPoint
    BlzFrameClearAllPoints
    BlzFrameSetAllPoints
    BlzFrameSetVisible
    BlzFrameIsVisible
    BlzGetFrameByName
    BlzFrameGetName
    BlzFrameClick
    BlzFrameSetText
    BlzFrameGetText
    BlzFrameAddText
    BlzFrameSetTextSizeLimit
    BlzFrameGetTextSizeLimit
    BlzFrameSetTextColor
    BlzFrameSetFocus
    BlzFrameSetModel
    BlzFrameSetEnable
    BlzFrameGetEnable
    BlzFrameSetAlpha
    BlzFrameGetAlpha
    BlzFrameSetSpriteAnimate
    BlzFrameSetTexture
    BlzFrameSetScale
    BlzFrameSetTooltip
    BlzFrameCageMouse
    BlzFrameSetValue
    BlzFrameGetValue
    BlzFrameSetMinMaxValue
    BlzFrameSetStepSize
    BlzFrameSetSize
    BlzFrameSetVertexColor
    BlzFrameSetLevel
    BlzFrameSetParent
    BlzFrameGetParent
    BlzFrameGetHeight
    BlzFrameGetWidth
    BlzFrameSetFont
    BlzFrameSetTextAlignment
    BlzFrameGetChildrenCount
    BlzFrameGetChild
    BlzTriggerRegisterFrameEvent
    BlzGetTriggerFrame
    BlzGetTriggerFrameEvent
    BlzGetTriggerFrameValue
    BlzGetTriggerFrameText
    BlzTriggerRegisterPlayerSyncEvent
    BlzSendSyncData
    BlzGetTriggerSyncPrefix
    BlzGetTriggerSyncData
    BlzTriggerRegisterPlayerKeyEvent
    BlzGetTriggerPlayerKey
    BlzGetTriggerPlayerMetaKey
    BlzGetTriggerPlayerIsKeyDown
    BlzSetMousePos
    BlzGetLocalClientWidth
    BlzGetLocalClientHeight
    BlzIsLocalClientActive
    BlzGetMouseFocusUnit
    BlzChangeMinimapTerrainTex
    BlzGetSpecialEffectScale
    BlzSetSpecialEffectMatrixScale
    BlzResetSpecialEffectMatrix
    BlzGetUnitAbility
    BlzGetUnitAbilityByIndex
    BlzGetAbilityId
    BlzDisplayChatMessage
    BlzPauseUnitEx
    BlzFourCC2S
    BlzS2FourCC
    BlzSetUnitFacingEx
    BlzBitOr
    BlzBitAnd
    BlzBitXor
    BlzGetAbilityBooleanField
    BlzGetAbilityIntegerField
    BlzGetAbilityRealField
    BlzGetAbilityStringField
    BlzGetAbilityBooleanLevelField
    BlzGetAbilityIntegerLevelField
    BlzGetAbilityRealLevelField
    BlzGetAbilityStringLevelField
    BlzGetAbilityBooleanLevelArrayField
    BlzGetAbilityIntegerLevelArrayField
    BlzGetAbilityRealLevelArrayField
    BlzGetAbilityStringLevelArrayField
    BlzSetAbilityBooleanField
    BlzSetAbilityIntegerField
    BlzSetAbilityRealField
    BlzSetAbilityStringField
    BlzSetAbilityBooleanLevelField
    BlzSetAbilityIntegerLevelField
    BlzSetAbilityRealLevelField
    BlzSetAbilityStringLevelField
    BlzSetAbilityBooleanLevelArrayField
    BlzSetAbilityIntegerLevelArrayField
    BlzSetAbilityRealLevelArrayField
    BlzSetAbilityStringLevelArrayField
    BlzAddAbilityBooleanLevelArrayField
    BlzAddAbilityIntegerLevelArrayField
    BlzAddAbilityRealLevelArrayField
    BlzAddAbilityStringLevelArrayField
    BlzRemoveAbilityBooleanLevelArrayField
    BlzRemoveAbilityIntegerLevelArrayField
    BlzRemoveAbilityRealLevelArrayField
    BlzRemoveAbilityStringLevelArrayField
    BlzGetItemBooleanField
    BlzGetItemIntegerField
    BlzGetItemRealField
    BlzGetItemStringField
    BlzSetItemBooleanField
    BlzSetItemIntegerField
    BlzSetItemRealField
    BlzSetItemStringField
    BlzGetUnitBooleanField
    BlzGetUnitIntegerField
    BlzGetUnitRealField
    BlzGetUnitStringField
    BlzSetUnitBooleanField
    BlzSetUnitIntegerField
    BlzSetUnitRealField
    BlzSetUnitStringField
    BlzGetUnitWeaponBooleanField
    BlzGetUnitWeaponIntegerField
    BlzGetUnitWeaponRealField
    BlzGetUnitWeaponStringField
    BlzSetUnitWeaponBooleanField
    BlzSetUnitWeaponIntegerField
    BlzSetUnitWeaponRealField
    BlzSetUnitWeaponStringField
    BlzQueueImmediateOrderById
    BlzQueuePointOrderById
    BlzQueueTargetOrderById
    BlzQueueInstantPointOrderById
    BlzQueueInstantTargetOrderById
    BlzQueueBuildOrderById
    BlzQueueNeutralImmediateOrderById
    BlzQueueNeutralPointOrderById
    BlzQueueNeutralTargetOrderById
    BlzGetUnitOrderCount
    BlzUnitClearOrders
    BlzUnitForceStopOrder
20

» Unryze Jass API / UjAPI

Вышла новая версия! Прокрутить к ресурсу

v1.0.17.73

  1. Новые Типы:
    type minimapicon extends handle
    type commandbuttoneffect extends handle
  2. Новые Константы:
    constant unitrealfield UNIT_RF_COLLISION_SIZE = ConvertUnitRealField('ucol')
    constant originframetype ORIGIN_FRAME_CONSOLE_UI = ConvertOriginFrameType(18)
    constant originframetype ORIGIN_FRAME_PORTRAIT_TEXT = ConvertOriginFrameType(19)
    constant originframetype ORIGIN_FRAME_BUFF_BAR = ConvertOriginFrameType(20)
    constant originframetype ORIGIN_FRAME_BUFF_BAR_TEXT = ConvertOriginFrameType(21)
    constant originframetype ORIGIN_FRAME_BUFF_BAR_INDICATOR = ConvertOriginFrameType(22)
    constant originframetype ORIGIN_FRAME_TIME_OF_DAY_INDICATOR = ConvertOriginFrameType(23)
    constant originframetype ORIGIN_FRAME_LEADERBOARD = ConvertOriginFrameType(24)
    constant originframetype ORIGIN_FRAME_MULTIBOARD = ConvertOriginFrameType(25)
    constant originframetype ORIGIN_FRAME_INFO_BAR = ConvertOriginFrameType(26)
    constant originframetype ORIGIN_FRAME_COMMAND_BAR = ConvertOriginFrameType(27)
    constant originframetype ORIGIN_FRAME_RESOURCE_BAR = ConvertOriginFrameType(28)
    constant originframetype ORIGIN_FRAME_RESOURCE_BAR_TEXTURE = ConvertOriginFrameType(29)
    constant originframetype ORIGIN_FRAME_RESOURCE_BAR_TEXT = ConvertOriginFrameType(30)
    constant originframetype ORIGIN_FRAME_UPPERBUTTON_BAR = ConvertOriginFrameType(31)
    constant originframetype ORIGIN_FRAME_UPPERBUTTON_BAR_BUTTON = ConvertOriginFrameType(32)
    constant originframetype ORIGIN_FRAME_PEON_BAR = ConvertOriginFrameType(33)
    constant originframetype ORIGIN_FRAME_PLAYER_MESSAGE = ConvertOriginFrameType(34)
    constant originframetype ORIGIN_FRAME_UNIT_MESSAGE = ConvertOriginFrameType(35)
    constant originframetype ORIGIN_FRAME_CHAT_MESSAGE = ConvertOriginFrameType(36)
    constant originframetype ORIGIN_FRAME_TOP_MESSAGE = ConvertOriginFrameType(37)
    constant originframetype ORIGIN_FRAME_CHAT_EDITBAR = ConvertOriginFrameType(38)
    constant originframetype ORIGIN_FRAME_CINEMATIC_PANEL = ConvertOriginFrameType(39)
    constant originframetype ORIGIN_FRAME_COMMAND_BUTTON_COOLDOWN_INDICATOR = ConvertOriginFrameType(40)
    constant originframetype ORIGIN_FRAME_COMMAND_BUTTON_AUTOCAST_FRAME = ConvertOriginFrameType(41)
    constant originframetype ORIGIN_FRAME_COMMAND_BUTTON_CHARGES_FRAME = ConvertOriginFrameType(42)
    constant originframetype ORIGIN_FRAME_COMMAND_BUTTON_CHARGES_TEXT = ConvertOriginFrameType(43)
  3. Новые Нативные Функции:
    native MathRealMin takes real a, real b returns real
    native MathRealMax takes real a, real b returns real
    native MathRealSign takes real r returns integer
    native MathIntegerMin takes integer a, integer b returns integer
    native MathIntegerMax takes integer a, integer b returns integer
    native MathIntegerSign takes integer i returns integer
    native MathPointProjectionX takes real x, real angle, real distance returns real
    native MathPointProjectionY takes real y, real angle, real distance returns real
    native MathAngleBetweenPoints takes real fromX, real fromY, real toX, real toY returns real
    native MathDistanceBetweenPoints takes real fromX, real fromY, real toX, real toY returns real
    native MathAngleBetweenLocations takes location fromLoc, location toLoc returns real
    native MathDistanceBetweenLocations takes location fromLoc, location toLoc returns real
    native GetUnitZ takes unit whichUnit returns real
    native DisableUnitAbility takes unit whichUnit, integer abilityId, boolean hide, boolean disable returns nothing
    native EnableUnitAbility takes unit whichUnit, integer abilityId, boolean show, boolean enable returns nothing
    native GetUnitBuffByIndex takes unit whichUnit, integer index returns buff
    native SetSpecialEffectMatrixScale takes effect whichEffect, real x, real y, real z returns nothing\
    native SetMiniMapTexture takes string texturePath returns boolean
    native IsFrameRegion takes framehandle whichFrame returns boolean
    native IsFrameSimple takes framehandle whichFrame returns boolean
    native IsFrameComplex takes framehandle whichFrame returns boolean
  4. Добавлена упущенная константа UNIT_IF_LUMBER_COST.
  5. Добавлена упущенная константа UNIT_IF_HOTKEY.
  6. Добавлена упущенная константа UNIT_WEAPON_IF_ATTACK_WEAPON_TYPE.
  7. Исправлена критическая ошибка в нативных функциях полей при использовании UNIT_WEAPON_RF_ATTACK_PROJECTILE_ARC или UNIT_WEAPON_RF_ATTACK_PROJECTILE_SPEED на юните ближнего боя.
  8. Исправлено неправильное значение в константе UNIT_WEAPON_SF_ATTACK_PROJECTILE_ART.
  9. GetMouseScreenX и GetMouseScreenY теперь возвращают значения от .0 до 1. заместо .0 до .8 для X и .0 до .6 для Y.
  10. HideOriginFrames теперь ведёт себя почти идентично функции на Рефордже.
  11. UnitUnapplyUpdates и UnitApplyUpdates, слова Updates изменены на Upgrades, это была большая опечатка.
  12. Silence/UnsilenceAbility переименованы в Disable/EnableAbility.
  13. ITEM_IF_TINTING_COLOR значение изменено с icol на iclt.
  14. UNIT_IF_TINTING_COLOR значение изменено с ucol на uclt.
  15. Добавлены Blz нативные функции, часть из них - простые пустышки, но большая часть рабочая. Список рабочих/не пустышек функций:
    BlzGroupAddGroupFast
    BlzGroupRemoveGroupFast
    BlzGroupGetSize
    BlzGroupUnitAt
    BlzForceHasPlayer
    BlzGetTriggerPlayerMouseX
    BlzGetTriggerPlayerMouseY
    BlzGetTriggerPlayerMousePosition
    BlzGetTriggerPlayerMouseButton
    BlzSetAbilityTooltip
    BlzSetAbilityActivatedTooltip
    BlzSetAbilityExtendedTooltip
    BlzSetAbilityActivatedExtendedTooltip
    BlzSetAbilityResearchTooltip
    BlzSetAbilityResearchExtendedTooltip
    BlzGetAbilityTooltip
    BlzGetAbilityActivatedTooltip
    BlzGetAbilityExtendedTooltip
    BlzGetAbilityActivatedExtendedTooltip
    BlzGetAbilityResearchTooltip
    BlzGetAbilityResearchExtendedTooltip
    BlzSetAbilityIcon
    BlzGetAbilityIcon
    BlzSetAbilityActivatedIcon
    BlzGetAbilityActivatedIcon
    BlzGetAbilityPosX
    BlzGetAbilityPosY
    BlzSetAbilityPosX
    BlzSetAbilityPosY
    BlzGetAbilityActivatedPosX
    BlzGetAbilityActivatedPosY
    BlzSetAbilityActivatedPosX
    BlzSetAbilityActivatedPosY
    BlzGetUnitMaxHP
    BlzSetUnitMaxHP
    BlzGetUnitMaxMana
    BlzSetUnitMaxMana
    BlzSetItemName
    BlzSetItemDescription
    BlzGetItemDescription
    BlzSetItemTooltip
    BlzGetItemTooltip
    BlzSetItemExtendedTooltip
    BlzGetItemExtendedTooltip
    BlzSetItemIconPath
    BlzGetItemIconPath
    BlzSetUnitName
    BlzSetHeroProperName
    BlzGetUnitBaseDamage
    BlzSetUnitBaseDamage
    BlzGetUnitDiceNumber
    BlzSetUnitDiceNumber
    BlzGetUnitDiceSides
    BlzSetUnitDiceSides
    BlzGetUnitAttackCooldown
    BlzSetUnitAttackCooldown
    BlzSetSpecialEffectColorByPlayer
    BlzSetSpecialEffectColor
    BlzSetSpecialEffectAlpha
    BlzSetSpecialEffectScale
    BlzSetSpecialEffectPosition
    BlzSetSpecialEffectHeight
    BlzSetSpecialEffectTimeScale
    BlzSetSpecialEffectTime
    BlzSetSpecialEffectOrientation
    BlzSetSpecialEffectYaw
    BlzSetSpecialEffectPitch
    BlzSetSpecialEffectRoll
    BlzSetSpecialEffectX
    BlzSetSpecialEffectY
    BlzSetSpecialEffectZ
    BlzSetSpecialEffectPositionLoc
    BlzGetLocalSpecialEffectX
    BlzGetLocalSpecialEffectY
    BlzGetLocalSpecialEffectZ
    BlzPlaySpecialEffect
    BlzPlaySpecialEffectWithTimeScale
    BlzGetAnimName
    BlzGetUnitArmor
    BlzSetUnitArmor
    BlzUnitHideAbility
    BlzUnitDisableAbility
    BlzIsUnitSelectable
    BlzIsUnitInvulnerable
    BlzUnitInterruptAttack
    BlzGetUnitCollisionSize
    BlzGetAbilityManaCost
    BlzGetAbilityCooldown
    BlzSetUnitAbilityCooldown
    BlzGetUnitAbilityCooldown
    BlzGetUnitAbilityCooldownRemaining
    BlzEndUnitAbilityCooldown
    BlzStartUnitAbilityCooldown
    BlzGetUnitAbilityManaCost
    BlzSetUnitAbilityManaCost
    BlzGetLocalUnitZ
    BlzSetEventDamage
    BlzGetEventDamageTarget
    BlzGetEventAttackType
    BlzGetEventDamageType
    BlzGetEventWeaponType
    BlzSetEventAttackType
    BlzSetEventDamageType
    BlzSetEventWeaponType
    BlzGetEventIsAttack
    BlzGetUnitZ
    BlzGetOriginFrame
    BlzHideOriginFrames
    BlzConvertColor
    BlzLoadTOCFile
    BlzCreateFrame
    BlzCreateSimpleFrame
    BlzCreateFrameByType
    BlzDestroyFrame
    BlzFrameSetPoint
    BlzFrameSetAbsPoint
    BlzFrameClearAllPoints
    BlzFrameSetAllPoints
    BlzFrameSetVisible
    BlzFrameIsVisible
    BlzGetFrameByName
    BlzFrameGetName
    BlzFrameClick
    BlzFrameSetText
    BlzFrameGetText
    BlzFrameAddText
    BlzFrameSetTextSizeLimit
    BlzFrameGetTextSizeLimit
    BlzFrameSetTextColor
    BlzFrameSetFocus
    BlzFrameSetModel
    BlzFrameSetEnable
    BlzFrameGetEnable
    BlzFrameSetAlpha
    BlzFrameGetAlpha
    BlzFrameSetSpriteAnimate
    BlzFrameSetTexture
    BlzFrameSetScale
    BlzFrameSetTooltip
    BlzFrameCageMouse
    BlzFrameSetValue
    BlzFrameGetValue
    BlzFrameSetMinMaxValue
    BlzFrameSetStepSize
    BlzFrameSetSize
    BlzFrameSetVertexColor
    BlzFrameSetLevel
    BlzFrameSetParent
    BlzFrameGetParent
    BlzFrameGetHeight
    BlzFrameGetWidth
    BlzFrameSetFont
    BlzFrameSetTextAlignment
    BlzFrameGetChildrenCount
    BlzFrameGetChild
    BlzTriggerRegisterFrameEvent
    BlzGetTriggerFrame
    BlzGetTriggerFrameEvent
    BlzGetTriggerFrameValue
    BlzGetTriggerFrameText
    BlzTriggerRegisterPlayerSyncEvent
    BlzSendSyncData
    BlzGetTriggerSyncPrefix
    BlzGetTriggerSyncData
    BlzTriggerRegisterPlayerKeyEvent
    BlzGetTriggerPlayerKey
    BlzGetTriggerPlayerMetaKey
    BlzGetTriggerPlayerIsKeyDown
    BlzSetMousePos
    BlzGetLocalClientWidth
    BlzGetLocalClientHeight
    BlzIsLocalClientActive
    BlzGetMouseFocusUnit
    BlzChangeMinimapTerrainTex
    BlzGetSpecialEffectScale
    BlzSetSpecialEffectMatrixScale
    BlzResetSpecialEffectMatrix
    BlzGetUnitAbility
    BlzGetUnitAbilityByIndex
    BlzGetAbilityId
    BlzDisplayChatMessage
    BlzPauseUnitEx
    BlzFourCC2S
    BlzS2FourCC
    BlzSetUnitFacingEx
    BlzBitOr
    BlzBitAnd
    BlzBitXor
    BlzGetAbilityBooleanField
    BlzGetAbilityIntegerField
    BlzGetAbilityRealField
    BlzGetAbilityStringField
    BlzGetAbilityBooleanLevelField
    BlzGetAbilityIntegerLevelField
    BlzGetAbilityRealLevelField
    BlzGetAbilityStringLevelField
    BlzGetAbilityBooleanLevelArrayField
    BlzGetAbilityIntegerLevelArrayField
    BlzGetAbilityRealLevelArrayField
    BlzGetAbilityStringLevelArrayField
    BlzSetAbilityBooleanField
    BlzSetAbilityIntegerField
    BlzSetAbilityRealField
    BlzSetAbilityStringField
    BlzSetAbilityBooleanLevelField
    BlzSetAbilityIntegerLevelField
    BlzSetAbilityRealLevelField
    BlzSetAbilityStringLevelField
    BlzSetAbilityBooleanLevelArrayField
    BlzSetAbilityIntegerLevelArrayField
    BlzSetAbilityRealLevelArrayField
    BlzSetAbilityStringLevelArrayField
    BlzAddAbilityBooleanLevelArrayField
    BlzAddAbilityIntegerLevelArrayField
    BlzAddAbilityRealLevelArrayField
    BlzAddAbilityStringLevelArrayField
    BlzRemoveAbilityBooleanLevelArrayField
    BlzRemoveAbilityIntegerLevelArrayField
    BlzRemoveAbilityRealLevelArrayField
    BlzRemoveAbilityStringLevelArrayField
    BlzGetItemBooleanField
    BlzGetItemIntegerField
    BlzGetItemRealField
    BlzGetItemStringField
    BlzSetItemBooleanField
    BlzSetItemIntegerField
    BlzSetItemRealField
    BlzSetItemStringField
    BlzGetUnitBooleanField
    BlzGetUnitIntegerField
    BlzGetUnitRealField
    BlzGetUnitStringField
    BlzSetUnitBooleanField
    BlzSetUnitIntegerField
    BlzSetUnitRealField
    BlzSetUnitStringField
    BlzGetUnitWeaponBooleanField
    BlzGetUnitWeaponIntegerField
    BlzGetUnitWeaponRealField
    BlzGetUnitWeaponStringField
    BlzSetUnitWeaponBooleanField
    BlzSetUnitWeaponIntegerField
    BlzSetUnitWeaponRealField
    BlzSetUnitWeaponStringField
    BlzQueueImmediateOrderById
    BlzQueuePointOrderById
    BlzQueueTargetOrderById
    BlzQueueInstantPointOrderById
    BlzQueueInstantTargetOrderById
    BlzQueueBuildOrderById
    BlzQueueNeutralImmediateOrderById
    BlzQueueNeutralPointOrderById
    BlzQueueNeutralTargetOrderById
    BlzGetUnitOrderCount
    BlzUnitClearOrders
    BlzUnitForceStopOrder
20

» WarCraft 3 / WFE - Warcraft Feature Extender

Вышла новая версия! Прокрутить к ресурсу
WFE 3.1.6.54
  1. Fixed Cooldown UI and Buff UI refresh time not setting to lower than 100.
  2. Moved Upgraded UI to its own section, due to a massive overhaul.
  3. Added Auto Detect Aspect Ratio flag option to Upgraded UI section.
  4. Added Aspect Ratio combobox option to Upgraded UI section.
  5. Default Aspect Ratio of Upgraded UI has been set to 16:9.
    Note: 4:3 for now uses 16:9 values, as I cannot really test 4:3.
  6. Fixed broken CCoccupUI with night elf gold mines.
  7. Fixed Buff UI not recreating after first map.
  8. Added Fast Menu setting to Settings Section.
    Note: this simply makes page transitions nearly instant, no more .67 to 1. waits between pages!
    Note: thanks fenathesnake for the idea.
  9. Added Slim Cursor option to Upgraded UI section.
    Note: this now will also work in main menu and can be adjusted with Aspect Ratio option.
  10. Check Updates option in WFE now is "Off" by default.
    Note: this was done for Windows 7 users, on which WebClient no longer works, as Microsoft has abandoned support for this OS.
20

» WarCraft 3 / Быстрые анимации в главном меню

fenathesnake в общем, за идею спасибо, я в итоге добавил быстрые анимации во ВФЕ, которые можно включать/выключать. :)
Скоро загружу апдейт, думаю тебе тоже будет интересен результат.
Результат:
Загруженные файлы
20

» WarCraft 3 / WFE - Warcraft Feature Extender

Вышла новая версия! Прокрутить к ресурсу
WFE 3.1.5.49
Changelog:
  1. Added "Move Camera" flag to "Save Unit" section, which has 3 states:
    1. Off.
    2. Always. Meaning it will move the camera when autoselect is on or when hotkey was issued.
    3. On Key. Meaning it will move the camera when and only when the hotkey was issued.
  2. Fixed accidentally broken support for 1.27a.
  3. Updated Chinese localisation. (thanks EdgarL).
  4. BuffBar Section renamed into Buff UI.
  5. Buff UI Section reworked completely and now it's similar to Cooldown UI in terms of control.
  6. Added new options to Buff UI Section:
    1. Show Indicator - this will draw a duration indicator, like in Diablo 3. (This will currenly only work, if Upgraded Buff Bar is enabled).
    2. Enable Fade - this will enable/disable the blinking (fading) animation of buffs. (By default it's turned on).
    3. Refresh Time (ms) - this, like in Cooldown UI will control the frequency of Buff updates.
    4. Text Size - this, like in Cooldown UI, will control the text size of the duration time. (This will currenly only work, if Upgraded Buff Bar is enabled).
    5. Draw Aura Duration - when enabled, this will draw duration for buffs that were acquired through auras.
  7. Buff UI is now in a separate configuration section, namely BUFFUI akin to COOLDOWNUI.
  8. Buff UI will also accurately draw total DoT duration (since these buffs are also 2 second long, that get refreshed every 1 second until the original buff is over, which is not drawn).
  9. Reworked Cooldown UI Section and moved it to Interface Section.
20

» Unryze Jass API / Unryze Jass API

Перерыл весь инет и не нашел скриншотов и самого описание - что это такое?
Можно было ткнуть во что-нибудь из списка новых данных и функции. А по скриншотам, что скриншотить 900+ новых нативок? :D
20

» WarCraft 3 / Могут ли строки вызывать рассинхрон?

"либо в качестве описания абилок/предметов/имён юнитов."
Замену делал через установку поля? Если да, то есть шанс что с этим и связано. Но это 100% не связано с вылетом после загрузки, ибо игра ещё не успела даже ничего подгрузить.
20

» WarCraft 3 / Могут ли строки вызывать рассинхрон?

Отвечу базируясь на старых (и на деле более стабильных версиях).
Jass String (если ты таки кодишь на GUI или джасс) имеют тройную буферизацию (то бишь данные хранятся в 3ёх разных местах) и каждая новая/уникальная строка получает свою структуру RCString (Jass string), нюанс в том, что чрезмерное изменение строк, может в какой-то момент заменить уже существующую строку (такое случается достаточно редко), но даже так рассинхрона не будет до того момента, пока та или иная строка не будет применена для сравнения и последующего выполнения какого-нибудь кода, допустим:
local string someText = "OriginalText"

if someText == "OriginalText" then

endif
В данном случае someText - хранит в себе число (индекс строки в базе), и если произойдёт перезапись строки, то у одного игрока может прийти другой текст, который отличается от того, что у остальных, в итоге у него действие не выполнится и движок выкинет этого игрока ссылаясь на CTrustedDesync структуру.
В рефорже с этим проблем ещё больше (по крайней мере из рассказов тех, кто там делает карту) и зачастую десинхронизация происходит вообще из-за малюсенького разрыва связи (как в старые-добрые бородатые времена), потому тут сложно дать 100% причину, из-за чего может быть проблема.
И конечно же другой нюанс - это лимит в 1024 байт на джасс текст, где русские символы занимают 2 байта, что тоже может вызвать проблему.
TL;DR:
Прямой ответ получить сложно, а твой последний вопрос скорее всего связан с тем, что либо у тебя интернет отваливался или в Battle.net были проблемы. Ожидай ответ от кого-нибудь ещё, авось найдётся кто-то со схожей проблемой.
20

» WarCraft 3 / Скорость загрузки карты

Варкрафт 3, как и почти все игры далёких 2000-х годов были ориентированы на использование 1 ядра, однако большая часть этих игр имеет достаточно оптимальное использование потоков, чтобы избежать "засорения"/замедления очереди выполнения тех или иных "комманд"/операций.
Потому в плане загрузки, приоритет такой:
  1. Носитель Информации (скорость выше 500МБ/с на деле бесполезна в Вар 3).
  2. ОЗУ (сложно уже найти DDR3 ниже 1600 МГц, потому этот компонент в целом тяжело винить).
  3. Процессор (всё в конечном итоге упирается в него, однако он не может "вытащить" производительность из дыры, если верхние 2 компонента через-чур медленные). И чем выше герцовка (тактовая частота) процессора на ОДНО ядро, тем больше производительности оно выдаст.
  4. Видеокарта (некоторые операции, тот же рендеринг, если выполняются встроенной видеокартой - будут забирать производительность процессора), а если точнее дискретная видеокарта, банальна нужна для снятия лишней нагрузки с процессора, чтобы процессор управлял лишь финальными значениями, а не всем процессом.
Ну и "дополнительный" параметр - это уровень загаженности Вар 3, если лежит тьма всяких лишних .mix файлов, или же туча моделек и т.д. и включён режим "Локальных Файлов" то всё это будет влиять, пускай и не прямо значительно на прогрузку, ибо все "данные" от MPQ Хранятся в общем "древе" и чем больше "связей", тем больше времени игра будет тратить для валидации и поиска файла в этом древе.
20

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

Вышла новая версия! Прокрутить к ресурсу

v1.0.16.69

  1. Изменения Типов:
subanimtype теперь расширяет animtype, чтобы иметь доступ к новой нативной функции GetAnimationName для получения имени анимации по её индексу.
  1. Новые Константы:
constant itemstringfield ITEM_SF_ABILITY_LIST = ConvertItemStringField('iabi')
constant itemstringfield ITEM_SF_ICON = ConvertItemStringField('iico')
constant unitstringfield UNIT_SF_ICON_NORMAL = ConvertUnitStringField('uico')
constant unitstringfield UNIT_SF_ICON_SCORE_SCREEN = ConvertUnitStringField('ussi')
constant unitstringfield UNIT_SF_MODEL = ConvertUnitStringField('umdl')
constant unitstringfield UNIT_SF_PORTRAIT = ConvertUnitStringField('upor')
constant unitstringfield UNIT_SF_SPECIAL = ConvertUnitStringField('uspa')
constant unitstringfield UNIT_SF_TOOLTIP_AWAKEN = ConvertUnitStringField('uawt')
constant unitstringfield UNIT_SF_TOOLTIP_REVIVE = ConvertUnitStringField('utpr')
  1. Новые Нативные Функции:
native HandleToHandle takes handle h returns handle
native SaveHandle takes hashtable table, integer parentKey, integer childKey, handle whichHandle returns boolean
native SaveAttackTypeHandle takes hashtable table, integer parentKey, integer childKey, attacktype whichAttackType returns boolean
native SaveDamageTypeHandle takes hashtable table, integer parentKey, integer childKey, damagetype whichDamageType returns boolean
native SaveWeaponTypeHandle takes hashtable table, integer parentKey, integer childKey, weapontype whichWeaponType returns boolean
native LoadHandle takes hashtable table, integer parentKey, integer childKey returns handle
native LoadAttackTypeHandle takes hashtable table, integer parentKey, integer childKey returns attacktype
native LoadDamageTypeHandle takes hashtable table, integer parentKey, integer childKey returns damagetype
native LoadWeaponTypeHandle takes hashtable table, integer parentKey, integer childKey returns weapontype
native GetAnimationName takes animtype whichAnim returns string
native QueueImmediateOrderById takes unit whichUnit, integer order returns boolean
native QueuePointOrderById takes unit whichUnit, integer order, real x, real y returns boolean
native QueueTargetOrderById takes unit whichUnit, integer order, widget targetWidget returns boolean
native QueueInstantPointOrderById takes unit whichUnit, integer order, real x, real y, widget instantTargetWidget returns boolean
native QueueInstantTargetOrderById takes unit whichUnit, integer order, widget targetWidget, widget instantTargetWidget returns boolean
native QueueBuildOrderById takes unit whichPeon, integer unitId, real x, real y returns boolean
native QueueNeutralImmediateOrderById takes player forWhichPlayer, unit neutralStructure, integer unitId returns boolean
native QueueNeutralPointOrderById takes player forWhichPlayer, unit neutralStructure, integer unitId, real x, real y returns boolean
native QueueNeutralTargetOrderById takes player forWhichPlayer, unit neutralStructure, integer unitId, widget target returns boolean
native GetUnitOrderCount takes unit whichUnit returns integer
native GetUnitOrderIdByIndex takes unit whichUnit, integer index returns integer
native UnitClearOrders takes unit whichUnit, boolean onlyQueued returns nothing
native UnitForceStopOrder takes unit whichUnit, boolean clearQueue returns nothing
  1. Исправлена ошибка JASS парсера, которая не отображала правильный текст ошибки.
  2. Исправлена ошибка случайно сломанной поддержки патча 1.27а.
  3. Переделана в очередной раз система обработки получения урона, которая ломалась при использовании CastTargetAbility внутри DAMAGING события.
  4. Переделан движок фреймов, который был случайно сломан в одном из предидущих обновлений.
20

» Unryze Jass API / UjAPI

Вышла новая версия! Прокрутить к ресурсу

v1.0.15.67

  1. Изменения Типов:
subanimtype теперь расширяет animtype, чтобы иметь доступ к новой нативной функции GetAnimationName для получения имени анимации по её индексу.
  1. Новые Константы:
constant itemstringfield ITEM_SF_ABILITY_LIST = ConvertItemStringField('iabi')
constant itemstringfield ITEM_SF_ICON = ConvertItemStringField('iico')
constant unitstringfield UNIT_SF_ICON_NORMAL = ConvertUnitStringField('uico')
constant unitstringfield UNIT_SF_ICON_SCORE_SCREEN = ConvertUnitStringField('ussi')
constant unitstringfield UNIT_SF_MODEL = ConvertUnitStringField('umdl')
constant unitstringfield UNIT_SF_PORTRAIT = ConvertUnitStringField('upor')
constant unitstringfield UNIT_SF_SPECIAL = ConvertUnitStringField('uspa')
constant unitstringfield UNIT_SF_TOOLTIP_AWAKEN = ConvertUnitStringField('uawt')
constant unitstringfield UNIT_SF_TOOLTIP_REVIVE = ConvertUnitStringField('utpr')
  1. Новые Нативные Функции:
native HandleToHandle takes handle h returns handle
native SaveHandle takes hashtable table, integer parentKey, integer childKey, handle whichHandle returns boolean
native SaveAttackTypeHandle takes hashtable table, integer parentKey, integer childKey, attacktype whichAttackType returns boolean
native SaveDamageTypeHandle takes hashtable table, integer parentKey, integer childKey, damagetype whichDamageType returns boolean
native SaveWeaponTypeHandle takes hashtable table, integer parentKey, integer childKey, weapontype whichWeaponType returns boolean
native LoadHandle takes hashtable table, integer parentKey, integer childKey returns handle
native LoadAttackTypeHandle takes hashtable table, integer parentKey, integer childKey returns attacktype
native LoadDamageTypeHandle takes hashtable table, integer parentKey, integer childKey returns damagetype
native LoadWeaponTypeHandle takes hashtable table, integer parentKey, integer childKey returns weapontype
native GetAnimationName takes animtype whichAnim returns string
native QueueImmediateOrderById takes unit whichUnit, integer order returns boolean
native QueuePointOrderById takes unit whichUnit, integer order, real x, real y returns boolean
native QueueTargetOrderById takes unit whichUnit, integer order, widget targetWidget returns boolean
native QueueInstantPointOrderById takes unit whichUnit, integer order, real x, real y, widget instantTargetWidget returns boolean
native QueueInstantTargetOrderById takes unit whichUnit, integer order, widget targetWidget, widget instantTargetWidget returns boolean
native QueueBuildOrderById takes unit whichPeon, integer unitId, real x, real y returns boolean
native QueueNeutralImmediateOrderById takes player forWhichPlayer, unit neutralStructure, integer unitId returns boolean
native QueueNeutralPointOrderById takes player forWhichPlayer, unit neutralStructure, integer unitId, real x, real y returns boolean
native QueueNeutralTargetOrderById takes player forWhichPlayer, unit neutralStructure, integer unitId, widget target returns boolean
native GetUnitOrderCount takes unit whichUnit returns integer
native GetUnitOrderIdByIndex takes unit whichUnit, integer index returns integer
native UnitClearOrders takes unit whichUnit, boolean onlyQueued returns nothing
native UnitForceStopOrder takes unit whichUnit, boolean clearQueue returns nothing
  1. Исправлена ошибка JASS парсера, которая не отображала правильный текст ошибки.
  2. Исправлена ошибка случайно сломанной поддержки патча 1.27а.
  3. Переделана в очередной раз система обработки получения урона, которая ломалась при использовании CastTargetAbility внутри DAMAGING события.
  4. Переделан движок фреймов, который был случайно сломан в одном из предидущих обновлений.
20

» XGM Team / XGM - Премия 2022 года - Объявление победителей!

Последние новости!
Вот и подошло время объявить лауреатов на Лучшее литературное произведение! Прежде чем озвучить результаты, хотелось бы поблагодарить участников: PUVer, Сергей24, goshasp98 и Волчачка. Литература - воистину сложное искусство по своей натуре и безусловно требует не только усилий, а так же острого ума, и конечно же терпения, ибо всё гениальное требует времени, да и написать шедевр может далеко не каждый.
Критерии оценок базировались на:
  1. Качество. (10 баллов)
  2. Масштаб. (5 баллов)
  3. Язык. (5 баллов)
  4. Сопроводительный материал. (3 балла)
Итоговая оценка будет приведена в процентах.
Полные рецензии, будут доступны по желанию конкурсантов, но я более чем уверен, что каждый из авторов будет заинтересован в публикации рецензий для общего доступа.
А теперь перейдём к самим победителям.

Голоса

Выбор Судьи #1:
Выбор Судьи #2:

Итоги


Напоследок мы хотим сказать спасибо участникам и всем нашим пользователям, что по-прежнему остаетесь с нами и вместе продолжаете творить и трудиться! Наша команда очень признательна вашему участию в жизни сайта. Пусть даже если сегодня вам не повезло получить главную премию, мы всегда ценим любое ваше творчество. С наступившим 2023 годом!
20

» Unryze Jass API / UjAPI

Unryze, Спасибо за пояснение. Значит, с мелким количеством значений разницы не будет.
Ну, всегда можешь тестировать в отдельной карте (взять МемХак карту мою или UjAPI) и проверяй задержку и т.д. если оно тебе очень интересно. Но если изначально запланировать код максимально простым, то там "нагружать" будет толком нечему. Да и многое тяжёлое можно разгрузить/разделить и т.д.
20

» Unryze Jass API / UjAPI

nazarpunk, может быть там внутри хт идёт свой код перебора, который в случае с маленьким количеством значений ещё хуже перебора массива, хт ведь не волшебным образом определяет и ищет данные внутри себя.
500 нс разницы (700 против 200), если ты делаешь чтения хотя бы 1000 раз в 1 функции, тогда да, ты ощутишь это... Добавь StringHash, вот тогда уже 400 переборов будет проявляться хоть как-то. Но опять же, ты эту скорость почти нигде не почувствуешь, пока конкретно что-то не перегрузишь.
20

» Unryze Jass API / UjAPI

Unryze, Да, это велосипед, но он требуется. Допустим, у героя имеется комплект абилок, при этом каждая из абилок работает на коде и состоит из нескольких стандартных абилок. Для простого кода требуется бд, из нескольких массивов, в каждом из которых записаны равкоды абилок, в одинаковой последовательности. Код определяет индекс в одном массиве, а потом его использует для взятия данных из остальных массивов.
Хештаблица - да, она может, но если абилок таких 50? 50 раз по циклу придётся вызвать функцию извлечения данных из Хештаблицы, для сравнения. А вызовы более ресурсозатратные, чем просто обращение к переменным. А в случае нативки достаточно 1 раз её вызвать, и всё, в коде она больше не потребуется.
Да, на джассе можно сделать подобное, как сказал nazarpunk, но это костыльно.
Разница будет не такая существенная, да и твой юзкейс возвращает элемент, что можно вернуть хештаблицей, и каждый вызов элемента из массива всё-равно нужно вызывать, так что ты сам не понял что попросил. :(
Поясняю, можно передать хештаблицу и родительский ключь, раз на то пошло и сократить количество вызовов, но на деле, эта «ресурсоёмкость» повлияет ровным счётом ни на что.
Прекратите уже извращаться и выдумывать псевдо-более-быстрые велосипеды, если бы это реально было бы существенно быстрее, я бы это уже сам форсировал бы, но это не так.
20

» WarCraft 3 / WFE - Warcraft Feature Extender

Вышла новая версия! Прокрутить к ресурсу
WFE 3.1.4.47
Changelog:
  1. Whole UI has been reworked and brought to nearly identical level with Reforged.
  2. Cursor size has been adjusted to the widescreen.
  3. Fixed cooldown not being drawn for enemy shops that can be accessed.
  4. Graphics settings are no longer automatically updated, a separate button has been added in WFEApp.exe, press "Refresh Graphics Settings" button each time you wish to enable/disable DirectX9 or V-Sync.
  5. Buff Duration text priority lowered from 10000 to 5000, now cursor will be drawn over it.
  6. Updated Buff Bar for Upgraded Interface, now it's more compact.
  7. Decreased default font size of Buff Duration Draw text frame from .013 to .0105.
    Note: this change is "reverted" if Upgraded Buff Bar option is enabled, as it doesn't need font size limit.
  8. Increased the size of the Buff Icons for when Upgraded Buff Bar is enabled.
20

» Unryze Jass API / UjAPI

Это ужасный велосипед, но да, реально. Но я не пойму зачем такие извращения, хоть убей.
Потому что нельзя массив в функцию передать и посему для каждого массива придётся одинаковую функцию костылить.
А можно пример, где нужно передавать массив в функцию, который реально применим в реалиях Вар 3. И я повторю вопрос, что мешает использовать хештаблицу, которую можно передавать в функции...
20

» Unryze Jass API / UjAPI

Unryze, Предложение!
Возможно ли создать функцию
native GetArrayIndex takes string ArrayName, handle Object, integer IndexMin, integer IndexMax returns integer,
С помощью которой можно получить индекс объекта, записанного в массив ArrayName в диапазоне min-max при его наличии там? Например, для использования этого индекса, если в карте есть подобие базы данных, с несколькими массивами, или для определения номера игрока, итд, итп.
Это ужасный велосипед, но да, реально. Но я не пойму зачем такие извращения, хоть убей.
Хештаблица - чем не угодила? :(
20

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

Вышла новая версия! Прокрутить к ресурсу

v1.0.15.67

  1. Новые Константы
constant abilityintegerfield ABILITY_IF_BUTTON_HOTKEY_ALL = ConvertAbilityIntegerField('ahtk') Set only
constant abilitybooleanfield ABILITY_BF_HOMING = ConvertAbilityBooleanField('amho')
constant itemintegerfield ITEM_IF_TINTING_COLOR = ConvertItemIntegerField('icol')
constant itemintegerfield ITEM_IF_LEVEL_UNCLASSIFIED = ConvertItemIntegerField('ilvo')
constant itemintegerfield ITEM_IF_GOLD_COST = ConvertItemIntegerField('igol')
constant itemintegerfield ITEM_IF_LUMBER_COST = ConvertItemIntegerField('ilum')
constant itemintegerfield ITEM_IF_PRIORITY = ConvertItemIntegerField('ipri')
constant itemintegerfield ITEM_IF_STOCK_REPLENISH_INTERVAL = ConvertItemIntegerField('istr')
constant itemintegerfield ITEM_IF_STOCK_START_DELAY = ConvertItemIntegerField('isst')
constant itembooleanfield ITEM_BF_IGNORE_COOLDOWN = ConvertItemBooleanField('iicd')
constant itembooleanfield ITEM_BF_VALID_FOR_TRANSFORMATION = ConvertItemBooleanField('imor')
constant itemrealfield ITEM_RF_SELECTION_SIZE = ConvertItemRealField('issc')
constant itemstringfield ITEM_SF_NAME = ConvertItemStringField('unam')
constant itemstringfield ITEM_SF_DESCRIPTION = ConvertItemStringField('ides')
constant itemstringfield ITEM_SF_TOOLTIP_NORMAL = ConvertItemStringField('utip')
constant itemstringfield ITEM_SF_TOOLTIP_EXTENDED = ConvertItemStringField('utub')
constant unitintegerfield ITEM_IF_GOLD_COST = ConvertItemIntegerField('igol')
constant unitintegerfield ITEM_IF_LUMBER_COST = ConvertItemIntegerField('ilum')
constant unitintegerfield ITEM_IF_STOCK_MAXIMUM = ConvertItemIntegerField('isto')
constant unitintegerfield UNIT_IF_TINTING_COLOR = ConvertUnitIntegerField('ucol')
constant unitintegerfield UNIT_IF_PROPER_NAMES_COUNT = ConvertUnitIntegerField('upru') Get Only
constant unitrealfield UNIT_RF_SIGHT_RADIUS_DAY = ConvertUnitRealField('usid')
constant unitrealfield UNIT_RF_SIGHT_RADIUS_NIGHT = ConvertUnitRealField('usin')
constant unitstringfield UNIT_SF_TOOLTIP_NORMAL = ConvertUnitStringField('utip')
constant unitstringfield UNIT_SF_TOOLTIP_EXTENDED = ConvertUnitStringField('utub')
constant unitstringfield UNIT_SF_PROPER_NAME = ConvertUnitStringField('uprn')
  1. Новые Нативные Функции:
native GetHandleReferenceCount takes handle whichHandle returns integer
native GetHandleBaseTypeId takes handle whichHandle returns integer this returns '+w3u' from unit, if it was passed as handle, and so on.
native GetHandleBaseTypeName takes handle whichHandle returns string this returns CUnit from unit, if it was passed as handle, and so on.
native GetFilterHandle takes nothing returns handle
native GetEnumHandle takes nothing returns handle
native EnumHandlesOfType takes integer handleBaseTypeId, boolexpr filter, code handlerFunc returns nothing
native SetImageOrigin takes image whichImage, real origin returns nothing
native SetAbilityRemainingCooldown takes ability whichAbility, real cooldown returns boolean
native SetUnitPointValueByType takes integer unitType, integer newPointValue returns nothing
native EnumDestructablesInRange takes real x, real y, real radius, boolexpr filter, code handlerFunc returns nothing
native EnumItemsInRange takes real x, real y, real radius, boolexpr filter, code handlerFunc returns nothing
native GetTriggerSpecialEffect takes nothing returns effect
native GetFilterSpecialEffect takes nothing returns effect
native GetEnumSpecialEffect takes nothing returns effect
native EnumSpecialEffectsInRange takes real x, real y, real radius, boolexpr filter, code handlerFunc returns nothing
native GetTriggerTrackable takes nothing returns trackable
native GetFilterTrackable takes nothing returns trackable
native GetEnumTrackable takes nothing returns trackable
native EnumTrackablesInRange takes real x, real y, real radius, boolexpr filter, code handlerFunc returns nothing
native IsMissileAlive takes missile whichMissile returns boolean
native GetFilterMissile takes nothing returns missile
native GetEnumMissile takes nothing returns missile
native EnumMissilesInRange takes real x, real y, real radius, boolexpr filter, code handlerFunc returns nothing
native ResetAbilityFieldData takes ability whichAbility returns boolean Restores original ability data, meaning it reverts any and all changes made by Field API. Returns true if reset was needed.
native GetUnitAttackRemainingDamagePoint takes unit whichUnit returns real
native SetUnitAttackRemainingDamagePoint takes unit whichUnit real time returns nothing
native GetUnitAttackRemainingBackswing takes unit whichUnit returns real
native SetUnitAttackRemainingBackswing takes unit whichUnit real time returns nothing
  1. Удалены все "дубликаты" нативных функций типа GetAbilityBaseManaCostById, они теперь заменены API инстанса/полей. Список удалённых нативных функций:
Ability API
native GetAbilityBaseManaCostById takes integer aid, integer level returns integer
native SetAbilityBaseManaCostById takes integer aid, integer level, integer manaCost returns nothing
native GetAbilityBaseCooldownById takes integer aid, integer level returns real
native SetAbilityBaseCooldownById takes integer aid, integer level, real cooldown returns nothing
native GetAbilityBaseHotkeyById takes integer aid returns oskeytype
native SetAbilityBaseHotkeyById takes integer aid, oskeytype whichKey returns nothing
native GetAbilityBaseUnHotkeyById takes integer aid returns oskeytype
native SetAbilityBaseUnHotkeyById takes integer aid, oskeytype whichKey returns nothing
native GetAbilityBaseResearchHotkeyById takes integer aid returns oskeytype
native SetAbilityBaseResearchHotkeyById takes integer aid, oskeytype whichKey returns nothing
native GetAbilityBaseEffectSoundById takes integer aid returns string
native SetAbilityBaseEffectSoundById takes integer aid, string text returns nothing
native GetAbilityBaseGlobalMessageById takes integer aid returns string
native SetAbilityBaseGlobalMessageById takes integer aid, string text returns nothing
native GetAbilityBaseGlobalSoundById takes integer aid returns string
native SetAbilityBaseGlobalSoundById takes integer aid, string text returns nothing
native GetAbilityBaseButtonXById takes integer aid returns integer
native SetAbilityBaseButtonXById takes integer aid, integer positionX returns nothing
native GetAbilityBaseButtonYById takes integer aid returns integer
native SetAbilityBaseButtonYById takes integer aid, integer positionY returns nothing
native GetAbilityBaseUnButtonXById takes integer aid returns integer
native SetAbilityBaseUnButtonXById takes integer aid, integer positionX returns nothing
native GetAbilityBaseUnButtonYById takes integer aid returns integer
native SetAbilityBaseUnButtonYById takes integer aid, integer positionY returns nothing
native GetAbilityBaseResearchButtonXById takes integer aid returns integer
native SetAbilityBaseResearchButtonXById takes integer aid, integer positionX returns nothing
native GetAbilityBaseResearchButtonYById takes integer aid returns integer
native SetAbilityBaseResearchButtonYById takes integer aid, integer positionY returns nothing
native GetAbilityBaseMissileSpeedById takes integer aid returns real
native SetAbilityBaseMissileSpeedById takes integer aid, real missileSpeed returns nothing
native GetAbilityBaseMissileArcById takes integer aid returns real
native SetAbilityBaseMissileArcById takes integer aid, real missileArc returns nothing
native GetAbilityBaseIsMissileHomingById takes integer aid returns boolean
native SetAbilityBaseIsMissileHomingById takes integer aid, boolean ishoming returns nothing
native GetAbilityBaseSpellDetailsById takes integer aid returns integer
native SetAbilityBaseSpellDetailsById takes integer aid, integer level returns nothing
native GetAbilityBaseTipById takes integer aid, integer level returns string
native SetAbilityBaseTipById takes integer aid, integer level, string text returns nothing
native GetAbilityBaseUnTipById takes integer aid, integer level returns string
native SetAbilityBaseUnTipById takes integer aid, integer level, string text returns nothing
native GetAbilityBaseUberTipById takes integer aid, integer level returns string
native SetAbilityBaseUberTipById takes integer aid, integer level, string text returns nothing
native GetAbilityBaseUnUberTipById takes integer aid, integer level returns string
native SetAbilityBaseUnUberTipById takes integer aid, integer level, string text returns nothing
native SetAbilityBaseHotkeyByIdEx takes integer aid, oskeytype whichKey returns nothing
Item API
native GetItemBaseNameById takes integer itemId returns string
native SetItemBaseNameById takes integer itemId, string name returns nothing
native GetItemBaseDescriptionById takes integer itemId returns string
native SetItemBaseDescriptionById takes integer itemId, string name returns nothing
native GetItemBaseIconById takes integer itemId returns string
native SetItemBaseIconById takes integer itemId, string path returns nothing
native GetItemBaseHotkeyById takes integer itemId returns oskeytype
native SetItemBaseHotkeyById takes integer itemId, oskeytype whichKey returns nothing
native GetItemBaseTipById takes integer itemId returns string
native SetItemBaseTipById takes integer itemId, string tip returns nothing
native GetItemBaseUberTipById takes integer itemId returns string
native SetItemBaseUberTipById takes integer itemId, string tip returns nothing
native GetItemBaseGoldCostById takes integer itemId returns integer
native SetItemBaseGoldCostById takes integer itemId, integer goldcost returns nothing
native GetItemBaseLumberCostById takes integer itemId returns integer
native SetItemBaseLumberCostById takes integer itemId, integer lumbercost returns nothing
native GetItemBaseStockMaximumById takes integer itemId returns integer
native SetItemBaseStockMaximumById takes integer itemId, integer stockMax returns nothing
native GetItemBaseStockReplenishIntervalById takes integer itemId returns real
native SetItemBaseStockReplenishIntervalById takes integer itemId, real replenishInterval returns nothing
native GetItemBaseStockStartDelayById takes integer itemId returns real
native SetItemBaseStockStartDelayById takes integer itemId, real stockStartDelay returns nothing
native GetItemBasePriorityById takes integer itemId returns integer
native SetItemBasePriorityById takes integer itemId, integer priority returns nothing
native GetItemBaseLevelById takes integer itemId returns integer
native SetItemBaseLevelById takes integer itemId, integer level returns nothing
native GetItemBaseOldLevelById takes integer itemId returns integer
native SetItemBaseOldLevelById takes integer itemId, integer oldlevel returns nothing
native GetItemBaseClassificationById takes integer itemId returns integer
native SetItemBaseClassificationById takes integer itemId, integer classifictaionId returns nothing
native GetItemBaseIsMorphById takes integer itemId returns boolean
native SetItemBaseIsMorphById takes integer itemId, boolean flag returns nothing
native GetItemBaseIsPickRandomById takes integer itemId returns boolean
native SetItemBaseIsPickRandomById takes integer itemId, boolean flag returns nothing
native GetItemBaseChargesById takes integer itemId returns integer
native SetItemBaseChargesById takes integer itemId, integer charges returns nothing
native GetItemBaseCooldownIdById takes integer itemId returns integer
native SetItemBaseCooldownIdById takes integer itemId, integer cooldownId returns nothing
native GetItemBaseIsIgnoreCooldownById takes integer itemId returns boolean
native SetItemBaseIsIgnoreCooldownById takes integer itemId, boolean flag returns nothing
native GetItemBaseIsPowerUpById takes integer itemId returns boolean
native SetItemBaseIsPowerUpById takes integer itemId, boolean flag returns nothing
native GetItemBaseIsPawnableById takes integer itemId returns boolean
native SetItemBaseIsPawnableById takes integer itemId, boolean flag returns nothing
native GetItemBaseIsUsableById takes integer itemId returns boolean
native SetItemBaseIsUsableById takes integer itemId, boolean flag returns nothing
native GetItemBaseIsPerishableById takes integer itemId returns boolean
native SetItemBaseIsPerishableById takes integer itemId, boolean flag returns nothing
native GetItemBaseIsDroppableById takes integer itemId returns boolean
native SetItemBaseIsDroppableById takes integer itemId, boolean flag returns nothing
native GetItemBaseIsDroppableOnDeathById takes integer itemId returns boolean
native SetItemBaseIsDroppableOnDeathById takes integer itemId, boolean flag returns nothing
native GetItemBaseIsSellableById takes integer itemId returns boolean
native SetItemBaseIsSellableById takes integer itemId, boolean flag returns nothing
Unit API
native GetUnitBasePrimaryStatById takes integer unitTypeId returns heroattribute
native SetUnitBasePrimaryStatById takes integer unitTypeId, heroattribute whichHeroAttribute returns nothing
native GetUnitBaseGoldCostById takes integer unitTypeId returns integer
native SetUnitBaseGoldCostById takes integer unitTypeId, integer goldCost returns nothing
native GetUnitBaseDaySightById takes integer unitTypeId returns real
native SetUnitBaseDaySightById takes integer unitTypeId, real daySight returns nothing
native GetUnitBaseNightSightById takes integer unitTypeId returns real
native SetUnitBaseNightSightById takes integer unitTypeId, real nightSight returns nothing
native GetUnitBaseColourById takes integer unitTypeId returns integer
native SetUnitBaseColourById takes integer unitTypeId, integer colour returns nothing
native GetUnitBaseColourAById takes integer unitTypeId returns integer
native SetUnitBaseColourAById takes integer unitTypeId, integer colourA returns nothing
native GetUnitBaseColourRById takes integer unitTypeId returns integer
native SetUnitBaseColourRById takes integer unitTypeId, integer colourR returns nothing
native GetUnitBaseColourGById takes integer unitTypeId returns integer
native SetUnitBaseColourGById takes integer unitTypeId, integer colourG returns nothing
native GetUnitBaseColourBById takes integer unitTypeId returns integer
native SetUnitBaseColourBById takes integer unitTypeId, integer colourB returns nothing
native GetUnitBaseNameById takes integer unitTypeId returns string
native SetUnitBaseNameById takes integer unitTypeId, string name returns nothing
native GetUnitBaseProperNameById takes integer unitTypeId, integer properNameIndex returns string
native SetUnitBaseProperNameById takes integer unitTypeId, integer properNameIndex, string properName returns nothing
native GetUnitBaseDescriptionById takes integer unitTypeId returns string
native SetUnitBaseDescriptionById takes integer unitTypeId, string name returns nothing
native GetUnitBaseModelById takes integer unitTypeId returns string
native SetUnitBaseModelById takes integer unitTypeId, string modelName returns nothing
native GetUnitBasePortraitById takes integer unitTypeId returns string
native SetUnitBasePortraitById takes integer unitTypeId, string portraitName returns nothing
native GetUnitBaseHotkeyById takes integer unitTypeId returns oskeytype
native SetUnitBaseHotkeyById takes integer unitTypeId, oskeytype whichKey returns nothing
native GetUnitBaseIconById takes integer unitTypeId returns string
native SetUnitBaseIconById takes integer unitTypeId, string name returns nothing
native GetUnitBaseAwakenTipById takes integer unitTypeId returns string
native SetUnitBaseAwakenTipById takes integer unitTypeId, string awakenTip returns nothing
native GetUnitBaseTipById takes integer unitTypeId returns string
native SetUnitBaseTipById takes integer unitTypeId, string tip returns nothing
native GetUnitBaseUberTipById takes integer unitTypeId returns string
native SetUnitBaseUberTipById takes integer unitTypeId, string uberTip returns nothing
native GetUnitBaseReviveTipById takes integer unitTypeId returns string
native SetUnitBaseReviveTipById takes integer unitTypeId, string reviveTip returns nothing
native GetUnitBaseShadowTexById takes integer unitTypeId returns string
native SetUnitBaseShadowTexById takes integer unitTypeId, string shadowTexture returns nothing
native GetUnitBaseMissileArtById takes integer unitTypeId, integer attackIndex returns string
native SetUnitBaseMissileArtById takes integer unitTypeId, integer attackIndex, string missleArt returns nothing
native GetUnitBaseMissileSpeedById takes integer unitTypeId, integer attackIndex returns real
native SetUnitBaseMissileSpeedById takes integer unitTypeId, integer attackIndex, real realValue returns nothing
native GetUnitBaseMissileArcById takes integer unitTypeId, integer attackIndex returns real
native SetUnitBaseMissileArcById takes integer unitTypeId, integer attackIndex, real realValue returns nothing
native GetUnitBaseSelectionScaleById takes integer unitTypeId returns real
native SetUnitBaseSelectionScaleById takes integer unitTypeId, real realValue returns nothing
  1. Все SetAbilityField теперь по-настоящему следуют логике инстансирования, что значит, что изменение любых данных, включая UI будут уникальны для этого заклинания, а не изменны для всх.
  2. Прошлая функция SetImageOrigin изменена на SetImageOriginEx.
  3. Исправлена не совсем рабочая нативная функция EXSetAbilityState.
  4. Исправлено сломанное отключение для переключаемых заклинаний.
    Пометка: эта проблема всё так же была связана с новым экспериментальным методом SetAbilityOrderId... :(
  5. Добавлена внутренняя обработка полей:
ABILITY_SLF_CASTER
ABILITY_SLF_TARGET
ABILITY_SLF_SPECIAL
ABILITY_SLF_EFFECT
ABILITY_SLF_AREA_EFFECT
ABILITY_SLF_LIGHTNING_EFFECTS
ABILITY_SLF_MISSILE_ART
ABILITY_SLF_TOOLTIP_LEARN
ABILITY_SLF_TOOLTIP_LEARN_EXTENDED
ABILITY_SLF_TOOLTIP_NORMAL
ABILITY_SLF_TOOLTIP_TURN_OFF
ABILITY_SLF_TOOLTIP_NORMAL_EXTENDED
ABILITY_SLF_TOOLTIP_TURN_OFF_EXTENDED
  1. Изменены нативные функции юнитов:
Удалены:
SetUnitAttackState
UnitCancelCurrentAttackByIndex
Изменены:
GetUnitNextAttackTimeStampByIndex -> GetUnitAttackRemainingCooldown | Now it returns actual remaining time.
SetUnitNextAttackTimeStampByIndex -> SetUnitAttackRemainingCooldown | Now it sets actual remaining time.
UnitResetAttackCooldownByIndex -> UnitResetAttack
UnitAddExtraAttackByIndex -> UnitFinishAttack
Добавлены:
native GetUnitAttackRemainingDamagePoint takes unit whichUnit returns real
native SetUnitAttackRemainingDamagePoint takes unit whichUnit real time returns nothing
native GetUnitAttackRemainingBackswing takes unit whichUnit returns real
native SetUnitAttackRemainingBackswing takes unit whichUnit real time returns nothing
  1. Добавлен новый "Dev Mode" режим для UjAPI.
    Пометка: включение этого режима, даст UjAPI возможность выписывать в консоль всевозможные Jass ошибки (если карта имеет синтаксические ошибки в Jass) или же ошибки с файлами.
20

» Unryze Jass API / UjAPI

Вышла новая версия! Прокрутить к ресурсу

v1.0.15.67

  1. Новые Константы
constant abilityintegerfield ABILITY_IF_BUTTON_HOTKEY_ALL = ConvertAbilityIntegerField('ahtk') Set only
constant abilitybooleanfield ABILITY_BF_HOMING = ConvertAbilityBooleanField('amho')
constant itemintegerfield ITEM_IF_TINTING_COLOR = ConvertItemIntegerField('icol')
constant itemintegerfield ITEM_IF_LEVEL_UNCLASSIFIED = ConvertItemIntegerField('ilvo')
constant itemintegerfield ITEM_IF_GOLD_COST = ConvertItemIntegerField('igol')
constant itemintegerfield ITEM_IF_LUMBER_COST = ConvertItemIntegerField('ilum')
constant itemintegerfield ITEM_IF_PRIORITY = ConvertItemIntegerField('ipri')
constant itemintegerfield ITEM_IF_STOCK_REPLENISH_INTERVAL = ConvertItemIntegerField('istr')
constant itemintegerfield ITEM_IF_STOCK_START_DELAY = ConvertItemIntegerField('isst')
constant itembooleanfield ITEM_BF_IGNORE_COOLDOWN = ConvertItemBooleanField('iicd')
constant itembooleanfield ITEM_BF_VALID_FOR_TRANSFORMATION = ConvertItemBooleanField('imor')
constant itemrealfield ITEM_RF_SELECTION_SIZE = ConvertItemRealField('issc')
constant itemstringfield ITEM_SF_NAME = ConvertItemStringField('unam')
constant itemstringfield ITEM_SF_DESCRIPTION = ConvertItemStringField('ides')
constant itemstringfield ITEM_SF_TOOLTIP_NORMAL = ConvertItemStringField('utip')
constant itemstringfield ITEM_SF_TOOLTIP_EXTENDED = ConvertItemStringField('utub')
constant unitintegerfield ITEM_IF_GOLD_COST = ConvertItemIntegerField('igol')
constant unitintegerfield ITEM_IF_LUMBER_COST = ConvertItemIntegerField('ilum')
constant unitintegerfield ITEM_IF_STOCK_MAXIMUM = ConvertItemIntegerField('isto')
constant unitintegerfield UNIT_IF_TINTING_COLOR = ConvertUnitIntegerField('ucol')
constant unitintegerfield UNIT_IF_PROPER_NAMES_COUNT = ConvertUnitIntegerField('upru') Get Only
constant unitrealfield UNIT_RF_SIGHT_RADIUS_DAY = ConvertUnitRealField('usid')
constant unitrealfield UNIT_RF_SIGHT_RADIUS_NIGHT = ConvertUnitRealField('usin')
constant unitstringfield UNIT_SF_TOOLTIP_NORMAL = ConvertUnitStringField('utip')
constant unitstringfield UNIT_SF_TOOLTIP_EXTENDED = ConvertUnitStringField('utub')
constant unitstringfield UNIT_SF_PROPER_NAME = ConvertUnitStringField('uprn')
  1. Новые Нативные Функции:
native GetHandleReferenceCount takes handle whichHandle returns integer
native GetHandleBaseTypeId takes handle whichHandle returns integer this returns '+w3u' from unit, if it was passed as handle, and so on.
native GetHandleBaseTypeName takes handle whichHandle returns string this returns CUnit from unit, if it was passed as handle, and so on.
native GetFilterHandle takes nothing returns handle
native GetEnumHandle takes nothing returns handle
native EnumHandlesOfType takes integer handleBaseTypeId, boolexpr filter, code handlerFunc returns nothing
native SetImageOrigin takes image whichImage, real origin returns nothing
native SetAbilityRemainingCooldown takes ability whichAbility, real cooldown returns boolean
native SetUnitPointValueByType takes integer unitType, integer newPointValue returns nothing
native EnumDestructablesInRange takes real x, real y, real radius, boolexpr filter, code handlerFunc returns nothing
native EnumItemsInRange takes real x, real y, real radius, boolexpr filter, code handlerFunc returns nothing
native GetTriggerSpecialEffect takes nothing returns effect
native GetFilterSpecialEffect takes nothing returns effect
native GetEnumSpecialEffect takes nothing returns effect
native EnumSpecialEffectsInRange takes real x, real y, real radius, boolexpr filter, code handlerFunc returns nothing
native GetTriggerTrackable takes nothing returns trackable
native GetFilterTrackable takes nothing returns trackable
native GetEnumTrackable takes nothing returns trackable
native EnumTrackablesInRange takes real x, real y, real radius, boolexpr filter, code handlerFunc returns nothing
native IsMissileAlive takes missile whichMissile returns boolean
native GetFilterMissile takes nothing returns missile
native GetEnumMissile takes nothing returns missile
native EnumMissilesInRange takes real x, real y, real radius, boolexpr filter, code handlerFunc returns nothing
native ResetAbilityFieldData takes ability whichAbility returns boolean Restores original ability data, meaning it reverts any and all changes made by Field API. Returns true if reset was needed.
native GetUnitAttackRemainingDamagePoint takes unit whichUnit returns real
native SetUnitAttackRemainingDamagePoint takes unit whichUnit real time returns nothing
native GetUnitAttackRemainingBackswing takes unit whichUnit returns real
native SetUnitAttackRemainingBackswing takes unit whichUnit real time returns nothing
  1. Удалены все "дубликаты" нативных функций типа GetAbilityBaseManaCostById, они теперь заменены API инстанса/полей. Список удалённых нативных функций:
Ability API
native GetAbilityBaseManaCostById takes integer aid, integer level returns integer
native SetAbilityBaseManaCostById takes integer aid, integer level, integer manaCost returns nothing
native GetAbilityBaseCooldownById takes integer aid, integer level returns real
native SetAbilityBaseCooldownById takes integer aid, integer level, real cooldown returns nothing
native GetAbilityBaseHotkeyById takes integer aid returns oskeytype
native SetAbilityBaseHotkeyById takes integer aid, oskeytype whichKey returns nothing
native GetAbilityBaseUnHotkeyById takes integer aid returns oskeytype
native SetAbilityBaseUnHotkeyById takes integer aid, oskeytype whichKey returns nothing
native GetAbilityBaseResearchHotkeyById takes integer aid returns oskeytype
native SetAbilityBaseResearchHotkeyById takes integer aid, oskeytype whichKey returns nothing
native GetAbilityBaseEffectSoundById takes integer aid returns string
native SetAbilityBaseEffectSoundById takes integer aid, string text returns nothing
native GetAbilityBaseGlobalMessageById takes integer aid returns string
native SetAbilityBaseGlobalMessageById takes integer aid, string text returns nothing
native GetAbilityBaseGlobalSoundById takes integer aid returns string
native SetAbilityBaseGlobalSoundById takes integer aid, string text returns nothing
native GetAbilityBaseButtonXById takes integer aid returns integer
native SetAbilityBaseButtonXById takes integer aid, integer positionX returns nothing
native GetAbilityBaseButtonYById takes integer aid returns integer
native SetAbilityBaseButtonYById takes integer aid, integer positionY returns nothing
native GetAbilityBaseUnButtonXById takes integer aid returns integer
native SetAbilityBaseUnButtonXById takes integer aid, integer positionX returns nothing
native GetAbilityBaseUnButtonYById takes integer aid returns integer
native SetAbilityBaseUnButtonYById takes integer aid, integer positionY returns nothing
native GetAbilityBaseResearchButtonXById takes integer aid returns integer
native SetAbilityBaseResearchButtonXById takes integer aid, integer positionX returns nothing
native GetAbilityBaseResearchButtonYById takes integer aid returns integer
native SetAbilityBaseResearchButtonYById takes integer aid, integer positionY returns nothing
native GetAbilityBaseMissileSpeedById takes integer aid returns real
native SetAbilityBaseMissileSpeedById takes integer aid, real missileSpeed returns nothing
native GetAbilityBaseMissileArcById takes integer aid returns real
native SetAbilityBaseMissileArcById takes integer aid, real missileArc returns nothing
native GetAbilityBaseIsMissileHomingById takes integer aid returns boolean
native SetAbilityBaseIsMissileHomingById takes integer aid, boolean ishoming returns nothing
native GetAbilityBaseSpellDetailsById takes integer aid returns integer
native SetAbilityBaseSpellDetailsById takes integer aid, integer level returns nothing
native GetAbilityBaseTipById takes integer aid, integer level returns string
native SetAbilityBaseTipById takes integer aid, integer level, string text returns nothing
native GetAbilityBaseUnTipById takes integer aid, integer level returns string
native SetAbilityBaseUnTipById takes integer aid, integer level, string text returns nothing
native GetAbilityBaseUberTipById takes integer aid, integer level returns string
native SetAbilityBaseUberTipById takes integer aid, integer level, string text returns nothing
native GetAbilityBaseUnUberTipById takes integer aid, integer level returns string
native SetAbilityBaseUnUberTipById takes integer aid, integer level, string text returns nothing
native SetAbilityBaseHotkeyByIdEx takes integer aid, oskeytype whichKey returns nothing
Item API
native GetItemBaseNameById takes integer itemId returns string
native SetItemBaseNameById takes integer itemId, string name returns nothing
native GetItemBaseDescriptionById takes integer itemId returns string
native SetItemBaseDescriptionById takes integer itemId, string name returns nothing
native GetItemBaseIconById takes integer itemId returns string
native SetItemBaseIconById takes integer itemId, string path returns nothing
native GetItemBaseHotkeyById takes integer itemId returns oskeytype
native SetItemBaseHotkeyById takes integer itemId, oskeytype whichKey returns nothing
native GetItemBaseTipById takes integer itemId returns string
native SetItemBaseTipById takes integer itemId, string tip returns nothing
native GetItemBaseUberTipById takes integer itemId returns string
native SetItemBaseUberTipById takes integer itemId, string tip returns nothing
native GetItemBaseGoldCostById takes integer itemId returns integer
native SetItemBaseGoldCostById takes integer itemId, integer goldcost returns nothing
native GetItemBaseLumberCostById takes integer itemId returns integer
native SetItemBaseLumberCostById takes integer itemId, integer lumbercost returns nothing
native GetItemBaseStockMaximumById takes integer itemId returns integer
native SetItemBaseStockMaximumById takes integer itemId, integer stockMax returns nothing
native GetItemBaseStockReplenishIntervalById takes integer itemId returns real
native SetItemBaseStockReplenishIntervalById takes integer itemId, real replenishInterval returns nothing
native GetItemBaseStockStartDelayById takes integer itemId returns real
native SetItemBaseStockStartDelayById takes integer itemId, real stockStartDelay returns nothing
native GetItemBasePriorityById takes integer itemId returns integer
native SetItemBasePriorityById takes integer itemId, integer priority returns nothing
native GetItemBaseLevelById takes integer itemId returns integer
native SetItemBaseLevelById takes integer itemId, integer level returns nothing
native GetItemBaseOldLevelById takes integer itemId returns integer
native SetItemBaseOldLevelById takes integer itemId, integer oldlevel returns nothing
native GetItemBaseClassificationById takes integer itemId returns integer
native SetItemBaseClassificationById takes integer itemId, integer classifictaionId returns nothing
native GetItemBaseIsMorphById takes integer itemId returns boolean
native SetItemBaseIsMorphById takes integer itemId, boolean flag returns nothing
native GetItemBaseIsPickRandomById takes integer itemId returns boolean
native SetItemBaseIsPickRandomById takes integer itemId, boolean flag returns nothing
native GetItemBaseChargesById takes integer itemId returns integer
native SetItemBaseChargesById takes integer itemId, integer charges returns nothing
native GetItemBaseCooldownIdById takes integer itemId returns integer
native SetItemBaseCooldownIdById takes integer itemId, integer cooldownId returns nothing
native GetItemBaseIsIgnoreCooldownById takes integer itemId returns boolean
native SetItemBaseIsIgnoreCooldownById takes integer itemId, boolean flag returns nothing
native GetItemBaseIsPowerUpById takes integer itemId returns boolean
native SetItemBaseIsPowerUpById takes integer itemId, boolean flag returns nothing
native GetItemBaseIsPawnableById takes integer itemId returns boolean
native SetItemBaseIsPawnableById takes integer itemId, boolean flag returns nothing
native GetItemBaseIsUsableById takes integer itemId returns boolean
native SetItemBaseIsUsableById takes integer itemId, boolean flag returns nothing
native GetItemBaseIsPerishableById takes integer itemId returns boolean
native SetItemBaseIsPerishableById takes integer itemId, boolean flag returns nothing
native GetItemBaseIsDroppableById takes integer itemId returns boolean
native SetItemBaseIsDroppableById takes integer itemId, boolean flag returns nothing
native GetItemBaseIsDroppableOnDeathById takes integer itemId returns boolean
native SetItemBaseIsDroppableOnDeathById takes integer itemId, boolean flag returns nothing
native GetItemBaseIsSellableById takes integer itemId returns boolean
native SetItemBaseIsSellableById takes integer itemId, boolean flag returns nothing
Unit API
native GetUnitBasePrimaryStatById takes integer unitTypeId returns heroattribute
native SetUnitBasePrimaryStatById takes integer unitTypeId, heroattribute whichHeroAttribute returns nothing
native GetUnitBaseGoldCostById takes integer unitTypeId returns integer
native SetUnitBaseGoldCostById takes integer unitTypeId, integer goldCost returns nothing
native GetUnitBaseDaySightById takes integer unitTypeId returns real
native SetUnitBaseDaySightById takes integer unitTypeId, real daySight returns nothing
native GetUnitBaseNightSightById takes integer unitTypeId returns real
native SetUnitBaseNightSightById takes integer unitTypeId, real nightSight returns nothing
native GetUnitBaseColourById takes integer unitTypeId returns integer
native SetUnitBaseColourById takes integer unitTypeId, integer colour returns nothing
native GetUnitBaseColourAById takes integer unitTypeId returns integer
native SetUnitBaseColourAById takes integer unitTypeId, integer colourA returns nothing
native GetUnitBaseColourRById takes integer unitTypeId returns integer
native SetUnitBaseColourRById takes integer unitTypeId, integer colourR returns nothing
native GetUnitBaseColourGById takes integer unitTypeId returns integer
native SetUnitBaseColourGById takes integer unitTypeId, integer colourG returns nothing
native GetUnitBaseColourBById takes integer unitTypeId returns integer
native SetUnitBaseColourBById takes integer unitTypeId, integer colourB returns nothing
native GetUnitBaseNameById takes integer unitTypeId returns string
native SetUnitBaseNameById takes integer unitTypeId, string name returns nothing
native GetUnitBaseProperNameById takes integer unitTypeId, integer properNameIndex returns string
native SetUnitBaseProperNameById takes integer unitTypeId, integer properNameIndex, string properName returns nothing
native GetUnitBaseDescriptionById takes integer unitTypeId returns string
native SetUnitBaseDescriptionById takes integer unitTypeId, string name returns nothing
native GetUnitBaseModelById takes integer unitTypeId returns string
native SetUnitBaseModelById takes integer unitTypeId, string modelName returns nothing
native GetUnitBasePortraitById takes integer unitTypeId returns string
native SetUnitBasePortraitById takes integer unitTypeId, string portraitName returns nothing
native GetUnitBaseHotkeyById takes integer unitTypeId returns oskeytype
native SetUnitBaseHotkeyById takes integer unitTypeId, oskeytype whichKey returns nothing
native GetUnitBaseIconById takes integer unitTypeId returns string
native SetUnitBaseIconById takes integer unitTypeId, string name returns nothing
native GetUnitBaseAwakenTipById takes integer unitTypeId returns string
native SetUnitBaseAwakenTipById takes integer unitTypeId, string awakenTip returns nothing
native GetUnitBaseTipById takes integer unitTypeId returns string
native SetUnitBaseTipById takes integer unitTypeId, string tip returns nothing
native GetUnitBaseUberTipById takes integer unitTypeId returns string
native SetUnitBaseUberTipById takes integer unitTypeId, string uberTip returns nothing
native GetUnitBaseReviveTipById takes integer unitTypeId returns string
native SetUnitBaseReviveTipById takes integer unitTypeId, string reviveTip returns nothing
native GetUnitBaseShadowTexById takes integer unitTypeId returns string
native SetUnitBaseShadowTexById takes integer unitTypeId, string shadowTexture returns nothing
native GetUnitBaseMissileArtById takes integer unitTypeId, integer attackIndex returns string
native SetUnitBaseMissileArtById takes integer unitTypeId, integer attackIndex, string missleArt returns nothing
native GetUnitBaseMissileSpeedById takes integer unitTypeId, integer attackIndex returns real
native SetUnitBaseMissileSpeedById takes integer unitTypeId, integer attackIndex, real realValue returns nothing
native GetUnitBaseMissileArcById takes integer unitTypeId, integer attackIndex returns real
native SetUnitBaseMissileArcById takes integer unitTypeId, integer attackIndex, real realValue returns nothing
native GetUnitBaseSelectionScaleById takes integer unitTypeId returns real
native SetUnitBaseSelectionScaleById takes integer unitTypeId, real realValue returns nothing
  1. Все SetAbilityField теперь по-настоящему следуют логике инстансирования, что значит, что изменение любых данных, включая UI будут уникальны для этого заклинания, а не изменны для всх.
  2. Прошлая функция SetImageOrigin изменена на SetImageOriginEx.
  3. Исправлена не совсем рабочая нативная функция EXSetAbilityState.
  4. Исправлено сломанное отключение для переключаемых заклинаний.
    Пометка: эта проблема всё так же была связана с новым экспериментальным методом SetAbilityOrderId... :(
  5. Добавлена внутренняя обработка полей:
ABILITY_SLF_CASTER
ABILITY_SLF_TARGET
ABILITY_SLF_SPECIAL
ABILITY_SLF_EFFECT
ABILITY_SLF_AREA_EFFECT
ABILITY_SLF_LIGHTNING_EFFECTS
ABILITY_SLF_MISSILE_ART
ABILITY_SLF_TOOLTIP_LEARN
ABILITY_SLF_TOOLTIP_LEARN_EXTENDED
ABILITY_SLF_TOOLTIP_NORMAL
ABILITY_SLF_TOOLTIP_TURN_OFF
ABILITY_SLF_TOOLTIP_NORMAL_EXTENDED
ABILITY_SLF_TOOLTIP_TURN_OFF_EXTENDED
  1. Изменены нативные функции юнитов:
Удалены:
SetUnitAttackState
UnitCancelCurrentAttackByIndex
Изменены:
GetUnitNextAttackTimeStampByIndex -> GetUnitAttackRemainingCooldown | Now it returns actual remaining time.
SetUnitNextAttackTimeStampByIndex -> SetUnitAttackRemainingCooldown | Now it sets actual remaining time.
UnitResetAttackCooldownByIndex -> UnitResetAttack
UnitAddExtraAttackByIndex -> UnitFinishAttack
Добавлены:
native GetUnitAttackRemainingDamagePoint takes unit whichUnit returns real
native SetUnitAttackRemainingDamagePoint takes unit whichUnit real time returns nothing
native GetUnitAttackRemainingBackswing takes unit whichUnit returns real
native SetUnitAttackRemainingBackswing takes unit whichUnit real time returns nothing
  1. Добавлен новый "Dev Mode" режим для UjAPI.
    Пометка: включение этого режима, даст UjAPI возможность выписывать в консоль всевозможные Jass ошибки (если карта имеет синтаксические ошибки в Jass) или же ошибки с файлами.