mud 板


LINE

看板 mud  RSS
这里闲聊一下 makewiz 的 issue。 目前用以判断是不是为 adm 或 wiz 主要有两种: 1. wizardp(物件) 2. adminp("使用者id") 少了一种,就是以 使用者id 判断是否为 wizard 的做法。 我的想法是,adm 的资格要透过修改系统档案的方式才能取得,但 是 wiz 的资格是可以软性处理的,以 tmi_v3 的做法是 /cmds/adm/_makewiz.c // Activate wizard flag link->set("wizard", 1); player->set("PATH", NEW_WIZ_PATH); player->enable_me() ; player->save_data(); link->save_data(); > makewiz testing You have promoted Testing to wizard level. Path now set to: /cmds/std:/cmds/object:/cmds/xtra:/cmds/file:/cmds/wiz:/cmds/adm (嘛,红色的部份日後会改掉,不过其实我认为设定参数 PATH 比 使用 data 栏位的 PATH 更好,这个日後也会尽可能改掉) 也就是说,这里其实就存在了 set("wizard", Lv几) 的运作空间 ,也就是说,就算同样都是 wiz,也可以依 wizard 的数值差异来 判断它是 Lv 几的。 但总之,目前需要一个用 使用者ID 来判断是否为 wiz 的方法, 所以我打算使用 wiz_lv 这个 sanc 也有的函数,我的做法如下 /adm/simul_efun/adminp.c ========================================================== int wiz_lv(string str) { int lv; str=lower_case(str); // 通过上面的 adminp 判断的一定是 wiz // 将来这里就是 return 看 adm 是归类在第几级 if(adminp(str)) return 1; str="/data/std/connection/"+str[0..0]+"/"+str+".o"; if(!str=read_file(str)) return 0; lv=strsrch(str,"wizard "); // 没有 wizard 参数 if(lv<1) return 0; // 读取 "wizard " 後面接的那个数字 sscanf(str[lv+7..lv+7],"%d",lv); return lv; } ========================================================== 然後修改 /adm/daemons/logind.c 里面我原先用来判断 ppl 区 与 wiz 区的段落,将 adminp 改成 wiz_lv 判断: if(mud_name()!="TMI-2 Win32" && wiz_lv(str)<1) { write("\n\n\n【"+mud_name()+" 只允许\ wiz 进入。】\n\n\n"); ob->remove_user(); return ; } 实际「启动 wiz」区测试 【TMI-2 Wiz 采用了 TMI-2 1.4alpha mudlib 并运行於 FluffOS v2.16-ds05w】 请输入您的角色帐号或是您欲注册的新帐号: laechan 请输入您的登入密码: <= 可进到输入密码画面 【TMI-2 Wiz 采用了 TMI-2 1.4alpha mudlib 并运行於 FluffOS v2.16-ds05w】 请输入您的角色帐号或是您欲注册的新帐号: testing 【TMI-2 Wiz 只允许 wiz 进入。】 <= 非 wiz 就会看到这个并断线 这样就能修改 makewiz,将 link->set("wizard",1); 改成 set n, makewiz xxx 改成 makewiz xxx n,并对每一位被 makewiz 的 wiz 做 资料存档,再撰写 wizlist 指令,就能读取各 wiz 的等级资料。 但是不这样做也是可以的,也就是说你可以让整个 mud 只有三种身份 1.一般玩家 2.wiz (透过 makewiz 并注意 PATH 的给予) 3.adm (唯有透过修改系统档案才行, 管理者才办得到) 因为 tmi2_v3_改 实际上并不需要 wizard 的存在,比方依照区域生产 组合的规划,一般玩家也能投稿区域,再由 adm 将其内容写进 mud 内 再动几个指令、编一下 area_room.c,这样基本上区域就算完成了。 但考量到「若实际上还是希望有 wiz 参与的空间」的情况,tmi2_v3_改 还是会做相关的修改。 投稿的实际例子: ● 194 2/01 laechan □ [手稿]0.炙蚁地狱(redant)-区域背景介绍 195 2/01 laechan □ [手稿]1.炙蚁地狱(redant)-area.h 196 2/01 laechan □ [手稿]2.炙蚁地狱(redant)-longX.h 197 2/01 laechan □ [手稿]3.炙热地狱(redant)-script_area 198 2/01 laechan □ [手稿]4.炙蚁地狱(redant)-script_mob 199 2/01 laechan □ [手稿]5.炙蚁地穴(redant)-map (tmi2_v3_改 更简化,将 area.h 与 longX.h 整合到 area_room.h) so,我不会花太多时间在 wizard 的相关配置上,我只新增 wiz_lv 这 个可将 使用者id 做为判断 wiz 依据的函数於 adminp 里头。 这边顺便说明一下为什麽需要有 wiz 区,我一般会建议使用者如果要 架站,就同时启动这两区,它的最大好处,就是 ppl 区因故当掉时, wiz 区有时还会存活。 这时候,如果 ppl 区在当掉之後无法顺利重启,那比起瞎子摸象般地 「去看启动讯息抓 bug」,至少 wiz 区你还能下指令做一些 update 、grep、mv 等动作,尤其是当你明确记得你刚刚是做了什麽更动并且 update 後才导致当掉的情况,则因为 wiz 区你尚未对档案 update, 就至少还能运作,你就能做最起码的测试。 又或者当你不确定更动某个档案後 update 是否会造成问题时,你也 可以先在 wiz 区 update 看看,确定没问题,ppl 区再 update。 wiz 区还有一个好处,就是提供一个比较安静的 coding 环境,有事 的时候再透过 tmi2 频道或其它偷吃步的做法互通两边的频道即可。 (这样就可以完全不甩 I3 及相关 intermud 的做法) LAechan --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 210.61.157.53
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/mud/M.1403231577.A.FCD.html
1F:推 tenyfish :请问有没有已知bug清单? 111.70.136.103 06/21 01:23
2F:→ laechan :没呢,下次的释出会稍微整理我已知的 1.165.181.216 06/21 08:40
六日应该会完成 mapd.c 与相关的东西,然後星期一释出新的版本。 地图系统是 tmi2_v3_改 所包含的具独特性的重要元素,这个就连在 sanc 也没有完全实装,是非常重要的几项修改之一。 若还有空就会把「盾挡」、「武器挡」、「回避」等,写个雏形放在 /adm/simul_efun/attack.c 的 defence_attack 函数里头,撰写雏形 的目的不是「强迫使用者要照我订的闪格挡方式」,而是要让使用者 了解「原来闪格挡是这麽写的」,进而了解「应该怎麽改,才能让它 符合我想架的 mud 的风格」。 很多东西都是这样的,希望使用者能了解。 我也陆续在 document 资料夹新增新的文件。其中有个目录是 LPC进 阶技巧,我会把我会的东西尽可能地都写成文件後放进这个资料夹, 这个资料夹就象徵着我目前已知已会的一切 LPC 知识。 ※ 编辑: laechan (1.165.181.216), 06/21/2014 09:32:35
3F:推 dannielz :我了解 辛苦了! 14.216.39.102 06/21 16:43
4F:推 tenyfish :wiz.c shadow去的001.c不存在 114.37.59.169 06/22 21:58
5F:→ laechan :已修正 1.165.181.216 06/22 22:35







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

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

TOP