孤膽槍手1游戲修改(MOD)說明書(一)

前言:本文將介紹一些針對孤膽槍手1的修改方法,供有需要的玩家參考。修改前請務(wù)必做好備份,并嚴(yán)格按照文中所述修改內(nèi)容和方法進(jìn)行修改,防止因修改不當(dāng)導(dǎo)致游戲運(yùn)行異常甚至無法進(jìn)入。本篇暫不涉及地圖制作/修改和對游戲模型的修改。以下所涉及的文件若無特殊說明,均位于游戲目錄下的Maps文件夾中。完成后,需要退出并重新運(yùn)行游戲才能使修改生效。未提及的文件不建議修改。

一、COMMON.LGC文件修改
作弊碼修改。孤膽槍手1中,除商店作弊碼“CHEATM”外,所有作弊碼是通過該文件的如下語句控制的:
該部分代碼的前半部分用于識(shí)別用戶的輸入,若輸入的前五個(gè)字符為作弊碼前綴“CHEAT”,則繼續(xù)判斷輸入的最后一個(gè)字符,并實(shí)現(xiàn)相應(yīng)的作弊功能。如果覺得輸入前綴“CHEAT”太麻煩,希望改為更短的前綴,則可以修改如下部分代碼:
以前綴“ZXC”為例,修改如下:
保存后重新進(jìn)入游戲,作弊碼將修改為“ZXCx”(x為A, E, H或W)。例如,若需要調(diào)整人物血量,輸入“ZXCH”即可。以上修改對商店內(nèi)金錢作弊碼(CHEATM)無效,需要同時(shí)修改SHOP.LGC文件,修改方法將在后文講述。
若要修改作弊碼實(shí)現(xiàn)的效果,可以根據(jù)需要修改代碼后半段:
此外,游戲默認(rèn)生存模式下作弊碼無效,若要解除該限制,將開頭的“if( GetKey() && LevelNumber > 0 )”改為“if( GetKey() )”即可。
2. 孤膽槍手1中其實(shí)隱藏有兩條秘籍:一條可使人物短暫進(jìn)入無敵(Invulnerable)狀態(tài),另一條可將當(dāng)前地圖中所有敵人清除。這兩條秘籍默認(rèn)不可用,通過修改該文件可以解鎖這兩條秘籍。
在上一部分代碼中找到“iff( new_key=='E' )”一句,在前一行的花括號(hào)后加入如下內(nèi)容:
保存后重新進(jìn)入游戲,輸入作弊碼(若前綴無修改則為“CHEATG”/“CHEATK”,前綴修改為“ZXC”則為“ZXCG”/“ZXCK”)即可實(shí)現(xiàn)相應(yīng)的效果。注意,這兩條秘籍對部分版本的游戲可能不起作用。
最后提醒,不到萬不得已不要隨意使用作弊碼。
3. 一些玩家自制的游戲地圖關(guān)卡數(shù)可能與游戲默認(rèn)的關(guān)卡數(shù)目(CAMPAIGN1為10關(guān),CAMPAIGN2/3為5關(guān))不同,為確保游戲的連貫性,需要修改此文件中控制關(guān)卡總數(shù)的代碼。首先修改全局最大關(guān)卡數(shù)量:
然后修改如下代碼,調(diào)整每個(gè)模式關(guān)卡數(shù)量:
同步修改如下部分代碼(位于作弊碼控制代碼下方):
注意,若某個(gè)模式實(shí)際擁有的關(guān)卡數(shù)超過了游戲默認(rèn)的設(shè)定值,則需要重命名通關(guān)文件(level_11.map、level_11.lgc和addon、addon2目錄中的level_06.map、level_06.lgc)并相應(yīng)修改以上代碼中NextMapName的值。
二、common_event.lgc文件修改
1. 一些關(guān)卡設(shè)有機(jī)槍炮臺(tái),人物在操縱炮臺(tái)時(shí)生命值為當(dāng)前自身生命值的30倍。若要修改這一數(shù)值(例如調(diào)為50倍),找到如下代碼:
將下方“Action(Flagman(0),ACT_SET_HP,Action(Flagman(0),ACT_GET_HP)*30);”中的數(shù)值“30”改為其他想要的值即可。
2. 調(diào)整冰凍槍威力。孤膽槍手1中武器的攻擊力等信息位于objects.res文件中,一般文本編輯器無法直接修改,但冰凍槍(6號(hào)武器)的威力值可通過修改如下代碼來調(diào)節(jié):
將中間“Action(unit,ACT_DAMAGE,30);”一句中的“30”改為其他更大的值即可。
3. 使用零號(hào)武器不扣血。將如下代碼:
中“Action(Flagman(0),ACT_SET_HP,Action(Flagman(0),ACT_GET_HP,10)-10);”一句去掉即可。
三、common_table.lgc文件
該文件包含商店各武器裝備物品價(jià)格、一盒彈藥所包含彈藥發(fā)數(shù)、過關(guān)獎(jiǎng)勵(lì)金錢數(shù)等信息。此文件一般無需修改。
四、compaign_birth.lgc文件
該文件包含擊敗不同類型敵人后可能掉落的物品信息。孤膽槍手1中的敵人可分為“普通怪”和“精英怪”兩大類,其中“精英怪”指各類BOSS敵人,“普通怪”根據(jù)等級高低可分為0至5級。在MONSTERS.LGC文件的定義中,綠色和黃色蟾蜍等級為0,紅色蟾蜍、綠色/黃色螳螂、綠色蜘蛛等級為1,紅色螳螂、黃色/紅色蜘蛛、綠色裝甲螳螂、綠色犀牛、蝙蝠等級為2,黃色裝甲螳螂、黃色/紅色犀牛等級為3,紅色裝甲螳螂、大頭恐龍等級為4,所有顏色(藍(lán)色除外)裝甲犀牛等級為5。敵人等級越高,掉落的物品種類越高級。
此文件一般無需修改。
五、ITEMS.LGC文件修改
1. 調(diào)整血包使用效果。以下代碼的F210_0部分針對小血包,F(xiàn)211_0部分針對中血包:
修改其中的“Action(Flagman(0),ACT_DAMAGE,-xx);”語句中的“-xx”值可以改變血包的使用效果。注意該值必須為負(fù)數(shù),否則使用后將導(dǎo)致玩家生命值減少。
中、小血包僅在玩家生命值低于最大生命值時(shí)可用,且補(bǔ)血上限為玩家最大生命值。大血包可突破這一限制,其補(bǔ)血上限為玩家最大生命值與大血包血量之和。修改如下代碼可修改大血包補(bǔ)血量:
修改“Action(Flagman(0),ACT_SET_HP,Action(Flagman(0),ACT_GET_HP)+100);”和“Action(Flagman(0),ACT_SET_HP,PlayerMaxHp+100);”兩處的數(shù)值,以調(diào)整大血包補(bǔ)血量。
2. 不建議修改一次拾取金錢的數(shù)量,因?yàn)楣履憳屖?中基本不缺錢。如確實(shí)要修改,找到“F241_0(int unit)”代碼塊,修改“AddPlayerMoney(50);”一句中的參數(shù)即可。修改后,游戲目錄中strings.ini的“Item241”一項(xiàng)的值也需要同步修改。
3. 修改芯片升級效果:
六、Level_xx.lgc文件
此類文件為游戲地圖(Level_xx.map)的配套文件,其中定義了關(guān)卡的一些基本屬性(戰(zhàn)斗BGM、玩家復(fù)活點(diǎn)、過關(guān)條件等)和觸發(fā)事件(停電、傳送玩家、顯示BOSS血量條等)。由于涉及地圖制作,故此處不講述。
七、MONSTERS.LGC文件修改
MONSTERS.LGC中定義了不同敵人的等級,和不同等級敵人掉落物品的算法CreateItemsForBirth0(int unit)~CreateItemsForBirth5(int unit):
1. 解決犀牛類敵人無掉落物品的問題。原始MONSTERS.LGC文件的后半部分有如下代碼:
注意到中間針對擊敗犀牛類敵人僅采用了AddScores而非CreateItems算法,導(dǎo)致出現(xiàn)只得分不掉落物品的情況。解決方法是將該部分所有“AddScores(unit);”替換為“CreateItems(unit);”。
2. 若要擊敗精英怪后也掉落物品,重載F8xx_14(xx=50,53,56,60,63,66,67)函數(shù)并使用CreateItemsForBirth算法即可。例如:
3. 讓箱子中的物品永不消失。找到如下語句:
將其替換為:
4. 修改得分規(guī)則,使其不受武器類型影響。找到如下語句:
改為:
八、SHOP.LGC文件修改
該文件除商店作弊碼(CHEATM)相關(guān)代碼外其他均不建議修改。
九、survive_birth.lgc文件
該文件包含生存模式每波敵人出現(xiàn)的種類和數(shù)量。該文件僅建議修改MonsterBirthP函數(shù)。使用高級文本編輯器或代碼編輯器打開該文件,可以看到該函數(shù)第一行(紅框部分)為注釋,分別代表每種敵人的ID,綠框部分每行相應(yīng)位置處的值代表每波攻勢中該類敵人出現(xiàn)的數(shù)量。以最后一行為例,它代表該波攻勢中共出現(xiàn)15只綠蜘蛛、5只黃蜘蛛、1只紅蜘蛛、40只綠蟾蜍、20只黃蟾蜍、10只紅蟾蜍、10只綠螳螂、5只黃螳螂、3只紅螳螂。

