| 
 
                
| 出处: https://www.wowhead.com/news/add ... -classic-ptr-366294
 
 
  
 我们在最新的《大灾变怀旧服》PTR(公共测试服务器)中数据挖掘出了一个有趣的文件,这可能让我们首次窥见即将在《至暗之夜》扩展中推出的玩家住房系统!
 
 **注意**:这些信息在怀旧服中是全新的,并未出现在原始版本中。尽管这些数据是通过怀旧服客户端挖掘的,但并没有明确迹象表明玩家住房系统会实际出现在《大灾变》中。由于不同游戏客户端之间的数据共享机制,我们经常可以在一个版本中挖掘到另一个版本的数据,即使这些数据并不属于该特定版本。
 
 **目录**
 - 玩家住房线索?
 - 玩家住房分类
 - 这意味着什么?
 - 为什么是怀旧服PTR?
 - PlayerHousingConstantsDocumentation.lua
 
 ---
 
 ### 玩家住房线索?
 
 在最新的《大灾变怀旧服》PTR中,新增了一个名为**PlayerHousingConstantsDocumentation.lua**的文件。从文件名来看,这可能与即将在《至暗之夜》扩展中推出的玩家住房系统有关,为我们提供了一些关于该系统如何运作的线索。目前官方尚未公布任何细节,因此玩家们对系统的运作方式充满疑问,而这个文件可能提供了一些答案。
 
 当然,由于这是数据挖掘的结果,并且出现在《大灾变怀旧服》PTR中,这个文件可能并不准确或已过时。
 
 ---
 
 ### 玩家住房分类
 
 该文件以.lua格式编写,我们对其中的一些选项进行了总结。玩家住房中的物品似乎可以分为以下几类:
 
 **住房装饰:**
 - **标志**:室内、室外
 - **模型类型**:无、M2、Wmo
 - **主题**:无、乡村、粗犷、通用、奢华
 - **类型**:无、地板、墙壁、天花板、桌面
 
 **住房外观:**
 - **组件尺寸**:任意、小型、中型、大型
 - **组件主题**:人类
 
 **权限:**
 - 添加装饰、更改装饰参数、进入装饰编辑模式、移动装饰、移除装饰、保存房屋、选择装饰、编辑布局
 
 **结果:**
 - 成功、数据库错误、RPC失败、通用失败、锁定操作失败、解锁操作失败、被其他玩家锁定、装饰未找到、房屋未找到、权限被拒绝、未处于装饰编辑模式、不在房屋内、服务不可用、房间未找到、房间更新失败、未处于布局编辑模式、地块未找到、达到装饰上限
 
 **住房房间组件:**
 - **门类型**:无、窄门、大门
 - **选项类型**:装饰、门道墙、门道
 - **类型**:无、墙壁、地板、天花板、楼梯、立柱
 
 **住房房间标志:**
 - 无、基础房间
 
 ---
 
 ### 这意味着什么?
 
 虽然信息量很大,但这些内容意味着什么呢?从文件中可以看出以下几点:
 - 玩家住房似乎是一个完全可自定义的模式,[del]类似于《狂野星球》或《最终幻想14》的住房系统。  [/del]
 - 玩家可以进入“编辑模式”,在房屋中编辑、移动、移除并保存装饰物品。
 - 装饰物品被分为多个类别,包括室内外放置、放置表面(如地板、墙壁、天花板)以及尺寸。
 - 还有门、楼梯甚至柱子的选项。
 - 物品可能被其他玩家锁定,并且有关于无地块、无房间、无房屋的错误提示。
 
 这或许是完全自定义性质的玩家住房系统的开端,而这正是许多玩家所共同期待的!
 
 ---
 
 ### 为什么是在怀旧服PTR?
 
 一些玩家可能会觉得奇怪,为什么这些信息会在《大灾变怀旧服》PTR中被发现,而不是在正式服版本中。这可能是因为暴雪试图将这些信息隐藏在“意料之外”的地方,避免被轻易发现。当然,这也可能毫无意义——毕竟,官方从未表示玩家住房系统会出现在怀旧服游戏中。我们只能等待《至暗之夜》资料片的到来,看看它会带来什么惊喜!
 
 ---
 
 ### 关于PlayerHousingConstantsDocumentation.lua
 
 以下是该文件的完整代码:
 
 local PlayerHousingConstants =
 {
 Tables =
 {
 {
 Name = "HousingDecorFlags",
 Type = "Enumeration",
 NumValues = 2,
 MinValue = 1,
 MaxValue = 2,
 Fields =
 {
 { Name = "Exterior", Type = "HousingDecorFlags", EnumValue = 1 },
 { Name = "Interior", Type = "HousingDecorFlags", EnumValue = 2 },
 },
 },
 {
 Name = "HousingDecorModelType",
 Type = "Enumeration",
 NumValues = 3,
 MinValue = 0,
 MaxValue = 2,
 Fields =
 {
 { Name = "None", Type = "HousingDecorModelType", EnumValue = 0 },
 { Name = "M2", Type = "HousingDecorModelType", EnumValue = 1 },
 { Name = "Wmo", Type = "HousingDecorModelType", EnumValue = 2 },
 },
 },
 {
 Name = "HousingDecorTheme",
 Type = "Enumeration",
 NumValues = 5,
 MinValue = 0,
 MaxValue = 4,
 Fields =
 {
 { Name = "None", Type = "HousingDecorTheme", EnumValue = 0 },
 { Name = "Folk", Type = "HousingDecorTheme", EnumValue = 1 },
 { Name = "Rugged", Type = "HousingDecorTheme", EnumValue = 2 },
 { Name = "Generic", Type = "HousingDecorTheme", EnumValue = 3 },
 { Name = "Opulent", Type = "HousingDecorTheme", EnumValue = 4 },
 },
 },
 {
 Name = "HousingDecorType",
 Type = "Enumeration",
 NumValues = 5,
 MinValue = 0,
 MaxValue = 4,
 Fields =
 {
 { Name = "None", Type = "HousingDecorType", EnumValue = 0 },
 { Name = "Floor", Type = "HousingDecorType", EnumValue = 1 },
 { Name = "Wall", Type = "HousingDecorType", EnumValue = 2 },
 { Name = "Ceiling", Type = "HousingDecorType", EnumValue = 3 },
 { Name = "Tabletop", Type = "HousingDecorType", EnumValue = 4 },
 },
 },
 {
 Name = "HousingExteriorComponentSize",
 Type = "Enumeration",
 NumValues = 4,
 MinValue = 1,
 MaxValue = 4,
 Fields =
 {
 { Name = "Any", Type = "HousingExteriorComponentSize", EnumValue = 1 },
 { Name = "Small", Type = "HousingExteriorComponentSize", EnumValue = 2 },
 { Name = "Medium", Type = "HousingExteriorComponentSize", EnumValue = 3 },
 { Name = "Large", Type = "HousingExteriorComponentSize", EnumValue = 4 },
 },
 },
 {
 Name = "HousingExteriorComponentTheme",
 Type = "Enumeration",
 NumValues = 1,
 MinValue = 1,
 MaxValue = 1,
 Fields =
 {
 { Name = "Human", Type = "HousingExteriorComponentTheme", EnumValue = 1 },
 },
 },
 {
 Name = "HousingPermission",
 Type = "Enumeration",
 NumValues = 8,
 MinValue = 1,
 MaxValue = 128,
 Fields =
 {
 { Name = "AddDecor", Type = "HousingPermission", EnumValue = 1 },
 { Name = "ChangeDecorParam", Type = "HousingPermission", EnumValue = 2 },
 { Name = "EnterDecorEditMode", Type = "HousingPermission", EnumValue = 4 },
 { Name = "MoveDecor", Type = "HousingPermission", EnumValue = 8 },
 { Name = "RemoveDecor", Type = "HousingPermission", EnumValue = 16 },
 { Name = "SaveHouse", Type = "HousingPermission", EnumValue = 32 },
 { Name = "SelectDecor", Type = "HousingPermission", EnumValue = 64 },
 { Name = "EditLayout", Type = "HousingPermission", EnumValue = 128 },
 },
 },
 {
 Name = "HousingResult",
 Type = "Enumeration",
 NumValues = 18,
 MinValue = 0,
 MaxValue = 17,
 Fields =
 {
 { Name = "Success", Type = "HousingResult", EnumValue = 0 },
 { Name = "DbError", Type = "HousingResult", EnumValue = 1 },
 { Name = "RpcFailure", Type = "HousingResult", EnumValue = 2 },
 { Name = "GenericFailure", Type = "HousingResult", EnumValue = 3 },
 { Name = "LockOperationFailed", Type = "HousingResult", EnumValue = 4 },
 { Name = "UnlockOperationFailed", Type = "HousingResult", EnumValue = 5 },
 { Name = "LockedByOtherPlayer", Type = "HousingResult", EnumValue = 6 },
 { Name = "DecorNotFound", Type = "HousingResult", EnumValue = 7 },
 { Name = "HouseNotFound", Type = "HousingResult", EnumValue = 8 },
 { Name = "
  ermissionDenied", Type = "HousingResult", EnumValue = 9 }, { Name = "NotInDecorEditMode", Type = "HousingResult", EnumValue = 10 },
 { Name = "NotInsideHouse", Type = "HousingResult", EnumValue = 11 },
 { Name = "ServiceNotAvailable", Type = "HousingResult", EnumValue = 12 },
 { Name = "RoomNotFound", Type = "HousingResult", EnumValue = 13 },
 { Name = "RoomUpdateFailed", Type = "HousingResult", EnumValue = 14 },
 { Name = "NotInLayoutEditMode", Type = "HousingResult", EnumValue = 15 },
 { Name = "
  lotNotFound", Type = "HousingResult", EnumValue = 16 }, { Name = "MaxDecorReached", Type = "HousingResult", EnumValue = 17 },
 },
 },
 {
 Name = "HousingRoomComponentDoorType",
 Type = "Enumeration",
 NumValues = 3,
 MinValue = 0,
 MaxValue = 2,
 Fields =
 {
 { Name = "None", Type = "HousingRoomComponentDoorType", EnumValue = 0 },
 { Name = "NarrowDoor", Type = "HousingRoomComponentDoorType", EnumValue = 1 },
 { Name = "LargeDoor", Type = "HousingRoomComponentDoorType", EnumValue = 2 },
 },
 },
 {
 Name = "HousingRoomComponentOptionType",
 Type = "Enumeration",
 NumValues = 3,
 MinValue = 0,
 MaxValue = 2,
 Fields =
 {
 { Name = "Cosmetic", Type = "HousingRoomComponentOptionType", EnumValue = 0 },
 { Name = "DoorwayWall", Type = "HousingRoomComponentOptionType", EnumValue = 1 },
 { Name = "Doorway", Type = "HousingRoomComponentOptionType", EnumValue = 2 },
 },
 },
 {
 Name = "HousingRoomComponentType",
 Type = "Enumeration",
 NumValues = 6,
 MinValue = 0,
 MaxValue = 5,
 Fields =
 {
 { Name = "None", Type = "HousingRoomComponentType", EnumValue = 0 },
 { Name = "Wall", Type = "HousingRoomComponentType", EnumValue = 1 },
 { Name = "Floor", Type = "HousingRoomComponentType", EnumValue = 2 },
 { Name = "Ceiling", Type = "HousingRoomComponentType", EnumValue = 3 },
 { Name = "Stairs", Type = "HousingRoomComponentType", EnumValue = 4 },
 { Name = "
  illar", Type = "HousingRoomComponentType", EnumValue = 5 }, },
 },
 {
 Name = "HousingRoomFlags",
 Type = "Enumeration",
 NumValues = 2,
 MinValue = 0,
 MaxValue = 1,
 Fields =
 {
 { Name = "None", Type = "HousingRoomFlags", EnumValue = 0 },
 { Name = "BaseRoom", Type = "HousingRoomFlags", EnumValue = 1 },
 },
 },
 },
 };
 
 APIDocumentation:AddDocumentationTable(PlayerHousingConstants);
 
 | 
 
1、在门户里发表的文章仅代表作者本人的观点,与本网站立场无关。
2、门户的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
3、当政府机关依照法定程序要求披露信息时,论坛均得免责。
4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进步追究其责任的权利。
 |