欢迎光临散文网 会员登陆 & 注册

孤胆枪手1游戏修改(MOD)说明书(一)

2023-02-06 17:57 作者:50-鱼鸣嘴  | 我要投稿

前言:本文将介绍一些针对孤胆枪手1的修改方法,供有需要的玩家参考。修改前请务必做好备份,并严格按照文中所述修改内容和方法进行修改,防止因修改不当导致游戏运行异常甚至无法进入。本篇暂不涉及地图制作/修改和对游戏模型的修改。以下所涉及的文件若无特殊说明,均位于游戏目录下的Maps文件夹中。完成后,需要退出并重新运行游戏才能使修改生效。未提及的文件不建议修改。

一、COMMON.LGC文件修改

  1. 作弊码修改。孤胆枪手1中,除商店作弊码“CHEATM”外,所有作弊码是通过该文件的如下语句控制的:

该部分代码的前半部分用于识别用户的输入,若输入的前五个字符为作弊码前缀“CHEAT”,则继续判断输入的最后一个字符,并实现相应的作弊功能。如果觉得输入前缀“CHEAT”太麻烦,希望改为更短的前缀,则可以修改如下部分代码:

以前缀“ZXC”为例,修改如下:

保存后重新进入游戏,作弊码将修改为“ZXCx”(x为A, E, H或W)。例如,若需要调整人物血量,输入“ZXCH”即可。以上修改对商店内金钱作弊码(CHEATM)无效,需要同时修改SHOP.LGC文件,修改方法将在后文讲述。

若要修改作弊码实现的效果,可以根据需要修改代码后半段:

此外,游戏默认生存模式下作弊码无效,若要解除该限制,将开头的“if( GetKey() && LevelNumber > 0 )”改为“if( GetKey() )”即可。

2. 孤胆枪手1中其实隐藏有两条秘籍:一条可使人物短暂进入无敌(Invulnerable)状态,另一条可将当前地图中所有敌人清除。这两条秘籍默认不可用,通过修改该文件可以解锁这两条秘籍。

在上一部分代码中找到“iff( new_key=='E' )”一句,在前一行的花括号后加入如下内容:

保存后重新进入游戏,输入作弊码(若前缀无修改则为“CHEATG”/“CHEATK”,前缀修改为“ZXC”则为“ZXCG”/“ZXCK”)即可实现相应的效果。注意,这两条秘籍对部分版本的游戏可能不起作用。

最后提醒,不到万不得已不要随意使用作弊码。

3. 一些玩家自制的游戏地图关卡数可能与游戏默认的关卡数目(CAMPAIGN1为10关,CAMPAIGN2/3为5关)不同,为确保游戏的连贯性,需要修改此文件中控制关卡总数的代码。首先修改全局最大关卡数量:

然后修改如下代码,调整每个模式关卡数量:

同步修改如下部分代码(位于作弊码控制代码下方):

注意,若某个模式实际拥有的关卡数超过了游戏默认的设定值,则需要重命名通关文件(level_11.map、level_11.lgc和addon、addon2目录中的level_06.map、level_06.lgc)并相应修改以上代码中NextMapName的值。

二、common_event.lgc文件修改

1. 一些关卡设有机枪炮台,人物在操纵炮台时生命值为当前自身生命值的30倍。若要修改这一数值(例如调为50倍),找到如下代码:

将下方“Action(Flagman(0),ACT_SET_HP,Action(Flagman(0),ACT_GET_HP)*30);”中的数值“30”改为其他想要的值即可。

2. 调整冰冻枪威力。孤胆枪手1中武器的攻击力等信息位于objects.res文件中,一般文本编辑器无法直接修改,但冰冻枪(6号武器)的威力值可通过修改如下代码来调节:

将中间“Action(unit,ACT_DAMAGE,30);”一句中的“30”改为其他更大的值即可。

3. 使用零号武器不扣血。将如下代码:

中“Action(Flagman(0),ACT_SET_HP,Action(Flagman(0),ACT_GET_HP,10)-10);”一句去掉即可。

三、common_table.lgc文件

该文件包含商店各武器装备物品价格、一盒弹药所包含弹药发数、过关奖励金钱数等信息。此文件一般无需修改。

四、compaign_birth.lgc文件

该文件包含击败不同类型敌人后可能掉落的物品信息。孤胆枪手1中的敌人可分为“普通怪”和“精英怪”两大类,其中“精英怪”指各类BOSS敌人,“普通怪”根据等级高低可分为0至5级。在MONSTERS.LGC文件的定义中,绿色和黄色蟾蜍等级为0,红色蟾蜍、绿色/黄色螳螂、绿色蜘蛛等级为1,红色螳螂、黄色/红色蜘蛛、绿色装甲螳螂、绿色犀牛、蝙蝠等级为2,黄色装甲螳螂、黄色/红色犀牛等级为3,红色装甲螳螂、大头恐龙等级为4,所有颜色(蓝色除外)装甲犀牛等级为5。敌人等级越高,掉落的物品种类越高级。

此文件一般无需修改。

五、ITEMS.LGC文件修改

1. 调整血包使用效果。以下代码的F210_0部分针对小血包,F211_0部分针对中血包:

修改其中的“Action(Flagman(0),ACT_DAMAGE,-xx);”语句中的“-xx”值可以改变血包的使用效果。注意该值必须为负数,否则使用后将导致玩家生命值减少。

中、小血包仅在玩家生命值低于最大生命值时可用,且补血上限为玩家最大生命值。大血包可突破这一限制,其补血上限为玩家最大生命值与大血包血量之和。修改如下代码可修改大血包补血量:

修改“Action(Flagman(0),ACT_SET_HP,Action(Flagman(0),ACT_GET_HP)+100);”和“Action(Flagman(0),ACT_SET_HP,PlayerMaxHp+100);”两处的数值,以调整大血包补血量。

2. 不建议修改一次拾取金钱的数量,因为孤胆枪手1中基本不缺钱。如确实要修改,找到“F241_0(int unit)”代码块,修改“AddPlayerMoney(50);”一句中的参数即可。修改后,游戏目录中strings.ini的“Item241”一项的值也需要同步修改。

3. 修改芯片升级效果:

六、Level_xx.lgc文件

此类文件为游戏地图(Level_xx.map)的配套文件,其中定义了关卡的一些基本属性(战斗BGM、玩家复活点、过关条件等)和触发事件(停电、传送玩家、显示BOSS血量条等)。由于涉及地图制作,故此处不讲述。

七、MONSTERS.LGC文件修改

MONSTERS.LGC中定义了不同敌人的等级,和不同等级敌人掉落物品的算法CreateItemsForBirth0(int unit)~CreateItemsForBirth5(int unit):

1. 解决犀牛类敌人无掉落物品的问题。原始MONSTERS.LGC文件的后半部分有如下代码:

注意到中间针对击败犀牛类敌人仅采用了AddScores而非CreateItems算法,导致出现只得分不掉落物品的情况。解决方法是将该部分所有“AddScores(unit);”替换为“CreateItems(unit);”。

2. 若要击败精英怪后也掉落物品,重载F8xx_14(xx=50,53,56,60,63,66,67)函数并使用CreateItemsForBirth算法即可。例如:

3. 让箱子中的物品永不消失。找到如下语句:

将其替换为:

4. 修改得分规则,使其不受武器类型影响。找到如下语句:

改为:

八、SHOP.LGC文件修改

该文件除商店作弊码(CHEATM)相关代码外其他均不建议修改。

九、survive_birth.lgc文件

该文件包含生存模式每波敌人出现的种类和数量。该文件仅建议修改MonsterBirthP函数。使用高级文本编辑器或代码编辑器打开该文件,可以看到该函数第一行(红框部分)为注释,分别代表每种敌人的ID,绿框部分每行相应位置处的值代表每波攻势中该类敌人出现的数量。以最后一行为例,它代表该波攻势中共出现15只绿蜘蛛、5只黄蜘蛛、1只红蜘蛛、40只绿蟾蜍、20只黄蟾蜍、10只红蟾蜍、10只绿螳螂、5只黄螳螂、3只红螳螂。

注释中ID分别代表绿/黄/红色蜘蛛、蟾蜍、螳螂、装甲螳螂、犀牛、装甲犀牛,蓝色蟾蜍、螳螂、装甲螳螂、蜘蛛、犀牛、装甲犀牛、装甲螳螂(强化版)、蝙蝠、大头恐龙、脉冲炮恐龙。下方每行的一组数值代表每波攻势中每种敌人总共出现的数量。


孤胆枪手1游戏修改(MOD)说明书(一)的评论 (共 条)

分享到微博请遵守国家法律