文字MUD游戏论坛-天下泥潭群英会-水泊梁山  

返回   文字MUD游戏论坛-天下泥潭群英会-水泊梁山 > 西游之旅 > 『 机器人制作及下载 』

『 机器人制作及下载 』 如何从开始简单的数组、触发,到复杂的路径、地图、数据库等等。如何考虑周全的制作全自动的机器人让它能够24小时不停的帮你练功。

Like Tree1
  • 1 Post By sansouci
发表新主题 回复
 
LinkBack 主题工具 主题评分 显示模式
旧 2019-02-20   #1
高级会员
级别:5 | 在线时长:99小时 | 升级还需:6小时级别:5 | 在线时长:99小时 | 升级还需:6小时
 
sansouci 的头像
 
注册: 08年10月01日
来自: 客栈
帖子: 165
声望力: 17
声望: 43 sansouci 初领妙道
积分:8
精华:1
现金:55两梁山币
资产:1282两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
MushClient一个防止重复触发的例子

首先感谢grimlock建议,现在改成了两个版本。
直接上lua代码:

代码:
--第一个版本,封装一个临时timer,使连续相同触发时只有第一个触发有效
function ExecFirstTriCmd(cmd,tName,sTime)
--[[	
		cmd:string,待执行的mud指令字符串
		sTime:float,最小0.5,禁止重复触发的时间长度,单位:s
		tName:string,timer名称
--]]
	if not sTime then sTime = 2	end
	if not tName then tName = "abcdeTimer" end
	if not cmd then
		print("Error: cmd不能为空!看到该信息表明未来sTime秒或2秒内什么也不会执行!")
		cmd = ''
	end
	local _,s = GetTimer(tName)
	if not s then
		AddTimer(tName, 0, 0, sTime, '', timer_flag.Enabled + timer_flag.OneShot, "")
		SetTimerOption(tName, "send_to", 12)
		Execute(cmd)
		print('This cmd will not be executed again in '..sTime..' seconds.')
	end
end


--第二个版本,封装一个临时timer,使连续相同触发时只有第一个触发有效
function ExecFirstTriScript(script,tName,sTime)
--[[	
		script:string,待执行的脚本
		sTime:float,最小0.5,禁止重复触发的时间长度,单位:s
		tName:string,timer名称
--]]
	if not sTime then sTime = 2	end
	if not tName then tName = "abcdeTimer" end
	if not script then
		print("Error: script不能为空!看到该信息表明未来sTime秒或2秒内什么也不会执行!")
		script = ''
	end
	local _,s = GetTimer(tName)
	if not s then
		AddTimer(tName, 0, 0, sTime, '', timer_flag.Enabled + timer_flag.OneShot, "")
		SetTimerOption(tName, "send_to", 12)
		DoAfterSpecial(0.5,script,12)
		print('This script will not be executed again in '..sTime..' seconds.')
	end
end
当然由于上面的函数参数不是(name, line, wildcards, styles)格式,不适合纯脚本模式,要做成纯脚本模式需要做一些取舍与修改。
欢迎各种技术上的砖头~
grimlock 点了赞。
帅哥 sansouci 当前离线  
回复时引用此帖

旧 2019-02-20   #2
正式会员
级别:3 | 在线时长:36小时 | 升级还需:14小时级别:3 | 在线时长:36小时 | 升级还需:14小时级别:3 | 在线时长:36小时 | 升级还需:14小时
 
grimlock 的头像
 
注册: 14年09月29日
来自: 广东深圳
帖子: 8
声望力: 0
声望: 10 grimlock 闻道则喜
现金:16两梁山币
资产:16两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
回复: MushClient一个防止重复触发的例子

对上你的论坛id了,之前看过不少你的贴子。除了看数据增长,编写机器是这个游戏的主要乐趣了,多多分享机器经验啊!

断断续续玩了几年,代码看了几圈,机器写了不少,大米练了一批,就差主ID了,addoil!
帅哥 grimlock 当前离线  
回复时引用此帖

发表新主题 回复

添加到书签

标签
lua, mushclient, repeat, script, trigger


发帖规则
不可以发表主师
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子

论坛启用 vB 代码
论坛启用 表情图标
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 启用
Pingbacks are 启用
Refbacks are 启用



所有时间均为格林尼治时间 +9, 现在的时间是 21:34.


Powered by SPLS
版权所有 2001-2023 水泊梁山
皖ICP备05012024号

站长 fengyue

Content Relevant URLs by vBSEO 3.6.1