mud 板


LINE

看板 mud  RSS
嘛,明年应该会继续改。 最近思考的东西有两个层面: 1.生物属性值 2.板模 所谓生物属性值是说,例如我想架的 mud,我希望它有 hp/sp/pp 三种数值,那比较合理的想法就是,既然我同时也是 tmi2_v3_改 的修改者,我自然会在 tmi2_v3_改,加上这三个属性值,但是其 它拿到 tmi2_v3_改 的人,他可能只希望他的 mud,有 hp/sp 就 好,不要有 pp。 那麻烦了,因为对一个已写了 hp/sp/pp 的 mudlib 来说,拿这 一份去改为只有 hp/sp 的 mud,得改动不少地方。 (反过来也一样,但新增毕竟比减少简单一点) 是以这里就带出一个直觉的做法: 少用 query("xxx"),多用 query_xxx 的函数读取法。 事实上前者也不是不行(在 user.c 里面针对 query 做判断式), 但後者最大的好处,是给修改者较大的修改及扩充弹性。 而且使用函数名,在 win 下的最大好处就是可透过 win 的搜寻 功能,直接就能搜出到底哪些 .c 档有写到 query_xxx,将来要 做统一的修改时把这些档案搜出来,一次修改即可。 然後以上面为前提,则必然需要一个用来继承的 .c 档,统一宣 告这些 query_xxx 函数,来让 user.c、monster.c 等继承,或 是更乾脆一点写成 simul_efun。 这个明年再决定。 再来,所谓的板模是说,例如 sanc 风格的 who 长这样: > who ζ TMI-2 Win32 ζ 现在时刻: 12/20 10:03(四)(已执行: 15分 49秒) ────────────────────────────────────── 线上的玩家: ────────────────────────────────────── 线上的巫师: *Laechan ────────────────────────────────────── 共有 1/1 位玩家在 TMI-2 Win32. (断线状态: 0 位) 但是 casamia 的 who 是长这样 > who2 [冒险者] 13级 人类 0 Laechan 你看到 1 位玩家进入游戏. 板模的常见做法,是先将板模读进来: if(!module_str || module_str=="") module_str=read_file(THIS_CMD_MODULE); 然後是这里: str=sprintf(module_str, ppl->query_hp(), ppl->query_sp(), . <= 看板模里头有多少 %s, %d, .. . 依序放进所需的参数 . ); str=COLOR_D->get_color(str); <= 这样就可以使用 $HIW$ 等颜色字串 这样做的好处是,常用指令的各个板模,可放在同一个目录下, 方便修改及管理。缺点就是,例如说 sanc 的 who 是只读取玩 家的 cap_name 然後每 6 个 id 一列,像这种在板模内可能只 有一行: $CYN$──────────────────────────────────$NOR$ 线上的玩家: %s $CYN$──────────────────────────────────$NOR$ 然後修改者得为这个 %s 写一个处理用的函数: string who_string() { string tmp; mixed usr=users(); object ppl; foreach(ppl in usr) . . return tmp; } 当然 who 的例子可能复杂了些(因为是读取全部玩家的资料), 但这代表了如果今天要显示的是一个不定size的 mapping 或是 array 的资料时,就得自订函数来应付板模化的读取方式。 (这些问题在 guild 显示玩家已加入公会、或是 skill 显示玩 家已习得技能等指令上面会特别明显,都得靠自订函数) 那麽,板模化有没有必要? 我认为板模化还是有其价值,因为初期把指令的显示结果写得 太阳春的话,对拿到这份 mudlib 的人来说,它要改的东西就 会很多,反之,如果有提供大部份指令的显示板模,那初期至 少修改者可以只改动板模跟指令里头 sprintf 的地方,就能 达到个人化显示风格的目的。 以上两个,会列入明年初的修改重点。 -- 『无穷的宇宙,无尽的时空,无限的可能,与无常的人生之间 的永恒矛盾,从倪匡这颗脑袋中编织出来。 』 ──金庸评倪匡 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.117.106.224
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/mud/M.1545275347.A.8AD.html ※ 编辑: laechan (122.117.106.224), 12/20/2018 11:11:12







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灯, 水草

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

TOP