主題

【遊戲改造】當聖女墮落之時:《聖眼之翼》改著玩

愛天使亞夜 | 2021-06-27 17:37:41 | 巴幣 114 | 人氣 164

這裡是亞夜,
《聖眼之翼》好好玩。
既然遊戲沒有續作,
那我們就自己來搞點樂子。

首先我們要先準備一個軟體叫作「Cheat Engine」,
當然你要使用「Game Master」也可以啦,
功能是一樣的,
總之就是能讓你修改記憶體數值的軟體。

今天的重點是要講解「如何修改單位能力」,
至於改錢什麼的那個太簡單了對吧(攤手


首先當然就是用Cheat Engine去針對我們的遊戲程式來做記憶體搜尋,
如果你是使用虛擬機(畢竟20年前的遊戲了,有相容性問題),
那就針對虛擬機做搜尋。
例如敝人使用Qemu,
那就對Qemu搜尋記憶體即可。



接著打開記憶體列表,
然後針對你要修改的角色狀態去做搜尋。
那麼在搜尋之前,
自然就得先知道格式才能對吧?
因此現在要先說明角色能力在記憶體內的格式,
他會長這個樣子:


具體來說是這樣的,
一名角色的記錄範圍為8行,
每行16個位元組又能4個一組分成4個部分,
接下來敝人要來解釋一下各欄位的功能。

在這之前呢,
我們先講解一下這些數字本身是怎麼記錄的。
在記憶體裡面使用的是8個位元來組成1個位元組,
而1個位元只能是0或1,
因此8個位元就能表示00000000~11111111共256個數字。
為了方便起見呢,
我們將4個位元共計16個數字以0~F表示成一個16進位的數字,
因此一個位元組我們就能簡單用2個數字來表示,
分別是00~FF這樣。
那麼如果我要表示超過256的數字怎麼辦呢?
在記憶體中的表示方式就是跳下一位。
換句話說,
256寫成16進位是100,
但一個位元組只能表示2個數字,
因此那個1就會跑到下一個位元組去,
變成00 01的方式表示。
這點是非常重要的要先記好,
因為如果你輸入01 00的話這樣只代表1而不是256,
這影響可是差很多的唷。

等級:
 只能01~05,超過會當機。
 01=入伍新兵
 02=見習士兵
 03=正規士兵
 04=戰場勇士
 05=百戰英雄

經驗值:
 只能00~63,超過不知道會怎樣。
 系統上,當結算時加算超過100(16進位中是64)時會歸零,
 然後等級提升1級後加算能力值上去。
 但如果等級5的話就會固定是00而不會再加算了。

擊殺數:
 你自己填一個喜歡的數字,破萬都可以。
 系統上,當結算時加算超過100時會隨機獲得稱號,
 如果你一開始就改超過100那當然就無法觸發獲得稱號的條件。

稱號:
 只能00~07,但最好不要超過05。
 00就是沒有稱號,
 其餘數字則根據角色職業不同對應不同的稱號。
 有些職業只有5個稱號所以06會出現亂碼;
 而有些職業有7個稱號。
 總之你可以自己挑一個喜歡的稱號。

血:
 血量你自己設定就好,
 因為有4組16位元,理論上你要設定到42億都沒有問題,
 但顯示上會不會出事敝人不敢保證。
 可以確定的是,設定到10000以內是OK的,
 只是顯示上會超過欄位而已。

魔:
 一樣是你自己設定就好,
 但除了艾絲特、僧侶、魔法師以外,
 設定魔量沒有任何意義就是了。

攻擊力:
 一樣是你自己設定就好,
 原則上設定到255(FF 00)基本上除了猶正都是一擊殺,
 考量到護甲會減半傷害那你設定511(FF 01)就是了。
 當然,
 設定到砍什麼都一下死這遊戲大概也沒什麼好玩的了吧?

防禦力:
 一樣是你自己設定就好,
 敵人最強攻擊力是猶正的32,
 因此防禦力32(16進位:20)以上基本上被什麼打都是1滴。
 而具有方向判定的敵方攻擊最強是帝國指揮官的18攻,
 如果你擔心被指揮官背刺會痛的話那就設定到72(16進位:48)也就夠了,
 (背面防禦仍有四分之一)
 除非你用自己的火炮兵打自己人那另當別論。

攻速:
 具體來說是攻擊延遲,
 也就是說從「攻擊動畫發生」到「攻擊判定出現」為止的時間間隔,
 因此數值越小攻速越快。
 理論上0是最快,
 但實際上受到「動畫」的制約,
 改太小會導致傷害判定太早出現而導致揮空的狀態(理由後述),
 並且實際上你攻擊動畫還沒播完也是不會進行下一刀的。
 話雖如此,
 各單位的預設值都比動畫還長,
 所以把數值改小攻速一樣會變快就是了。

攻擊硬直:
 角色揮刀後,
 要間隔多久才能進行下一次揮刀。
 不過原本大家都夠低了,
 再改效果也不明顯。
 建議保持03~08之間即可。

跑速:
 移動速度,數字越大越快。
 偵查兵預設是500(F4 01),
 艾絲特、萊伊、女戰士預設是400(90 01),
 翰朗、男戰士預設是375(77 01),
 利貝爾是300(2C 01),
 騎士是275(13 01),
 迪尼亞斯跟弓箭兵是250(FA 00),
 僧侶跟火炮兵是225(E1 00),
 魔法師是200(C8 00)。
 超過500的話會煞車失靈停不住愛的原地轉圈圈,
 但說實在的,
 500夠快了。

視野:
 單位是「格數」,數字越大越遠。
 偵查兵預設是20(14),
 弓箭兵、魔法師、火炮兵、迪尼亞斯預設是15(0F),
 艾絲特預設13(0D),
 翰朗、女戰士預設11(0B),
 萊伊、利貝爾、戰士、騎士預設10(0A),
 僧侶則只有9。
 你可以把艾絲特設定到255(FF),
 這樣就相當於地圖全開了。

警戒區:
 單位一樣是「格數」,數字越大越遠。
 這個功能是,
 當單位沒有收到「停止」或「移動」指令時,
 會自動上前攻擊的距離。
 預設上,
 我方所有近戰都是8、弓箭單位13,
 唯獨魔法師、僧侶、偵查兵、火炮兵是0,
 也就是說他們不會主動攻擊。

射程:
 單位可以發動攻擊的「距離」,數字越大越遠。
 近戰單位都是64(40),
 這大約是一格半的距離。
 格子的邊長大約是40,
 但角色自己佔掉1格,
 所以從格子中心算起,
 實際能攻擊到的範圍要先扣掉20左右,
 因此只能打到隔壁格。
 遠距離單位的話,
 火炮兵是640(16格),
 因此原則上看得到就轟得到。
 弓箭兵射程是560(只有迪尼亞斯是580),
 這點敵人也是一樣的,
 火炮兵射程比他們更遠2格,
 光這點差距就能欺負人家。
 魔法師則只有480(12格)。
 如果把我方近戰單位的射程改遠,
 那麼我方近戰單位就會格空揮刀。
 但是傷害判定看的是物件碰撞,
 實際上你刀根本沒砍到所以沒有半點屁用,
 這也說明了為什麼把攻速改0反而會砍不到人,
 因為傷害判定發生時刀還在你頭上呢。
 換句話說實際能改射程的只有遠距離單位而已。

盲區:
 當敵人闖進盲區時,
 則單位會後退拉開距離的距離,
 單位跟射程一樣。
 近戰單位都是0,
 廢話,都近戰了還保持距離銃三小。
 遠距離單位都是240(6格),
 但這並不代表最小射程。
 事實上,
 你把這個數值改0的話遠距離單位就沒有最小射程了,
 他們也會貼著敵人開砲,
 只是要注意的是,
 魔法師跟火炮兵貼太近發砲是會自爆的。

職業:
 職業代碼,只能00~08。
 00=女武神(艾絲特專用)
 01=戰士
 02=女戰士
 03=騎士
 04=弓箭兵
 05=魔法師
 06=僧侶
 07=偵查兵
 08=火炮兵
 如果這個單位不是英雄(艾絲特、翰朗、萊伊、迪尼亞斯、利貝爾),
 那改這個的同時也會影響到戰鬥模組。
 換句話說,
 你想提前取得火炮兵只需要隨便拿個新兵改成08就好了。
 但如果是英雄單位的話改了不是沒效就是當機。

頭像:
 頭像代碼:只能是00~22。
 00=艾絲特
 01=萊伊
 02=迪尼亞斯
 03=翰朗
 04=利貝爾
 05=猶正(正常版)
 06=歐普里奧
 07=王國騎士
 08=男戰士
 09=女戰士
 0A=僧侶
 0B=王國魔法師
 0C=土洛村弓箭兵
 0D=火炮兵
 0E=偵查兵
 0F=帝國指揮官
 10=帝國斧鬥士
 11=帝國持劍兵
 12=帝國重裝騎士
 13=帝國弓箭兵
 14=帝國魔法師
 15=神殿騎士
 16=刀山賊
 17=弓山賊
 18=斧山賊
 19=貴族劍士
 1A=貴族騎士
 1B=貴族弓劍兵
 1C=食屍獸
 1D=血爪蟲
 1E=巨魔人
 1F=男村民
 20=女村民
 21=老村民
 22=猶正(BOSS)
 如果你要改變泛用單位的兵種,
 最好搭配頭像一起改免得自己誤會。
 改成NPC的頭像只能自己爽,
 最終來說玩家還是不能使用NPC單位來戰鬥。


OK,
知道格式以後,
接下來要說明要怎麼尋找自己的角色了。
首先你可以先新開遊戲,
或者讀取存檔也行。
新開遊戲的場合,
你的艾絲特一開始一定是「1級」、「0經驗」、「0擊殺」、「名字叫艾絲特」,
因此他的前兩行一定是長這樣:
01 00 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00
00 00 00 00 | A6 E3 B5 B7 | AF 53 00 00 | 00 00 00 00
A6 E3 B5 B7 AF 53是「艾絲特」三個中文字的BIG5碼,
反正一個中文字佔2個位元組,
所以名字有幾個中文字就很容易可以找到。
如果你是讀取存檔的場合,
你可能等級有提升、或者有經驗值、人頭等變化,
這樣你會比較好搜尋。
如果搜尋不到或改了沒效,
那你可以改搜尋血、魔、攻擊、防禦,
因為這些數值也是遊戲中可以直接看到的,
你會比較好搜尋。
總之先利用字串搜尋的方式定位出角色所在的記憶體位置後,
剩下的就只是相對位置而已。
每個角色佔用8行記憶體欄位,
因此相對8行之後就是下一個角色。
如果你要找的下一個角色不在8行之後那只是記憶體分配的問題而已,
你可以利用上述的方式自行搜尋目標角色的位置。


 
送禮物贊助創作者 !
0
留言

創作回應

喵君
[e12]
2021-06-27 21:05:34

更多創作