【變數(shù)】
目前EZScript II提供66個(gè)變數(shù)供使用,分別是Var1~Var8,Pos1~Pos8,ExtVar[n]。
ExtVar[n] n的范圍為0~49
用法: extvar[11]=var1 var2=extvar[3]
您也可以用變數(shù)來控制陣列位置 如把extvar[0]~extvar[49]全設(shè)為1
var1=0
while var1<50
extvar[var1]=1
var1=var1+1
wend
【運(yùn)算語法】
名稱 |
范例 |
結(jié)果 |
加法 |
var1+var2 |
把var1加上var2 |
減法 |
var1-var2 |
把var1減掉var2 |
乘法 |
var1*var2 |
把var1乘上var2 |
除法 |
var1/var2 |
把var1除以var2 |
取馀數(shù) |
var1%var2 |
把var1除以var2取馀數(shù) |
【條件語法】
條件 |
用法 |
等於(=) |
var1=var2 |
大於(>) |
var1>var2 |
大於或等於(>=) |
var1>=var2 |
小於(<) |
var1 |
小於或等於(<=) |
var1<=var2 |
不等於(!=) |
var1!=var2 |
且(&&) |
var1=1 && var2=3 |
或(||) |
var1=1 || var2=3 |
條件語法通常配合if或while使用。
【流程控制】
if...elseif...else...end if
用法:
條件成立則執(zhí)行if...end if里的敘述。
if 條件 敘述 end if
范例:
if var1>3 say "hi!!" end if
if 條件 敘述 elseif var1=10 敘述 end if
if var1>3 say "hi!!" else say "bye!!" end if
while...wend
用法:
條件成立則執(zhí)行while...wend里的敘述。
while 條件 敘述 wend
范例:
while var1<100 var1=var1+1 wend
repeat...end repeat
用法:
重覆執(zhí)行repeat...end repeat里的敘述。 次數(shù)可直接用數(shù)字也可用變數(shù)或運(yùn)算式。
repeat 次數(shù) 敘述 end repeat
范例:
repeat 100 var1=var1+1 end repeat
repeat var2 var1=var1+1 end repeat
break
用法:
離開目前的repeat...end repeat或while...wend回圈。
范例:
while var1<100 var1=var1+1 var2=var2*var1 if var2>30 break end if wend
標(biāo)記
標(biāo)記的格式為名稱:
范例:
Label:
good:
jump 標(biāo)記
跳到指定的標(biāo)記處。
用法:
jump 標(biāo)記
范例:
add: var1=var1+1 jump add
on..jump
resume
條件成立則觸動(dòng)jump指令。 on...jump檢查條件時(shí)機(jī)在on..jump後的所有指令,直到最後一行或有其他的on...jump。 on...jump之前的script不會(huì)檢查。 一但觸動(dòng)jump,會(huì)停止目前的script,直接jump到指定標(biāo)記處。 配合resuem可以回到觸動(dòng)條件成立時(shí)的script位
用法:
On var1=1 Jump ext
范例:
on var1=1 jump ext ... ... //下面這行會(huì)觸動(dòng)jump而到ext標(biāo)記處執(zhí)行 var1=1 //在resume後會(huì)從此處繼續(xù)執(zhí)行 var2=2 ... ...
ext: var1=0 resume
stop
結(jié)束script執(zhí)行,即按了停止鍵。 將stop放在script最後一行,則script只會(huì)執(zhí)行一次
范例:
var1=var1+1 stop
call return
call會(huì)跳到標(biāo)記所指的位置,并記錄目前執(zhí)行的位置 return則是回到上一個(gè)call位置
用法 call 標(biāo)記 stop
標(biāo)記: return
【鍵盤字元相關(guān)指令】
SendKey(按鍵碼) KeyPress(按鍵碼)
用途:
模擬按下鍵盤動(dòng)作。
范例:
//以下皆為送出F1(模擬按了F1鍵) SendKey(112) KeyPress(112)
//alt+F1 SendKey(alt+112) KeyPress(alt+112) //ctrl+alt+F1 SendKey(ctrl+alt+112) KeyPress(ctrl+alt+112)
Say "字串" Text "字串" KeyString "字串"
用途:
模擬打字動(dòng)作。 Text和KeyString功能相似,但Text不會(huì)影響你目前的鍵盤操作。 Say會(huì)在送完字串後再送出一個(gè)Enter鍵,Text和KeyString則否。 KeyString可以用"\n"來送出Enter鍵。 注意,KeyString無法用中文,Say及Text可以是中文字串。
范例:
Say "Hi!!你好!!" Text "Hi!!你好!!" KeyString "Hi!!"
//打完字後模擬按Enter KeyString "Hi!!\n"
如果想把某個(gè)變數(shù)或運(yùn)算式結(jié)果說出來,可以用$[運(yùn)算式(或變數(shù))] 如我要列出var1的值: KeyString "$[var1]\n"
或如我要列出22*33的值: KeyString "$[22*33]\n"
Echo "字串" 用途:
模擬打字動(dòng)作。用法和Say、Text、KeyString類似。 這個(gè)指令較特別,你必須先將滑鼠游標(biāo)移到要輸入的范圍內(nèi)(只要是范圍內(nèi)即可,不用在起點(diǎn)),然後再使用Echo "字串"
范例:
//Pos1為輸入對(duì)話框的座標(biāo)位置 MouseMove pos1 Echo "Hi!!你好!!\n"
KeyDown(按鍵碼) KeyUp(按鍵碼)
用途:
模擬按下或放開某個(gè)鍵。 若用了KeyDown而沒用KeyUp放開, 則被按下的按鍵會(huì)一直保持著按下的狀態(tài)。
范例:
//按下按鍵A不放 KeyDown(65) //放開按鍵A KeyUp(65)
WaitKey
功能:等待按鍵并傳回按鍵碼 這個(gè)指令可單獨(dú)使用或配合指定或條件式 如: waitkey 或 var1=waitkey 或 while(waitkey!=27) wend
ScanKey
功能:傳回按鍵碼 這個(gè)指令無法單獨(dú)使用需配合指定或條件式 PS.這指令功能和waitkey一樣,只不過不會(huì)等待按鍵輸入,若沒按任何鍵則傳回0 如: var1=scankey 或 while(scankey!=27) wend
【mouse指令】
Left Click 座標(biāo) Left DbClick 座標(biāo)(位置) Left Down 座標(biāo)(位置) Left Up 座標(biāo)(位置) Right Click 座標(biāo) Right DbClick 座標(biāo)(位置) Right Down 座標(biāo)(位置) Right Up 座標(biāo)(位置)
用途:
模擬滑鼠按鍵動(dòng)作。 用法和鍵盤指令類似。 若用了Left Down或Right Down而沒用Left Up或Right Up來放開, 則該鍵會(huì)一直保持被按下的狀態(tài)。 座標(biāo)若是NoPos,則表示在目前座標(biāo)處做動(dòng)作(類似滑鼠連點(diǎn)功能)。
范例:
//在Pos1座標(biāo)處按下點(diǎn)一下左鍵 Left Click Pos1
//在Pos1座標(biāo)處按下左鍵不放 Left Down Pos1
//在目前游標(biāo)座標(biāo)處按下左鍵 Left Click NoPos
Left ColorClick 顏色 左上角座標(biāo) 右下角座標(biāo) Left Color DbClick 顏色 左上角座標(biāo) 右下角座標(biāo)
用途:
在指定座標(biāo)范圍內(nèi)點(diǎn)選或雙擊符合顏色值的第一個(gè)座標(biāo)。
范例:
//在Pos1座標(biāo)及Pos2座標(biāo)范圍內(nèi)雙擊符合顏色Var1的第一個(gè)座標(biāo) Left Color DbClick Var1 Pos1 Pos2
MouseMove 座標(biāo)
用途:
模擬滑鼠移動(dòng)到座標(biāo)處。
范例:
//移動(dòng)游標(biāo)到Pos1處 MouseMove Pos1
MoveFlag
功能 當(dāng)moveflag=0時(shí)(預(yù)設(shè)) 在執(zhí)行click動(dòng)作時(shí)和以前一樣
當(dāng)moveflag=1時(shí) 則會(huì)自動(dòng)移到該點(diǎn)再執(zhí)行click動(dòng)作
如 left click pos1 left click pos2 left click pos3
游標(biāo)并不會(huì)移到pos1~3(除非有把滑鼠鎖定打勾) 若要移到該處需用mousemove 如 mousemove pos3 left click pos3
現(xiàn)在你可以用 mouseflag=1 left click pos1 left click pos2 left click pos3 如此,在執(zhí)行click前游標(biāo)便會(huì)移到pos1~3處... 而不需用mousemove了
在使用時(shí)會(huì)以最近的一次設(shè)定為主 如 moveflag=1 left click pos1 left click pos2 left click pos3 moveflag=0 left click pos4 left click pos5 left click pos6
黃色那3行會(huì)做游標(biāo)移動(dòng)的動(dòng)作 而紅色3行則不會(huì)
【座標(biāo)轉(zhuǎn)換指令】
Xy2Pos[X座標(biāo),Y座標(biāo)]
用途:
把x,y形式表示的座標(biāo)轉(zhuǎn)成Pos位置格式。
范例:
//指定pos1座標(biāo)為(100,200) pos1=xy2pos[100,200]
x2pos[x偏移量] y2pos[y偏移量]
以上2個(gè)和xy2pos一樣,只不過獨(dú)立出來
【顏色相關(guān)指令】
Color[位置]
用途:
傳回指定位置的顏色值。
范例:
//取得Pos1座標(biāo)的顏色值 var1=color[pos1]
GetColorPos[顏色值,左上角,右下角]
用途:
取得范圍內(nèi)符合顏色值的第一個(gè)座標(biāo)。
范例:
//取得pos1,pos2范圍內(nèi)符合顏色值var1的第一個(gè)座標(biāo) var2=GetColorPos[var1,pos1,pos2]
【時(shí)間日期指令】
Time Timer
用途:
傳回時(shí)間值。 Time傳回從西元1970年至現(xiàn)在所經(jīng)過的秒數(shù)。 Timer傳回系統(tǒng)的clock時(shí)間,單位為ms(千分之一秒)
范例:
var1=time
year month hour day minute second
功能:傳回目前時(shí)間值(年,月,日,時(shí),分,秒) 這個(gè)指令無法單獨(dú)使用需配合指定或條件式 如: //傳回目前是幾點(diǎn)到var1
var1=hour
【其他指令】
Delay(時(shí)間)
用途:
延遲指定時(shí)間。 時(shí)間單位為ms(千分之一秒)。
范例:
//等待2秒 delay(2000)
Rand[范圍]
用途:
傳回指定范圍內(nèi)的整數(shù)亂數(shù)。
范例:
//取得0-99的整數(shù)亂數(shù) var1=rand[100]
Beep
用途:
發(fā)出嗶聲。
范例:
//發(fā)出嗶聲 beep
ReadMemory[address,type] 取得記憶體某位址的值 這功能不能用"工作中視窗"..請(qǐng)注意....
用法: address為記憶體位址 你可以用10進(jìn)位或16進(jìn)位 16進(jìn)位表示法為 0x0000a 記住"0x"為16進(jìn)位表示
type為讀取格式 共有0,1,2三個(gè)值可用 0表示讀1個(gè)byte 1表示讀2個(gè)bytes 2表示讀4個(gè)bytes
這個(gè)功能有什麼用呢? 你可以用GM7找到游戲中的某個(gè)數(shù)值的記憶位址 比如體力好了...位址為004DE19A,大小為1byte
那你想要做到體力如果小於10就補(bǔ)充體力 可以這樣寫 if ReadMemory[0x004DE19A,0]<10 then ...補(bǔ)充體力.... end if
interval
用法 interval=數(shù)值(千分之一秒)
如 interval=100 //以下每個(gè)指令間隔為0.1秒 repeat 10 var1=var1+1 end repeat
interval=1 //以下每個(gè)指令間隔為0.001秒 repeat 10 var1=var1+1 end repeat
表示每個(gè)指令間的時(shí)間間隔為0.1秒
預(yù)設(shè)內(nèi)定值為1(即0.001秒)
注意若設(shè)成0,會(huì)造成CPU被100%占用住.... 所以若非特別需要,請(qǐng)最少設(shè)成1
|