冰楓論壇

標題: gms V162.1 [打印本頁]

作者: ta0926    時間: 2015-5-28 11:00
標題: gms V162.1
//g162疾風
//無敵,走.跳怪跟隨,怪不擊退,走怪掉落,攻擊不停,紅點斷線
//左趴,設定定點,啟動走怪掉落,紅點斷線
//右趴,         停止走怪掉落,紅點斷線
[enable]
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 [esp+38],00AD4F29        //怪不擊退
        je nokb1
        cmp [esp+2c],0150AF77        //無敵
        je shunyi
        cmp [esp+2c],016048E1        //跳怪跟隨
        je JmpLR1
        cmp [esp+2c],0160409C        //走怪跟隨
        je MyLR1
        cmp [esp+30],015f36dc        //走怪掉落,015FA231
        jne MyLRend
        cmp [ra],1
        jne MyLRend
        cmp [ebp+4],015FA231
        jne MyLRend
        mov [ebp+4],NoBack
        jmp MyLRend
MyLR1:
        mov [esp+2c],GoLR
        jmp MyLRend
MyLRend:
        cmp [01E1ABD4],0
        je x05
        push eax
        mov eax,[01E1ABD4]
        mov eax,[eax+8b4]
        cmp eax,b                //左趴,啟動
        jne x04
        mov [ra],1
        mov eax,[01E1ABD4]
        mov eax,[eax+D0f0]
        mov [rx],eax
        jmp x03
x04:
        cmp eax,a                //右趴,off
        jne x03
        mov [ra],0
        jmp x03
x03:
        mov eax,[01E1ABD4]      //攻不停
        mov [eax+bf84], 0
        mov eax,[01E1ABD4]      //放不停
        mov [eax+bf94], 0
        pop eax
        cmp [ra],1
        jne x05
        push eax
        mov eax,[01e1f2a0]        //紅點斷線
        cmp [eax+2c],0
        pop eax
        jne 00000000
x05:
        jmp 00d37dd0
//================================
shunyi:
        mov [esp+2c],0150e07b
        jmp MyLRend
//================================
NoBack:
        cmp [esi],01bf1ae0
        jne 015FA231
        mov eax,[esi]
        mov eax,[eax+08]
        push 00
        lea ecx,[ebp+08]
        push ecx
        lea edx,[esp+20]
        push edx
        mov ecx,esi
        call 015f2120
Left:
Right:
MobEnd:
        jmp 015fa245
//================================
nokb1:
        mov [esp+38],nokb
        jmp MyLRend
nokb:
        mov edi,[esp+00000094]
        mov [esi+0000008c],eax
        cmp edi,01
        mov ecx,[esp+14]
        call 00aab080
        jmp 00AD4F48                //jnl next
//================================
JmpLR1:
        mov [esp+2c],JmpLR
        jmp MyLRend
JmpLR:
        mov eax,[rx]
        cmp eax,[esi+810]
        mov eax,2
        jg JmpLRback
        mov eax,3
JmpLRback:
        jmp 016048E1
//================================
GoLR:
        add [esi+00000488],bp
        mov ecx,eax
        mov eax,aaaaaaab
        mul ecx
        shr edx,1
        mov [esi+000004ac],ecx
        lea edx,[edx+edx*2]
        sub ecx,edx
        sub ecx,ebp
        mov [esi+000004b4],ebp
        push ecx
        inc ecx
GoLR3:
GoLR1:
        mov eax,[rx]
        cmp ecx, 1        //0左1停2右
        je GoLR5
        jg GoLR2
        cmp eax,[esi+810]
        mov eax,5
        jl GoLRback
        mov eax,1
        jmp GoLRback
GoLR2:
        cmp eax,[esi+810]
        mov eax,5
        jg GoLRback
        mov eax,1
        jmp GoLRback
GoLR5:
        mov eax,1
GoLRback:
        push eax
        mov ecx,[esi+000007c4]
        call 004aa820
GoLR6:
        mov ecx,[esi+000007c0]
        jmp 016040C8
//============================

[disable]
01E03CE4:
dd 00d37dd0
dealloc(MyLR)
unregistersymbol(MyLR)
dealloc(MyPt1)
作者: ta0926    時間: 2015-5-28 11:00
//g162寵吸
[enable]
registersymbol(PetGetItem)
alloc(PetGetItem,1024)
alloc(r0c,4)
alloc(r10,4)
label(x001)
label(x009)
label(x016)
label(x017)

PetGetItem:
        cmp [esp],006F0BFE
        jne PtInRect
        push eax
        mov eax,[01e1f2a0]        //紅點
        cmp [eax+2c],0
        pop eax
        jne PtInRect
x001:
        push edi
        push ebx
        mov edi,[ebp+0c]    //ebp+0c= item X
        mov ebx,[edi]
        mov [r0c],ebx
        mov ebx,[edi+04]
        mov [r10],ebx
        mov [edi],eax       //ebx=pet x, eax=pet y
        mov [edi+04],edx    //= item Y
        pop ebx
        pop edi
        add esp,10
        cmp dword ptr [esi+40],00
        mov eax,7fffffff
        jne x009
        mov eax,[esi+44]
x009:
        mov ecx,[01e1abd4]
        push eax
        call 0148b6c0
        test eax,eax
        jne 006f0c31
        cmp dword ptr [esi+40],00
        jne x016
        mov ecx,[esi+44]
        push ecx
        mov ecx,[01e1aaa0]
        call 0099a750
        mov edi,eax
        jmp x017
x016:
        xor edi,edi
x017:
        push 00
        push 00
        push 00
        push 00
        push 00
        lea edx,[ebp-38]
        push 10
        push edx
        call 0063cb80
        mov ecx,[ebp+0c]
        add esp,1c
        push eax
        mov eax,[esi+30]
        push edi
        push eax
        push ecx
        mov ecx,[ebp+08]
        call 00bc2330
        push edi
        push ebx
        mov edi,[ebp+0c]    //ebp+0c= item X
        mov ebx,[r0c]
        mov [edi],ebx
        mov ebx,[r10]
        mov [edi+04],ebx
        pop ebx
        pop edi
        jmp 006f0cbc

01e2f89c:
dd PetGetItem       

[disable]
01e2f89c:
dd PtInRect
unregistersymbol(PetGetItem)
dealloc(PetGetItem)

作者: ta0926    時間: 2015-5-28 11:02
//g162笨怪
[enable]
alloc(Stupid,256)
registersymbol(Stupid)
label(S4)
//================================
Stupid:
        cmp [esp+24],016029FE
        jne RtlGetLastWin32Error
        mov [esp+24],S4
        jmp RtlGetLastWin32Error
S4:
        xor edi,edi
        jmp 01602a02

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

[disable]
019EA194:
DD RtlGetLastWin32Error

dealloc(Stupid)
unregistersymbol(Stupid)
作者: ta0926    時間: 2015-5-28 11:03
//g162超級笨怪
[enable]
alloc(MobStupid,64)
registersymbol(MobStupid)
label(S2)
//================================
MobStupid:
        cmp [esp],00AEEF63
        je S2
        cmp [esp+f0],00AEEFD9
        jne IsRectEmpty
        mov [esp+f0],00aef472
        jmp IsRectEmpty
S2:
        mov [esp],00aef472
        jmp IsRectEmpty

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

[disable]
019ea3a8:
DD IsRectEmpty

dealloc(MobStupid)
unregistersymbol(MobStupid)


作者: p3745283    時間: 2019-6-19 21:27
這要怎麼用有一個解答嗎?





歡迎光臨 冰楓論壇 (https://bingfong.com/) Powered by 冰楓