mud_sanc 板


LINE

上一篇删除,是因为这一篇可能才是我真正想做的东西。 以 /d/wiz/room/disc.c 巨型高塔来说,玩家往 down 离开时, 它会跑到 /d/map/lodoos/room/wiz_tower.c 这个房间。 那能不能在往 down 离开时动一点手脚呢? 例如在 /open/area 目录建立 /open/area/d/map/lodoos/room 的相对目录(若没有这些子目录就新增),当玩家往 down 离开: // 读取 wiz_tower 房间档 files=here->query("exits/"+directs); htm_files="/open/area"+files+".htm"; if(!file_exists(htm_files)) { if(ob=find_object_or_load(files)) { // 这里只是简单写一下,实际上要对读出来的东西做处理 str=sprintf("<html>\n%s<room_short/>\n%s<room_long/><p>\n<t><t>明显出口:\n", ob->query("short"),ob->query("long")); tmps=ob->query("exits"); foreach(tmp in tmps) str+="<a href=\"/open/area"+ob->query("exits/"+tmp)+".htm\">"+ tmp+"</a>,\n"; write_file(htm_files,str[0..strlen(str)-4]+"</html>\n"); } } 这样产生出的 htm 档,其内容类似如下 /open/area/d/map/lodoos/room/wiz_tower.htm =========================================================== <html> 巨型高塔下<room_short/> 眼前是一座纯白色大理石建构成的高塔,塔似剑般刺向天空,石 墙映照着日光,令人无法直视。西边则有一间神秘的房子,你看 到有许多人在那里进进出出的。<room_long/><p> <t><t>明显出口: <a href="/open/area/d/map/lodoos/room/sq-w1.htm">south</a>, <a href="/open/area/d/wiz/room/race.htm">west</a>, <a href="/open/area/d/wiz/room/disc.htm">up</a> </html> =========================================================== 这个档若以浏览器开启的话,会类似底下这样: https://i.imgur.com/HjILx6z.jpg
也就是说,只要靠 _go.c 这个指令,就能自动建立与房间 .c 档 相对映的 .htm 档,这时只要用浏览器任意点开一个 .htm 档,就 能靠着点超连结去「浏览」与其相邻的其它房间的内容。 因为它是自动产生的,而且实际上只要 .htm 档存在,它每次只多 做一个 file_exists 的判断而已,耗费不了多少资源。 当 /open/area 里面的 .htm 档达一定量时,就能将它单独下载到 「本机」,然後在本机以浏览器开启,就能在本机走房间了。 它有几个注意事项: 一、写进 .htm 的实际字串内容,需经过适当的处理。例如 linux 环境下目录是像 /open/area/.. 这样的格式,可是在 windows 下,它是读 d:\open\area\.. 这样的格式。 也就是说,要预设玩家会把 release 出的东西预设放在 win 的电脑下的 d:\ 目录,才能顺利点开各个 .htm 档。 但如果是开放 mud server 端的 http 浏览时,就要照 linux 下的路径格式。 二、当一个 mud 的玩家数够多时,理论上 .htm 档的产生会很顺 利,而且要是产生的不对,只要 rm 掉整个 /open/area 下的 目录,就可以让 _go.c 自己重新产生。 三、原则上可对 .htm 档做後制,例如说次元镜所在的房间,我们 可以额外增加下拉式选单,把次元镜所有出口放在选单内,玩 家选择了某一出口,就自动开启对映的 .htm 档即可。 最後,这麽做有什麽目的呢?就是不需释出房间的 .c 原始档,也 可以释出 sanc 的区域资料,线上玩家走过的区域越多,可释出的 资料也越多。 然後才是 javascript 可发挥的部份,当我一个目录下有 .htm 档 时,如果我预设它们都会 import 某个我写好的 .js 档的话,那麽 就可以让每个 .htm 可拥有特殊的功能,例如: 1.进行即时统计(房间数多少、..) 2.甚至进行即时周边地图绘制呈现(抓超连结来分析就行了) └呈现出来的地图有格子,点格子即跳到那一格 3.方便进行各种搜寻(比方找房间的特定叙述) 最後是这个 project 的最大优点,就是由使用者在自己[本机]上 操作,耗费的是本机的资源,对处於伺服器端的 sanc 来说不会有 任何影响。当然缺点是它没有办法即时更新,但通常一个已发展成 熟的 mud,已存在的区域,其资料通常也不会有啥变动。 这项计划会在今年找一天开始做,实际上的做法不会跟上面完全一 样,会有所变化,但方向是一致的,而且将不会只局限在区域上。 Laechan --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.33.66.104 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/mud_sanc/M.1561089952.A.635.html







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP