|
|

楼主 |
发表于 2025-12-1 16:30:20
|
显示全部楼层
继续,个人房间。
一些mud(包括北侠)里,可以有个人自建房屋。但是每个人的自建房屋位置可能不同,不同的ID可能有的有房子,有的每房子,怎么办呢。
这时候我就通过临时房间和临时出口来解决这个问题。
我在机器里设置了一个叫house的变量,有房子的可以按一定的格式填入房屋信息。
然后机器里会读取这个变量并分析
- var data = line.split(" ")
- if (data.length != 3) {
- world.Note("解析房屋信息失败,格式应该为 '包子铺 bzp 1558' ")
- return
- }
- var hosuename = data[0]
- var houesid = data[1]
- var houseloc = data[2]
复制代码
再获取到房间信息后,会动态的生成对应的房子信息
- var hosuename = data[0]
- var houesid = data[1]
- var houseloc = data[2]
- App.Mapper.HomeRooms = [
- App.Mapper.NewRoom("1933", `${hosuename}大院`, [
- App.Mapper.NewExit("n", "1934"),
- App.Mapper.NewExit("out", houseloc),
- ]),
- App.Mapper.NewRoom("1934", `${hosuename}前庭`, [
- App.Mapper.NewExit("e", "1936"),
- App.Mapper.NewExit("push、n。", "1937"),
- App.Mapper.NewExit("s", "1933"),
- App.Mapper.NewExit("w", "1935"),
- ]),
- App.Mapper.NewRoom("1935", `右卫舍`, [
- App.Mapper.NewExit("e", "1934"),
- ]),
- App.Mapper.NewRoom("1936", `左卫舍`, [
- App.Mapper.NewExit("w", "1934"),
- ]),
- App.Mapper.NewRoom("1937", `走道`, [
- App.Mapper.NewExit("n", "1938"),
- App.Mapper.NewExit("push、s。", "1934"),
- ]),
- App.Mapper.NewRoom("1938", `${hosuename}迎客厅`, [
- App.Mapper.NewExit("n", "1939"),
- App.Mapper.NewExit("s", "1937"),
- App.Mapper.NewExit("open door、e", "2533"),
- ]),
- App.Mapper.NewRoom("1939", `议事厅`, [
- App.Mapper.NewExit("e", "1941"),
- App.Mapper.NewExit("n", "1942"),
- App.Mapper.NewExit("s", "1938"),
- App.Mapper.NewExit("w", "1940"),
- ]),
- App.Mapper.NewRoom("1940", `${hosuename}武厅`, [
- App.Mapper.NewExit("e", "1939"),
- ]),
- App.Mapper.NewRoom("1941", `${hosuename}武厅`, [
- App.Mapper.NewExit("w", "1939"),
- ]),
- App.Mapper.NewRoom("1942", `${hosuename}中庭`, [
- App.Mapper.NewExit("open west、w", "1943"),
- App.Mapper.NewExit("n", "1944"),
- App.Mapper.NewExit("s", "1939"),
- ]),
- App.Mapper.NewRoom("1943", `左厢房`, [
- App.Mapper.NewExit("e", "1942"),
- ]),
- App.Mapper.NewRoom("1944", `后院`, [
- App.Mapper.NewExit("e", "-1"),
- App.Mapper.NewExit("n", "1947"),
- App.Mapper.NewExit("s", "1942"),
- App.Mapper.NewExit("w", "1945"),
- ]),
- App.Mapper.NewRoom("1945", `厨房`, [
- App.Mapper.NewExit("e", "1944"),
- ]),
- App.Mapper.NewRoom("1946", `备用`, [
- App.Mapper.NewExit("e。", "1949"),
- ]),
- App.Mapper.NewRoom("1947", `后花园`, [
- App.Mapper.NewExit("e", "1948"),
- App.Mapper.NewExit("s", "1944"),
- App.Mapper.NewExit("open door、w、close door", "2681"),
- ]),
- App.Mapper.NewRoom("1948", `竹林`, [
- App.Mapper.NewExit("e", "1949"),
- App.Mapper.NewExit("w", "1947"),
- ]),
- App.Mapper.NewRoom("1949", `听涛阁`, [
- App.Mapper.NewExit("w", "1948"),
- ]),
- ]
- world.Note("在位置 " + houseloc + " 添加房屋" + hosuename + "入口[" + houesid + "]")
- App.Mapper.HouseID = houesid
- App.Mapper.HouseLoc = houseloc
复制代码
并在每次规划房间时,加入这些临时房间和临时出入口
- App.Mapper.InitTag = function (map) {
- if (App.Mapper.HomeRooms.length) {
- map.AddTemporaryRooms(App.Mapper.HomeRooms)
- }
- if (App.Mapper.Paths.length) {
- App.Mapper.Paths.forEach((p) => {
- map.AddTemporaryPath(p)
- })
- }
- }
复制代码
|
|