|
楼主 |
发表于 2022-10-22 13:31:51
|
显示全部楼层
除了因为有pp而没什么价值的功能七
其他功能已经全部实现。结贴。
需要注意的是,地区信息里需要区分房间和路径是否包含在遍历路径内(比如扬州武庙,名人堂,白驼到扬州的时空密道deng),做相应排除。
另给到房间膨胀的范例js代码,读者可以自行以lua重写,mapper可以参考我mapper的铁子。
- let ExpandRooms=function(rooms,expand){
- let result={}
- let tomap={}
- while(expand>=0){
- let next=[]
- expand=expand-1
- for (var i=0;i
- rid=rooms[i]
- if (result[rid]){
- continue
- }
- result[rid]=true
- //去除 不应该参与计算的路径
- Mapper.settag("calc",true)
- let exits=Mapper.getexits(rid)
- for (var ei=0;ei
- let exit=exits[ei]
- if (App.Core.Area.ExcludedRooms[exit.to]||tomap[exit.to]||result[exit.to] ||exit.delay>20||exit.command.indexOf(";")>-1){
- continue
- }
- tomap[exit.to]=true
- next.push(exit.to)
- }
- }
- if (next.length==0){
- break
- }
- rooms=next
- }
- return Object.keys(result)
- }
复制代码
|
|