PrincePhoenix, PT153

Официально стал доступен PTR 1.31

» опубликован

Изменения и новые возможности

  • Поддержка расширенных оконных режимов в настройках
  • Интегрирован графический 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



По ссылке ниже можно скачать обновлённые файлы


Просмотров: 20 717



» Лучшие комментарии


PT153 #551 - 3 месяца назад (отредактировано ) 0
BlzREMOVEAbilityRealLevelArrayField
Это для значений массива, то есть у способности на каждом уровне одна настройка имеет несколько real значений. Вот с помощью этой функции их можно удалять. Правда, переменных для самих параметров пока не завезли.
Zetox #552 - 3 месяца назад (отредактировано ) 0
Правда, переменных для самих параметров пока не завезли.
Спасибо за инфу. Кстати это нормально для спела духовное пламя, когда меняю поле Inf2(дать броню юниту) на дробное число(0.1) - ничего не происходит. Но когда меняю поле Slo2 (Это поле у другого спела), то удается присвоить броне реальное значение.
PT153 #553 - 3 месяца назад 0
Zetox, часть функций пока не работает.
Tiodor #554 - 3 месяца назад 0
Там завезли ночных эльфов на офф сайте.
PT153 #555 - 3 месяца назад 0
Tiodor, это было по ошибке, а эльфийкой оказалась Dark Ranger.
Источник.
sadek #556 - 2 месяца назад 0
Как добавлять дополнительные кампании ?
ScorpioT1000 #557 - 2 месяца назад (отредактировано ) 1
sadek, создать папку Campaigns, либо использовать такую же в Документы - Warcraft III