Zh/Dota 2 Workshop Tools/Beta Release Notes

Dota2创意工坊工具Alpha版本和Beta版本之间的区别
== Panorama游戏界面 ==
见：
* 使用全新的Panorama界面系统为自定义游戏提供游戏内界面支持。
=== Valve提供游戏界面 ===
见：
* 新增若干界面范例，可在地图中直接使用，或以此为原型设计自定义界面。
== Lua API ==
=== 特性 ===
==== Lua 技能与修改器 ====
见：
* 技能与修改器现在可在Lua中定义。
* 修改器现在在Lua中展示。
==== 脚本过滤 ====
见：
* 新增使用脚本过滤器对待定的游戏行为进行中断或修改的能力。
==== 脚本绑定 ====
新增若干脚本绑定：
* 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界面元素。
=== 自定义游戏设置 ===
见：
* 为自定义游戏设置新增了一个游戏状态（在英雄选择前发生，用于选择队伍和模式等）
* 自定义游戏的玩家ID将不再如同正常Dota游戏一样遵循TeamPlayer的设定（天辉和夜魇玩家的ID分别为0-9）
* 增加事件‘dota_team_player_list_changed’（当玩家数量变化或队伍分配变化时发生）和‘dota_player_details_changed’（当玩家ID或名字发生变化时发生）
=== 自定义游戏事件 ===
见：
* 增加对自定义游戏事件的支持 - 命名的动态事件可为地图和Mod所使用，每个事件都有一个专属表格用于传递参数。
=== 自定义通信 ===
见：
* 增加自定义通信功能，便于从服务器传输数据至客户端。
=== 自定义生命栏颜色 ===
* 增加对队伍生命栏颜色修改的支持（默认为"green = my team, red = enemy"）
* 在脚本中为 SetTeamCustomHealthbarColor( teamNumber, r, g, b ) / ClearTeamCustomHealthbarColor( teamNumber )
=== 小地图图标 ===
* 增加禁用小地图上的队伍颜色的功能。
* 修复了自定义小地图的材质并非总是高清的错误。
* 为地图增加了‘addon_hud_textures.txt’文件，用于注册自定义小地图图标。
=== 游戏代码 ===
* 游戏代码更新至 6.84c。
* 真视效果仅对拥有真视修改器的队伍生效。禁用隐身，例如使用显影之尘，还将继续对所有队伍生效。
* 地图上的树木最大值增加值8191。
* 移除了部分部分地面高度和水深的假设，以防止游戏系统无法正确作用于自定义地图。
* 充能类技能及物品现在可以使用-refresh指令刷新。使用-wtf指令可无限制使用。
== 创意工坊管理工具 ==
见：
* 新增了一个便于将地图上传至创意工坊的工具。
== PET/粒子 ==
=== 粒子特效复制/移动工具 ===
见：
* 粒子特效系统定义复制/移动工具的初始版本。 （及子类）
=== 特性 ===
* 现在可以在预览例子特效时插入模型进行预览。这些模型可在进行需要模型的粒子特效相关操作时被查询，例如碰撞体积内的诞生粒子特效。
* 为预览增加了控制功能，可以显现碰撞体积、附着点和名称，使预览的模型按照预定设计活动，使用饰品或套装进行模型预览等。
* 为挂点编辑器增加控制功能，可以将挂点附着在预览模型的原点或附着点上。
* 为模型预览附着点增加自动连接挂点的代码，代码用于载入一个附着在饰品上的粒子特效系统，且该预览饰品正使用此粒子特效时。
* 新增两个序列结合模组: 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_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’将在使用通用商店模式时被废止。
Category:Dota 2 Workshop Tools