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.com/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.com/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 编辑 ]
页: 1 2 [3]
查看完整版本: 请会用mush和zmud的高手进来指点下