ddid
发表于 2009-7-16 20:49:13
我记得我有个帖子说过怎么改sure的红豆机器人,google了一下,找不到了……
[ 本帖最后由 ddid 于 2009-7-16 08:57 PM 编辑 ]
maper
发表于 2009-7-16 20:51:30
学一下lua不就好了
ddid
发表于 2009-7-16 20:59:16
找到了,原帖:
http://web.pkuxkx.net/forum/viewthread.php?tid=5947&extra=page%3D&page=1
在sure的原JS脚本中搜索以下代码
else do_after(1,"answer 1");
将其替换成:
else
{
world.NoteColourFore = 0xFF;
world.Note("本机器人不不能自动回答这个问题,请自作答,否则2分钟后自动 answer 1。");
do_after(120,"answer 1");
}
学习一下lua也是不错的……
duno
发表于 2009-7-16 22:31:13
用插件方式,在插件里以lua方式封装
在其他语言里调用
lua和js差不多,写几行就熟悉了
囧
world.CallPlugin("03ca99c4e98d2a3e6d655c7d", "Lua_Utils", "lua test");
插件xml,需要file->plugins载入
<?xml version="1.0" encoding="iso-8859-1"?>
<muclient>
<plugin
name="lua_wrap"
id="03ca99c4e98d2a3e6d655c7d"
language="Lua"
>
</plugin>
<script>
<![CDATA[
function Lua_Utils (param)
return utils.msgbox(param)
end -- function
]]>
</script>
</muclient>
ddid
发表于 2009-7-16 23:56:34
看了duno的帖子,有启发,研究了一下 JScript和 WScript
用JScript,不用LUA,楼主所说的功能也可以实现:
1.先写一个test.js文件,就一行语句:
WScript.Echo("答完了,退出!");
保存在“C:\wscript\“
2.再在JScript的脚本里加入如下语句:
var WshShell = new ActiveXObject("WScript.Shell");
WshShell.Run("wscript C:\\wscript\\test.js");
WshShell = null;
其实相当于用JScript实现util.msgbox
[ 本帖最后由 ddid 于 2009-7-17 12:02 AM 编辑 ]
lkyun
发表于 2009-7-17 00:01:24
原帖由 lkyun 于 2009-7-16 08:43 PM 发表 http://pkuxkx.net/forum/images/common/back.gif
那我干脆tell另一个id,用zmud4.62里的#mess来提示,笨办法啊
太复杂了,我已经搞定了,就是用的笨办法
ddid
发表于 2009-7-18 00:50:42
又研究了一下WScript,进一步简化,仅需在JScript脚本中加入如下语句,替代util.msgbox
var WshShell = new ActiveXObject("WScript.Shell");
var BtnCode = WshShell.Popup("答完了,退出!", 0, "提示!", 0 + 64);
WshShell = null;
另外,JScript开发web时应该使用window.alert()或window.prompt()或window.confirm()来弹出对话框,但在MUSH里,需要声明window为对象,不知道是怎么实现的……
[ 本帖最后由 ddid 于 2009-7-18 01:35 AM 编辑 ]