Zh/Dota 2 Workshop Tools/Beta Release Notes

From Valve Developer Community
Jump to navigation Jump to search

Dota2创意工坊工具Alpha版本和Beta版本之间的区别

Panorama游戏界面

见:Dota 2 Workshop Tools/Panorama

  • 使用全新的Panorama界面系统为自定义游戏提供游戏内界面支持。

Valve提供游戏界面

见:Dota 2 Workshop Tools/Panorama/Valve Provided UI

  • 新增若干界面范例,可在地图中直接使用,或以此为原型设计自定义界面。

Lua API

特性

Lua 技能与修改器

见:Dota 2 Workshop Tools/Lua Abilities and Modifiers

  • 技能与修改器现在可在Lua中定义。
  • 修改器现在在Lua中展示。

脚本过滤

见:Dota 2 Workshop Tools/Script Filters

  • 新增使用脚本过滤器对待定的游戏行为进行中断或修改的能力。

脚本绑定

新增若干脚本绑定:

  • GameRules:IsGamePaused()
  • PlayerResource:GetPlayerCount()
  • PlayerResource:GetTeamPlayerCount()
  • PlayerResource:GetPlayerCountForTeam()
  • PlayerResource:SetCustomPlayerColor()
  • CreateTempTree() - 临时创建树木。
  • GridNav:DestroyTreesAroundPoint() - 摧毁某点附近的树木。
  • GridNav:GetAllTreesAroundPoint() - 获得某点附近的全部树木。
  • SetPrimaryAttribute() - 为英雄设置主要属性。
  • ResolveNPCPositions() - 解决了在代码控制下移动的NPC碰撞问题。
  • EmitSoundOnLocationWithCaster() - 在某地发出与NPC有关的声音。
  • MinimapEvent() - 创建小地图事件,例如点击或传送。
  • GameMode:SetCustomGameForceHero() - 强制英雄选择
  • IsClone() - 检测一个英雄是否为米波的克隆
  • SendOverheadEventMessage() - 显示头顶的经验/金钱提示
  • UpgradeToFlyingCourier()
  • DOTA_TEAM_COUNT
  • 用于控制最大及最小攻击速度的函数。
  • 用于开始或一处Dota NPC动作的函数。函数名:StartGesture(), RemoveGesture()
  • 自定义游戏事件现在可以传递第二个参数,即玩家ID。例如:
function MyAddonName:OnButtonPressed( eventSourceIndex, data )
    local nPlayerID = data.PlayerID
end
  • 将 DOTAConnectionState_t 枚举在Lua脚本中显性表示。 PlayerResource:GetConnectionState() 现在可与常数进行比较。
DOTA_CONNECTION_STATE_UNKNOWN
DOTA_CONNECTION_STATE_NOT_YET_CONNECTED
DOTA_CONNECTION_STATE_CONNECTED
DOTA_CONNECTION_STATE_DISCONNECTED
DOTA_CONNECTION_STATE_ABANDONED
DOTA_CONNECTION_STATE_LOADING
DOTA_CONNECTION_STATE_FAILED

修复

  • 修复了跳过一个技能栏时会无视预载的错误。
  • 修复了数据驱动技能无法准确设置修改器的错误。
  • ReplaceHeroWith 函数将在原英雄的位置放置一个新英雄,而非在player_start的位置创建新英雄。

数据驱动技能

特性

  • 数据驱动运行脚本的关键词现在包涵“event_ability”,可在在技能进行某种触发时使用。(例如:OnAbilityExecuted)

修复

  • 修复了OnAbilityPhaseInterrupted无法触发的错误。
  • 修复了某些域中无法识别 %<var_name> 格式的数据驱动物品变量的错误。
  • 修复了OnSpellStart和OnAbilityPhaseStart之中可能出现的不佳交互。

游戏特性

自定义界面元素

见:Dota_2_Workshop_Tools/Panorama#Custom_Hud_Elements

  • 新增一个简单的API,可用于从Lua代码切换至Panorama界面元素。

自定义游戏设置

见:Dota 2 Workshop Tools/Custom Game Setup

  • 为自定义游戏设置新增了一个游戏状态(在英雄选择前发生,用于选择队伍和模式等)
  • 自定义游戏的玩家ID将不再如同正常Dota游戏一样遵循TeamPlayer的设定(天辉和夜魇玩家的ID分别为0-9)
  • 增加事件‘dota_team_player_list_changed’(当玩家数量变化或队伍分配变化时发生)和‘dota_player_details_changed’(当玩家ID或名字发生变化时发生)

自定义游戏事件

见:Dota 2 Workshop Tools/Custom Game Events

  • 增加对自定义游戏事件的支持 - 命名的动态事件可为地图和Mod所使用,每个事件都有一个专属表格用于传递参数。

自定义通信

见:Dota 2 Workshop Tools/Custom Nettables

  • 增加自定义通信功能,便于从服务器传输数据至客户端。

Custom Healthbar Colors

  • 增加对队伍生命栏颜色修改的支持(默认为"green = my team, red = enemy")
  • 在脚本中为 SetTeamCustomHealthbarColor( teamNumber, r, g, b ) / ClearTeamCustomHealthbarColor( teamNumber )

小地图图标

  • 增加禁用小地图上的队伍颜色的功能。
  • 修复了自定义小地图的材质并非总是高清的错误。
  • 为地图增加了‘addon_hud_textures.txt’文件,用于注册自定义小地图图标。

游戏代码

  • 游戏代码更新至 6.84c。
  • 真视效果仅对拥有真视修改器的队伍生效。禁用隐身,例如使用显影之尘,还将继续对所有队伍生效。
  • 地图上的树木最大值增加值8191。
  • 移除了部分部分地面高度和水深的假设,以防止游戏系统无法正确作用于自定义地图。
  • 充能类技能及物品现在可以使用-refresh指令刷新。使用-wtf指令可无限制使用。

创意工坊管理工具

见:Dota_2_Workshop_Tools/Workshop_Manager

  • 新增了一个便于将地图上传至创意工坊的工具。

PET/粒子

粒子特效复制/移动工具

见:Dota 2 Workshop Tools/Particle Copy Tool

  • 粒子特效系统定义复制/移动工具的初始版本。 (及子类)

特性

  • 现在可以在预览例子特效时插入模型进行预览。这些模型可在进行需要模型的粒子特效相关操作时被查询,例如碰撞体积内的诞生粒子特效。
  • 为预览增加了控制功能,可以显现碰撞体积、附着点和名称,使预览的模型按照预定设计活动,使用饰品或套装进行模型预览等。
  • 为挂点编辑器增加控制功能,可以将挂点附着在预览模型的原点或附着点上。
  • 为模型预览附着点增加自动连接挂点的代码,代码用于载入一个附着在饰品上的粒子特效系统,且该预览饰品正使用此粒子特效时。
  • 新增两个序列结合模组: SEQUENCE_COMBINE_MODE_REPLICATE_COLOR_0, SEQUENCE_COMBINE_MODE_REPLICATE_COLOR_1。
  • 更好的粒子数据(cur/max/alloc 均可用于系统及全局层级)。
  • F10键可用于在引擎和工具之间来回切换。
  • 为S2 PET增加“will not end on stop”警告,形式与S1相同。
  • PET特性编辑器现在可以高亮显示与预设不同的主属性,并增加右键选项将其还原为预设。
  • PET特性编辑器现在默认隐藏进阶属性(可通过“Show Hidden Attributes”按钮显示)
  • 增加“Lock Preview System” 按钮,用于锁定母模型的同时编辑子模型等场景。
  • 增加挂点位置和转向锁定功能。
  • 放宽函数列表的界面以方便在同组中的多次操作。(但会警告)
  • 在render_projected操作中增加水平翻转粒子。
  • 为例子旋转类型增加PARTICLE_SHADER_ORIENTATION_SCREEN_Z_ALIGNED支持。
  • 双击子粒子特效系统预览可以打开它。

修复

  • 修复了挂点所控制的数据有时无法正确反映粒子特效预览的错误。
  • 修复了将一个粒子特效系统设定为子系统时导致崩溃的错误。
  • 修复了编辑正在游戏中使用的特定粒子特效会导致崩溃的错误。
  • 修复了试图使用Scratch Float 1或Scratch Float 2会导致崩溃的错误。
  • 修复了PET中的序列选择。序列选择器现在将识别你的混合模式,并酌情将序列显示为 color/alpha/both。
  • 修复了启动颜色选择器时PET显示停止的错误。
  • 修复了在不同会话中来回切换时导致系统无法重启后的复原功能。
  • 修复了模型没有碰撞体积时InitSkinnedPositionFromCPSnapshot会导致崩溃的错误。
  • 修复了在PET中编辑子系统偶尔导致崩溃的错误。
  • 修复了创建无限循环的母-子粒子特效系统导致崩溃的错误。
  • 修复了在低端机中使用Render Projected操作时导致的perf stalls
  • 修复了模型在模型在显示操作时无法正确显示的错误。
  • 修复了粒子操作和显示的若干错误。