Beta版本发布日志

From Valve Developer Community
Jump to: navigation, search
English

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

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

自定义生命栏颜色

  • 增加对队伍生命栏颜色修改的支持(默认为"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
  • 修复了模型在模型在显示操作时无法正确显示的错误。
  • 修复了粒子操作和显示的若干错误。

Hammer

特性

  • 为地形编辑器新增多图层支持,可在运行时灵活切换。
  • 为地形编辑器的路径工具增加破坏模式。
  • 增加了选择光源时预览其信息的功能。
  • 增加了在地形编辑器的混合工具中只在平面上绘制的选项。
  • 变更了混合工具的工作方式,现在可以在使用混合工具时在路径上绘制。
  • 增加了在地形编辑器中使用混合刷工具时进行路径预览的功能。
  • 修复了地形编辑器中只有单位高度的地形才能出现在水边的限制。
  • 更改了使用高度刷应用地形组件的行为,现在单个地形的高度也可以被更高。
  • 增加了在地形编辑器中隐藏所有树木、植物和道具的功能。
  • 为地形编辑器的启动/禁止模式下增加增加套索选择功能。
  • 调节反射的Alpha特性。如果你在材质中设置“Modulate Specular By Alpha”,Hammer的网格划分现在可以使用Alpha关键词并根据它的值调节镜像的贡献。

修复

  • 修复了将某些粒子特效拖入Hammer中导致崩溃的错误。
  • 对工具进行优化,减少地形编辑器编译地图的体积。
  • 地形编辑器的树木布置细节更加智能,不可见的树木将不再有过多细节。
  • 在地图编译时增加通道,自动修复地形中的接缝。
  • 修复了水面的覆盖物不正确的错误。
  • 修复了隐藏地图上部分地形的尺寸时自动生成的小地图尺寸。
  • 修复了地图编译后部分道具在引擎中无法正常显示的错误。

材质编辑器

特性

  • 将色彩1的细节想作者开放,允许在材质中赋予表达式。

修复

  • 修复了某些情况下材质编辑器无法正确显示透明度的错误。
  • 修复了材质的PSD文件含有多个alpha通道时在编译时使用错误的alpha通道的问题。现在编译器将有限寻找被标记为‘alpha’的通道进行编译。

音效

  • 修复了导致某些声音无法播放的错误。
  • 修复了某些音效过早结束的错误(例如音调提高的MP3文件)。
  • 修复音乐。
  • 修复了某些情况下音量为固定值而非浮动值的错误。
  • 降低音频延迟。
  • 自动检测并调整音频输出设备的驱动。
  • 修复了某些情况下链接或断开音频输出设备检测不正确的错误。
  • 修复了网络连接错误导致玩家不能听到信使进入商店范围的错误。

性能

  • 移除部分关联并提高整体性能。
  • 更新了视频自动配置以识别部分更新的GPU。
  • 降低客户端的CPU占用。
  • 降低客户端的GPU占用。
  • 减少启动载入时间。
  • 提升排程
  • 修复了资源浏览器无法正确显示资源索引的错误。
  • 许多单位的寻路更快了。
  • 为unit.txt增加了PathfindingSearchDepthScale 关键字,值可以设置为0至1,调整其寻路的准确度与速度,用于大量单位。

其他

特性

  • 新的客户端游戏事件:‘dota_player_update_assigned_hero’和‘dota_player_hero_selection_dirty’
  • Dota建筑现在有‘particle_tint_color’关键字 - 如果设置会将起环境和摧毁效果值从15和16(Dota中的数值)调整为相应颜色。
  • 允许在自定义游戏中对英雄进行着色。
  • 允许自定义游戏结束时的镜头调整: Dota 2 Workshop Tools/Dota Camera
  • 增加新事件“dota_npc_goal_reached”允许NPC在到达路径中的某点时脚本对其下达指令。
  • 新增事件“dota_player_begin_cast”,在技能开始是产生 -- 这个时间发生在技能释放之前,所以即使单位取消释放技能或释放成功前被眩晕,事件仍会触发。对非玩家单位可使用“dota_non_player_begin_cast”。

修复

  • 调用SetOrigin不再取消NPC的传送。
  • 小兵现在默认拥有1点魔法恢复。
  • 增加诊断功能,用于解决玩家有时无法在自定义游戏中购买物品的错误。
  • 修复了dota_create_unit对custom8队伍无效的错误。
  • 修复了断开链接的玩家重连后回到错误的基地,导致基地/要塞/商店等对多个单位友好。
  • 自定义组队任务在玩家断开连接后仍然有效。
  • 修复了模型的皮肤覆盖导致 materialoverride 在一帧后消失的问题 - 现在材质覆盖总是优先于皮肤覆盖。
  • 修复了酒仙大招导致崩溃的错误。
  • 修复了Hammer的输入输出工具排序延迟是字母排序而非数值排序。其他想要此功能的也可以使用全新的CQTableWidgetItemSortNumeric帮助工具来达到相同的效果。
  • 修复了数据驱动单位没有出现在准确类中:

Sometimes the map-specified classname is more precise (ie. corresponds with a more-derived class) than the npc_units.txt class, and sometimes the opposite is the case. Change behavior of AppendNPCKeyValues() to pick the most-derived classname, rather than always deferring to any classname that comes from the map. In vanilla Dota the npc_units.txt file is less precise than the map, thus we want the map’s npc_dota_barracks to trump the txt’s npc_dota_building:

   [ npc_units.txt ]
       "npc_dota_goodguys_range_rax_top"      
       {
           "BaseClass" "npc_dota_building"                         
   [ dota.vmap ]
       Entity 4167 (npc_dota_barracks '[PR#]bad_rax_melee_top'):
       {
           0xC61B1C62:classname = "npc_dota_barracks"

But in addons, data-driven units are the opposite – the txt’s npc_dota_creature is more-derived than npc_dota_base:

   [ npc_units_custom.txt ]
       "npc_dota_xp_granter" 
       {
           "BaseClass" "npc_dota_creature"                        
   [ addon.vmap ]
       Entity 11 (npc_dota_base '<no targetname>'):
       {
           0xC61B1C62:classname = "npc_dota_base"
           0x155A6AA7:MapUnitName = "npc_dota_xp_granter"

  • 修复了模型出现时不在玩家的战争迷雾中会导致崩溃的错误。
  • 修复了关闭导致的部分崩溃。
  • 修复是光照更接近s1。
  • r_drawworld可以正常工作了。
  • 修复了变体精灵动态头像的暗疮问题。
  • 贴图旋转已经修复了。
  • 状态特效修复。
  • 小小/暗夜魔王的模型现在准确根据等级/日夜循环进行模型变化。
  • 修复了部分英雄的彩虹皮肤。
  • 修复了部分英雄的攻击时间。
  • 修复了“skin”的变化导致模型不可见的错误。
  • 英雄检视现在显示正确的细节等级。
  • 团队展示现在显示正确的细节等级。
  • 修复了一些英雄的某些部分过于闪耀的问题。
  • 修复了河中鱼过亮的问题。
  • 修复了装备自定义守卫导致崩溃的错误。
  • 修复了满屏幕多边形的Bug(使用显影之尘时)。
  • 修复了产生幻象造成的大量卡顿。
  • Fixed stuttering caused by certain types of particle systems spew "is trying to get CP object 8 but the operator read limit is 2"
  • 修复了粒子特效在水中无法显示的错误
  • 修复了地图正在载入时模型重新编译导致崩溃的错误。
  • 修复了色盲模式。
  • 修复了光效中有一个巨大方形漏洞的错误
  • 修复了黑色材质在载入地图后黏住不动的错误。
  • 修复了购买的信使在其他英雄出生后方能被看到的错误。
  • 修复了lua的‘ReplaceHeroWith’函数有时导致崩溃的错误。
  • 修复了通道名称错误导致粒子特效丢失的错误。
  • Shops.txt将会从地图中载入。
  • 神秘商店的购买图标‘S’将在使用通用商店模式时被废止。