之前就有dtooboss 大大發過一篇基礎的 授人與魚不如授人與漁,自定義獸人波數與數量教程。
我現在來從幾個文件來詳細講一下獸獸必須死的mod教程,為的是方便下那些有自己的創意但不知道怎樣製作mod的童鞋們
---------------------------------------------------------
本教程肯定會很長,moddling要的就是耐心和耐心還有耐心
我就從各個文件講起
---------------------------------------------------------
首先
就我了解的能用於製作mod的文件(除此之外其他的文件可能還有用的但我還沒用到所以就隻講得到我用過的那一部分)在data.zip和datademo.zip中,所以先備份好這兩個壓縮包
讀取這些文件最基本的要有個強大的本文編輯器,我用的是UltraEdit,如果你自認為眼力好就用txt或word來讀取也行。。。
下麵我們就一個一個文件的來分析代碼,我盡我所能,標出有用的
data.zip/delves/關卡名稱/關卡名稱.delve (這個文件是地圖的基本信息。注意:前三關的地圖信息位置在datademo.zip/delves/關卡名稱/關卡名稱.delve) 這裏我用Steam.delve做例子
The Stream
$$156$$The Stream
dleary
Empty
false
Onslaught
ui\LoadScreens\Loadscreen_SteamTrap.dds 這是讀取時候的圖片
25
-10
0
68
555
1
1
-1667.59790039,2506.37060547,2000.00000000
165.15557861,14.81549835,0.00000000
-2292.32104492,-5425.00048828,9393.33203125
0
3000這個很有用,開局金錢,這是3000塊
30這是右上角那個數字,我就叫它分吧,分數降到0就輸了
Sludge Hole
-18.00000000,-14.00000000,-2.00000000
8.00000000,7.00000000,1.00000000
False
True
Empty
TheStream
datademo.zip/game/entities/ 這下麵是各種物品,獸人,等等東西的屬性
datademo.zip/game/entities/Hords.entity 這就是獸人們的信息,我就講講這個的代碼
這個是飛天獸獸的
$$10072$$Hellbat
$$10083$$Flying enemy that avoids floor traps
art\horde\hellbat\hellbat.model這是模型位置
art\horde\hellbat\HellbatMed.model
art\horde\hellbat\HellbatLow.model
art\horde\hellbat\hellbat.axl
art\anim\horde\hellbat\Hellbat_runtimeBinary\Hellbat
art\anim\horde\hellbat\Hellbat_xboxBinary\Hellbat
Orc
UI\Portraits\PortraitOrcFloat.tga
Wraith
1.0最小體型
1.1最大體型
art/horde/giblets/Hellbat/HellbatGibArm.model
art/horde/giblets/Hellbat/HellbatGibFoot.model
art/horde/giblets/Hellbat/HellbatGibHead.model
art/horde/giblets/Hellbat/HellbatGibLeg.model
art/horde/giblets/Hellbat/HellbatGibPelvis.model
art/horde/giblets/Hellbat/HellbatGibTail.model
art/horde/giblets/Hellbat/HellbatGibTorso.model
art/horde/giblets/Hellbat/HellbatGibWing.model
0.0
HellbatAcidDeath
Acid
-0.4
-0.2
Bip01 Head
Wraith
true
95
80
Horde
Default
Wraith
Wraith
1
1
FlamebatFireball
game/phases/default.phase
Mob
1.5,1.5,0.5
10
datademo.zip/game/onslaughts/地圖名稱.timing 這是每張地圖每一波結束後的金錢獎勵和每一波間隔時間設置,我用TheHallway.timing舉例
這是時間限製,超過時間限製就沒得五星的機會
-1第一波,-1代表你需要按g才能釋放獸人,如果是數字就是倒計時
12BonusGold="這一波的獎勵金錢",這個對第一波無效,後麵那個12就是倒計時十二秒,原理同上
12總共隻有三波,如果想要多幾波就多複製幾行,但一定要和下麵要講的波數吻合
datademo.zip/game/onslaughts/地圖名稱.onslaught 這是每張地圖每波出怪數量設置,也有波數設置,要有上麵那個timing文件裏的波數吻合才行,我用TheHallway.onslaught舉例
<!--
TheHallway.onslaught
?2011 Robot Entertainment, Inc. All rights reserved.
-->
這隻是個波數提示
Group Count="1"出來幾組怪,這裏是1組
HordeSwordsman Entity Count="10"出來幾個怪,一次性出30個怪和出3組每組10隻的怪難度是不一樣的。
HordeSwordsman HordeSwordsman這是獸人,等會我會給出可以用的怪物代碼
HordeSwordsman
HordeSwordsman
HordeSwordsman
false
false
ArmoredOgre
HordeSwordsman
HordeSwordsman
HordeSwordsman
HordeSwordsman
現在我給出可用怪物代碼
ordeSwordsman 普通獸獸 Orc AI
HordeCrossbowman 弓箭獸獸 Crossbow Orc AI
HordeRunner 獸獸跑跑 Runner AI
HordeHunter 獸獸狼癮 Hunter AI
Hobgoblin 獸獸法師 Shaman AI
KamikazeHordeRunner 炸彈獸獸 Kamikaze runner AI
Wraith 飛天獸獸 Orc Wraith
SmallWraith 迷你飛天獸獸 Orc Wraith
Ogre 棒槌獸獸 Ogre AI
FireOgre 火焰獸獸 Large Ogre AI
FrostOgre 冰凍獸獸 Large Ogre AI
ArmoredOgre 裝甲獸獸 Large Ogre AI
datademo.zip/game/ComponentAIController.xml 這個是ai喲,各種怪物的行為都受這個控製喲~興奮吧,因為代碼有點多,分批講解
·Wisp AI,Sorceress AI,目前未知是何物,所以無視這兩個
·Rift lightning AI是終點那個光球,這個裏麵主要是升級weaver的技能後光球的攻擊能力
·Orc AI,Ogre AI,Large Ogre AI,Orc Wraith,Crossbow Orc AI,Kamikaze runner AI,Runner AI,Hunter AI,Shaman AI這些都是怪物的ai,具體哪個對應哪個參考一樓的最後那個對應表
·Elf guardian AI,Paladin AI這兩個分別是弓箭手和騎士的ai
·Ceiling ballista AI,long range Ceiling ballista AI這兩個分別是升級前後的牆弩的ai
現在用Orc AI做講解
這條看得我鞭長莫及的注解就告訴你了這下麵的代碼是什麼的ai
這裏定義名字是HordeSwordsman就是獸人,記不得名字的一定要用到一樓的那個表
1
1
Orc.table
如果沒事做,就去衝終點
這個ai規則的編寫規律就是[代碼代碼(這點是為後麵不知幾樓講解自製ai規則做準備)]
注意了,[]括號內的除開中文外其他的東西都是必要的
1這個是重要性,重要性就是怪物活動的優先級,數值越大重要性就越高,不能小於等於0,上限可能是100不清楚,但最好不超過100,而且多個規則裏重要性的數值不能重複
2
如果在主角隊伍(騎士,弓箭手,控製的怪物)周圍10米範圍內就去攻擊
10
目標
這裏的team id1和2就是主角隊伍的人馬,id3的話就是敵人隊伍,Player就是主角,這裏最好別亂改,最好多研究下不同怪獸的ai下的team id再改這個
1000這裏是按厘米算的,所以10米距離就是1000
這段是如果路被擋了怎麼辦,就是路障拆不拆的問題
20
這裏是確定沒有路障就可以不打targets下的東西有些複雜,這個是麵對路障,所以大家要多多研究這個
這個是被蘑菇俘虜則之後
呆在原地
5
這個是被蘑菇俘虜則之後
進攻
10
看,這裏是team id3,怪獸隊伍
1000距離10米內觸發
其他生物以此類推,現在來看看非生物的強弩,我就用沒升級的舉個例子
又是讓我鞭長莫及的注解
1
1
Loot.table
1
就分析這段進攻敵人的
10
目標team id3敵人隊伍
4000距離40米,升級後是65米,自己調吧
-90從這裏像下麵數
90
-45
45數到這裏,這裏是強弩的攻擊輻射範圍,我解釋下,這是正前方180度,上下各移動45度的攻擊範圍
datademo.zip/game/ComponentMovement.xml 這個是關於所有東西的移動數據
·Fighter就是大家敬愛的主角
·Ogre所有食人獸,SmallWraith迷你飛天獸獸,Wraith飛天獸獸,Kobold所有小型怪物,HordeHunter狼人,所有名字裏帶Minion的都是被蘑菇控製的群體,剩下的沒提到的不是沒必要改就是我不清楚作用
就拿我們可親可愛還會賣萌的小王子主角的代碼講解吧
fighte豬腳
1050.0移動速度,這個應該是普通移動速度,修改之後奔跑速度是直接在這上麵加成
130.0
200跳躍高度,基本上700左右就是可以在第三關直接跳到橋上的高度
0.8跳躍時間
-10000.0
360
Medium
Player
None
datademo.zip/game/ComponentStats.xml 這信息怎麼說呢,就說是生命值,攻擊力等信息吧
·Fighter不解釋
·除了這個Crossbowman獸獸弓箭手,Wizard巫師不知在遊戲中是何物,其餘的名字有對應
這裏用獸獸法師舉個例子
100生命值,根據大家平常的戰鬥自己估摸下100生命值能撐多久
3.0
15
1
0.8
0.0
10
Death
30.0死亡後屍體保留時間,這時間就是獸獸法師複活怪物的時間
4.0
75死後所爆金錢
3這就是隊伍id設置,打死不要動!!!
Fire這幾行很重要,這些是特定屬性對怪物的受到的傷害的加成或減成,這行是收到的火傷害隻有10%
Lightning閃電傷害隻受10%
Ice冰凍傷害隻受10%
Bladestaff刀砍傷害遭受2倍,對於攻擊所受傷害,還有個文件是專門定義攻擊傷害的,向下看
datademo.zip/game/DamageTypes.xml 接上麵的,這個就是傷害類型的定義文件,這個文件隻是輔助,不要修改
Timed跟時間有關,不清楚
Fire火傷
Ice凍傷
Lightning電傷
Explosive爆炸傷害
Piercing穿刺傷害
Cutting刀切傷害(刃牆)
Bladestaff砍刀傷害
Impact衝擊傷害,不明
Physics 物理傷害是靠代碼實現,無視
這是可視化的傷害
Burning燒傷
BonusArea加分區域傷害
Acid硫酸燒