mudkiller 发表于 2015-8-23 08:40:09

本帖最后由 mudkiller 于 2015-8-23 01:06 AM 编辑

你说的我大概也明白,主要是不知道怎样在触发中调用 script中的函数,就是上面的tailei函数,怎样能把他执行呢,
如果能调用,那能做的事情就太多了,不知道哪位大侠能指教一下

另外我用xml文件主要是编一些小的插件,比如跟师傅学技能,用起来比mcl文件简单一些

to cappuccino还不太会用MUSH编写,反正怎样能用怎样算吧

adasibi 发表于 2015-8-23 14:14:59

仔细看大神的视频*接镖并到达目标城市*24分处,”注意发送到script“。
新创建的触发默认把命令tailei()直接发送给mud而不是lua解释器,大侠你创建触发的时候要在对话框里找到“发送到”(英文版的是"Send"),把它后面的下拉菜单从"World"改成"Script",这样命令tailei()就会由lua来解释了。
如果直接改xml,把<trigger>标签的send_to="10"改成send_to="12"。

mudkiller 发表于 2015-8-23 14:26:57

大侠你没有看懂我的意思

比如在script中有个函数

function tlei()
if tailei == 1then
wait.make (function ()
Execute("e;e")
wait.time(3)
Execute("sleep")
end)
end
end

怎样来执行这个函数

mudkiller 发表于 2015-8-23 14:29:48

这个应该很简单,就差一下点拨,我找了两个周末了,也没弄明白
上午在群里问了一下,也没人回答

adasibi 发表于 2015-8-23 14:59:49

大侠你是问怎么在MUSH里"定义"tlei() ,还是问怎么执行"已经定义"的tlei()?你的MUSH现在知道 tlei() 这个函斁吗?你可以通过菜单Game->Configure->Scripting在右下角设置一个前导字符比如"/",然后在输入框里执行“/tlei()”试一下。

mudkiller 发表于 2015-8-23 15:35:29

在XML文件中有个script代码段,其中定义了上面的函数,我要问的是怎么在触发命令中执行这个函数

adasibi 发表于 2015-8-23 15:56:20

本帖最后由 adasibi 于 2015-8-23 07:57 AM 编辑

<trigger
   enabled="y"
   group="学技能"
   match="^.*你今天太累了,结果什么也没有学到。$"
   regexp="y"
   send_to="12" <!-- send_to="10":发送"tailei()"给mud。
                                  send_to="12":调用lua执行tailei()。
                                  要调用lua执行<send>里的东西就要把"10"改成"12"。 -->
   sequence="100"
>
<send>tailei()</send>

mudkiller 发表于 2015-8-23 16:58:44

终于找到原因了,我一直在用MUSH -文件-导入 来加载XML文件,导致SCRIPT中的函数根本就没有生成,现在直接用插件功能,问题就解决了
感谢楼上的adasibi,一直耐心地给我解释。
找到问题的感觉是太爽了

ltblue 发表于 2015-11-21 09:35:50

我好歹也遍历了全地图,写了不少代码了,怎么你们说的我都听不懂啊
什么xml,什么SCRIPT,我怎么啥都没有
就是一个开始的lua文件,引用一堆lua文件,就完了......

littleknife 发表于 2015-11-22 08:11:54

回复 19# ltblue


    他们并不是依靠框架体系来写机器,也就是并不是用《一个脚本》的思路。直接用底层的mcl文件和插件文件xml文件来写机器也是没问题的。。条条大路通罗马。。ttk_38
页: 1 [2] 3
查看完整版本: 求教 关于MUSH和lua之间互相调用的问题