找回密码
 注册
搜索
查看: 723|回复: 10

这个robot哪里写错了,求教

[复制链接]
门派:少林派
发表于 2016-8-17 08:12:30 | 显示全部楼层 |阅读模式
function hp_heqi_check(n,l,w)
        heqi = w[1]
        if job.name=='songmoya' and os.time()>fight.time.b+120 then
     exe('set wimpycmd halt\\down')
  return
  end
        if heqi=='1000' and hp.qixue_per<55 and job.name=='songmoya' then
        chats_log('报效国家任务:合气到达1000满值,放弃任务!','cyan')
  exe('set wimpycmd halt\\down')
  return
   end
   if heqi>400 then
      exe('pfmrou;pfmpfm;pfmpfm;pfmpfm;pfmpfm')
        geta()
    EnableTrigger("hpheqi1",true)
    if job.name=='songxin' then
       chats_log('送信任务:合气到达1000满值,放弃任务!','cyan')
    EnableTrigger("songxin_fight7",true)
        return check_halt(songxinKillFail,1)
    end
    if job.name=='wudang' then
       chats_log('武当任务:合气到达1000满值,放弃任务!','cyan')
        return check_halt(wudangKillFail,1)
    end
        if job.name=='xueshan' then
       chats_log('雪山任务:合气到达1000满值,放弃任务!','cyan')
        return check_halt(xueshanKillFail,1)
    end
   end

<!-- Produced by MUSHclient v 4.84 - www.mushclient.com -->


·精血· 4929 /  4929 (100%)  ·精力· 5070 /  5070(6672)
·气血·12135 / 12135 (100%)  ·内力·23671 / 21458(+261)
·戾气· 761,756          ·内力上限·21459 / 23627
·食物·  90.00%              ·潜能·    4 /  634
·饮水·  78.12%              ·经验· 15,187,329 (53.15%)
·合气度·    165
Run-time error
World: tj.sjever.net
Function/Sub: hp_heqi_check called by trigger
Reason: processing trigger "hpheqi1"
C:\MUSHS\lua\job.lua:520: attempt to compare number with string
stack traceback:
        C:\MUSHS\lua\job.lua:520: in function <C:\MUSHS\lua\job.lua:509>



门派:少林派
 楼主| 发表于 2016-8-17 08:13:50 | 显示全部楼层
faint大神帮我看看   
我雷动后有时候和气多的用不完,想在400和气以后 #n 其他pfm
门派:姑苏慕容
发表于 2016-8-17 08:55:20 | 显示全部楼层
woshicy@tj 发表于 2016-8-17 08:13
faint大神帮我看看   
我雷动后有时候和气多的用不完,想在400和气以后 #n 其他pfm

这个错误的原因在于heqi抓取出来的数值是字符串变量,不能跟数字变量进行比较,你需要先把heqi变量转化类型为数字变量,然后再能用 if heiq>400 then这种比较,给你个方法
  1. local n = tonumber(heqi);
  2. if n then
  3.   -- n就是得到数字
  4.   else
  5.   -- 转数字失败,不是数字, 这时n == nil
  6.   print('合气度转化失败!')
  7. end
复制代码

然后用n这个变量来代替heqi
比如if heqi>400 then
这句话用 if n>400 then来写。记得字符串转化数字得在使用heqi这个之上!
门派:天龙寺
发表于 2016-8-17 09:09:22 | 显示全部楼层
高深莫测              
门派:少林派
 楼主| 发表于 2016-8-17 10:44:37 | 显示全部楼层
faint@tj 发表于 2016-8-17 08:55
这个错误的原因在于heqi抓取出来的数值是字符串变量,不能跟数字变量进行比较,你需要先把heqi变量转化类 ...

我来去试试看                        
发表于 2016-8-17 14:33:23 | 显示全部楼层
现在连技能都打算智能化啊?               
门派:少林派
 楼主| 发表于 2016-8-17 19:44:53 | 显示全部楼层
vicioush@tj 发表于 2016-8-17 14:33
现在连技能都打算智能化啊?

那是,要做的就是不停改进               
门派:少林派
 楼主| 发表于 2016-8-17 19:47:49 | 显示全部楼层
faint@tj 发表于 2016-8-17 08:55
这个错误的原因在于heqi抓取出来的数值是字符串变量,不能跟数字变量进行比较,你需要先把heqi变量转化类 ...

报告大神,按你的方法改不来,改来改去还是出错
我想了个笨办法就是 if heqi=='(400|401|402)'  一直从400写到了500
差点没累死
门派:姑苏慕容
发表于 2016-8-18 10:22:00 | 显示全部楼层
woshicy@tj 发表于 2016-8-17 19:47
报告大神,按你的方法改不来,改来改去还是出错
我想了个笨办法就是 if heqi=='(400|401|402)'  一直从4 ...

我草,你要不这样
直接在判断 if heqi>400 then这个上面先加一行
变成这样
heqi = tonumber(heqi)
   if heqi>400 then
      exe('pfmrou;pfmpfm;pfmpfm;pfmpfm;pfmpfm')
        geta()
    EnableTrigger("hpheqi1",true)
门派:少林派
 楼主| 发表于 2016-8-18 15:57:49 | 显示全部楼层
faint@tj 发表于 2016-8-18 10:22
我草,你要不这样
直接在判断 if heqi>400 then这个上面先加一行
变成这样

ok,我去试试看               
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|书剑永恒MUD ( 闽ICP备14012032号|闽公网安备 35050202000162号 )

GMT+8, 2025-6-21 01:35 , Processed in 0.037657 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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