UjAPI

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


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

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

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

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

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

v1.0.30.110

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

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

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

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

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

v1.0.30.111

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

v1.0.30.112

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

v1.0.31.114

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

v1.0.31.115

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

v1.0.31.116

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

v1.0.32.118

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

v1.0.33.121

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

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

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

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

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

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

v1.0.33.122

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

v1.0.34.124

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

v1.0.35.127

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

v1.0.35.128

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

v1.0.35.129

  1. Исправлена ошибка по которой IsAttack некорректно срабатывала на юнитах ближнего боя имеющими Орб-Эффекты.
  2. Исправлена нерабочая кнопка проверки обновлений в UjAPIApp.
0
20
8 месяцев назад
0
Вышла новая версия! Прокрутить к ресурсу

v1.0.36.132

  1. Новые Нативные Функции:
    native GetStringCount takes nothing returns integer
    native IsUnitTargetable takes unit whichUnit returns boolean
    native SetUnitTargetable takes unit whichUnit, boolean targetable returns nothing
    native GetFrameTextColourEx takes framehandle whichFrame, integer stateId returns integer 0 = font | 1 = highlighted | 2 = disabled | 3 = shadow
    native GetFrameTextColour takes framehandle whichFrame returns integer
    native SetFrameTextColourEx takes framehandle whichFrame, integer stateId, integer colour returns nothing
  2. Значительная оптимизация кода для Frame API, также было удалено большое количество теперь уже бесполезного кода.
  3. GetFrameWidth была переписана, теперь она работает успешно на всех типах фреймов и более не вызывает критическую ошибку на некоторых типах фреймов.
  4. GetFrameHeight была переписана, теперь она работает успешно на всех типах фреймов и более не вызывает критическую ошибку на некоторых типах фреймов.
  5. IsFrameEnabled теперь работает с CSimpleButton и с его дочерними фреймами.
  6. Исправлена критическая ошибка от атаки юнита с типом атаки Артиллерия, имея какой-либо орб-эффект.
    Пометка: это очень старая критическая ошибка самой игры.
  7. Исправлена критическая ошибка при подборе книг/рун на силу юнитами не героями.
  8. Исправлена критическая ошибка при подборе книг/рун на ловкость юнитами не героями.
  9. Исправлена критическая ошибка при подборе книг/рун на интеллект юнитами не героями.
  10. Исправлена критическая ошибка при подборе книг/рун на опыт юнитами не героями.
  11. Исправлена критическая ошибка при выдаче Инженерии (ANeg) юниту не герою.
  12. Исправлена критическая ошибка при движении юнита-владельца заклинаний типа Drain, которые были вызваны через CastAbilityTarget.
  13. Потенциально исправлена очень редкая ошибка, ввиду которой игрок терял контроль над своими юнитами, но мог контролировать чужих.
    Пометка 1: другие игроки МОГУТ контролировать юнитов этого игрока, так что ошибка локальная.
    Пометка 2: эта ошибка оказалась не связанной с выдачей контролей игроков.
0
31
8 месяцев назад
0
native IsUnitTargetable takes unit whichUnit returns boolean
эта функция делает то же самое, что и выдача способности 'Aloc' (locust\москиты)..?
1
20
8 месяцев назад
1
native IsUnitTargetable takes unit whichUnit returns boolean
эта функция делает то же самое, что и выдача способности 'Aloc' (locust\москиты)..?
SetUnitTargetable, и да, она работает по тому же принципу, только без минусов, то есть можно снять. Ну и она не выдаёт неуязвимость, её нужно выдавать отдельно.
1
20
8 месяцев назад
1
Вышла новая версия! Прокрутить к ресурсу

v1.0.36.133

  1. Исправлены неверные возвращемые значения MathPointProjectionY.
  2. Исправлена EnableOPLimit, теперь она вновь может снимать лимиты Jass опкодов.
  3. Исправлены все нативные функции в Jass Thread API, они были связаны с ошибкой EnableOPLimit.
0
32
8 месяцев назад
0
Надо-же, старые баги абилок уже стали от нечего делать исправлять, ну го подкину еще баганых абилок.
Apos - фаталит если кастер не докастовал способность и жертва разложилась.
1
20
8 месяцев назад
1
Надо-же, старые баги абилок уже стали от нечего делать исправлять, ну го подкину еще баганых абилок.
Apos - фаталит если кастер не докастовал способность и жертва разложилась.
Не могу представить как это повторить, если дашь карту где это воспроизводится, то изучу и поправлю.
1
20
8 месяцев назад
1
Вышла новая версия! Прокрутить к ресурсу

v1.0.36.134

  1. Исправлена HideOriginFrames не прячущая фрейм ClickableBlock.
  2. Исправлена критическая ошибка при использовании GetFrameText на текстовый фрейм с неинициализированным текстом.
  3. Исправлены странные комбинации аттак ввиду которых клоны начинали всегда наносить 100% урона.
1
20
7 месяцев назад
1
Вышла новая версия! Прокрутить к ресурсу

v1.0.37.137

  1. Новые Типы:
    type sprite extends agent
  2. Новые Константы:
    constant camerafield CAMERA_FIELD_NEARZ = ConvertCameraField(7)
    constant camerafield CAMERA_FIELD_LOCAL_PITCH = ConvertCameraField(8)
    constant camerafield CAMERA_FIELD_LOCAL_YAW = ConvertCameraField(9)
    constant camerafield CAMERA_FIELD_LOCAL_ROLL = ConvertCameraField(10) Not implemented yet
  3. Новые Нативные Функции:
    native GetDoodadAnimationOffsetPercent takes doodad whichDoodad returns real

    native GetSpecialEffectSprite takes effect whichEffect returns sprite
    native GetSpecialEffectAnimationOffsetPercent takes effect whichEffect returns real

    native GetTrackableSprite takes trackable whichTrackable returns sprite
    native GetTrackableAnimationOffsetPercent takes trackable whichTrackable returns real

    native GetWidgetSprite takes widget whichWidget returns sprite
    native GetWidgetAnimationOffsetPercent takes widget whichWidget returns real

    native GetDestructableSprite takes destructable whichDestructable returns sprite
    native GetDestructableAnimationOffsetPercent takes destructable whichDestructable returns real

    native GetItemSprite takes item whichItem returns sprite
    native GetItemAnimationOffsetPercent takes item whichItem returns real

    native GetUnitSprite takes unit whichUnit returns sprite
    native GetUnitAnimationOffsetPercent takes unit whichUnit returns real

    native LaunchProjectileAt takes projectile whichProjectile, real x, real y, real z returns nothing
    native GetProjectileSprite takes projectile whichProjectile returns sprite
    native GetProjectileAnimationOffsetPercent takes projectile whichProjectile returns real
    native SetProjectileTargetPointX takes projectile whichProjectile, real x returns nothing
    native SetProjectileTargetPointY takes projectile whichProjectile, real y returns nothing
    native SetProjectileTargetPointZ takes projectile whichProjectile, real z returns nothing
    native SetProjectileTargetPositionLoc takes projectile whichProjectile, location loc returns nothing

    native GetFrameSprite takes framehandle whichFrame returns sprite
    native GetFrameSpriteAnimationOffsetPercent takes framehandle whichFrame returns real

    native CreateSprite takes boolean isUber returns sprite
    native AttachSpriteToTarget takes sprite whichSprite, sprite targetSprite, string attachPointName returns sprite
    native AddSpriteToTarget takes string modelName, sprite targetSprite, string attachPointName returns sprite
    native GetSpriteChildrenCount takes sprite whichSprite returns integer
    native GetSpriteChildById takes sprite whichSprite, integer index returns sprite
    native RemoveSprite takes sprite whichSprite returns nothing
    native IsSpriteUber takes sprite whichSprite returns boolean
    native GetSpriteX takes sprite whichSprite returns real
    native GetSpriteY takes sprite whichSprite returns real
    native GetSpriteZ takes sprite whichSprite returns real
    native GetSpriteHeight takes sprite whichSprite returns real
    native GetSpritePositionLoc takes sprite whichSprite returns location
    native SetSpritePositionEx takes sprite whichSprite, real x, real y, real z returns nothing
    native SetSpritePosition takes sprite whichSprite, real x, real y returns nothing
    native SetSpritePositionLoc takes sprite whichSprite, location loc returns nothing
    native SetSpriteX takes sprite whichSprite, real x returns nothing
    native SetSpriteY takes sprite whichSprite, real y returns nothing
    native SetSpriteZ takes sprite whichSprite, real z returns nothing
    native SetSpriteHeight takes sprite whichSprite, real height returns nothing
    native GetSpriteScreenX takes sprite whichSprite returns real
    native GetSpriteScreenY takes sprite whichSprite returns real
    native GetSpriteScale takes sprite whichSprite returns real
    native SetSpriteScale takes sprite whichSprite, real scale returns nothing
    native GetSpriteTimeScale takes sprite whichSprite returns real
    native SetSpriteTimeScale takes sprite whichSprite, real timescale returns nothing
    native SetSpritePlayerColour takes sprite whichSprite, playercolor color returns nothing
    native GetSpriteColour takes sprite whichSprite returns integer
    native SetSpriteColour takes sprite whichSprite, integer colour returns nothing
    native SetSpriteAlpha takes sprite whichSprite, integer alpha returns nothing
    native SetSpriteVertexColour takes sprite whichSprite, integer red, integer green, integer blue, integer alpha returns nothing
    native SetSpriteMatrixScale takes sprite whichSprite, real x, real y, real z returns nothing
    native ResetSpriteMatrix takes sprite whichSprite returns nothing
    native SetSpriteOrientationEx takes sprite whichSprite, real yaw, real pitch, real roll, integer eulerOrder returns nothing
    native GetSpriteYaw takes sprite whichSprite returns real
    native SetSpriteYaw takes sprite whichSprite, real yaw returns nothing
    native GetSpriteFacing takes sprite whichSprite returns real
    native SetSpriteFacing takes sprite whichSprite, real facing returns nothing
    native GetSpritePitch takes sprite whichSprite returns real
    native SetSpritePitch takes sprite whichSprite, real pitch returns nothing
    native GetSpriteRoll takes sprite whichSprite returns real
    native SetSpriteRoll takes sprite whichSprite, real roll returns nothing
    native SetSpriteOrientation takes sprite whichSprite, real yaw, real pitch, real roll returns nothing
    native SetSpriteMaterialTexture takes sprite whichSprite, string textureName, integer materialId, integer textureIndex returns nothing
    native SetSpriteTexture takes sprite whichSprite, string textureName, integer textureIndex returns nothing
    native SetSpriteReplaceableTexture takes sprite whichSprite, string textureName, integer textureIndex returns nothing
    native SetSpriteModel takes sprite whichSprite, string modelName returns nothing
    native SetSpriteModelEx takes sprite whichSprite, string modelName, integer playerColour returns nothing
    native GetSpriteModelObjectPositionX takes sprite whichSprite, string whichObject returns real
    native GetSpriteModelObjectPositionY takes sprite whichSprite, string whichObject returns real
    native GetSpriteModelObjectPositionZ takes sprite whichSprite, string whichObject returns real
    native GetSpriteModelObjectPositionLoc takes sprite whichSprite, string whichObject returns location
    native GetSpriteCurrentAnimationId takes sprite whichSprite returns integer
    native GetSpriteCurrentAnimationName takes sprite whichSprite returns string
    native SetSpriteAnimationWithRarityByIndex takes sprite whichSprite, integer animIndex, raritycontrol rarity returns nothing
    native SetSpriteAnimationWithRarity takes sprite whichSprite, string animationName, raritycontrol rarity returns nothing
    native SetSpriteAnimationByIndex takes sprite whichSprite, integer animIndex returns nothing
    native SetSpriteAnimation takes sprite whichSprite, string animationName returns nothing
    native QueueSpriteAnimationByIndex takes sprite whichSprite, integer animIndex returns nothing
    native QueueSpriteAnimation takes sprite whichSprite, string animationName returns nothing
    native GetSpriteAnimationOffsetPercent takes sprite whichSprite returns real
    native SetSpriteAnimationOffsetPercent takes sprite whichSprite, real percent returns nothing
  4. Исправлена критическая ошибка при использовании GetFrameName на фрейме у которого не было инициализировано имя.
  5. CORNER_FLAG переименован в BORDER_FLAG.
  6. Get/SetFrameCornerFlags переименованы в Get/SetFrameBorderFlags.
  7. Get/SetFrameCornerSize переименованы в Get/SetFrameBorderSize.
  8. UnitEnableAttack теперь полностью отключает атаку юниту.
  9. UnitEnableAttack теперь скрывает иконку заклинания атаки, но не скрывает иконку урона.
  10. GetFrameUnderMouse переименован в GetFrameUnderCursor.
  11. GetFrameUnderCursor теперь так же работает с любым типом CSimpleFrame и его дочерними типами.
    Пометка: приоритет: CSimpleFrame, CLayer (под курсором), CLayer (подсвеченный/в фокусе).
  12. SetFrameSpriteModel/SetFrameSpriteModelEx более не ломают анимации использованным моделям.
  13. Исправлена GetEventDamageTarget возвращающая неверные значения.
  14. Исправлена CreateAbility всегда возвращающая null.
  15. Все внутренние функции оперирующие на координатах теперь используют референсы, вместо указателей.
    Пометка: эта информация больше для меня, так как эти изменения никак не должны отразиться на игре.
  16. SetSpecialEffectAnimationOffsetPercent теперь возвращает nothing вместо boolean.
  17. SetTrackableAnimationOffsetPercent теперь возвращает nothing вместо boolean.
  18. SetWidgetAnimationOffsetPercent теперь возвращает nothing вместо boolean.
  19. SetDestructableAnimationOffsetPercent теперь возвращает nothing вместо boolean.
  20. SetItemAnimationOffsetPercent теперь возвращает nothing вместо boolean.
  21. SetUnitAnimationOffsetPercent теперь возвращает nothing вместо boolean.
  22. SetProjectileAnimationOffsetPercent теперь возвращает nothing вместо boolean.
  23. SetFrameSpriteAnimationOffsetPercent теперь возвращает nothing вместо boolean.
  24. SetSpecialEffectColour теперь возвращает nothing вместо boolean.
  25. SetSpecialEffectAlpha теперь возвращает nothing вместо boolean.
  26. SetSpecialEffectVertexColour теперь возвращает nothing вместо boolean.
  27. SetSpecialEffectYaw теперь возвращает nothing вместо boolean.
  28. SetSpecialEffectFacing теперь возвращает nothing вместо boolean.
  29. SetSpecialEffectPitch теперь возвращает nothing вместо boolean.
  30. SetSpecialEffectRoll теперь возвращает nothing вместо boolean.
  31. SetTrackableColour теперь возвращает nothing вместо boolean.
  32. SetTrackableAlpha теперь возвращает nothing вместо boolean.
  33. SetTrackableVertexColour теперь возвращает nothing вместо boolean.
  34. SetTrackableOrientationEx теперь возвращает nothing вместо boolean.
  35. SetTrackableYaw теперь возвращает nothing вместо boolean.
  36. SetTrackableFacing теперь возвращает nothing вместо boolean.
  37. SetTrackablePitch теперь возвращает nothing вместо boolean.
  38. SetTrackableRoll теперь возвращает nothing вместо boolean.
  39. SetProjectileColour теперь возвращает nothing вместо boolean.
  40. SetProjectileAlpha теперь возвращает nothing вместо boolean.
  41. SetProjectileVertexColour теперь возвращает nothing вместо boolean.
  42. SetProjectileOrientationEx теперь возвращает nothing вместо boolean.
  43. SetProjectileYaw теперь возвращает nothing вместо boolean.
  44. SetProjectileFacing теперь возвращает nothing вместо boolean.
  45. SetProjectilePitch теперь возвращает nothing вместо boolean.
  46. SetProjectileRoll теперь возвращает nothing вместо boolean.
  47. Исправлена TimerIsPaused возвращающая значения TimerIsPeriodic.
  48. Добавлены новые оффсеты в AntiHack.
  49. Исправлена ошибка по которой AntiHack перестал работать после первого срабатывания.
  50. Добавлена проверка целостности WorldFrame в AntiHack.
  51. Удалён лимит в 1024 символа у string литералов.
    Пометка: чтобы пользоваться этим изменением в JNGP нужно как-то обновить pjass, чтобы он позволял писать более 1024 символов в строке.
  52. Исправлены SetProjectileModel/SetProjectileModelEx не устанавливающие модель.
  53. LaunchTargetProjectile переименован в LaunchProjectileTarget.
  54. Исправлено TimerSetPeriodic.
  55. Все PositionLocation переименованы в PositionLoc, чтобы они совпадали с именами на ванилле.
  56. Все PositionEx переименованы в PositionWithZ, чтобы они совпадали с именами на ванилле.
  57. Все ModelObjectPosition(X/Y/Z) переименованы в ModelObject(X/Y/Z).
  58. Исправлена критическая ошибка при использовании UnitAddGroupEx.
2
20
7 месяцев назад
2
Вышла новая версия! Прокрутить к ресурсу

v1.0.37.138

  1. Исправлена критическая ошибка от SetSpecialEffectX/Y/Z.
    Пометка: ошибка происходила из-за обрезания старого кода, новый метод не был идеален для более простых типов агентов.
  2. Исправлено "зависание" от SetUnitModel/Ex.
    Пометка: эта ошибка происходила случайно на определённых картах.
5
20
7 месяцев назад
5
Вышла новая версия! Прокрутить к ресурсу

v1.0.38.140

  1. Новые Нативные Функции:
    native MathRealModulo takes real dividend, real divisor returns real
    native MathIntegerModulo takes integer dividend, integer divisor returns integer
    Note: I actually registered these natives long time ago, but forgot to add them to common.j.
    native GetSpriteModel takes sprite whichSprite returns string

    native GetSpecialEffectModel takes effect whichEffect returns string

    native GetTrackableModel takes trackable whichTrackable returns string

    native GetDestructableVariation takes destructable whichDestructable returns integer
    native SetDestructableVariation takes destructable whichDestructable, integer variation returns nothing
    native SetDestructableVariationEx takes destructable whichDestructable, integer variation, boolean ignoreStateCheck returns nothing ignoreStateCheck will skip checking for dead/alive variations of the model.
    native IsDestructableBlighted takes destructable whichDestructable returns boolean
    native SetDestructableBlighted takes destructable whichDestructable, boolean flag returns nothing
    native SetDestructablePositionWithZ takes destructable whichDestructable, real x, real y, real z returns nothing
    native SetDestructableZ takes destructable whichDestructable, real z returns nothing
    native GetDestructableModel takes destructable whichDestructable returns string

    native GetItemModel takes item whichItem returns string

    native SetUnitVisibleByPlayer takes unit whichUnit, player whichPlayer, boolean flag returns nothing
    native SetUnitDetectableByPlayer takes unit whichUnit, player whichPlayer, boolean flag returns nothing
    native GetUnitModel takes unit whichUnit returns string

    native GetProjectileModel takes projectile whichProjectile returns string

    native GetFrameSpriteModel takes framehandle whichFrame returns string
  2. Удалённые Нативные Функции:
    native GetUnitLocustFlag takes unit whichUnit returns integer
  3. Потенциально исправлена ошибка Jass Logger'а, ввиду которой иногда неправильно обрабатывался байткод.
  4. Было переделано чтение чексуммы скриптов, теперь оно должно быть более "мягким" для карт, у которых нет war3map.j.
  5. Исправлен парсер w3i, ввиду которого неправильно обрабатывался заголовок/подзаголовок/текст загрузочных экранов карт/кампаний.
  6. Удалён лимит пищи в 300 единиц.
  7. Исправлены все получатели/установщики Z для спрайтов/моделей и так далее. Поломка была создана из-за маленькой ошибки.
2
31
7 месяцев назад
2
native SetDestructableZ takes destructable whichDestructable, real z returns nothing
Блин, буквально вчера сетовал, что нет такой функции. Прям мысли читаешь.
3
20
7 месяцев назад
3
Вышла новая версия! Прокрутить к ресурсу

v1.0.39.142

  1. Новые Типы:
    type renderstage extends handle
  2. Новые Конверторы:
    constant native ConvertRenderStage takes integer i returns renderstage
  3. Новые Константы:
    constant renderstage RENDER_STAGE_SKYBOX = ConvertRenderStage(0)
    constant renderstage RENDER_STAGE_TERRAIN = ConvertRenderStage(1)
    constant renderstage RENDER_STAGE_FOG_OF_WAR = ConvertRenderStage(2)
    constant renderstage RENDER_STAGE_TERRAIN_SHADOW = ConvertRenderStage(3)
    constant renderstage RENDER_STAGE_WATER_SHADOW = ConvertRenderStage(4)
    constant renderstage RENDER_STAGE_BLIGHT = ConvertRenderStage(5)
    constant renderstage RENDER_STAGE_WEATHER = ConvertRenderStage(6)
    constant renderstage RENDER_STAGE_SELECTION_CIRCLE = ConvertRenderStage(7)
    constant renderstage RENDER_STAGE_INDICATOR = ConvertRenderStage(8)
    constant renderstage RENDER_STAGE_FOOTPRINT = ConvertRenderStage(9)
    constant renderstage RENDER_STAGE_DOODAD = ConvertRenderStage(10)
    constant renderstage RENDER_STAGE_SPRITE = ConvertRenderStage(11)
    constant renderstage RENDER_STAGE_SELECTION_SPRITE = ConvertRenderStage(12)
    constant renderstage RENDER_STAGE_DECORATION = ConvertRenderStage(13)
    constant renderstage RENDER_STAGE_WATER = ConvertRenderStage(14)
    constant renderstage RENDER_STAGE_SELECTION_BOX = ConvertRenderStage(15)
    constant renderstage RENDER_STAGE_TEXTURE = ConvertRenderStage(16)
    constant renderstage RENDER_STAGE_OCCLUSION_MASK = ConvertRenderStage(17)
    constant renderstage RENDER_STAGE_BUILDING = ConvertRenderStage(18)
    constant renderstage RENDER_STAGE_UBERSPLAT = ConvertRenderStage(19)
    constant renderstage RENDER_STAGE_LIGHTNING = ConvertRenderStage(20)
    constant renderstage RENDER_STAGE_TEXTTAG = ConvertRenderStage(21)
  4. Новые Нативные Функции:
    native GetFPS takes nothing returns real

    native GetAttackSpeedMinBonus takes nothing returns real
    native SetAttackSpeedMinBonus takes real value returns nothing
    native GetAttackSpeedMaxBonus takes nothing returns real
    native SetAttackSpeedMaxBonus takes real value returns nothing
    native GetMoveSpeedMinAllowed takes nothing returns real
    native SetMoveSpeedMinAllowed takes real value returns nothing
    native GetMoveSpeedMaxAllowed takes nothing returns real
    native SetMoveSpeedMaxAllowed takes real value returns nothing

    native IsSelectionEnabled takes nothing returns boolean
    native EnableSelection takes boolean enable returns nothing
    native IsSelectionCircleEnabled takes nothing returns boolean
    native EnableSelectionCircle takes boolean enable returns nothing
    native IsTargetIndicatorEnabled takes nothing returns boolean
    native EnableTargetIndicator takes boolean enable returns nothing
    native IsRenderStage takes renderstage renderStage returns boolean
    native EnableRenderStage takes renderstage renderStage, boolean enable returns nothing
    native IsStatbarEnabled takes nothing returns boolean
    native EnableStatbar takes boolean enable returns nothing

    native HandleListGetSpriteCount takes handlelist whichHandleList returns integer
    native HandleListGetSpriteByIndex takes handlelist whichHandleList, integer index returns sprite
    native HandleListGetFilterSprite takes nothing returns sprite
    native HandleListGetEnumSprite takes nothing returns sprite

    native SaveSpriteHandle takes hashtable table, integer parentKey, integer childKey, sprite whichsprite returns boolean
    native SaveDoodadHandle takes hashtable table, integer parentKey, integer childKey, doodad whichDoodad returns boolean
    native SaveTextFileHandle takes hashtable table, integer parentKey, integer childKey, textfilehandle whichFile returns boolean
    native LoadSpriteHandle takes hashtable table, integer parentKey, integer childKey returns sprite
    native LoadDoodadHandle takes hashtable table, integer parentKey, integer childKey returns doodad
    native LoadTextFileHandle takes hashtable table, integer parentKey, integer childKey returns textfilehandle
  5. Исправлена критическая ошибка при создании SIMPLETEXT/SIMPLETEXTURE через CreateFrame/CreateFrameByType с родителем не являющимся простым фреймом.
  6. Исправлена IsFrameVisible для SimpleFrames, всегда возвращающая "истину".
0
31
7 месяцев назад
0
Карта начала вылетать на новой версии.
Попробовал запустить на предыдущей, 1.0.38.140, крита не словил...
Теперь искать, где фаталит...
Загруженные файлы
Чтобы оставить комментарий, пожалуйста, войдите на сайт.