開心遊戲館

位置:首頁 > 單機遊戲攻略 > 

範海辛的驚奇之旅 裝備附魔合成物品 修改教程

 小編注:紅色粗字型爲代碼簡介,藍色字型爲代碼原文,後面黑色字型是代碼說明。

這款遊戲出來有幾天了,如果算上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 /最小數目

}

}