当前位置:游戏娱乐馆 >

单机游戏攻略

> 范海辛的惊奇之旅 装备附魔合成物品 修改教程

范海辛的惊奇之旅 装备附魔合成物品 修改教程

 小编注:红色粗字体为代码简介,蓝色字体为代码原文,后面黑色字体是代码说明。

这款游戏出来有几天了,如果算上beta版本的话,就更早了。奈何笔者是个学生党兼考研党,实在是忙得可以,所以一直到今天周六,才正式上手试玩。

然后,果不其然,老毛病又犯了,半个小时之后,果断退出游戏,查看游戏文件,开始另一次毁游戏的工程。

这儿先说一下笔者对于MOD和修改的了解。很多人往往把某一文件的修改覆盖认为是MOD,比如《死亡岛:激潮》中各种挂着MOD标签的帖子。不过笔者私以为真正的MOD必须具有可扩展性,可兼容性,或者对于游戏本身要有延生作用。所以对那类只是对于游戏文件本身简单修改覆盖的我习惯称之为“修改”,而非MOD。不过说到底,两者的原理其实类似。

【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文件往往只是各种游戏配置,但是凡事总有例外不是,在这个游戏中内涵就多了去了。

CfgArtifact下有4个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/总数)

CfgTraps下只有一个陷阱文件,不过可以改着玩玩。

Trap

{

Name=RugosElloko

ResearchCost=0

BuildToolCost=4

CapacityCost=4

SkillCount=1

Skill[0]lName=trap__rugos_elloko

Skill[0]vateRangeForward=0.5

Skill[0]vateRangeRight=0.5

Skill[0]vateRangeLeft=0.5

Skill[0]vateRangeBackward=0.5

Skill[0]tivateRangeForward=0.9

Skill[0]tivateRangeRight=0.9

Skill[0]tivateRangeLeft=0.9

Skill[0]tivateRangeBackward=0.9

TrapPositionType=floor

}

Name=RugosElloko /陷阱名称

ResearchCost=0 /这啥花费?

BuildToolCost=4 /建筑材料花费

CapacityCost=4 /容量花费

SkillCount=1 /技能数目

Skill[0]lName=trap__rugos_elloko /技能名称

Skill[0]vateRangeForward=0.5 /陷阱激发范围(前)

Skill[0]vateRangeRight=0.5 /陷阱激发范围(右)

Skill[0]vateRangeLeft=0.5 /陷阱激发范围(左)

Skill[0]vateRangeBackward=0.5 /陷阱激发范围(后)

Skill[0]tivateRangeForward=0.9 /陷阱停止范围(前)

Skill[0]tivateRangeRight=0.9 /陷阱停止范围(右)

Skill[0]tivateRangeLeft=0.9 /陷阱停止范围(左)

Skill[0]tivateRangeBackward=0.9 /陷阱停止范围(后)

TrapPositionType=floor /陷阱布置地点:地板

还有一个可以修改随机遭遇怪物的文件:CfgRandomEncounters下文件

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 /最小数目

}

}

  • 文章版权属于文章作者所有,转载请注明 https://yxylg.com/danjiyouxi/qwd6x.html