3

我目前制作了一个 iMacro 脚本,它使用 ImageSearch 来查找图像并执行其他功能。如果 image1 匹配 imagesearch 然后执行 task1,否则执行 task2。

If IMAGESEARCH POS=1 IMAGE=IMAGE1.png CONFIDENCE=65
   TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:bet-amount CONTENT=0.01
   TAG POS=1 TYPE=BUTTON:SUBMIT ATTR=ID:bet-bt

Else If IMAGESEARCH POS=1 IMAGE=IMAGE2.png CONFIDENCE=65
   TAG POS=1 TYPE=BUTTON:SUBMIT ATTR=ID:bet-multiplier
   TAG POS=1 TYPE=BUTTON:SUBMIT ATTR=ID:bet-bt

我怎样才能做出 if 语句?

4

2 回答 2

3

您必须使用 JavaScript 脚本。你有一个例子here

使用 Javascript 在 Imacros 中循环

在你的情况下,这将是第一个宏

IMAGESEARCH POS=1 IMAGE=IMAGE1.png CONFIDENCE=65

这将是第二个宏

IMAGESEARCH POS=1 IMAGE=IMAGE2.png CONFIDENCE=65

这将是第三个宏。

   TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:bet-amount CONTENT=0.01
   TAG POS=1 TYPE=BUTTON:SUBMIT ATTR=ID:bet-bt

这将是第四个宏。

TAG POS=1 TYPE=BUTTON:SUBMIT ATTR=ID:bet-multiplier
   TAG POS=1 TYPE=BUTTON:SUBMIT ATTR=ID:bet-bt

所以这就是它应该看起来的样子。

if(iimPlay(macro1)>0)
{
iimPlay(macro3)
}
else if(iimPlay(macro2)>0)
{
iimPlay(macro4)
}
于 2013-10-31T20:57:33.167 回答
1

“imacros 中没有 IF ELSE 语句 – Bestmacros 2013 年 10 月 31 日 8:01”

=> 确实,但是“你必须使用 JavaScript 脚本”。是不正确的...!您可以在纯“.iim”中实现一些条件行为,例如本案例中的一些条件行为:

SET !ERRORIGNORE YES
SET !TIMEOUT_STEP 0

IMAGESEARCH POS=1 IMAGE=IMAGE1.png CONFIDENCE=65
SET ClickAmount EVAL("var y='{{!IMAGEY}}'; var z; if(y>0){z=1;} else{z=0;}; z;")
TAG POS={{ClickAmount}} TYPE=INPUT:TEXT ATTR=ID:bet-amount CONTENT=0.01
TAG POS={{ClickAmount}} TYPE=BUTTON:SUBMIT ATTR=ID:bet-bt

IMAGESEARCH POS=1 IMAGE=IMAGE2.png CONFIDENCE=65
SET ClickMultiplier EVAL("var y='{{!IMAGEY}}', a='{{ClickAmount}}'; var z; if(a==1){z=0;} else if(y>0){z=1;} else{z=0;}; z;")
TAG POS={{ClickMultiplier}} TYPE=BUTTON:SUBMIT ATTR=ID:bet-multiplier
TAG POS={{ClickMultiplier}} TYPE=BUTTON:SUBMIT ATTR=ID:bet-bt

=> 所有的 'IF/ELSE' 逻辑都在一个 '.iim' 宏中,与@OP 的原始脚本非常相似,并且可以直接在 iMB 或 IE 中工作,而不是使用需要一个主 '.js' 脚本的 4 个脚本只能在 FF 中工作......!

(未经测试,我从未使用过 'IMAGESEARCH',因为我只使用免费的附加组件(使用 FF),根据 Wiki,如果图像是,'!IMAGEX' 和 '!IMAGEY' 应该保存坐标找到并且我认为有效坐标必须> 0,至少对于'!IMAGEY'。如果不是,则可能需要在第二个'IMAGESEARCH'之前将'!IMAGEX'和'!IMAGEY'变量重置为'NULL'自动发生...(我无法测试...))

于 2014-11-10T04:05:09.423 回答