北大侠客行MUD论坛

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

mush lua的repeat问题

[复制链接]
发表于 2012-10-9 16:12:42 | 显示全部楼层 |阅读模式
我用下面这段代码来循环走树林,碰到有npc出来杀我,我就执行其他函数处理。
但是我发现repeat经常无辜就卡住不走了,不知道是什么原因

  1. function suckmmr_search()
  2.         repeat
  3.                 local l,w=wait.regexp("^[>\\s]*看起来(.*)想杀死你|"..
  4.                         "^[>\\s]*回显:go",3)
  5.                 print(l)
  6.                 if l~=nil then
  7.                         if string.find(l,"杀死") then
  8.                         print(l)
  9.                         print(w[1])
  10.                         SetVariable("mmr_name",w[1])
  11.                         DoAfterSpecial(0.5,'kill_mmr()',12)
  12.                         return "over"
  13.                         end

  14.                         if string.find(l,"go") then
  15.                                 wait.time(1)
  16.                         end
  17.                
  18.                 else
  19.                         print("匹配不到了")
  20.                 end
  21.                 Execute("n;s;echo go")


  22.         until false

  23. end
复制代码
请问是wait.lua问题?还是啥原因呢?
不是每次都不正常,就是有时候无辜就退出repeat循环了,后面代码都不执行了。也不报任何错误

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2012-10-9 16:34:46 | 显示全部楼层
不懂,你可以论坛里面私信labaz
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2012-10-9 16:34:49 | 显示全部楼层
为啥是\\s而不是\s?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2012-10-9 18:45:10 | 显示全部楼层
回复 3# pizzagoo


    脚本里需要\\,转意\
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2012-10-9 19:05:56 | 显示全部楼层
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2012-10-9 19:12:37 | 显示全部楼层
因为lua里面\用来去掉后面字符的特殊含义,所有用两个
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2012-10-9 19:15:49 | 显示全部楼层
有人杀你-------killmmr()函数-----n;s
在杀的过程中也会执行n;s这时候有可能会逃跑失败或者还没进入战 ...
huacuoh 发表于 2012-10-9 07:03 PM


我是先判断是否有人杀我,如果没有人杀我,才继续走n;s。如果有人杀我,就执行kill_mmr()后面跟着return "over"就不会再执行后面的n;s了。
现在程序本身可以正常执行,但是有时候循环着,就突然没反应了。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2012-10-9 19:23:59 | 显示全部楼层
阅。转腊同志批复
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2012-10-9 19:33:50 | 显示全部楼层
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2012-10-9 19:40:15 | 显示全部楼层
本帖最后由 labaz 于 2012-10-9 07:43 PM 编辑

已阅,协程问题转毛毛解答。我水平不够,这玩意不敢用。
建议每个分支都加打印,定位到停在哪一步。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-1 05:28 PM , Processed in 0.011822 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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