Изменения и новые возможности
- Поддержка расширенных оконных режимов в настройках
- Интегрирован графический API Direct3D 11
- Добавлена поддержка 64 бит для Windows
- Пользовательские movies теперь воспроизводятся корректно
- Карты теперь не загружаются повторно после обновления патчей
- Звуковые данные не переносятся между переключением карт
- Звуки боя и смерти юнитов теперь не воспроизводятся глобально для зрителей (observers)
- Добавлена поддержка Lua (beta)
- Есть возможность переключиться на Lua в ранее созданных картах
- Все триггеры использующие Custom Script при переключение на Lua должны быть выключены
- Добавлен API для модификации игровых объектов во время игры: юниты/предметы/способности
- Карты можно сохранять в качестве папки с сохранением всей структуры файлов
- Можно изменять содержимое карты без запуска WE
- Добавлена поддержка многих функций, созданных комьюнити (?)
- Добавлен редактируемый UI с возможностью изменять/удалять рамки интерфейса
- При сохранении карты теперь создаются backup
- Директории с постфиксом .w3mod имеют больший приоритет, чем оригинальный данные.
- Карты являются директориями с постфикосм .w3mod, но для удобства имеют другое расширение.
- Глобальные переменные и Custom Scripts теперь можно создавать в списке триггеров
- В триггерах можно создавать вложенные папки (подкатегории)
- Высоту разрушаемых декораций можно устанавливать в его свойствах
- Для этого нужно выключить обнуление высоты
- Теперь доступны новые поля при создании объектов в РО
- Добавлены манипуляции с уроном: обнаружение/изменение урона и его типов
- GroupAddUnit/GroupRemoveUnit возвращают boolean true/false, по которым можно узнать, был ли добавлен\удалён юнит
- Добавлены новые нативные функции для работы с группой (BlzGroupAddGroupFast, BlzGroupRemoveGroupFast, BlzGroupGetSize, BlzGroupUnitAt)
Все изменения в скриптовых файлах
blizzard.j
- Обновлена функция GetCurrentCameraSetup(), так как в common.j были добавлены новые переменные типа camerafield.
- Исправлена утечка в SmartCameraPanBJ(...).
- Добавлена переменная boolean bj_lastInstObjFuncSuccessful. Изначально имеет значение true.
- Добавлена функция BlzIsLastInstanceObjectFunctionSuccessful(), которая возвращает значение bj_lastInstObjFuncSuccessful.
- Добавлены функции типа Set, Add, Remove по взаимодействию с полями Редактора Объектов. Они являются аналогами таких же функций из common.j с сохранением статуса вызванной операции в bj_lastInstObjFuncSuccessful.
cheats.j
- Обновлена функция DebugCamInfo(): добавлен вывод информации о новых camerafield.
common.j
- Добавлены типы.
types
// Типы для новых функций UI.
type framehandle extends handle
type originframetype extends handle
type framepointtype extends handle
type textaligntype extends handle
type frameeventtype extends handle
// Типы для клавиш на клавиатуре и не только.
type oskeytype extends handle
// Типы для считывания информации из Редактора Объектов.
type abilityintegerfield extends handle
type abilityrealfield extends handle
type abilitybooleanfield extends handle
type abilitystringfield extends handle
type abilityintegerlevelfield extends handle
type abilityreallevelfield extends handle
type abilitybooleanlevelfield extends handle
type abilitystringlevelfield extends handle
type abilityintegerlevelarrayfield extends handle
type abilityreallevelarrayfield extends handle
type abilitybooleanlevelarrayfield extends handle
type abilitystringlevelarrayfield extends handle
type unitintegerfield extends handle
type unitrealfield extends handle
type unitbooleanfield extends handle
type unitstringfield extends handle
type unitweaponintegerfield extends handle
type unitweaponrealfield extends handle
type unitweaponbooleanfield extends handle
type unitweaponstringfield extends handle
type itemintegerfield extends handle
type itemrealfield extends handle
type itembooleanfield extends handle
type itemstringfield extends handle
type movetype extends handle
type targetflag extends handle
type armortype extends handle
type heroattribute extends handle
type defensetype extends handle
type regentype extends handle
type unitcategory extends handle
type pathingflag extends handle
- Добавлены нативки, которые используются для конвертации ID в объекты, типы которых были перечислены выше. С помощью их задаются переменные с осмысленным названием, которые потом и используются.
- Добавлены константы, о которых была речь выше. Их ОЧЕНЬ много, потому лучше просмотрите их сами в прикреплённом файле.
- Добавлены события.
events
// События конкретного юнита.
constant unitevent EVENT_UNIT_DAMAGING = ConvertUnitEvent(314)
// События для всех юнитов игрока.
constant playerunitevent EVENT_PLAYER_UNIT_DAMAGED = ConvertPlayerUnitEvent(308)
constant playerunitevent EVENT_PLAYER_UNIT_DAMAGING = ConvertPlayerUnitEvent(315)
// Игровые события.
constant gameevent EVENT_GAME_CUSTOM_UI_FRAME = ConvertGameEvent(310)
// События для игрока.
constant playerevent EVENT_PLAYER_SYNC_DATA = ConvertPlayerEvent(309)
constant playerevent EVENT_PLAYER_KEY = ConvertPlayerEvent(311)
constant playerevent EVENT_PLAYER_KEY_DOWN = ConvertPlayerEvent(312)
constant playerevent EVENT_PLAYER_KEY_UP = ConvertPlayerEvent(313)
- Добавлены переменные типа camerafield.
constants
constant camerafield CAMERA_FIELD_LOCAL_PITCH = ConvertCameraField(8)
constant camerafield CAMERA_FIELD_LOCAL_YAW = ConvertCameraField(9)
constant camerafield CAMERA_FIELD_LOCAL_ROLL = ConvertCameraField(10)
- Обновлены функции по добавлению и удалению юнита из группы.
changes
// Было.
native GroupAddUnit takes group whichGroup, unit whichUnit returns nothing
native GroupRemoveUnit takes group whichGroup, unit whichUnit returns nothing
// Стало.
native GroupAddUnit takes group whichGroup, unit whichUnit returns boolean
native GroupRemoveUnit takes group whichGroup, unit whichUnit returns boolean
- Добавлены функции для работы с группами юнитов. Долой BJ аналоги!
natives
native BlzGroupAddGroupFast takes group whichGroup, group addGroup returns integer
native BlzGroupRemoveGroupFast takes group whichGroup, group removeGroup returns integer
native BlzGroupGetSize takes group whichGroup returns integer
native BlzGroupUnitAt takes group whichGroup, integer index returns unit
- Добавлена функция для определения наличия конкретного игрока в группе игроков.
native
native BlzForceHasPlayer takes force whichForce, player whichPlayer returns boolean
- Добавлены функция по сохранению и загрузке из хеш-таблицы объектов типа framehandle.
natives
native SaveFrameHandle takes hashtable table, integer parentKey, integer childKey, framehandle whichFrameHandle returns boolean
native LoadFrameHandle takes hashtable table, integer parentKey, integer childKey returns framehandle
- Добавлены функции для работы в триггерах с событиями EVENT_UNIT_DAMAGING, EVENT_PLAYER_UNIT_DAMAGING, EVENT_UNIT_DAMAGED, EVENT_PLAYER_UNIT_DAMAGED.
natives
native BlzGetEventDamageTarget takes nothing returns unit
native BlzGetEventAttackType takes nothing returns attacktype
native BlzGetEventDamageType takes nothing returns damagetype
native BlzGetEventWeaponType takes nothing returns weapontype
// Функции ниже имеют эффект только в событиях EVENT_UNIT_DAMAGING и EVENT_PLAYER_UNIT_DAMAGING.
native BlzSetEventAttackType takes attacktype attackType returns boolean
native BlzSetEventDamageType takes damagetype damageType returns boolean
native BlzSetEventWeaponType takes weapontype weaponType returns boolean
- Добавлены функции для работы с UI.
natives
native BlzGetOriginFrame takes originframetype frameType, integer index returns framehandle
native BlzEnableUIAutoPosition takes boolean enable returns nothing
native BlzHideOriginFrames takes boolean enable returns nothing
native BlzConvertColor takes integer a, integer r, integer g, integer b returns integer
native BlzLoadTOCFile takes string TOCFile returns boolean
native BlzCreateFrame takes string name, framehandle owner, integer priority, integer createContext returns framehandle
native BlzCreateSimpleFrame takes string name, framehandle owner, integer createContext returns framehandle
native BlzCreateFrameByType takes string typeName, string name, framehandle owner, string inherits, integer createContext returns framehandle
native BlzDestroyFrame takes framehandle frame returns nothing
native BlzFrameSetPoint takes framehandle frame, framepointtype point, framehandle relative, framepointtype relativePoint, real x, real y returns nothing
native BlzFrameSetAbsPoint takes framehandle frame, framepointtype point, real x, real y returns nothing
native BlzFrameClearAllPoints takes framehandle frame returns nothing
native BlzFrameSetAllPoints takes framehandle frame, framehandle relative returns nothing
native BlzFrameSetVisible takes framehandle frame, boolean visible returns nothing
native BlzFrameIsVisible takes framehandle frame returns boolean
native BlzGetFrameByName takes string name, integer createContext returns framehandle
native BlzFrameGetName takes framehandle frame returns string
native BlzFrameClick takes framehandle frame returns nothing
native BlzFrameSetText takes framehandle frame, string text returns nothing
native BlzFrameGetText takes framehandle frame returns string
native BlzFrameSetTextSizeLimit takes framehandle frame, integer size returns nothing
native BlzFrameGetTextSizeLimit takes framehandle frame returns integer
native BlzFrameSetTextColor takes framehandle frame, integer color returns nothing
native BlzFrameSetFocus takes framehandle frame, boolean flag returns nothing
native BlzFrameSetModel takes framehandle frame, string modelFile, integer cameraIndex returns nothing
native BlzFrameSetEnable takes framehandle frame, boolean enabled returns nothing
native BlzFrameGetEnable takes framehandle frame returns boolean
native BlzFrameSetAlpha takes framehandle frame, integer alpha returns nothing
native BlzFrameGetAlpha takes framehandle frame returns integer
native BlzFrameSetSpriteAnimate takes framehandle frame, integer primaryProp, integer flags returns nothing
native BlzFrameSetTexture takes framehandle frame, string texFile, integer flag, boolean blend returns nothing
native BlzFrameSetScale takes framehandle frame, real scale returns nothing
native BlzFrameSetTooltip takes framehandle frame, framehandle tooltip returns nothing
native BlzFrameCageMouse takes framehandle frame, boolean enable returns nothing
native BlzFrameSetValue takes framehandle frame, real value returns nothing
native BlzFrameGetValue takes framehandle frame returns real
native BlzFrameSetMinMaxValue takes framehandle frame, real minValue, real maxValue returns nothing
native BlzFrameSetStepSize takes framehandle frame, real stepSize returns nothing
native BlzFrameSetSize takes framehandle frame, real width, real height returns nothing
native BlzFrameSetVertexColor takes framehandle frame, integer color returns nothing
native BlzFrameSetLevel takes framehandle frame, integer level returns nothing
native BlzFrameSetParent takes framehandle frame, framehandle parent returns nothing
native BlzFrameGetParent takes framehandle frame returns framehandle
native BlzFrameGetHeight takes framehandle frame returns real
native BlzFrameGetWidth takes framehandle frame returns real
native BlzFrameSetFont takes framehandle frame, string fileName, real height, integer flags returns nothing
native BlzFrameSetTextAlignment takes framehandle frame, textaligntype vert, textaligntype horz returns nothing
native BlzTriggerRegisterFrameEvent takes trigger whichTrigger, framehandle frame, frameeventtype eventId returns event
native BlzGetTriggerFrame takes nothing returns framehandle
native BlzGetTriggerFrameEvent takes nothing returns frameeventtype
- Добавлены функции для юнитов.
natives
native BlzGetUnitAbility takes unit whichUnit, integer abilId returns ability
native BlzGetUnitAbilityByIndex takes unit whichUnit, integer index returns ability
native BlzPauseUnitEx takes unit whichUnit, boolean flag returns nothing
- Добавлены функции для эффектов.
natives
native BlzGetSpecialEffectScale takes effect whichEffect returns real
native BlzSetSpecialEffectMatrixScale takes effect whichEffect, real x, real y, real z returns nothing
native BlzResetSpecialEffectMatrix takes effect whichEffect returns nothing
- Добавлены функции битовых операций для целых чисел.
natives
native BlzBitOr takes integer x, integer y returns integer
native BlzBitAnd takes integer x, integer y returns integer
native BlzBitXor takes integer x, integer y returns integer
- Добавлены функции по работе с синхронизацией и событием EVENT_PLAYER_SYNC_DATA.
natives
native BlzTriggerRegisterPlayerSyncEvent takes trigger whichTrigger, player whichPlayer, string prefix, boolean fromServer returns event
native BlzSendSyncData takes string prefix, string data returns boolean
native BlzGetTriggerSyncPrefix takes nothing returns string
native BlzGetTriggerSyncData takes nothing returns string
- Добавлены функции по работе с типом oskeytype и соответсвующими событиями.
natives
native BlzTriggerRegisterPlayerKeyEvent takes trigger whichTrigger, player whichPlayer, oskeytype key, integer metaKey, boolean keyDown returns event
native BlzGetTriggerPlayerKey takes nothing returns oskeytype
native BlzGetTriggerPlayerMetaKey takes nothing returns integer
native BlzGetTriggerPlayerIsKeyDown takes nothing returns boolean
- Добавлены функции по работе с мышью и курсором.
natives
native BlzEnableCursor takes boolean enable returns nothing
native BlzSetMousePos takes integer x, integer y returns nothing
native BlzGetMouseFocusUnit takes nothing returns unit
- Добавлены функции по работе с экраном игрока.
natives
native BlzGetLocalClientWidth takes nothing returns integer
native BlzGetLocalClientHeight takes nothing returns integer
native BlzIsLocalClientActive takes nothing returns boolean
- Добавлены функции по работе с выделением.
natives
native BlzEnableSelections takes boolean enableSelection, boolean enableSelectionCircle returns nothing
native BlzIsSelectionEnabled takes nothing returns boolean
native BlzIsSelectionCircleEnabled takes nothing returns boolean
- Добавлены функции для получения, добавления, удаления и изменения значений полей Редактора Объектов. Не для всех новых типов были добавлены такие функции, например у armortype или heroattribute их нет.
natives
// Ability
native BlzGetAbilityBooleanField takes ability whichAbility, abilitybooleanfield whichField returns boolean
native BlzGetAbilityIntegerField takes ability whichAbility, abilityintegerfield whichField returns integer
native BlzGetAbilityRealField takes ability whichAbility, abilityrealfield whichField returns real
native BlzGetAbilityStringField takes ability whichAbility, abilitystringfield whichField returns string
native BlzGetAbilityBooleanLevelField takes ability whichAbility, abilitybooleanlevelfield whichField, integer level returns boolean
native BlzGetAbilityIntegerLevelField takes ability whichAbility, abilityintegerlevelfield whichField, integer level returns integer
native BlzGetAbilityRealLevelField takes ability whichAbility, abilityreallevelfield whichField, integer level returns real
native BlzGetAbilityStringLevelField takes ability whichAbility, abilitystringlevelfield whichField, integer level returns string
native BlzGetAbilityBooleanLevelArrayField takes ability whichAbility, abilitybooleanlevelarrayfield whichField, integer level, integer index returns boolean
native BlzGetAbilityIntegerLevelArrayField takes ability whichAbility, abilityintegerlevelarrayfield whichField, integer level, integer index returns integer
native BlzGetAbilityRealLevelArrayField takes ability whichAbility, abilityreallevelarrayfield whichField, integer level, integer index returns real
native BlzGetAbilityStringLevelArrayField takes ability whichAbility, abilitystringlevelarrayfield whichField, integer level, integer index returns string
native BlzSetAbilityBooleanField takes ability whichAbility, abilitybooleanfield whichField, boolean value returns boolean
native BlzSetAbilityIntegerField takes ability whichAbility, abilityintegerfield whichField, integer value returns boolean
native BlzSetAbilityRealField takes ability whichAbility, abilityrealfield whichField, real value returns boolean
native BlzSetAbilityStringField takes ability whichAbility, abilitystringfield whichField, string value returns boolean
native BlzSetAbilityBooleanLevelField takes ability whichAbility, abilitybooleanlevelfield whichField, integer level, boolean value returns boolean
native BlzSetAbilityIntegerLevelField takes ability whichAbility, abilityintegerlevelfield whichField, integer level, integer value returns boolean
native BlzSetAbilityRealLevelField takes ability whichAbility, abilityreallevelfield whichField, integer level, real value returns boolean
native BlzSetAbilityStringLevelField takes ability whichAbility, abilitystringlevelfield whichField, integer level, string value returns boolean
native BlzSetAbilityBooleanLevelArrayField takes ability whichAbility, abilitybooleanlevelarrayfield whichField, integer level, integer index, boolean value returns boolean
native BlzSetAbilityIntegerLevelArrayField takes ability whichAbility, abilityintegerlevelarrayfield whichField, integer level, integer index, integer value returns boolean
native BlzSetAbilityRealLevelArrayField takes ability whichAbility, abilityreallevelarrayfield whichField, integer level, integer index, real value returns boolean
native BlzSetAbilityStringLevelArrayField takes ability whichAbility, abilitystringlevelarrayfield whichField, integer level, integer index, string value returns boolean
native BlzAddAbilityBooleanLevelArrayField takes ability whichAbility, abilitybooleanlevelarrayfield whichField, integer level, boolean value returns boolean
native BlzAddAbilityIntegerLevelArrayField takes ability whichAbility, abilityintegerlevelarrayfield whichField, integer level, integer value returns boolean
native BlzAddAbilityRealLevelArrayField takes ability whichAbility, abilityreallevelarrayfield whichField, integer level, real value returns boolean
native BlzAddAbilityStringLevelArrayField takes ability whichAbility, abilitystringlevelarrayfield whichField, integer level, string value returns boolean
native BlzRemoveAbilityBooleanLevelArrayField takes ability whichAbility, abilitybooleanlevelarrayfield whichField, integer level, boolean value returns boolean
native BlzRemoveAbilityIntegerLevelArrayField takes ability whichAbility, abilityintegerlevelarrayfield whichField, integer level, integer value returns boolean
native BlzRemoveAbilityRealLevelArrayField takes ability whichAbility, abilityreallevelarrayfield whichField, integer level, real value returns boolean
native BlzRemoveAbilityStringLevelArrayField takes ability whichAbility, abilitystringlevelarrayfield whichField, integer level, string value returns boolean
// Item
native BlzGetItemAbilityByIndex takes item whichItem, integer index returns ability
native BlzGetItemAbility takes item whichItem, integer abilCode returns ability
native BlzItemAddAbility takes item whichItem, integer abilCode returns boolean
native BlzGetItemBooleanField takes item whichItem, itembooleanfield whichField returns boolean
native BlzGetItemIntegerField takes item whichItem, itemintegerfield whichField returns integer
native BlzGetItemRealField takes item whichItem, itemrealfield whichField returns real
native BlzGetItemStringField takes item whichItem, itemstringfield whichField returns string
native BlzSetItemBooleanField takes item whichItem, itembooleanfield whichField, boolean value returns boolean
native BlzSetItemIntegerField takes item whichItem, itemintegerfield whichField, integer value returns boolean
native BlzSetItemRealField takes item whichItem, itemrealfield whichField, real value returns boolean
native BlzSetItemStringField takes item whichItem, itemstringfield whichField, string value returns boolean
native BlzItemRemoveAbility takes item whichItem, integer abilCode returns boolean
// Unit
native BlzGetUnitBooleanField takes unit whichUnit, unitbooleanfield whichField returns boolean
native BlzGetUnitIntegerField takes unit whichUnit, unitintegerfield whichField returns integer
native BlzGetUnitRealField takes unit whichUnit, unitrealfield whichField returns real
native BlzGetUnitStringField takes unit whichUnit, unitstringfield whichField returns string
native BlzSetUnitBooleanField takes unit whichUnit, unitbooleanfield whichField, boolean value returns boolean
native BlzSetUnitIntegerField takes unit whichUnit, unitintegerfield whichField, integer value returns boolean
native BlzSetUnitRealField takes unit whichUnit, unitrealfield whichField, real value returns boolean
native BlzSetUnitStringField takes unit whichUnit, unitstringfield whichField, string value returns boolean
// Unit Weapon
native BlzGetUnitWeaponBooleanField takes unit whichUnit, unitweaponbooleanfield whichField, integer index returns boolean
native BlzGetUnitWeaponIntegerField takes unit whichUnit, unitweaponintegerfield whichField, integer index returns integer
native BlzGetUnitWeaponRealField takes unit whichUnit, unitweaponrealfield whichField, integer index returns real
native BlzGetUnitWeaponStringField takes unit whichUnit, unitweaponstringfield whichField, integer index returns string
native BlzSetUnitWeaponBooleanField takes unit whichUnit, unitweaponbooleanfield whichField, integer index, boolean value returns boolean
native BlzSetUnitWeaponIntegerField takes unit whichUnit, unitweaponintegerfield whichField, integer index, integer value returns boolean
native BlzSetUnitWeaponRealField takes unit whichUnit, unitweaponrealfield whichField, integer index, real value returns boolean
native BlzSetUnitWeaponStringField takes unit whichUnit, unitweaponstringfield whichField, integer index, string value returns boolean
- Добавлены прочие функции.
natives
native BlzCameraSetupApplyForceDurationSmooth takes camerasetup whichSetup, boolean doPan, real forcedDuration, real easeInDuration, real easeOutDuration, real smoothFactor returns nothing
native BlzEnableTargetIndicator takes boolean enable returns nothing
native BlzIsTargetIndicatorEnabled takes nothing returns boolean
native BlzDisplayChatMessage takes player whichPlayer, integer recipient, string message returns nothing
native BlzChangeMinimapTerrainTex takes string texFile returns boolean
native BlzGetLocale takes nothing returns string
by PT153
Ссылка на скачивание в категории Классические игры
Или xgm.guru/files/100/225905/comments/419436/Warcraft-III-Public-Te...
Или xgm.guru/files/100/225905/comments/419436/Warcraft-III-Public-Te...
По ссылке ниже можно скачать обновлённые файлы
Ред. PT153
Можно спать спокойно.
prog, тогда выходит что Установить значение поля P способности A на уровне (Уровень способности A у юнита X) всё также меняет значение на уровень выше?
Ред. prog
Ред. Doc
Ред. Roy Mustang
Вот как должно быть