剑灵蜘蛛

分享一个勇猛蜘蛛自动刷的脚本思路

可以做到自动接取勇猛任务并且完成,自动打怪,提供旋转或者定点刷(当然明白思路的话,可以自己添加自动走到怪前来回跑刷/自动修理武器/自动完成每日任务/自动加入队伍)

下方是取色/截图的位置:

下方是需要自己进行调试的源文件:

剑灵勇猛蜘蛛

提取码:1234复制
解压码:无

给TA买糖
共{{data.count}}人
人已赞赏
游戏

【原神】 自动钓鱼

2021-9-5 11:38:02

游戏

剑灵UE4御剑取色宏1.2

2021-9-12 12:41:15

5 条回复 A文章作者 M管理员
  1. 非洲鱻鱼附体

    SetTitleMatchMode, 2
    id:=WinExist(“剑灵 ahk_class LaunchUnrealUWindowsClient”)
    BindWindow(id) ; Unbind Window using Bindwindow(0)
    SetKeyDelay,10
    ; #Include
    full_command_line := DllCall(“GetCommandLine”, “str”)
    if not (A_IsAdmin or RegExMatch(full_command_line, ” /restart(?!S)”))
    {
    try
    {
    if A_IsCompiled
    Run *RunAs “%A_ScriptFullPath%” /restart
    else
    Run *RunAs “%A_AhkPath%” /restart “%A_ScriptFullPath%”
    }
    ExitApp
    }

    MsgBox,

    IniRead,tj,取色值.txt,选项,t键
    IniRead,zq,取色值.txt,选项,转圈
    if(zq=err){
    zq=800
    }
    StringReplace, tj, tj,{tab},tab,a
    gosub,菜单
    StringReplace, tj, tj,tab,{tab},a

    F12::
    v_Enable:=!v_Enable
    If (v_Enable=0){
    SetTimer, Label, Off
    ToolTip, 关
    }Else{
    SetTimer, Label, 0
    ToolTip, 开
    }
    Return

    Label2:
    if not(ok:=FindText(20, 49, 1911,510, 0.1, 0.1, Text)){
    ;~ ControlSend,, {left down},剑灵 ahk_class LaunchUnrealUWindowsClient
    send {left down}
    Sleep,100
    ;~ ControlSend,, {left up},剑灵 ahk_class LaunchUnrealUWindowsClient
    send {left up}
    }
    Return

    F8::
    v_Enable1:=!v_Enable1
    If (v_Enable1)=0 {
    SetTimer, Label2, Off
    }Else{
    SetTimer, Label2, %zq%
    }
    Return

    Label:
    t1:=A_TickCount
    Text:=”|*77$38.zwDrwbw1a7zcy0P0zt7bwbDzNtsPTzmSQ4zzwrblDzzDs6E7zvy0I8zyTzZDDzbzBmNztznAWTyywr8bzi99GPzzCSGQzzbkAUTzvi66Dzznz0zzzwU”
    Text5:=”|*144$13.zzU0mGQ76339VIMYAIac1k5sEAzzzzk0807zz” ;交任务卷轴
    Text1:=”|*82$29.zzzzzibn0TA3a0zE26NzYwC7l8wk3U0943r/ktziL60TRgDbwX+E1sC4yTU01wzA03tzzzzrw” ;勇猛任务的“选择”
    Text2:=”|*73$56.zzzzjvjvzz7z03wswtzwzUDzDb00zDzny05rzzXy01yxtU7tTk0zDSTzyrzvy2560TAy0100BUDrjU0TjrPzttztznxo0QzDyTwzRTqTtzjzA7LxDzC3znzo0Tzzzzyzxzy” ;入手书信
    Text3:=”|*102$27.zzxzw0Ac3s7ltw1iTD0EW0805TbCSv1s06DzDyZ0/bxah00spjjrKhnUW00wDzzU” ;书信勇猛
    Text4:=”|*96$43.k01xq03s00yG01zbkz9zVzk1zlz7zz3zsznz000wE01btyQ800k00Arzbs007vznwzDnts3y001szbzDnwwDzzbtyQY01nvzAmPgv00DtRrQ001xivDyTwyrRbyTyyPinyDSQ800kTUCA008″ ;接任务勇猛
    if (ok:=FindText(20, 20, 2100,426, 0.1, 0.1, Text))
    ControlSend,, %tj%,剑灵 ahk_class LaunchUnrealUWindowsClient
    else {
    if (ok:=FindText(1473,52, 1924,1106, 0.1, 0.1, Text5)){
    WinActivate,剑灵 ahk_class LaunchUnrealUWindowsClient
    X:=ok.1.x, Y:=ok.1.y
    sleep 300
    send,{alt down}
    sleep 30
    click ,%X%,%Y%
    sleep 30
    send,{alt up}
    }
    else if (ok:=FindText(334,670, 857,1081, 0.1, 0.1, Text4))
    ControlSend,, f,剑灵 ahk_class LaunchUnrealUWindowsClient
    else if (ok:=FindText(873,50, 1928,1102, 0.1, 0.1, Text3)){
    WinActivate,剑灵 ahk_class LaunchUnrealUWindowsClient
    X:=ok.1.x+220, Y:=ok.1.y,
    sleep 300
    click ,%X%,%Y%
    }
    else if (ok:=FindText(873,50, 1928,1102, 0.1, 0.1, Text2)){
    WinActivate,剑灵 ahk_class LaunchUnrealUWindowsClient
    X:=ok.1.x, Y:=ok.1.y
    sleep 300
    click ,%X%,%Y%
    }
    else if not (ok:=FindText(1505,49, 1928,1104, 0.3, 0.3, Text1))
    ControlSend,, j,剑灵 ahk_class LaunchUnrealUWindowsClient
    sleep 300

    }

    Return

    ;===== Copy The Following Functions To Your Own Code Just once =====

    ;——————————–
    ; FindText – Capture screen image into text and then find it
    ;——————————–
    ; X1, Y1 –> the search scope’s upper left corner coordinates
    ; X2, Y2 –> the search scope’s lower right corner coordinates
    ; err1, err0 –> Fault tolerance percentage of text and background (0.1=10%)
    ; Text –> can be a lot of text parsed into images, separated by “|”
    ; ScreenShot –> if the value is 0, the last screenshot will be used
    ; FindAll –> if the value is 0, Just find one result and return
    ; JoinText –> if the value is 1, Join all Text for combination lookup
    ; offsetX, offsetY –> Set the Max text offset for combination lookup
    ; ruturn –> the function returns a second-order array
    ; containing all lookup results, Any result is an associative array
    ; {1:X, 2:Y, 3:W, 4:H, x:X+W//2, y:Y+H//2, id:Comment},
    ; if no image is found, the function returns 0.
    ; All coordinates are relative to Screen, colors are in RGB format,
    ; and combination lookup must use uniform color mode
    ;——————————–

    FindText( x1, y1, x2, y2, err1, err0, text, ScreenShot:=1
    , FindAll:=1, JoinText:=0, offsetX:=20, offsetY:=10 )
    {
    local ; Unaffected by Super-global variables
    bch:=A_BatchLines
    SetBatchLines, -1
    x:=(x1<x2 ? x1:x2), y:=(y1<y2 ? y1:y2)
    , w:=Abs(x2-x1)+1, h:=Abs(y2-y1)+1
    , xywh2xywh(x,y,w,h,x,y,w,h,zx,zy,zw,zh)
    if (w<1 or h1 or A_Index>1)
    err1:=0.1, err0:=0.05
    if (JoinText)
    {
    j:=info[1], mode:=j.8, color:=j.9, n:=j.10
    , w1:=-1, h1:=j.3, comment:=””, v:=””, i:=0
    Loop, % num
    {
    j:=info[A_Index], w1+=j.2+1, comment.=j.11
    Loop, 7
    NumPut((A_Index=1 ? StrLen(v)
    : A_Index=6 and err1 and !j.12 ? Round(j.4*err1)
    : A_Index=7 and err0 and !j.12 ? Round(j.5*err0)
    : j[A_Index]), input, 4*(i++), “int”)
    v.=j.1
    }
    ok:=PicFind( mode,color,n,offsetX,offsetY
    , bits,sx,sy,sw,sh,gs,ss,v,s1,s0
    , input,num*7,allpos,allpos_max )
    Loop, % ok
    pos:=NumGet(allpos, 4*(A_Index-1), “uint”)
    , rx:=(pos&0xFFFF)+zx, ry:=(pos>>16)+zy
    , arr.Push( {1:rx, 2:ry, 3:w1, 4:h1
    , x:rx+w1//2, y:ry+h1//2, id:comment} )
    }
    else
    {
    For i,j in info
    {
    mode:=j.8, color:=j.9, n:=j.10, comment:=j.11
    , w1:=j.2, h1:=j.3, v:=j.1
    Loop, 7
    NumPut((A_Index=1 ? 0
    : A_Index=6 and err1 and !j.12 ? Round(j.4*err1)
    : A_Index=7 and err0 and !j.12 ? Round(j.5*err0)
    : j[A_Index]), input, 4*(A_Index-1), “int”)
    ok:=PicFind( mode,color,n,offsetX,offsetY
    , bits,sx,sy,sw,sh,gs,ss,v,s1,s0
    , input,7,allpos,allpos_max )
    Loop, % ok
    pos:=NumGet(allpos, 4*(A_Index-1), “uint”)
    , rx:=(pos&0xFFFF)+zx, ry:=(pos>>16)+zy
    , arr.Push( {1:rx, 2:ry, 3:w1, 4:h1
    , x:rx+w1//2, y:ry+h1//2, id:comment} )
    if (ok and !FindAll)
    Break
    }
    }
    if (err1=0 and err0=0 and num=1 and !arr.MaxIndex())
    {
    k:=0
    For i,j in info
    k+=(!j.12)
    IfEqual, k, 0, Break
    }
    else Break
    }
    SetBatchLines, %bch%
    return, arr.MaxIndex() ? arr:0
    }

    ; Bind the window so that it can find images when obscured
    ; by other windows, it’s equivalent to always being
    ; at the front desk. Unbind Window using Bindwindow(0)

    BindWindow(window_id:=0, set_exstyle:=0, get:=0)
    {
    static id, old, Ptr:=A_PtrSize ? “UPtr” : “UInt”
    if (get)
    return, id
    if (window_id)
    {
    id:=window_id, old:=0
    if (set_exstyle)
    {
    WinGet, old, ExStyle, ahk_id %id%
    WinSet, Transparent, 255, ahk_id %id%
    Loop, 30
    {
    Sleep, 100
    WinGet, i, Transparent, ahk_id %id%
    }
    Until (i=255)
    }
    }
    else
    {
    if (old)
    WinSet, ExStyle, %old%, ahk_id %id%
    id:=old:=0
    }
    }

    xywh2xywh(x1,y1,w1,h1, ByRef x,ByRef y,ByRef w,ByRef h
    , ByRef zx:=””, ByRef zy:=””, ByRef zw:=””, ByRef zh:=””)
    {
    SysGet, zx, 76
    SysGet, zy, 77
    SysGet, zw, 78
    SysGet, zh, 79
    left:=x1, right:=x1+w1-1, up:=y1, down:=y1+h1-1
    left:=leftzx+zw-1 ? zx+zw-1:right
    up:=upzy+zh-1 ? zy+zh-1:down
    x:=left, y:=up, w:=right-left+1, h:=down-up+1
    }

    GetBitsFromScreen(x, y, w, h, ScreenShot:=1
    , ByRef zx:=””, ByRef zy:=””, ByRef zw:=””, ByRef zh:=””)
    {
    local ; Unaffected by Super-global variables
    static hBM, oldzx, oldzy, oldzw, oldzh, bits:=[]
    static Ptr:=A_PtrSize ? “UPtr” : “UInt”
    static init:=!GetBitsFromScreen(0,0,0,0,1)
    if (!ScreenShot)
    {
    zx:=oldzx, zy:=oldzy, zw:=oldzw, zh:=oldzh
    return, bits
    }
    bch:=A_BatchLines, cri:=A_IsCritical
    Critical
    if (zw<1 or zholdzw or zh>oldzh or !hBM)
    {
    DllCall(“DeleteObject”, Ptr,hBM), hBM:=””, bpp:=32
    VarSetCapacity(bi, 40, 0), NumPut(40, bi, 0, “int”)
    NumPut(zw, bi, 4, “int”), NumPut(-zh, bi, 8, “int”)
    NumPut(1, bi, 12, “short”), NumPut(bpp, bi, 14, “short”)
    hBM:=DllCall(“CreateDIBSection”, Ptr,0, Ptr,&bi
    , “int”,0, Ptr “*”,ppvBits, Ptr,0, “int”,0, Ptr)
    Scan0:=(!hBM ? 0:ppvBits), Stride:=((zw*bpp+31)//32)*4
    bits.1:=Scan0, bits.2:=Stride
    oldzx:=zx, oldzy:=zy, oldzw:=zw, oldzh:=zh
    x:=zx, y:=zy, w:=zw, h:=zh
    }
    if (hBM) and !(w<1 or h<1)
    {
    win:=DllCall("GetDesktopWindow", Ptr)
    hDC:=DllCall("GetWindowDC", Ptr,win, Ptr)
    mDC:=DllCall("CreateCompatibleDC", Ptr,hDC, Ptr)
    oBM:=DllCall("SelectObject", Ptr,mDC, Ptr,hBM, Ptr)
    DllCall("BitBlt",Ptr,mDC,"int",x-zx,"int",y-zy,"int",w,"int",h
    , Ptr,hDC, "int",x, "int",y, "uint",0x00CC0020|0x40000000)
    DllCall("ReleaseDC", Ptr,win, Ptr,hDC)
    if (id:=BindWindow(0,0,1))
    WinGet, id, ID, ahk_id %id%
    if (id)
    {
    WinGetPos, wx, wy, ww, wh, ahk_id %id%
    left:=x, right:=x+w-1, up:=y, down:=y+h-1
    left:=leftwx+ww-1 ? wx+ww-1:right
    up:=upwy+wh-1 ? wy+wh-1:down
    x:=left, y:=up, w:=right-left+1, h:=down-up+1
    }
    if (id) and !(w<1 or h<1)
    {
    hDC2:=DllCall("GetDCEx", Ptr,id, Ptr,0, "int",3, Ptr)
    DllCall("BitBlt",Ptr,mDC,"int",x-zx,"int",y-zy,"int",w,"int",h
    , Ptr,hDC2, "int",x-wx, "int",y-wy, "uint",0x00CC0020|0x40000000)
    DllCall("ReleaseDC", Ptr,id, Ptr,hDC2)
    }
    DllCall("SelectObject", Ptr,mDC, Ptr,oBM)
    DllCall("DeleteDC", Ptr,mDC)
    }
    Critical, %cri%
    SetBatchLines, %bch%
    return, bits
    }

    PicInfo(text)
    {
    static info:=[]
    IfNotInString, text, $, return
    if (info[text])
    return, info[text]
    v:=text, comment:="", e1:=e0:=0, set_e1_e0:=0
    ; You Can Add Comment Text within The
    if RegExMatch(v,”]*)>”,r)
    v:=StrReplace(v,r), comment:=Trim(r1)
    ; You can Add two fault-tolerant in the [], separated by commas
    if RegExMatch(v,”[([^]]*)]”,r)
    {
    v:=StrReplace(v,r), r1.=”,”
    StringSplit, r, r1, `,
    e1:=r1, e0:=r2, set_e1_e0:=1
    }
    StringSplit, r, v, $
    color:=r1, v:=r2 “.”
    StringSplit, r, v, .
    w1:=r1, v:=base64tobit(r2), h1:=StrLen(v)//w1
    if (w1<1 or h1>5&1) . (i>>4&1)
    . (i>>3&1) . (i>>2&1) . (i>>1&1) . (i&1)
    s:=StrReplace(s,A_LoopField,v)
    }
    ListLines, %lls%
    StringCaseSense, Off
    s:=SubStr(s,1,InStr(s,”1″,0,0)-1)
    s:=RegExReplace(s,”[^01]+”)
    return, s
    }

    bit2base64(s)
    {
    s:=RegExReplace(s,”[^01]+”)
    s.=SubStr(“100000″,1,6-Mod(StrLen(s),6))
    s:=RegExReplace(s,”.{6}”,”|$0″)
    Chars:=”0123456789+/ABCDEFGHIJKLMNOPQRSTUVWXYZ”
    . “abcdefghijklmnopqrstuvwxyz”
    SetFormat, IntegerFast, d
    lls:=A_ListLines=0 ? “Off” : “On”
    ListLines, Off
    Loop, Parse, Chars
    {
    i:=A_Index-1, v:=”|” . (i>>5&1) . (i>>4&1)
    . (i>>3&1) . (i>>2&1) . (i>>1&1) . (i&1)
    s:=StrReplace(s,v,A_LoopField)
    }
    ListLines, %lls%
    return, s
    }

    ASCII(s)
    {
    if RegExMatch(s,”$(d+).([w+/]+)”,r)
    {
    s:=RegExReplace(base64tobit(r2),”.{” r1 “}”,”$0`n”)
    s:=StrReplace(StrReplace(s,”0″,”_”),”1″,”0″)
    }
    else s=
    return, s
    }

    ; You can put the text library at the beginning of the script,
    ; and Use PicLib(Text,1) to add the text library to PicLib()’s Lib,
    ; Use PicLib(“comment1|comment2|…”) to get text images from Lib

    PicLib(comments, add_to_Lib:=0, index:=1)
    {
    static Lib:=[]
    SetFormat, IntegerFast, d
    if (add_to_Lib)
    {
    re:=”]*)>[^$]+$d+.[w+/]+”
    Loop, Parse, comments, |
    if RegExMatch(A_LoopField,re,r)
    {
    s1:=Trim(r1), s2:=””
    Loop, Parse, s1
    s2.=”_” . Ord(A_LoopField)
    Lib[index,s2]:=r
    }
    Lib[index,””]:=””
    }
    else
    {
    Text:=””
    Loop, Parse, comments, |
    {
    s1:=Trim(A_LoopField), s2:=””
    Loop, Parse, s1
    s2.=”_” . Ord(A_LoopField)
    Text.=”|” . Lib[index,s2]
    }
    return, Text
    }
    }

    PicN(Number, index:=1)
    {
    return, PicLib(RegExReplace(Number,”.”,”|$0″), 0, index)
    }

    ; Use PicX(Text) to automatically cut into multiple characters
    ; Can’t be used in ColorPos mode, because it can cause position errors

    PicX(Text)
    {
    if !RegExMatch(Text,”|([^$]+)$(d+).([w+/]+)”,r)
    return, Text
    w:=r2, v:=base64tobit(r3), Text:=””
    c:=StrLen(StrReplace(v,”0″))<=StrLen(v)//2 ? "1":"0"
    wz:=RegExReplace(v,".{" w "}","$0`n")
    SetFormat, IntegerFast, d
    While InStr(wz,c)
    {
    While !(wz~="m`n)^" c)
    wz:=RegExReplace(wz,"m`n)^.")
    i:=0
    While (wz~="m`n)^.{" i "}" c)
    i++
    v:=RegExReplace(wz,"m`n)^(.{" i "}).*","$1")
    wz:=RegExReplace(wz,"m`n)^.{" i "}")
    if (v!="")
    Text.="|" r1 "$" i "." bit2base64(v)
    }
    return, Text
    }

    ; Screenshot and retained as the last screenshot.

    ScreenShot(x1:="", y1:="", x2:="", y2:="")
    {
    if (x1+y1+x2+y2="")
    n:=150000, x:=y:=-n, w:=h:=2*n
    else
    x:=(x1<x2 ? x1:x2), y:=(y1<y2 ? y1:y2)
    , w:=Abs(x2-x1)+1, h:=Abs(y2-y1)+1
    xywh2xywh(x,y,w,h,x,y,w,h,zx,zy,zw,zh)
    GetBitsFromScreen(x,y,w,h,1,zx,zy,zw,zh)
    }

    ; Get the RGB color of a point from the last screenshot.
    ; If the point to get the color is beyond the range of
    ; Screen, it will return White color (0xFFFFFF).

    ScreenShot_GetColor(x,y)
    {
    bits:=GetBitsFromScreen(0,0,0,0,0,zx,zy,zw,zh)
    return, (xzx+zw-1 or yzy+zh-1 or !bits.1)
    ? “0xFFFFFF” : Format(“0x{:06X}”,NumGet(bits.1
    +(y-zy)*bits.2+(x-zx)*4,”uint”)&0xFFFFFF)
    }

    ; Identify a line of text or verification code
    ; based on the result returned by FindText()
    ; Return Association array {ocr:Text, x:X, y:Y}

    OcrOK(ok, offsetX:=20, offsetY:=20)
    {
    ocr_Text:=ocr_X:=ocr_Y:=min_X:=””
    For k,v in ok
    x:=v.1
    , min_X:=(A_Index=1 or xmax_X ? x : max_X)
    While (min_X!=”” and min_X<=max_X)
    {
    LeftX:=""
    For k,v in ok
    {
    x:=v.1, y:=v.2, w:=v.3, h:=v.4
    if (xoffsetY
    Continue
    ; Get the leftmost X coordinates
    if (LeftX=”” or xoffsetX ? “*”:””) . LeftOCR
    ; Update min_X for next search
    min_X:=LeftX+LeftW
    }
    return, {ocr:ocr_Text, x:ocr_X, y:ocr_Y}
    }

    ; Sort the results returned by FindText() from left to right
    ; and top to bottom, ignore slight height difference

    SortOK(ok, dy:=10)
    {
    if !IsObject(ok)
    return, ok
    SetFormat, IntegerFast, d
    ypos:=[]
    For k,v in ok
    {
    x:=v.x, y:=v.y, add:=1
    For k2,v2 in ypos
    if Abs(y-v2)len0 ? len1 : len0;
    //———————-
    // Generate Lookup Table
    for (j=0; j<num; j+=7)
    {
    o=o1=o2=input[j]; w2=input[j+1]; h2=input[j+2];
    for (y=0; y<h2; y++)
    {
    for (x=0; x<w2; x++)
    {
    i=(mode==3) ? y*Stride+x*4 : y*sw+x;
    if (text[o++]=='1')
    s1[o1++]=i;
    else
    s0[o2++]=i;
    }
    }
    }
    // Color Position Mode
    // This mode is not support combination lookup
    // only used to recognize multicolored Verification Code
    if (mode==3)
    {
    c=(c/w1)*Stride+(c%w1)*4;
    sx1=sx+sw-w1; sy1=sy+sh-h1;
    for (y=sy; y<=sy1; y++)
    {
    for (x=sx; x<=sx1; x++)
    {
    o=y*Stride+x*4; e1=err1; e0=err0;
    j=o+c; rr=Bmp[2+j]; gg=Bmp[1+j]; bb=Bmp[j];
    for (i=0; i<max; i++)
    {
    if (in && (–e1)<0)
    goto NoMatch3;
    }
    if (i<len0)
    {
    j=o+s0[i]; r=Bmp[2+j]-rr; g=Bmp[1+j]-gg; b=Bmp[j]-bb;
    if (3*r*r+4*g*g+2*b*b<=n && (–e0)<0)
    goto NoMatch3;
    }
    }
    allpos[ok++]=y<=allpos_max)
    goto Return1;
    NoMatch3:
    continue;
    }
    }
    goto Return1;
    }
    // Generate Two Value Image
    o=sy*Stride+sx*4; j=Stride-4*sw; i=0;
    if (mode==0) // Color Mode
    {
    rr=(c>>16)&0xFF; gg=(c>>8)&0xFF; bb=c&0xFF;
    for (y=0; y<sh; y++, o+=j)
    for (x=0; x<sw; x++, o+=4, i++)
    {
    r=Bmp[2+o]-rr; g=Bmp[1+o]-gg; b=Bmp[o]-bb;
    ss[i]=(3*r*r+4*g*g+2*b*b<=n) ? 1:0;
    }
    }
    else if (mode==1) // Gray Threshold Mode
    {
    c=(c+1)*128;
    for (y=0; y<sh; y++, o+=j)
    for (x=0; x<sw; x++, o+=4, i++)
    ss[i]=(Bmp[2+o]*38+Bmp[1+o]*75+Bmp[o]*15<c) ? 1:0;
    }
    else if (mode==2) // Gray Difference Mode
    {
    for (y=0; y<sh; y++, o+=j)
    {
    for (x=0; x>7;
    ss[i]=0;
    }
    }
    sx1=sw-2; sy1=sh-2;
    for (y=1; y<=sy1; y++)
    for (x=1; xj || gs[i+1]>j
    || gs[i-sw]>j || gs[i+sw]>j
    || gs[i-sw-1]>j || gs[i-sw+1]>j
    || gs[i+sw-1]>j || gs[i+sw+1]>j )
    ss[i]=1;
    }
    }
    else // (mode==4) Color Difference Mode
    {
    r=(c>>16)&0xFF; g=(c>>8)&0xFF; b=c&0xFF;
    rr=(n>>16)&0xFF; gg=(n>>8)&0xFF; bb=n&0xFF;
    r_min=r-rr; g_min=g-gg; b_min=b-bb;
    r_max=r+rr; g_max=g+gg; b_max=b+bb;
    for (y=0; y<sh; y++, o+=j)
    for (x=0; x=r_min && r=g_min && g=b_min && b<=b_max) ? 1:0;
    }
    }
    // Start Lookup
    sx1=sw-w1; sy1=sh-h1;
    for (y=0; y<=sy1; y++)
    {
    for (x=0; x<=sx1; x++)
    {
    o=y*sw+x; e1=err1; e0=err0;
    if (e0==len0)
    {
    for (i=0; i<len1; i++)
    if (ss[o+s1[i]]!=1 && (–e1)<0)
    goto NoMatch1;
    }
    else
    {
    for (i=0; i<max; i++)
    {
    if (i<len1 && ss[o+s1[i]]!=1 && (–e1)<0)
    goto NoMatch1;
    if (i<len0 && ss[o+s0[i]]!=0 && (–e0)7)
    {
    x1=x+w1-1; y1=y-offsetY; if (y1<0) y1=0;
    for (j=7; j<num; j+=7)
    {
    o2=input[j]; w2=input[j+1]; h2=input[j+2];
    len21=input[j+3]; len20=input[j+4];
    err21=input[j+5]; err20=input[j+6];
    sx2=sw-w2; i=x1+offsetX; if (i<sx2) sx2=i;
    sy2=sh-h2; i=y+offsetY; if (i<sy2) sy2=i;
    for (x2=x1; x2<=sx2; x2++)
    {
    for (y2=y1; y2<=sy2; y2++)
    {
    o1=y2*sw+x2; e1=err21; e0=err20;
    for (i=0; i<len21; i++)
    {
    if (ss[o1+s1[o2+i]]!=1 && (–e1)<0)
    goto NoMatch2;
    }
    if (e0!=len20)
    {
    for (i=0; i<len20; i++)
    if (ss[o1+s0[o2+i]]!=0 && (–e0)<0)
    goto NoMatch2;
    }
    goto MatchOK;
    NoMatch2:
    continue;
    }
    }
    goto NoMatch1;
    MatchOK:
    x1=x2+w2-1;
    }
    }
    //——————
    allpos[ok++]=(sy+y)<=allpos_max)
    goto Return1;
    // Clear the image that has been found
    for (i=0; i<len1; i++)
    ss[o+s1[i]]=0;
    NoMatch1:
    continue;
    }
    }
    Return1:
    return ok;
    }

    */

    ;================= The End =================

    F11::
    MsgBox,按F12切换开关,F8切换旋转`n `n仅为1920*1080分辨率制作。且界面需按以下说明调节。`n按O打开游戏设置`n游戏/界面/无视因分辨率对界面大小的调节打√,界面大小调整为95。`n图像/画面亮度调节为50。`n视频教程B站搜索“飘渺闪电”
    return

    菜单:
    Menu,Tray,NoStandard
    Menu,Tray,DeleteAll
    Menu,Tray,Add,&暂停/启用,zt
    Menu,Tray,Add,&设置,用户界面
    Menu,Tray,Add,&退出,tc

    用户界面:
    Gui, Add, Text, x10 y32 w80 h20 +Center, 打怪快捷键
    Gui, Add, Text, x30 y10 w100 h20 +Center, F11查看简要说明
    Gui, Add, Text, x10 y55 w130 h20 +Center, 转圈速度,填越大越慢
    Gui, Add, Text, x20 y77 w130 h20 , 如200~2000
    Gui, Add, Edit, x85 y76 w50 h20 Lowercase vzq -Multi, %zq%
    Gui, Add, Edit, x85 y30 w50 h20 Lowercase vtj -Multi, %tj%
    Gui, Add, Button, x50 y105 w70 h30 g确定, 确定
    ; Generated using SmartGuiXP Creator mod 4.3.29.0
    Gui, Show, Center w150 h140, 刷勇猛
    Return

    GuiClose:
    Gui Destroy
    return

    确定:
    Gui,Submit ,NoHide
    StringReplace, tj, tj,tab,{tab},a
    IniWrite,%tj%,取色值.txt,选项,t键
    IniWrite,%zq%,取色值.txt,选项,转圈
    MsgBox 设置已保存
    return

    zt:
    Suspend,Toggle
    Pause,Toggle
    tzxh=1
    return

    tc:
    ExitApp
    return

  2. 非洲鱻鱼附体

    大佬能看看这个虚幻三的怎么改虚幻四还能接着用么

    • 弎番流水异乡人

      飞跃大佬的找字方法,你把虚幻三里面的找字内容更换成虚幻4的就行了,具体的通过findtext.ahk

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索