ta0926 發表於 2015-5-28 11:00:43

gms V162.1

//g162疾風
//無敵,走.跳怪跟隨,怪不擊退,走怪掉落,攻擊不停,紅點斷線
//左趴,設定定點,啟動走怪掉落,紅點斷線
//右趴,         停止走怪掉落,紅點斷線

alloc(MyLR,2048)
registersymbol(MyLR)
alloc(MyPt1,4)
registersymbol(MyPt1)
label(GoLRback)
label(GoLR)
label(GoLR2)
label(GoLR5)
label(NoBack)
label(MyLR1)
label(MyLRend)
label(nokb)
label(nokb1)
label(JmpLR1)
label(JmpLR)
label(JmpLRback)
label(shunyi)
label(Right)
label(Left)
label(MobEnd)
label(GoLR1)
label(GoLR3)
label(GoLR6)
label(x03)
label(x04)
label(x05)
alloc(ra,4)
alloc(rx,4)

MyPt1:
dd 0

01E03CE4:
DD MyLR

//================================
MyLR:
        cmp ,00AD4F29        //怪不擊退
        je nokb1
        cmp ,0150AF77        //無敵
        je shunyi
        cmp ,016048E1        //跳怪跟隨
        je JmpLR1
        cmp ,0160409C        //走怪跟隨
        je MyLR1
        cmp ,015f36dc        //走怪掉落,015FA231
        jne MyLRend
        cmp ,1
        jne MyLRend
        cmp ,015FA231
        jne MyLRend
        mov ,NoBack
        jmp MyLRend
MyLR1:
        mov ,GoLR
        jmp MyLRend
MyLRend:
        cmp ,0
        je x05
        push eax
        mov eax,
        mov eax,
        cmp eax,b                //左趴,啟動
        jne x04
        mov ,1
        mov eax,
        mov eax,
        mov ,eax
        jmp x03
x04:
        cmp eax,a                //右趴,off
        jne x03
        mov ,0
        jmp x03
x03:
        mov eax,      //攻不停
        mov , 0
        mov eax,      //放不停
        mov , 0
        pop eax
        cmp ,1
        jne x05
        push eax
        mov eax,        //紅點斷線
        cmp ,0
        pop eax
        jne 00000000
x05:
        jmp 00d37dd0
//================================
shunyi:
        mov ,0150e07b
        jmp MyLRend
//================================
NoBack:
        cmp ,01bf1ae0
        jne 015FA231
        mov eax,
        mov eax,
        push 00
        lea ecx,
        push ecx
        lea edx,
        push edx
        mov ecx,esi
        call 015f2120
Left:
Right:
MobEnd:
        jmp 015fa245
//================================
nokb1:
        mov ,nokb
        jmp MyLRend
nokb:
        mov edi,
        mov ,eax
        cmp edi,01
        mov ecx,
        call 00aab080
        jmp 00AD4F48                //jnl next
//================================
JmpLR1:
        mov ,JmpLR
        jmp MyLRend
JmpLR:
        mov eax,
        cmp eax,
        mov eax,2
        jg JmpLRback
        mov eax,3
JmpLRback:
        jmp 016048E1
//================================
GoLR:
        add ,bp
        mov ecx,eax
        mov eax,aaaaaaab
        mul ecx
        shr edx,1
        mov ,ecx
        lea edx,
        sub ecx,edx
        sub ecx,ebp
        mov ,ebp
        push ecx
        inc ecx
GoLR3:
GoLR1:
        mov eax,
        cmp ecx, 1        //0左1停2右
        je GoLR5
        jg GoLR2
        cmp eax,
        mov eax,5
        jl GoLRback
        mov eax,1
        jmp GoLRback
GoLR2:
        cmp eax,
        mov eax,5
        jg GoLRback
        mov eax,1
        jmp GoLRback
GoLR5:
        mov eax,1
GoLRback:
        push eax
        mov ecx,
        call 004aa820
GoLR6:
        mov ecx,
        jmp 016040C8
//============================


01E03CE4:
dd 00d37dd0
dealloc(MyLR)
unregistersymbol(MyLR)
dealloc(MyPt1)

ta0926 發表於 2015-5-28 11:00:59

//g162寵吸

registersymbol(PetGetItem)
alloc(PetGetItem,1024)
alloc(r0c,4)
alloc(r10,4)
label(x001)
label(x009)
label(x016)
label(x017)

PetGetItem:
        cmp ,006F0BFE
        jne PtInRect
        push eax
        mov eax,        //紅點
        cmp ,0
        pop eax
        jne PtInRect
x001:
        push edi
        push ebx
        mov edi,    //ebp+0c= item X
        mov ebx,
        mov ,ebx
        mov ebx,
        mov ,ebx
        mov ,eax       //ebx=pet x, eax=pet y
        mov ,edx    //= item Y
        pop ebx
        pop edi
        add esp,10
        cmp dword ptr ,00
        mov eax,7fffffff
        jne x009
        mov eax,
x009:
        mov ecx,
        push eax
        call 0148b6c0
        test eax,eax
        jne 006f0c31
        cmp dword ptr ,00
        jne x016
        mov ecx,
        push ecx
        mov ecx,
        call 0099a750
        mov edi,eax
        jmp x017
x016:
        xor edi,edi
x017:
        push 00
        push 00
        push 00
        push 00
        push 00
        lea edx,
        push 10
        push edx
        call 0063cb80
        mov ecx,
        add esp,1c
        push eax
        mov eax,
        push edi
        push eax
        push ecx
        mov ecx,
        call 00bc2330
        push edi
        push ebx
        mov edi,    //ebp+0c= item X
        mov ebx,
        mov ,ebx
        mov ebx,
        mov ,ebx
        pop ebx
        pop edi
        jmp 006f0cbc

01e2f89c:
dd PetGetItem       


01e2f89c:
dd PtInRect
unregistersymbol(PetGetItem)
dealloc(PetGetItem)

發表於 1970-1-1 08:00:00

ta0926 發表於 2015-5-28 11:02:07

//g162笨怪

alloc(Stupid,256)
registersymbol(Stupid)
label(S4)
//================================
Stupid:
        cmp ,016029FE
        jne RtlGetLastWin32Error
        mov ,S4
        jmp RtlGetLastWin32Error
S4:
        xor edi,edi
        jmp 01602a02

//================================
019EA194:
DD Stupid


019EA194:
DD RtlGetLastWin32Error

dealloc(Stupid)
unregistersymbol(Stupid)

ta0926 發表於 2015-5-28 11:03:09

//g162超級笨怪

alloc(MobStupid,64)
registersymbol(MobStupid)
label(S2)
//================================
MobStupid:
        cmp ,00AEEF63
        je S2
        cmp ,00AEEFD9
        jne IsRectEmpty
        mov ,00aef472
        jmp IsRectEmpty
S2:
        mov ,00aef472
        jmp IsRectEmpty

//================================
019ea3a8:
DD MobStupid


019ea3a8:
DD IsRectEmpty

dealloc(MobStupid)
unregistersymbol(MobStupid)

p3745283 發表於 2019-6-19 21:27:51

這要怎麼用有一個解答嗎?
頁: [1]
查看完整版本: gms V162.1