<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    飛艷小屋

    程序--人生--哲學(xué)___________________歡迎艷兒的加入

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      52 Posts :: 175 Stories :: 107 Comments :: 0 Trackbacks

    EZScript II【基本操作】


    【執(zhí)行/停止】
    可以執(zhí)行或停止script。停止後,再換執(zhí)行則是從頭開始。另外可用Alt-Pause來熱鍵啟動(dòng)執(zhí)行/停止的功能。

    【暫停/繼續(xù)】
    可以暫停或繼續(xù)script,與執(zhí)行/停止不同的是可以從暫停處繼續(xù)執(zhí)行。另外可用Pause來熱鍵啟動(dòng)執(zhí)行/停止的功能。

    【即時(shí)取得座標(biāo)】
    只要把動(dòng)態(tài)抓點(diǎn)及顏色選項(xiàng)開啟接著把滑鼠游標(biāo)移到該點(diǎn)再按下Alt+Ctrl+左邊的1-8數(shù)字鍵即可把座標(biāo)存到Pos1-Pos8中了

    【即時(shí)取得對(duì)應(yīng)座標(biāo)顏色】
    只要把動(dòng)態(tài)抓點(diǎn)及顏色選項(xiàng)開啟接著把滑鼠游標(biāo)移到該點(diǎn)再按下Alt+Ctrl+Shift左邊的1-8數(shù)字鍵即可把Pos1-Pos8座標(biāo)的顏色存到對(duì)應(yīng)的Var1-Var8中了


     

    EZScript IIScript語法】








    【變數(shù)】

    目前EZScript II提供16個(gè)變數(shù)供使用,分別是Var1~Var8,Pos1~Pos8。

    【運(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...end if

    用法:

    條件成立則執(zhí)行if...end if里的敘述。

    if 條件
        敘述
    end if

    范例:

    if var1>3
        say "hi!!"
    end if




    else

    用法:

    與if...end if配合使用。
    條件成立則執(zhí)行if...else之間的敘述,
    條件不成立則執(zhí)行else...end if之間的敘述。

    if 條件
        敘述
    else
        敘述
    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




    【鍵盤字元相關(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"




    KeyDown(按鍵碼)
    KeyUp(按鍵碼)

    用途:

    模擬按下或放開某個(gè)鍵。
    若用了KeyDown而沒用KeyUp放開,
    則被按下的按鍵會(huì)一直保持著按下的狀態(tài)。

    范例:

    //按下按鍵A不放
    KeyDown(65)
    //放開按鍵A
    KeyUp(65)




    【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




    【其他指令】

    Delay(時(shí)間)

    用途:

    延遲指定時(shí)間。
    時(shí)間單位為ms(千分之一秒)。

    范例:

    //等待2秒
    delay(2000)




    Color[位置]

    用途:

    傳回指定位置的顏色值。

    范例:

    //取得Pos1座標(biāo)的顏色值
    var1=color[pos1]




    Rand[范圍]

    用途:

    傳回指定范圍內(nèi)的整數(shù)亂數(shù)。

    范例:

    //取得0-99的整數(shù)亂數(shù)
    var1=rand[100]




    Xy2Pos[X座標(biāo),Y座標(biāo)]

    用途:

    把x,y形式表示的座標(biāo)轉(zhuǎn)成Pos位置格式。

    范例:

    //指定pos1座標(biāo)為(100,200)
    pos1=xy2pos[100,200]




    Time
    Timer


    用途:

    傳回時(shí)間值。
    Time傳回從西元1970年至現(xiàn)在所經(jīng)過的秒數(shù)。
    Timer傳回系統(tǒng)的clock時(shí)間,單位為ms(千分之一秒)

    范例:

    var1=time




    GetColorPos[顏色值,左上角,右下角]


    用途:


    取得范圍內(nèi)符合顏色值的第一個(gè)座標(biāo)。

    范例:

    //取得pos1,pos2范圍內(nèi)符合顏色值var1的第一個(gè)座標(biāo)
    var2=GetColorPos[var1,pos1,pos2]




    Beep


    用途:


    發(fā)出嗶聲。

    范例:

    //發(fā)出嗶聲
    beep


     

    EZScript IIUO-Plugin








    以下指令功能只適用在UO。

    【延伸指令】


    SellItem 數(shù)量

    用途:

    賣指定數(shù)量的物品。
    若物品可堆疊,則只會(huì)賣一個(gè)。
    在賣之前先把Sell視窗打開,并且不要移動(dòng)視窗。

    范例:

    //賣前20個(gè)物品
    sellitem 20
    stop




    SendMacro(編號(hào))

    用途需有UOAssist)

    送出UOAssist里的對(duì)應(yīng)的編號(hào)macro。
    macro送出後會(huì)等待UOAssist動(dòng)作完成後再繼續(xù)下一個(gè)指令。
    在使用SendMacro時(shí)要注意,盡量不要隨便對(duì)EZScript視窗做操作,
    否則可能造成一直呈現(xiàn)等待狀態(tài),這時(shí)請(qǐng)按暫停/繼續(xù)按鈕即可。

    范例:

    //送出編號(hào)#1的macro
    sendmacro(1)




    Drag 數(shù)量 from 來源 to 目的

    用途:

    搬指定數(shù)量的物品從指定的來源到目的。
    數(shù)量若輸入all表示全部搬過去。

    范例:

    //搬3個(gè)物品從pos1到pos2
    Drag 3 from pos1 to pos2




    WaitForWghtChange(時(shí)間)
    WaitForWghtDec(時(shí)間)
    WaitForWghtInc(時(shí)間)

    用途需有UOAssist)

    和Delay相似,差別在於在身上重量有變化時(shí)就不再等待。
    WaitForWghtChange(時(shí)間)-重量改變
    WaitForWghtDec(時(shí)間)-重量減少
    WaitForWghtInc(時(shí)間)-重量增加

    范例:

    //等待10秒,或身上重量改變就結(jié)束等待
    WaitForWghtChange(10000)




    Skill[編號(hào)]
    sSkill[編號(hào)]

    用途需有UOAssist)

    取得對(duì)應(yīng)編號(hào)的技能值。
    編號(hào)范圍為0~48剛好對(duì)應(yīng)UO里的49個(gè)技能。
    sskill是表面值,skill是真實(shí)值。

    范例:

    var1=skill[11]




    STR
    HITS
    INT
    MANA
    DEX
    STAM
    WGHT
    MAXWGHT
    NowX
    NowY

    用途需有UOAssist)

    傳回人物目前的狀態(tài)。

    范例:

    //取得人物目前的加量值
    var1=str
    //傳回人物目前所在的X座標(biāo)
    var1=nowx




    BP
    BM
    MR
    SS
    SA
    GA
    GI
    NS
    USER1
    USER2

    用途需有UOAssist)

    傳回人物目前的資源數(shù)量。

    范例:

    //傳回目前有多少藥草SS
    var1=ss

    ·EZScript 1.07版說明 only for UO

    EZScript for Ultima Online (by Ajax)
    -----------------------------------------------------
    功能說用:
    -----------------------------------------------------
    【Run(執(zhí)行)】
    -按Run(執(zhí)行)可以重覆不斷的執(zhí)行script
    -想中斷執(zhí)行中的script可以按Stop(停止)或按鍵盤上的Pause鍵
    -如果只想執(zhí)行一次script可以在最後加上end script指令

    【暫停/繼續(xù)(1.1版以上)】
    -可以暫停及繼續(xù)script
    -也可以在游戲中按Scroll Lock切換

    【簡(jiǎn)易模式/完整模式(1.1版以上)】
    -簡(jiǎn)易模式只有3個(gè)按鈕,只占螢?zāi)灰恍〔糠?br>
    【取得座標(biāo)】
    -取得選取的座標(biāo)值到對(duì)應(yīng)的變數(shù)pos1~pos4

    【posX顏色】
    -取得posX的顏色值到對(duì)應(yīng)的變數(shù)var1~var8中

    【按鍵碼】
    -取得按下按鍵的掃描碼

    -----------------------------------------------------
    一般指令說明:
    -----------------------------------------------------
    【變數(shù)】
    var1,var2....var8,pos1,pos2,pos3,pos4
    運(yùn)算式用法
    var1=var2+var3+3*pos1......

    【運(yùn)算符號(hào)】
    +,-,*,/,%(取馀數(shù))

    【座標(biāo)指令】
    單位是像素
    x(n),y(n)
    如:
    pos1=pos1+x(22)會(huì)把pos1的x座標(biāo)+22
    pos1=pos1+x(22)-y(22)會(huì)把pos1的x座標(biāo)+22,把y座標(biāo)-22

    取得posx的x和y的分量值
    用法:
    var1=getx(posx)
    var2=gety(posx)

    以上getx和gety分別會(huì)傳回posx的x和y分量值
    因?yàn)橛行┤艘苍S會(huì)用到,所以寫了一下


    【送按鍵】
    sendkey(key)
    key的值有2種表示法
    虛擬碼:
    f1-f12,left,right,up,down,pageup,pagedown,home,end
    按鍵碼:
    請(qǐng)參考按鍵碼
    如:
    sendkey(f1)和sendkey(112)都是代表送出F1
    sendkey(f12)和sendkey(123)都是代表送出F12
    sendkey(left)和sendkey(37)都是代表送出左鍵

    【回圈控制】
    repeat n
    end repeat
    (n省略,代表無窮回圈)
    可以用多層repeat
    如:
    repeat var1
    repeat 3
    end repeat
    end repeat
    回圈可用break中斷
    如:
    repeat 10
    var1=var1+1
    if var1=10
    break
    end if
    end repeat

    【判斷指令】
    判斷符號(hào)有>(大於),<(小於),=(等於),>=(大於等於),<=(小於等於),!=(不等於),and(并且),or(或者)
    如:
    if var1>var2
    end if

    if var1>var2*var3
    end if

    if var1!=3
    end if

    if var1<=1 and var2=1
    end if

    if var1!=1 or var2>2
    end if

    【延遲指令】
    delay(n)
    n單位為千分之一秒
    1000代表1秒

    【亂數(shù)指令】
    rand(n)
    產(chǎn)生0-n的正整數(shù)亂數(shù)

    【時(shí)間指令】
    timer取得系統(tǒng)的clock(1/1000秒)
    time取得系統(tǒng)時(shí)間(秒)
    如:
    var1=timer
    var2=time

    【聲音】
    beep發(fā)出警告聲
    如:
    if var1=1
    beep
    end if

    【color指令】
    color(位置)-取得位置的顏色值
    位置可以是變數(shù)或數(shù)值
    如:
    color(pos1)
    color(var1)
    color(1233123)
    可以配合if用法
    if color(pos1)=var1
    end if

    if var1=color(pos1)
    end if

    if color(pos1)=數(shù)值
    end if

    ※使用color指令時(shí)UO要在最上層視窗

    【mouse指令】
    mouse狀態(tài)(測(cè)試中)
    mouse=n(n=1,0)
    當(dāng)n=0時(shí)滑鼠不會(huì)移動(dòng)
    當(dāng)n=1時(shí)滑鼠會(huì)移動(dòng)

    按左鍵
    left click 座標(biāo)(位置)
    座標(biāo)可以用變數(shù)var1...var8,pos1,pos2,pos3,pos4
    也可以用數(shù)字(參考擷取的值)
    left click pos1
    left click 837233

    按左鍵2下
    double left click 座標(biāo)(位置)
    double left click pos1
    double left click 123987

    按住左鍵不放n秒
    left down 時(shí)間 座標(biāo)(位置)
    如:
    left down 2000 pos1
    表在pos1按住左鍵2秒再放開

    ※右鍵和左鍵一樣將left改成right

    【Drag指令】
    drag 數(shù)量 from 座標(biāo)1(位置) to 座標(biāo)2(位置)
    數(shù)量和座標(biāo)可以用變數(shù)也可以用數(shù)字
    數(shù)量如果是all,則代表全部移過去
    drag 10 from pos1 to pos2
    drag var1 from pos1 to 數(shù)字

    ※若lag很嚴(yán)重可在drag指令得加上delay time,如drag 10 from pos1 to pos2 delay 500

    【DragAll指令】
    DragAll 顏色值 from 左上角座標(biāo) 右下角座標(biāo) to 目的地座標(biāo) delay 時(shí)間(內(nèi)定為0)
    這個(gè)指令可以用來搬容器內(nèi)所有特定顏色值的東西
    如把主包包內(nèi)所有的黑藥水全搬到指定的容器內(nèi)(在練制藥時(shí)很有用)

    ※使用DragAll指令時(shí)UO要在最上層視窗

    【說話指令】
    say "訊息"
    text "訊息"
    say會(huì)送出enter
    text不會(huì)
    say "$[變數(shù)]"可送出變數(shù)的內(nèi)容
    如:
    say "現(xiàn)在HP=$[hits]"

    【注解指令】
    //代表後面的不是指令
    如:
    //這是if
    if var=10
    //說話
    say "測(cè)試"
    end if

    【結(jié)束指令】
    end script或stop
    放在最後一行
    script只會(huì)執(zhí)行一次

    -----------------------------------------------------
    延伸指令說明(以下指令需有UOAssist):
    -----------------------------------------------------
    【取得目前狀態(tài)及身上資源】
    取得目前的str,hits,int,mana,dex,stam,wght,maxwght,NowX(目前X座標(biāo)),NowY(目前Y座標(biāo))
    以下變數(shù)可以取得目前身上的資源(請(qǐng)先用UOAssist中的Count Resources,取得數(shù)值再執(zhí)script):
    bp,bm,mr,ss,sa,ga,gi,ns,user1,user2

    如:
    if hits<10
    end if
    if mana<10
    end if

    【送出UOAssist的macro】
    SendMacro(編號(hào)1-16)
    如:
    SendMacro(1)會(huì)送出UOAssist中編號(hào)#1的macro

    【死亡及斷線時(shí)自動(dòng)通知】
    當(dāng)script在執(zhí)行時(shí),如果斷線或死亡會(huì)自動(dòng)發(fā)出9聲警告聲


    【取得Skill值(1.09c版以上)】
    varx=skill(數(shù)值)
    數(shù)值范圍為0-48,剛好對(duì)應(yīng)uo里的49個(gè)技能

    【等待延伸指令(1.09d版以上)】
    WaitForWghtChange(時(shí)間)
    時(shí)間單位為千分之秒,與delay指令功能功相似
    差別在於WaitForWghtChange在身上重量有變化時(shí)就不再等待
    嗯,那這指令有什麼好處??自己想棉..^^

    -----------------------------------------------------
    UO2指令:
    -----------------------------------------------------
    當(dāng)你開了UO2時(shí),你可以用app="視窗名稱全名或關(guān)鍵字"來指令macro要送到那個(gè)UO視窗
    如:
    //送到有視窗Title有"Ultima"的client
    app="Ultima"
    sendkey(f2)
    //送到有視窗Title有"Origin"的client
    app="Origin"
    sendkey(f2)

    -----------------------------------------------------
    范例:
    -----------------------------------------------------
    范例1:
    持續(xù)每秒按一次F1
    sendkey(F1)
    delay(1000)

    范例2:
    把一堆東西由位置1移10個(gè)到位置2
    先取得位置1的座標(biāo)到pos1
    再取得位置2的座標(biāo)到pos2
    然後寫下面的script
    drag 10 from pos1 to pos2
    end script
    ·EZScript II 2.1.0.3新增功能


     

    新增熱鍵
    以下功能要把動(dòng)態(tài)抓點(diǎn)打勾

    CTRL+ALT+HOME
    呼叫EZScript視窗并顯示


    --------------------------------------------------------------------
    新增指令
    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


    x2pos[x偏移量]
    y2pos[y偏移量]

    以上2個(gè)和xy2pos一樣,只不過獨(dú)立出來



    waitkey
    功能:等待按鍵并傳回按鍵碼
    這個(gè)指令可單獨(dú)使用或配合指定或條件式
    如:
    waitkey

    var1=waitkey

    while(waitkey!=27)
    wend

    scankey
    功能:傳回按鍵碼
    這個(gè)指令無法單獨(dú)使用需配合指定或條件式
    PS.這指令功能和waitkey一樣,只不過不會(huì)等待按鍵輸入,若沒按任何鍵則傳回0
    如:
    var1=scankey

    while(scankey!=27)
    wend



    year
    month
    hour
    day
    minute
    second

    功能:傳回目前時(shí)間值(年,月,日,時(shí),分,秒)
    這個(gè)指令無法單獨(dú)使用需配合指定或條件式
    如:
    //傳回目前是幾點(diǎn)到var1
    var1=hour

    --------------------------------------------------------------------
    流程控制
    if...elseif...else...end if
    多了elseif
    現(xiàn)在您可以用
    if var1=1
    ....
    elseif var1=3
    ....
    elseif var1=5
    ...
    else
    ....
    end if

    --------------------------------------------------------------------
    新增陣列變數(shù)
    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
    ·EZScript II 2.1.0.4新增功能

    新增熱鍵
    以下功能要把動(dòng)態(tài)抓點(diǎn)打勾

    CTRL+ALT+HOME
    呼叫EZScript視窗并顯示


    --------------------------------------------------------------------
    新增指令
    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


    x2pos[x偏移量]
    y2pos[y偏移量]

    以上2個(gè)和xy2pos一樣,只不過獨(dú)立出來



    waitkey
    功能:等待按鍵并傳回按鍵碼
    這個(gè)指令可單獨(dú)使用或配合指定或條件式
    如:
    waitkey

    var1=waitkey

    while(waitkey!=27)
    wend

    scankey
    功能:傳回按鍵碼
    這個(gè)指令無法單獨(dú)使用需配合指定或條件式
    PS.這指令功能和waitkey一樣,只不過不會(huì)等待按鍵輸入,若沒按任何鍵則傳回0
    如:
    var1=scankey

    while(scankey!=27)
    wend


    mousepos
    功能:傳回目前滑鼠游標(biāo)的位置(相對(duì)目前程序)
    這個(gè)指令無法單獨(dú)使用需配合指定或條件式
    如:
    var1=mousepos



    year
    month
    hour
    day
    minute
    second

    功能:傳回目前時(shí)間值(年,月,日,時(shí),分,秒)
    這個(gè)指令無法單獨(dú)使用需配合指定或條件式
    如:
    //傳回目前是幾點(diǎn)到var1
    var1=hour

    --------------------------------------------------------------------
    流程控制
    if...elseif...else...end if
    多了elseif
    現(xiàn)在您可以用
    if var1=1
    ....
    elseif var1=3
    ....
    elseif var1=5
    ...
    else
    ....
    end if


    call
    return
    call會(huì)跳到標(biāo)記所指的位置,并記錄目前執(zhí)行的位置
    return則是回到上一個(gè)call位置
    用法
    call 標(biāo)記
    stop

    標(biāo)記:
    return

    --------------------------------------------------------------------
    新增陣列變數(shù)
    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
    ·一些使用上的小技巧

    對(duì)於滑鼠部分
    如果發(fā)現(xiàn)Left Click或Right Click不起作用,這時(shí)可以把滑鼠鎖定功能打開
    打開後在執(zhí)行滑鼠相關(guān)指令時(shí)就無法使用滑鼠了,但卻可以解決無法Click
    的問題....


    Say,Text,Keystring
    這3個(gè)指令都是送出字串的功能,但應(yīng)用上還是有點(diǎn)差異...
    有些游戲是利用取得字元的訊息來判斷是不有輸入字...
    這些游戲可以用Say,及Text...
    但若遇到無法用Say及Text送字串的情況時(shí)
    就得用keyString了....
    KeyString是無法直接輸入中文的
    您只能利用間接的方式來輸入
    比如:
    先模擬按了Ctrl+Space切換中文輸入狀態(tài)
    接著在KeyString里打入輸入中文的動(dòng)作(里面還是英文)...即可
    EX:
    keypress(ctrl+32)
    keystring "onf vnd "
    keypress(ctrl+32)
    以上3行就是用倉頡輸入"你好"2個(gè)字
    ·EZScript II 2108新增指令

    新增一變數(shù)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ì)

    ·EZScript II指令整理--New

    EZScript IIScript語法】

    【變數(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

    posted on 2007-08-29 14:11 天外飛仙 閱讀(16202) 評(píng)論(6)  編輯  收藏 所屬分類: 其它

    Feedback

    # re: EZScript II【基本操作】 2007-12-21 16:16 網(wǎng)上鄰居
    這個(gè)帖子不錯(cuò),但是顏色很傷眼
    也許飛艷想用顏色強(qiáng)調(diào)、區(qū)分不同的內(nèi)容,
    但是顏色選得很不好,黃色系的顏色使人無法看清楚,適得其反:(  回復(fù)  更多評(píng)論
      

    # re: EZScript II【基本操作】 2008-05-04 20:04 玫瑰
    我還是有點(diǎn)不理解
    我捉的Var怎么會(huì)跳過一邊去呢?  回復(fù)  更多評(píng)論
      

    # re: EZScript II【基本操作】 2008-05-04 20:08 玫瑰
    SendKey(45)
    Delay(1000)
    SendKey(112)
    MouseMove 2228254
    Delay(1500)
    Left Click 2228254


    這個(gè)腳步不知道對(duì)不對(duì),,高人請(qǐng)回我  回復(fù)  更多評(píng)論
      

    # re: EZScript II【基本操作】[未登錄] 2009-01-24 09:34 哈哈
    按鍵碼 是什么 例如 1 這個(gè)按鍵碼 急用 請(qǐng)回復(fù)  回復(fù)  更多評(píng)論
      

    # re: EZScript II【基本操作】 2010-06-23 13:58 干你娘
    傻B,按鍵碼都不懂你學(xué)什么腳本  回復(fù)  更多評(píng)論
      

    # re: EZScript II【基本操作】 2011-01-30 03:45 擺脫
    我想做一個(gè) 加血又加狀態(tài)的 但是加血和加狀態(tài)的時(shí)間不一樣加狀態(tài)的那個(gè)要65秒做完一后加血的也成65秒才加一次幫忙改下吧Var1=50
    If Color[23920767]=9214629
    KeyPress(117)
    Delay(Var1)
    KeyPress(117)
    Delay(Var1)
    End If
    Var2=55000
    delay=Var2
    sendkey(F9)
    delay(Var2)
    End If
      回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 国产免费拔擦拔擦8x| 成人免费视频77777| 亚洲av无码专区国产乱码在线观看| 国产美女a做受大片免费| 亚洲成年人免费网站| 国产日韩久久免费影院 | 亚洲美女精品视频| ASS亚洲熟妇毛茸茸PICS| 蜜桃传媒一区二区亚洲AV | 亚洲av色福利天堂| 91亚洲视频在线观看| 亚洲国产综合精品中文第一区| 亚洲精品美女久久久久| 亚洲狠狠婷婷综合久久| 亚洲看片无码在线视频| 高潮毛片无遮挡高清免费视频| 色窝窝亚洲av网| 国产亚洲人成在线播放| 中文在线观看国语高清免费| 最近中文字幕免费完整| 18成禁人视频免费网站| 日日操夜夜操免费视频| 亚洲精品成人网站在线观看| 亚洲另类精品xxxx人妖| 无码的免费不卡毛片视频| 一级毛片全部免费播放| 四虎影院免费视频| 四虎免费在线观看| 自拍偷自拍亚洲精品被多人伦好爽 | A国产一区二区免费入口| 免费观看无遮挡www的小视频| 99re视频精品全部免费| 看全色黄大色大片免费久久| 成人一a毛片免费视频| 在线观看亚洲精品福利片| 亚洲欧洲精品在线| 亚州**色毛片免费观看| 免费观看成人毛片a片2008| 久久久青草青青国产亚洲免观| 亚洲一区在线视频| 巨胸喷奶水视频www免费视频|