2009年7月21日星期二

ME基本教學 Auto Assemble(AA)

Auto Assemble Script 是CE當中非常強大的工具,相對的你也必須對組合語言有一定程度的了解,才能發揮這項有利的工具。如果完全沒有程式設計的經驗,要讓你無中生有寫出一個 AA script 的功能出來,簡直是天方夜譚,不可能的任務吧XD
雖 然自己寫不出來,但是網路上有許多熱心的朋友,幫你整理好了,你只要會基本的方法,其實也可以用的很高興。當然如果操作不順,遊戲關閉是常常有的事,最嚴 重也只是出現藍屏(BSOD),電腦當機...重開機就好了,只要有恆心跟毅力,一定能找出問題的癥結,當你能順利解決問題的剎那,那種莫名的喜悅,可能 比玩遊戲還快樂^^
讓我們用一個比較簡單的 AA script 來做範例吧....滑鼠控制人物


這 是一個比較簡短的程式,用來教學剛剛好^^,首先,要先來了解一下 AA 的基本架構,如果要放進CT檔裡面的話,一定要定義包含 [Enable] 跟 [Disable] 這兩個區段,所以,範例裡面可以發現已經有定義這兩個部分了。另外,註解的部分為兩個//,也就是//後面的文字,電腦會忽略,這是說明,要給人看的 XD,先把握這兩個原則,我們先把這段程式碼複製下來,(複製範圍就從 //滑鼠控制人物....到 [Disable]段的最後 dealloc(RushOn),)再貼到 Auto Assemble的編輯區裡。



點 AutoAssemble 的按鈕,叫出 Auto Assemble 的編輯視窗。


在編輯區按右鍵,選擇貼上剛剛複製的程式碼。



這裡就有點奇怪了= =,如果你用的瀏覽器是Firefox的話,複製貼上應該沒有問題,但是如果是IE的話,複製貼上後最後會多出一行,要把這一行刪除,或作成註解。

在最前面加上//作成註解。

選擇File-->Assign to current cheat table 便可將這段程式碼加到CT檔裡。


切換到CT分頁可以發現新增了一個 Auto assemble cheat,將這個名稱修改一下,換個能夠容易辨識的名稱,要不然每個名稱都相同,久了,你也不知道這是哪一個功能@.@



再來...先將最左邊的方塊打勾,如果程式碼沒有問題的話...那就不會有任何事發生,嗯,沒有事情就是好事情。

接下來,再增加2個位址,一個就是我們要啟動這項功能的位址,另一個就是我們要設定熱鍵開關的位址了。首先,點 Add address manually 手動加入第一個位址...先看看註解的說明

//Address:0088A11F

所以要加入的位址就是

0088a11f


再一次手動加入另一個位址, 因為我們先前已經有將滑鼠控制人物打勾了,所以Address 欄位可以填上 RushSW 即可,而 RushSW 的由來在我們插入的程式碼裡可以看到 registersymbol(RushSW) 指定了這個名稱,註解也有說明 //熱鍵控制:RushSW【value值設定1,熱鍵自設】
。如果剛剛忘了打勾...就會有錯誤發生了XD



再來就是正式啟用這項功能,這跟 無敵篇 裡使用 ZF 打勾的方式有點類似,只是這次我們要設定的是EIP,而不是ZF。




在修改暫存器內容的對話框中,要先打勾 EIP,然後才能填入 EIP 的內容。本例中要填入 MouseRushStart ,這在程式碼中的註解說明有提到,//EIP:MouseRushStart,而且程式中也可以看到 registersymbol(MouseRushStart) 指定了這個名稱,按確定後,如果遊戲沒有關閉的話,應該是成功了。

PS.我第一次做到這裡的時候,遊戲就自動關閉了,我以為是程式碼有錯誤,後來我才想到,執行遊戲後好像沒看到【嗚嗚嗚....】那個對話框,原來是忘了啟用INT1的功能= =,啟用INT1的方法請參閱
ME基本教學 [圖文] ...




到目前為止,在遊戲中完全看不到任何變化,是因為我們設定的開關還是關閉的狀態,現在將開關打開,看註解說明 //熱鍵控制:RushSW【value值設定1,熱鍵自設】,因此,先將剛剛加入的開關位址 Value 值改成1看看效果怎樣?



回到遊戲中,就可以看到人物角色會隨滑鼠指標移動位置^^。

警告:不要手賤去打怪,也不要檢東西,必鎖!!

要停止的話,將開關位址 Value 值再次更改為1就好了。




確定這項功能可以正常使用後,我們就設定一個熱鍵方便使用,首先,要先把開關位址前方的 Frozen 方塊打勾,如果還沒打勾,Set a hotkey 這功能還無法使用。



先打勾,就可選取 Set a hotkey 這項功能了。




在設定熱鍵的對話框中,在第一個欄位設定鍵盤上的按鍵,例如,我是設定【F2】這個按鍵,就將游標設定到這個欄位後,按鍵盤上的【F2】鍵,而不是輸入 F 2,當然你也可以加上組合鍵【Ctrl】或【Shift】,這就是你在遊戲中開啟這項功能的開關。Try Try See^^


開關只是暫時關閉而已,還是佔用一個DR,如果想要完全取消這項功能的話,就必須將這個DR刪除,點選 BreakPointList ,可以列出目前使用中的 Break Point 列表,最多只能有4個,選取不想使用的項目,按 Delete 將它刪除吧。

沒有留言:

發佈留言