兽人必须死MOD制作教程,打造自己喜欢的怪物和难度
来源: 飞翔小编 2011/10/17 8:55:48 浏览量:4204
之前就有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硫酸烧