本文旨在告诉大家如何修改英雄的数值以方便进行测试。
本系列依次为
莫无煜:forOMG英雄篇——如何修改数据以便于测试zhuanlan.zhihu.com《非英雄篇》、《技能篇》、《物品篇》。
可以被修改的数据可以被分为两类:很容易修改的(英雄、非英雄、技能)和比较复杂的(物品)。
“很容易修改的”数据十分简单,只需要以下几个步骤:
- 找到相应的Steam文件夹(使用完美的玩家,应该能在目录下找到Steam的文件夹)
- 然后在Steam的文件夹里打开以下路径:steamappscommondota 2 betagamedotascriptsnpc。比如笔者的Steam就在E盘里安装,所以直接打开E:Steamsteamappscommondota 2 betagamedotascriptsnpc就可以了。
- 然后在文件夹里有三个txt文件:npc_abilities.txt、npc_heroes.txt、npc_units.txt。这三个文件里分别存着“所有技能”、“英雄”、“非英雄单位”的部分数据。
- 打开并修改需要的数据。
- 打开游戏(已经打开了也不要紧),打开试玩模式,或者自己创建房间,但一定要注意“服务器地点”一定要换成“本地主机”,只有这样修改才有效,否则官方服务器的数据可没有被更改。
- 而且如果修改数据,请不要直接使用游廊内的SANDBOX地图,在游廊内开始RPG地图都是官方服务器,不会使用本地主机运行,自然修改也就失效了。
- 思考并测试
接下来笔者将给大家简单分析一下,三个文件内究竟哪些数据对应哪些效果,同时哪些修改了是有用的,哪些修改了是没用的。
非英雄数据内部一共包含1组基础数据、254个非英雄单位。
基础数据主要是为了提供所有非英雄单位的共有属性。如果修改了基础数据的一个属性值,那么所有没有覆盖该属性的非英雄单位将会沿用这一属性。
所以我们先从基础数据开始,分析所有目前笔者已知的有价值的属性。
开头的代码名称(npc_dota_units_base)是在文件或输入指令时,该单位的姓名。一般我们在游戏内使用-createhero xxx (enemy)制造非英雄单位时,只需要输入该单位的这个名字,就可以创造一个独立的单位出来。这方便我们测试召唤物和中立生物的单位属性和技能效果。
1、General
这些信息和英雄的类似,但是非英雄单位的general中虽然没有太多的值得修改的属性,但是却有不少有用的信息。除去前三个外,从上到下依次为:单位等级(Level)、是否为远古单位(IsAncient)、是否为中立生物(IsNeutralUnitType)、感觉没用(SelectionGroup)、出生后被选中(SelectOnSpawn)、可否被支配(CanBeDominated)、是否忽视自动选择召唤物(IgnoreAddSummonedToSelection)、默认自动攻击(AutoAttacksByDefault)
单位等级(Level)就是个显示,因为等级不影响经济经验,所以几级都无所谓,只会导致个别技能对其可用/不可用。Roshan30级。
其它的参数基本上都比较容易理解,想要修改只需要把0改成1,或1改成0即可。
2、Abilities
非英雄的技能比较简单,基本上就是看得到的那几个。和英雄的操作没什么不同。但是有一点需要注意:不是所有非英雄单位都会自动学习技能,部分单位天生没有技能,也不学习技能,所以在给单位上技能后,很有可能因为不学技能,又没有技能点,而导致身上的技能没有意义。
3、Armor
和英雄的完全相同,而且因为默认是0护甲、0%魔抗,又没有属性问题,所以修改的时候注意点没有那么多。视情况修改或复制即可。
4、Attack
这些参数基本上在英雄里都有提及,所以重复的属性就不重复介绍了。从上到下依次为:近远程(AttackCapabilities)、攻击力下限(AttackDamageMin)、攻击力上限(AttackDamageMax)、不知道有什么用也没有找到这个属性值不同的单位(DAMAGE_TYPE_ArmorPhysical)、基础攻击间隔(AttackRate)、基础攻击前摇(AttackAnimationPoint)、警戒范围(AttackAcquisitionRange)、攻击范围(AttackRange)、前摇不中断攻击额外范围(AttackRangeBuffer)、弹道模型(ProjectileModel)、弹道速度(ProjectileSpeed)。
其中前摇不中断攻击额外范围(AttackRangeBuffer)需要单独提一下。以base为例,意味着如果在攻击前摇时,目标走到了600码开外,还没有走出(600+250=)850码时,前摇不会中断,而是会继续以完成弹道释放/攻击产生。而下一次攻击还是需要走到其600码内进行攻击。这个数值就是为了保证攻击的连续性,不会因为双方距离过于极限而连续中断攻击。
5、Attributes
不知道非英雄单位有属性有什么用,反正也表现不出来。就当作没有这一块儿吧~
6、Bounty
表示非英雄单位提供的基础经济经验。从上到下依次是:经验获取(BountyXP)、金钱获取下限(BountyGoldMin)、金钱获取上限(BountyGoldMax)。
这三个参数本质上是基础值,至于小兵的成长效果在这几个文件内是查询不到的,所以不可能直接通过修改这几个参数来完全修改游戏的经济系统。
7、Bounds
略
8、Movement
这几个属性也基本上都没怎么变。从上到下依次是:移动类型(MovementCapabilities)、移动速度(MovementSpeed)、转身速率(MovementTurnRate)、切换警戒/移动动作的距离(HasAggressiveStance)、跟随距离(FollowRange)
跟随距离,就是在使用M指定跟随时的跟随距离。如果超出了这个距离,那么单位将会向目标移动。
9、Status
这几个属性也和英雄相同,从上到下依次是:基础生命值(StatusHealth)、基础生命恢复(StatusHealthRegen)、基础魔法(StatusMana)、基础魔法恢复(StatusManaRegen)、出生时魔法值(StatusStartingMana)。
血蓝属性自不必说。出生时魔法值(StatusStartingMana)就是在单位被召唤或野怪被刷新时它的魔法值。可以修改。但是不能自造出生时生命值(StatusStartingHealth),这个没用。
10、Team
这个与英雄也基本相同。从上到下一次是:阵营(TeamName)、攻击类型(CombatClassAttack)、护甲类型(CombatClassDefend)、单位种类(UnitRelationshipClass)。
11、Vision
同样的白天夜晚视野。
12、Bots
看起来这是个仇恨度的描述,但是笔者并不知道它的真实作用。
13、Inventory
从上到下分别是:是否拥有物品栏(HasInventory)、是否会吸引中立生物仇恨(WakesNeutrals)
拥有物品栏本身是熊灵信使肉山和英雄的专利,但是只要把任何单位的这个属性改为1,都可以让他们拥有物品,甚至可以给死亡守卫购买装备。
而WakesNeutrals是指白天会勾引中立生物,而不是晚上唤醒中立生物,毕竟没有伤害晚上是无法唤醒中立生物的。
非英雄单位的基础数据相对更齐全,因为非英雄单位的种类过于庞杂,所以很少出现所有单位都有某个属性的值的情况,所以非英雄单位的基础数据介绍完毕后,绝大多数属性就介绍完毕了。如果有需要也完全可以来头开头搜索并复制相关属性和格式。
以上就是在修改非英雄单位数据时,需要或可能需要了解到的内容。
全文完