北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 2047|回复: 0

mudlet基础脚本开发-3、武当门派任务 - 整体架构搭建

[复制链接]
发表于 2022-9-7 15:28:03 | 显示全部楼层 |阅读模式
本帖最后由 shanghua 于 2022-9-14 03:35 PM 编辑

先加载 叶神的 z99框架,叶神的框架博大精深,暂时还没有完全领悟它的用法,做不到完善嵌套他的框架,只能自主实现,有些地方直接用的他的变量与工具类,就不再重复造轮子了。
首先解释一下架构这玩意是个什么意思。就好比是小时候写作文,老师让我们先写大纲,然后按照大纲的步骤把内容一步步细化。在程序开发界,这种大纲就是架构。

架构思路:

1、准备触发器的文案内容。
打开mudlet的日志记录功能,手动把炼丹、练阵、诵经、侠客的任务做一遍,这样文案会全部记录下来,方便开发测试。
采气的任务要等时间,所以直接放弃。



2、分别创建炼丹、练阵、诵经、侠客的 触发、脚本目录



3、创建一个领取任务的触发 ,通过它去控制程序执行哪个任务脚本


触发器代码:
  1. 你向冲虚道长打听有关『quest』的消息。
  2. ^冲虚道长说道:「今天全派弟子要在(.+)熟读典籍,据说要诵唱(.+)的.+·(.+)\((\d+)\)|^冲虚道长说道:「武当三侠最近迷上了(.+),需要一个道童帮他看守丹炉,你到俞岱岩那里帮他看看炉火吧。」|^冲虚道长说道:「武当派以真武七截阵闻名天下,每个拜入武当的入门弟子都需要学习(.+)演练|^冲虚道长说道:「山下双井子村的(.+)似乎有点麻烦,你现在下山一趟帮他解决麻烦。」
复制代码
local e = multimatches[2]
print(e[2])
if e[2]~='' then
  cecho('\n==== 去诵经 ====')
  jobSwitch('诵经')
  startSJ(e[2], e[3], e[4], e[5])
end

if e[6]=='炼丹' then
  cecho('\n==== 去炼丹 ====')
  jobSwitch('炼丹')
  startLD()
end

if e[7]=='阵法' then
  cecho('\n==== 去练阵 ====')
  jobSwitch('练阵')
  startZF()
end

if e[8]=='崔老汉' then
  cecho('\n==== 侠客:崔老汉 ====')
  jobSwitch('侠客')
  startXK()
end



这样我们就可以通过不同的内容,去执行不同的任务。


4、创建一个任务分发的脚本 jobSwitch(name)


function jobSwitch(name)
    disableTrigger('抄经')
    disableTrigger('炼丹')
    disableTrigger('侠客')
    disableTrigger('练阵')
    disableTrigger('XK-土匪挡道')
    disableTrigger('XK-土匪死了')

    disableScript('抄经脚本')
    disableScript('炼丹脚本')
    disableScript('侠客脚本')
    disableScript('练阵脚本')

    disableTimer('xkTimer')

    if name~=nil then
        enableTrigger(name)
        enableScript(name..'脚本')
    end

    expandAlias('cxjob')
end



行了,整体的架子搭好了。下一步,我们就先实现一个简单的过阵逻辑。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-4-20 10:20 PM , Processed in 0.009955 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表