《范海辛的奇妙冒险》游戏修改教程:装备属性、附魔属性、合成配方、物品掉落

时间:2013/05/29 15:42:16 编辑:Ocean

【MOD/修改】的制作可以说很难,也可以说很简单。

说到难点,往往在于游戏资源包本身的解压封装(如暗黑破坏神2、地牢围攻2)、游戏可执行文件的反编译(泰坦之旅)、游戏数据库的解码(DND类游戏,如无冬之夜)、游戏资源文件的反加密(火炬之光)、纯粹的编程(饥荒、愤怒的小鸟)等等。

说到简单自然是站在完成前面说的这些工作的人的肩膀上。当然还有一种情况,就是官方提供编辑器,比如魔兽、星际、老滚、龙腾世纪、火炬之光、巫师2。

笔者接触游戏不过短短的3年,但是很有幸玩的第一个大作就是老滚4,在一遍又一遍的崩溃、跳出之后,终于了解了MOD这个奇葩的东东。然后又经过了龙腾:起源&觉醒的熏陶,刚刚在火炬之光1中自力更生,马上又被星际争霸2坑爹的触发器完虐,好不容易依葫芦画瓢在泰坦之旅中得意了一把,随即又被暗黑2的MOD弄得一头雾水。于是,就这样历经了3年的摸索,楼主养成了毁游戏的习惯……

好吧,吐槽完毕,请不要喷……下面这正题,虽然很简单。

 

牛游戏网

 

这款游戏的资源包后缀是N2PK,用十六进制打开看一下,头文件是Neocore Package,可以用特定的算法进行解压,不过笔者对于这个不咋么懂,汉化组的高人们一定知道怎么解压(因为游戏文本也是这种格式)。如图所示:文本包。

自游戏根目录下有几个文件夹:Cfg、CommonTextures、Effects、Models、Sounds、Strings、UI等等,至于里面是神马,看文件夹的名称大致就猜到了。cfg是config的缩写,应该是配置文件;CommonTextures应该是材质包;Models应该是模型、动作、骨骼;Strings应该是游戏文本;Effects开始不知道,不过用十六进制打开一看,头文件后面紧跟着particles system,所以应该是粒子效果。

很明显游戏的资源包是分类打包的,这个习惯好啊,连找的工作都省略了。

因为不会解压封装,所以那各种模型、材质、UI的修改就算了,毕竟不是老滚。可修改的文件只有cfg(因为就这个没压缩),虽然大多数游戏中cfg文件往往只是各种游戏配置,但是凡事总有例外不是,在这个游戏中内涵就多了去了。

Cfg\\Artifact下有4个cfg文件:alchemyrecipes.cfg、artifacts.cfg、enchantments.cfg、loottypes.cfg

顾名思义,alchemyrecipes是炼金配方、artifacts是器物、enchantments是附魔、loottypes是掉落。

alchemyrecipes文件很简单,第一行是合成物品,第二行是配方物品。
Recipe
{
        Name=Ethereal_Essence
        Artifacts=Primordial_Essence,Mercurial_Essence
}
复制代码


artifacts也很简单,找个复杂点的说明一下。
Artifact
{
        Name=Zorros_Hat
        Icon=kalapv6_3
        LootModel=GeneralHelmet
        EquipmentModel=kalapv6_3
        Type=Armor
        SubType=Helmet
        Rarity=epic
        MinLevel=18
        MaxLevel=30
        Value=6500
        Alchemy=35
        Enchantments=attack_ratebonus_percentUnique(value=3|4),dexterityUnique(value=8|10),bodyUnique(value=8|10),rageUnique(value=10|10),dodgeUnique(value=50|50;powerup_use=200),physical_resistanceUnique(value=50|50;critical_hit=150)
}
复制代码
Name=Zorros_Hat    /物品名称
Icon=kalapv6_3    /物品图标
LootModel=GeneralHelmet    /掉落模型
EquipmentModel=kalapv6_3    /装备模型,就是穿在身上的效果
Type=Armor    /物品类型:护甲
SubType=Helmet    /sub原本应该是下标的意思,这儿应该是下级类型:头盔
Rarity=epic    /物品品质:传奇
MinLevel=18    /最小等级:18
MaxLevel=30    /最高等级:30
Value=6500    /价值:6500金币
Alchemy=35    /这个炼金不知道神马意思,求教熟悉游戏的人。
Enchantments=attack_ratebonus_percentUnique(value=3|4),dexterityUnique(value=8|10),bodyUnique(value=8|10),rageUnique(value=10|10),dodgeUnique(value=50|50;powerup_use=200),physical_resistanceUnique(value=50|50;critical_hit=150)    /附魔属性:属性名称[这个对应到enchantments](范围),例如(value=3|4)表示值为3~4。


enchantments内容比较多,也比较有用。
Enchantment
{
        Name=FireDamage
        Type=warrior
        ArtifactType=Sword,TwoHandedSword,Pistol,Rifle,Ring
        Property=fire_damage
        PriorityGroup=bonus_fix
        MinValue=1,2,3,5,7,8
        MaxValue=2,3,5,7,8,10
        MinCost=20,50,100,170,260,360
        MaxCost=50,100,170,260,360,470
        LevelLimit=0,5,10,15,20,25
        LevelLimitMax=10,15,20,25,30,30
        Group=elemidamage
        Order=4
}
复制代码
Name=FireDamage    /属性名称
Type=warrior    /属性适用类型:战士
ArtifactType=Sword,TwoHandedSword,Pistol,Rifle,Ring    /属性适用装备范围:剑、双手剑、枪、来复枪、戒指
Property=fire_damage    /所属类型:火焰伤害
PriorityGroup=bonus_fix
MinValue=1,2,3,5,7,8    /最小值
MaxValue=2,3,5,7,8,10    /最大值
MinCost=20,50,100,170,260,360    /对应最小价格
MaxCost=50,100,170,260,360,470    /最大价格
LevelLimit=0,5,10,15,20,25    /最低等级限制,物品等级
LevelLimitMax=10,15,20,25,30,30    /最高等级限制
Group=elemidamage 
Order=4    /序号:14,不知道干嘛用的

至于各个附魔词缀,看英文的意思就明白了,比较实用的几个:刷装备必备啊。
TrophyLuck    /幸运
TrophyMagicItemFind    /魔法物品掉落
TrophyGoldFind    /金币掉落
Luck
ItemFindChance
GoldFindChance

loottypes已经有人发过了,我还是简单说一下吧。
1_champion
{
        None=800
        Item
        {
                Rarity=normal
                Chance=50
        }
        Item
        {
                Rarity=magic
                Chance=125
        }
        Item
        {
                Rarity=rare
                Chance=25
        }
        Item
        {
                Rarity=epic
                Chance=3
        }
}
复制代码

开头是怪物或者箱子等等的分类。比如上面这个是champion(精英怪),后面紧跟着一个数组(第一个大括号),数组中的每一对大括号为一个整体,即数组的一个元素。
上面这个表示,精英怪掉落物品的概率:
1. 什么都没(800/总数)
2. 普通物品(50/总数)
3. 附魔物品(125/总数)
4. 稀有物品(25/总数)
5. 传奇物品(3/总数)


Cfg\Traps下只有一个traps.cfg陷阱文件,不过可以改着玩玩。
Trap
{
        Name=RugosElloko
        ResearchCost=0
        BuildToolCost=4
        CapacityCost=4
        SkillCount=1
        Skill[0].SkillName=trap__rugos_elloko
        Skill[0].ActivateRangeForward=0.5
        Skill[0].ActivateRangeRight=0.5
        Skill[0].ActivateRangeLeft=0.5
        Skill[0].ActivateRangeBackward=0.5
        Skill[0].DeActivateRangeForward=0.9
        Skill[0].DeActivateRangeRight=0.9
        Skill[0].DeActivateRangeLeft=0.9
        Skill[0].DeActivateRangeBackward=0.9
        TrapPositionType=floor
}
复制代码
Name=RugosElloko    /陷阱名称
ResearchCost=0    /这啥花费?
BuildToolCost=4    /建筑材料花费
CapacityCost=4   /容量花费
SkillCount=1    /技能数目
Skill[0].SkillName=trap__rugos_elloko    /技能名称
Skill[0].ActivateRangeForward=0.5    /陷阱激发范围(前)
Skill[0].ActivateRangeRight=0.5    /陷阱激发范围(右)
Skill[0].ActivateRangeLeft=0.5    /陷阱激发范围(左)
Skill[0].ActivateRangeBackward=0.5    /陷阱激发范围(后)
Skill[0].DeActivateRangeForward=0.9    /陷阱停止范围(前)
Skill[0].DeActivateRangeRight=0.9   /陷阱停止范围(右)
Skill[0].DeActivateRangeLeft=0.9   /陷阱停止范围(左)
Skill[0].DeActivateRangeBackward=0.9   /陷阱停止范围(后)
TrapPositionType=floor    /陷阱布置地点:地板


还有一个可以修改随机遭遇怪物的文件:Cfg\\RandomEncounters下RandomEncounters.cfg文件
cave_4
{
        _Elite_Shrieking_Gargantula
        {
                Count=1
        }
        _Minion_Shrieking_Gargantula
        {
                Count=7
                CountMin=4
        }
}
复制代码
cave_4    /地图
{
_Elite_Shrieking_Gargantula    /怪物名称
{
Count=1    /数目
}
_Minion_Shrieking_Gargantula    /怪物名称
{
Count=7    /数目
CountMin=4    /最小数目
}

游戏聚合
8.5
  • 好玩

    8+1
  • 不好玩

    3+1
相关攻略
相关游戏