aluwan 发表于 2010-4-2 08:54:56

求帮写一个语句触发。

自己搞个简单的领悟、练习parry的机器人。想要控制一下功夫的级别,把激发parry的那项特殊功夫练到了经验上限所允许的级别之后就停下来。可是不知道怎么写。
原语句如下

│□星宿毒掌 (xingxiu-duzhang)               - 已有小成 182/    74│

把182那个数改成经验上限的数字。然后,如果到大于等于上限级别,则自动停止机器人。否则继续。

lkyun 发表于 2010-4-2 09:09:55

星宿毒掌%s*%s-%s*%s(%d)/*
#if (%1>=@lv) {#mess 练习完成;quit}

aluwan 发表于 2010-4-2 09:29:02

八科的这个不好用啊,看到这条语句机器人没反映。
我自己改了改,也是不好使,帮忙看看哪里的问题
语句:│□星宿毒掌%s~(xingxiu-duzhang~)%s-%s*%s(%d)/%s(%d)│
指令:zuigao=%1;xiaodian=%2;#if (%1>=@218) {save;backup;quit}{#t+ lingwu;#t- liangong;#wa 1000;s;e;nu;u;lingwu parry 100}

是不是应该把@调到%1前边呢?

[ 本帖最后由 aluwan 于 2010-4-2 09:49 AM 编辑 ]

aluwan 发表于 2010-4-2 10:18:02

顶起来!求高手帮忙!

seagate 发表于 2010-4-2 10:33:29

触发语句:^│(.*)\((\S+)\)\s+\-\s+\S+\s+(\d+)\/\s*(\d+)│
其中%1是汉字名称,通过%replace(%trim(%1),"□","")就去掉enable的特殊显示字符,%2是英文名称,%3是等级,%4是经验。
max_level=%int( %mss( %eval( @exp*10)^0.333333+1))
#if %3>=@max_level 你就中断机器人。

aluwan 发表于 2010-4-2 11:09:59

infinite loop in expression detected
我用seagate的机器人出现了这么一句。这是什么意思?
另外,我把max_level=%int( %mss( %eval( @exp*10)^0.333333+1))
这句里头的exp换成了实际的经验值数字。有必要这样做吗?因为整条语句里头没有hp,机器人看不到经验值。

seagate 发表于 2010-4-2 11:13:58

在那句话出现这个判定?你写死的话就不要用这个计算了,直接给出max_level一个固定值就可以了,但是那样子你不麻烦啊?你很长时间抓一次hp,把经验抓下来也比那样子写死强啊!max_level=%int( %mss( %eval( @exp*10)^0.333333+1))在抓经验哪里出来就行,然后你其他机器人直接使用@max_level就可以了。我给你的触发语句是一个正则表达式,你如果要使用请在trigger的正则表达式哪里勾上(或者选上,zmud721有正则选项)

aluwan 发表于 2010-4-2 11:45:34

我这样抓经验可不可以?
原语句:【 饮水 】 244   / 400    [缺水]【 经验 】 1016058               
机器人语句改为:^【%s饮水%s】%s*%s/%s*%s~[*~]%s【%s经验%s】%s(%d)
命令为:exp=%3;max_level=%int( %mss( %eval( @%3*10)^0.333333+1))

我这么写的,但是在“变量”一栏里却抓不出来数据。问题在哪?

xiangbs 发表于 2010-4-2 11:49:55

不了解zmud 不过你这个触发器里的*号应该只匹配了一个字符吧

xiangbs 发表于 2010-4-2 11:51:15

^【%s饮水%s】%s%d%s/%s%d%s~[%x~]%s【%s经验%s】%s(%d)
看看
页: [1] 2
查看完整版本: 求帮写一个语句触发。