北大侠客行MUD论坛

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

【mush】我的触发器总是莫名其妙的自动关闭有可能是怎么回事呢

[复制链接]
发表于 2011-9-13 03:05:05 | 显示全部楼层 |阅读模式
我的触发器总是莫名其妙的自动关闭有可能是怎么回事呢?我选择了“启用” “保持有效性” “正则表达式”
我因为在实验这写脚本
然后就老更新脚本,有时还退出游戏再进来实验。
然后经常触发就不触发了,然后我打开触发器一看,发现触发器是关闭的
很多很多都是关闭的,然后我又一个一个打开。
整了半天,然后下次又不触发了,我又打开触发器看这句咋回事,结果发现触发器又是关闭的

请教有可能是什么原因造成的?

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-9-13 09:18:59 | 显示全部楼层
找找脚本有没有enabletrigger语句
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-9-13 09:31:27 | 显示全部楼层
原帖由 istillsun 于 2011-9-13 09:12 AM 发表
littleknife的那个模块化机器人就有这么个“特点”,应该是为了各个模块之间不相互干扰吧,sigh
我是在脚本里加一句打开的代码,不知道有没有其他方法

哦,模块化机器人在哪里?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-9-13 09:39:53 | 显示全部楼层
原帖由 istillsun 于 2011-9-13 09:34 AM 发表
http://www.pkuxkx.net/forum/thread-22571-1-1.html
别跟我说你没看到

不好意思,我没注意,跟我的机器人想法类似,只是我的没有模块化。
这可是个大工程啊,子襄mm加油吧,作为你的毕业设计。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2011-9-13 15:06:46 | 显示全部楼层
原帖由 istillsun 于 2011-9-13 09:12 AM 发表
littleknife的那个模块化机器人就有这么个“特点”,应该是为了各个模块之间不相互干扰吧,sigh
我是在脚本里加一句打开的代码,不知道有没有其他方法


打开触发的代码是不是夹在主lua里面,直接enable,我给我的触发器加了很多类,比如newbie_yx,newbiw_bm,newbie_lw等等很多。需要挨个打开需要太多的打开命令了

有没有办法类似zmud721里面那样,class下面还有class
比如我做个newbie组,然后下面放很多类似于newbie_yx,new_bm等组,然后这些组下面再放很多触发
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-9-13 15:08:50 | 显示全部楼层
用别人写的机器人总不如自己的,自己写的出错也知道从哪里找起
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2011-9-13 15:11:27 | 显示全部楼层
关键是我觉得那个模块化很好啊
我直接来了个“拿来主义”
等我水平高了可以自己写了再写更好的
现在不是不想写好的,书不会写,所以只好用别人的了
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2011-9-13 15:36:01 | 显示全部楼层
弱弱的问一句table是啥。。。
我有个名称为class.lua的文件 一直没看懂,不知道是不是传说中的table
local _class = {}

function class(super)
    local class_type = {}
    class_type.ctor = false
    class_type.super = super
    class_type.new =
        function(...)
            local obj = {}
            do
                local create
                create =
                    function(c, ...)
                        if c.super then
                            create(c.super, ...)
                        end
                        if c.ctor then
                            c.ctor(obj, ...)
                        end
                    end
                create(class_type, ...)
            end
            setmetatable(obj, { __index = _class[class_type] })
            return obj
        end
    local vtbl = {}
    _class[class_type] = vtbl

    setmetatable(class_type, { __newindex =
        function(t, k, v)
            vtbl[k] = v
        end
    })

    if super then
        setmetatable(vtbl, { __index =
            function(t,k)
                local ret = _class[super][k]
                vtbl[k] = ret
                return ret
            end
        })
    end

    return class_type
end
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-9-15 09:49:19 | 显示全部楼层
关闭的原因是在system.mod中自动设置的。凡是重新载入Lua脚本,就把除了system类的触发关掉。以免冲突。
initri()函数。

至于楼上代码疑问,建议楼主阅读lua教程。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2011-9-15 20:38:51 | 显示全部楼层
哦哦。。。。。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 05:39 AM , Processed in 0.010106 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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