【wowhead】更多玩家住房信息可能在《大灾变怀旧服》PTR中被发掘
1月27日
点火1 回复2
本文为作者原创内容,未经作者本人和营地同意不得转载

 

出处:
https://www.wowhead.com/news/additional-player-housing-information-possibly-found-on-cataclysm-classic-ptr-366294
[img]./mon_202501/27/8mQv0bm-ikjyZxT3cS18g-vp.jpg[/img]

我们在最新的《大灾变怀旧服》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 = "PermissionDenied", 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 = "PlotNotFound", 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 = "Pillar", 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);

打赏文章
全部评论 2条
按时间排序

还没有评论