mud_sanc 板


LINE

底下进行昨天的 check_instance 测试,流程是 1.进入房间後先锁出口 2.跑第一阶段的 buff_msg 3.生怪 4.跑下一阶段的 buff_msg2 5.移除路障 001.c 先备份为 001.bak,084 只设定 instance_check,原本 设定一进去就生怪也先移除。 instance_data=([ "084":([ "instance_check":1, ]), ]); ==========================测试开始=============================== > call 001;create_instance;"laechan";({laechan}) 档案不存在: /std/new_ob/instance/laechan/({laechan}) 房间(/std/new_ob/instance/laechan/001)-> create_instance( "laechan", ({ 玩家(laechan /std/user) }) ) = 0 > n [副本]山林小径 天色开始渐渐变黑, 即使是当地人也不太敢独自一人来到山的这 一侧, 所以你一路上几乎没有看到什麽人烟. 往西望过去, 道路 越来越看不见了. 明显出口有: south 和 west. > 黑熊神:大胆狂徒,竟敢闯入我的领地... <= 5 秒後 > w 你现在无法往 west 这个方向离开喔! <= 锁出口 黑熊神:受死吧! <= 10 秒後 你发觉邪 恶 黑 熊对你展开攻击! <= 生怪 ☆☆☆ 战 斗 开 始 ☆☆☆ 你发觉邪 恶 黑 熊对你展开攻击! 你眼露凶光,杀气重重! 你用砂锅大的拳头击向邪 恶 黑 熊,形成普普的伤害。 「邪 恶 黑 熊容光焕发,精神抖擞。」 . . > cc 001.c <= 中途就算 update 001.c 也不会有影响 /std/ob/room.c: 更新及载入了. /std/new_ob/instance/instance_ob.c: 更新及载入了. /std/new_ob/instance/laechan/001: 更新及载入了. 邪 恶 黑 熊发出一声惨叫!! <= 怪死了 邪 恶 黑 熊慢慢的倒在地上死了...你得到 12600点的经验值。 你拿起[副本怪] 邪 恶 黑 熊(Bear)身上所有的东西。 黑熊神:还蛮有两下子的嘛! <= 5 秒後 > w <= 解除出口 你发觉邪 恶 黑 熊对你展开攻击! ☆☆☆ 战 斗 开 始 ☆☆☆ 你发觉邪 恶 黑 熊对你展开攻击! [副本]山林小径 眼前的景色有点朦胧, 四处散发着诡异的感觉, 你小心翼翼地注 意着身边的情况. ========================测试结束======================== 上面最後的部份我的做法是,只要玩家看到第一句 黑熊神:还蛮有两下子的嘛! 我就把锁出口移除,玩家这时就可以往下一格移动,当然要锁到 讯息全跑完也可(锁 10 秒),但我个人不喜欢玩家等待这麽长的 时间。 底下是 switch 的判断部份,wizs 可参考。 flags=(int)room->query("instance_flags"); t=time(); switch(flags) { // 锁出口 case 0: room->set("cant_go/west",1); room->set("instance_flags",1); break; // 跑讯息,每 5 秒一次 case 1: room->set("instance_data/enter_msgs", ({HIB"黑熊神:"HIR"大胆狂徒,竟敢闯入我的领地..."NOR"\n", HIB"黑熊神:"HIR"受死吧!"NOR"\n", })); room->set("instance_flags",2); room->set("instance_next_times",t+10); break; // 生怪 case 2: birth_mobs(room,({"bear1","bear1"})); room->set("instance_flags",3); break; // 判断怪全死了没,全死就跑下一阶段的 buff_msg case 3: if(!present("INSTANCE_MOB",room)) { room->delete("instance_data/buff_enter_msgs"); room->set("instance_data/enter_msgs", ({HIB"黑熊神:"HIR"还蛮有两下子的嘛!"NOR"\n", HIB"黑熊神:"HIR"如果你能来到我的面前,我再亲自考验你的能耐吧!"NOR"\n", })); room->set("instance_flags",4); room->set("instance_next_times",t+5); } break; // 5 秒後解除出口路障 case 4: if(t>(int)room->query("instance_next_times")) { room->delete("cant_go/west"); room->set("instance_flags",5); room->set("instance_next_times",t+5); } break; // 再五秒後(讯息全跑光)设定 already_ended case 5: if(t>(int)room->query("instance_next_times")) room->set("already_ended",1); break; } 这一部份有些可函数化(例如把 already_ended 的设定函数化), 有些则不用勉强函数化(例如怪全部死光後的段落)。 LAechan --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 210.61.157.53
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/mud_sanc/M.1397527385.A.660.html ※ 编辑: laechan (210.61.157.53), 04/15/2014 11:36:14
1F:→ laechan :理论上完成到这里就可以把幻想大部份的副本纳进来了 04/15 11:36







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

请输入看板名称,例如:Boy-Girl站内搜寻

TOP