《建造中國長城》修改器制作教程圖文解說
一、改派、博派之爭。
與現(xiàn)在的主機(jī)黨之爭類似,可能有很多70、80后玩家早期都曾經(jīng)歷過另一種派系之爭:改派、博派之爭;厥淄拢(dāng)年兩派之爭如今看起來也許稍嫌意氣,但也充滿了許多快樂的記憶。在當(dāng)年米只需兩毛左右一斤、肉也只需兩塊左右就能買到一斤的時(shí)代,還沒有什么網(wǎng)吧,有的只是電腦游戲室。即便是物價(jià)如此之低的時(shí)代,但電腦游戲每個(gè)小時(shí)的價(jià)格卻高達(dá)4、5元。那時(shí)需苦苦積攢一個(gè)月左右的零花錢、早餐錢才能玩上一個(gè)小時(shí)左右。就在這樣“艱苦”的歲月里慢慢從DOS時(shí)代過渡到WIN95時(shí)代,這期間本人也慢慢從一個(gè)博派轉(zhuǎn)向改派。這一切都要從遇上當(dāng)時(shí)的修改神器“整人專家FPE5.0”開始說起(另一存檔修改利器PCTools由于年代太早就直接跳過了)。
當(dāng)時(shí)的修改神器FPE5.0
在本人所處的小鎮(zhèn),電腦在當(dāng)時(shí)人們的心目中無疑是高科技產(chǎn)品,而如此高的消費(fèi)也證明了這點(diǎn)。為了能在有限的時(shí)間里,充分發(fā)揮每一元錢的價(jià)值,每次上機(jī)之前都會精打細(xì)算,爭取在有限的時(shí)間里,挖掘更多的游戲樂趣。然而當(dāng)時(shí)信息閉塞、資料匱乏,想要精通或者打通一款游戲還是非常難的。這時(shí),本人和朋友同時(shí)玩上了經(jīng)典RPG作品——《仙劍奇?zhèn)b傳》,而且攻略進(jìn)度差不多。不過,這位朋友的家庭條件要好上不少,漸漸差距越拉越大。直到這一天遇上另一位不認(rèn)識的玩家也在玩這款游戲。不同的是,只見他幾番神秘操作之下,主角李逍遙立刻變?yōu)?9級帶一身頂級裝備在游戲中大殺四方。這便是FPE帶給本人的第一次震撼。
第二次是在另一家店,同樣是與這位朋友一起攻略另一經(jīng)典作品——《炎龍騎士團(tuán)2:黃金城之謎》,同樣看見一些玩家在幾番操作之下,游戲里的角色也都變成最高等級加頂級裝備。由于這家店的老板也喜歡鉆研游戲方面的修改技術(shù),不僅會主動教想學(xué)FPE操作的人,還會很貼心地將一些重要資料(如屬性對照表、物品代碼表等等)打印出來,免費(fèi)供大家參考使用。正是在這樣的機(jī)緣巧合之下,本人“義無反故”的一腳踏入修改之門,堅(jiān)決地成為了改派中的一份子,直到現(xiàn)在。更何況,掌握這樣的技術(shù)是可以實(shí)實(shí)在在省錢的。得益于此,當(dāng)時(shí)的我才能用比其他人少得多的錢打通更多的游戲。
自從學(xué)會FPE的操作后,這兩款游戲的進(jìn)度已遠(yuǎn)超我那位朋友了,不過意外的是,本人的這位朋友也許是不忿進(jìn)度被我超過,以后毅然決然地走了另一條路,從此徹底成為了一名博派玩家。不禁讓人感嘆世事變化無常。隨著操作系統(tǒng)的不斷更新,更多更強(qiáng)大的修改工具也不斷出現(xiàn)。FPE2000、FPE2001、東方快車、GameMaster以及當(dāng)時(shí)號稱最強(qiáng)的金山游俠等,直至遇上Cheat Engine(以下簡稱CE)。
現(xiàn)今最好的PC游戲動態(tài)修改軟件,沒有之一。
參加工作多年后才擁有了自己的電腦,接觸CE并認(rèn)識到CE的強(qiáng)大時(shí),CE已更新到5.6.1版了。等開始學(xué)習(xí)CE的各項(xiàng)操作時(shí),6.0版也已發(fā)布多日了。到真正把CE掌握到一定水平后,CE6.2版都已不知發(fā)布多久了。但CE的強(qiáng)大只有親自使用過的人才能真正體會,為了讓更多喜歡修改卻不知從何入手的朋友能盡早地加入進(jìn)來,體驗(yàn)修改帶來的別樣樂趣,從而發(fā)布一系列相關(guān)教程及心得,也算作為當(dāng)年的改派一族為如今的修改界貢獻(xiàn)一份棉薄之力吧。
關(guān)于教程的幾點(diǎn)說明
1.如果你還從來沒有接觸過CE,那么有必要先去補(bǔ)點(diǎn)課,否則這教程理解起來會有些困難。匯編基礎(chǔ)推薦兩種:一是《中山大學(xué) 匯編語言視頻教程》;二是魚C工作室的《零基礎(chǔ)入門學(xué)習(xí)匯編語言》視頻教程。CE入門教程推薦參考導(dǎo)航帖與《由淺入深學(xué)游戲修改》并結(jié)合CE自帶的練習(xí)軟件實(shí)踐各種操作。
2.本人所發(fā)教程只會涉及PC平臺上的單機(jī)游戲(以后會增加模擬器部分),像各種網(wǎng)游外掛、頁游、Flash游戲、RPG Maker(極少部分日式游戲會例外)等,請出門左轉(zhuǎn)其它論與專區(qū)。不過,其中部份技巧是相通的,即便以后想做外掛這方面的知識還是需要掌握的。
3.想借這次的視頻教程推廣一下ASS特效字幕,由于硬件原因本人的視頻教程只能采用視頻加字幕的方式(無語音)。本人搜集視頻教程這么長時(shí)間,還從來沒看到有人配過字幕,更名別提特效字幕了。本人愿開此先河,以吸引更多的人發(fā)布帶字幕的教程或游戲解說、攻略視頻。
4.本人的視頻教程除了爭取還原所有功能從無到有的過程外,更注重的是知其然還需知其所以然(即:多問為什么要這么做),這樣才更能讓人學(xué)到東西。而其中有些瑣碎的操作不適合用文字表述,因此,兩者結(jié)合起來觀看效果最好。同時(shí)也是拋磚引玉,期待其他高手也能發(fā)布類似的教程。
因發(fā)帖字?jǐn)?shù)限制,特分兩次發(fā)布。OK,教程正式開始。
游戲名稱:[PC_SIM].[建造中國長城 綠色漢化版].Building.the.Great.Wall.of.ChinaCN
對應(yīng)進(jìn)程:Init.exe
由于本人配制的原因,一向?qū)δM經(jīng)營類的游戲很感興趣。做這次教程的動機(jī)是看到銀河漫步發(fā)布了此游戲的修改器和游戲截圖,畫風(fēng)還算可愛,容量也不大,修改器的功能也值得研究一下,拿來練手非常適合。一番探索之下,收獲不小。因此,第一部視頻教程就這樣出爐了。這次教程除了講解修改器上的功能外,還會講解本人研究出來的其它功能。
先來看看修改器都有些什么功能。
修改器截圖:
從這些功能上來看,應(yīng)該都是CEAA腳本。但本人的習(xí)慣是從最直觀的數(shù)字型數(shù)據(jù)入手以打開突破口,因此,先從查找蘋果、石塊等資源的臨時(shí)地址開始。鑒于過去修改同類游戲的經(jīng)驗(yàn),這類數(shù)據(jù)一般都可用“4字節(jié)+精確搜索”找到地址。一番嘗試過后找到了蘋果的臨時(shí)地址。接下來右鍵“查找改寫的地址”,回到游戲使蘋果的數(shù)值減少、增加一次,得到兩條代碼。查看匯編,發(fā)現(xiàn)有的代碼上面有減法指令SUB,有的代碼上面有加法指令A(yù)DD。先把這些代碼復(fù)制保存到“表格注釋”欄備用。同時(shí),這些代碼都沒有偏移,嘗試查找指針發(fā)現(xiàn)地址太多,因此,開始嘗試以人造指針代替。
蘋果的臨時(shí)地址+改寫代碼:
重新在蘋果的臨時(shí)地址上“查找訪問的代碼”(至于為什么,視頻會有詳細(xì)講解),回到游戲后不作任何操作馬上切換到CE,得到兩條代碼,同樣先保存到“表格注釋”再一一查看匯編,分析哪條適合用來做代碼注入。經(jīng)過嘗試發(fā)現(xiàn)可以使用第一條,具體過程請參考視頻教程。
有了人造指針獲取相關(guān)數(shù)據(jù)的臨時(shí)地址后,就能順藤摸瓜找出其它地址,具體過程略過,詳見視頻。該是嘗試實(shí)現(xiàn)修改器中“多倍資源”的功能了。從原理上推斷,游戲默認(rèn)每次增加的資源數(shù)量都是固定數(shù)值,想成成倍獲取就必需改寫這個(gè)數(shù)值(再次強(qiáng)調(diào)修改宗旨:大膽推理、小心求證);氐接蠥DD指令匯編窗口,以蘋果增加的那條指令寫腳本,見下圖;氐接螒蜻M(jìn)行測試,果然成功。不過,此游戲與其它游戲有些不同,此時(shí)只算成功了一小部分。至于為什么請參考視頻教程,這里也略過不提。
順便說一句,對于數(shù)值相關(guān)的修改,本人首推查找指針,如果指針難找則可用人造指針代替。從本人這么多游戲的實(shí)踐來看,指針型數(shù)據(jù)在使用過程中出錯(cuò)的機(jī)率更小,使用也更方便(前提找的指針或注入代碼要穩(wěn)定)。像這種腳本修改,如果游戲沒有做容錯(cuò)機(jī)制,很可能會造成數(shù)值變成負(fù)數(shù)或數(shù)據(jù)溢出。
多倍資源腳本說明:
由于此游戲的評價(jià)與時(shí)間相關(guān),“計(jì)時(shí)暫!惫δ芫惋@得非常重要。同樣先從查找時(shí)間的臨時(shí)地址開始。這類地址無法看到直觀的數(shù)字,借鑒同類游戲的經(jīng)驗(yàn),可優(yōu)先用“浮點(diǎn)數(shù)+模糊搜索+減少”來查找(至于為何視頻有講解)。參考其它數(shù)據(jù)的臨時(shí)地址,配合“一半一半鎖定法”很快就能找到相應(yīng)地址,具體過程略過。
這次同樣右鍵“查找改寫的代碼”,回到游戲等時(shí)間減少后將得到的代碼保存到“表格注釋”并查看匯編。稍稍往上便發(fā)現(xiàn)浮點(diǎn)減法指令FSUB,腳本思路就很簡單了,直接將該指令控制的地址先賦值為零,便可實(shí)現(xiàn)數(shù)值不減,從而實(shí)現(xiàn)計(jì)時(shí)暫停的功能。
計(jì)時(shí)地址+改寫代碼:
接下來實(shí)現(xiàn)一個(gè)修改器沒有的功能:瞬間收集或建造。有了“計(jì)時(shí)暫!钡慕(jīng)驗(yàn),這次要查找的建造時(shí)間或收集時(shí)間與之類似,具體過程請參考視頻。這里主要提示一點(diǎn),計(jì)時(shí)是減少,而建造或收集卻是增加。腳本說明見圖。
瞬間收集或建造腳本說明:
好了,本教程到此該結(jié)束了。至于修改器的最后一個(gè)功能——一擊殺龍就當(dāng)作業(yè)留給大家吧,請大家自行嘗試以便鞏固學(xué)習(xí)成果。此外,有心加強(qiáng)學(xué)習(xí)的朋友還可嘗試挑戰(zhàn)一下另一強(qiáng)大功能——不出家門實(shí)現(xiàn)建造或收集。提示一下:可參考Lyzzb新手進(jìn)階視頻教程之《新手進(jìn)階四:舍近取遠(yuǎn)之瘋狂農(nóng)場快速買賣》。
最后還要提醒一點(diǎn),由于本教程使用了ASS特效字幕,為了保證視頻的完整效果請使用本人提供的PotPlayer播放器,并且按照里面所附帶的說明文件修改相應(yīng)的設(shè)置。此播放器為綠色漢化版,解壓即用,不會對其它視頻播放相關(guān)的軟件造成干擾,請放心使用。