dota2吧 关注:6,344,220贴子:176,055,892

回复:探讨与开发【通过本地设置简化多单位操作】

只看楼主收藏回复

墨迹死了


IP属地:辽宁来自Android客户端35楼2018-09-28 12:10
回复(1)

    我们打开units.txe这里面是单位的特性,都是一些类似于“白话”的代码,没有复杂逻辑,吧每个引号里的作用弄清楚对dota2的理解会比别人更深。
    举例:维萨吉的佣兽,往往存在争议的单位,其实这里给的很明确了,
    “是召唤物”
    “是远古生物”所以黑鸟法球无效
    除非主动攻击“不会吸引野怪仇恨”
    “被认作是英雄”所以有英雄类似血条和蓝条不可被支配
    “攻击类型——英雄”
    “护甲类型——英雄”
    “仇恨类型——眼”所以小兵和塔不会优先攻击它


    IP属地:美国36楼2018-09-28 12:12
    回复(3)
      过来顶一发,顺便提一下,能不能把我VIS那个BUG虚灵MOD删了,太浮夸了只想要腐化之环的特效


      IP属地:江苏37楼2018-09-28 12:17
      回复(3)
        make


        IP属地:安徽38楼2018-09-28 12:22
        收起回复
          我在好几个群里已经说过我的方法了,也有不少人知道怎么搞了,肯定不会放鸽子。我不直接道出方法,因为我希望各位一起思考,去发现解决新的问题。互联网时代,要个方法太简单了,改起来也简单,但是如果你敢于解读、甚至看穿这个游戏的固有模式,是更重要的。我本来玩蜘蛛是图开心,享受游戏,如果就被浮躁的人们拿去“上分”“捕鱼”了,和我的初心有背,我不允许那么做,就算是蜘蛛这个英雄现在已经被玩烂了,我让人想对她好点。
          如果你能顺着我后续讲解的思路,自己都知道怎么解决。


          IP属地:美国39楼2018-09-28 12:25
          回复(2)
            [mw_shl_code=cpp,true]"DOTAUnits"
            {
            // 这个单位包括了npc_units_custom中【所有的】键值
            // 一般来说的是用不到全部的键值,所以这个模板仅供参考,你可以注释掉不用的部分
            "npc_dota_base_units"
            {
            // 基础设置
            //----------------------------------------------------------------
            "BaseClass" "npc_dota_base" // 单位继承的类,是必须填写的,决定了单位的内置逻辑类型
            "Level" "1" // 单位等级
            "Model" "models/development/invisiblebox.mdl" // 模型文件
            "ModelScale" "0.8" // 模型大小,
            "MinimapIcon" "minimap_candybucket" // 小地图图标
            "MinimapIconSize" "1000" // 小地图图标尺寸
            "UnitLabel" "healing_ward" // 单位标签,可以是任何名字字符,使用Lua代码GetUnitLabel()可以获取到这里的键值
            "ConsideredHero" "1" // 作为英雄,提供英雄风格的生命值条。"DOTA_UNIT_TARGET_FLAG_NOT_CREEP_HERO" 的数据驱动标记
            "IsAncient" "0" // 是否为远古生物是。"DOTA_UNIT_TARGET_FLAG_NOT_ANCIENTS"的数据驱动标记
            "IsNeutralUnitType" "0" // 是否是中立单位,相关Lua函数: IsNeutralUnitType()
            "CanBeDominated" "1" // 可否被支配
            "AutoAttacksByDefault" "1" // 是否自动攻击,0为不自动攻击
            "ShouldDoFlyHeightVisual" "0" // 飞行高度
            "WakesNeutrals" "1" // 唤醒中立生物
            "SelectionGroup" "string" // 选择组,使得该类型的所有单位可以使用tab成组切换
            "SelectOnSpawn" "1" // 出生选择,强制单位加入英雄的选择中,即使选项中的"自动选择召唤单位"是关闭的。被用在死灵飞龙的小龙上
            "IgnoreAddSummonedToSelection" "1" // 忽略自动选择召唤单位,设置为1时,使得"自动选择召唤单位" 忽略这个单位,用于元素分离
            // 声音 SoundSet 加上正确的 GameSoundsFile 可以提供攻击和脚步声等音效
            // SoundSet 字符串是每个英雄声音的第一部分,可以在Dota2声音编辑器中查找到
            // IdleSoundLoop 将会在单位产生后持续被播放,某些英雄并没有定义这个循环声音,但是如果你在这里增加一个不可循环声音,则可以作为诞生音效使用
            "SoundSet" "Hero_DragonKnight"
            "GameSoundsFile" "soundevents/game_sounds_heroes/game_sounds_dragon_knight.vsndevts"
            "IdleSoundLoop" "Hero_DragonKnight.Tutorial_Intro"
            "HasInventory" "1" // 是否有物品栏
            // 相关Lua函数: HasInventory() 和 SetHasInventory(bool)
            // SetHasInventory(true) 对之前没有定义为"HasInventory" "1" 的单位没有任何效果
            // 技能设置
            //----------------------------------------------------------------
            "AbilityLayout" "" // 技能槽数量,最低4个,最高为6个,单位可以同时拥有最多16个技能
            "Ability1" "" // 技能 1.
            "Ability2" "" // 技能 2.
            "Ability3" "" // 技能 3.
            "Ability4" "" // 技能 4.
            "Ability5" "" // 技能 5.
            "Ability6" "" // 技能 6.
            "Ability7" "" // 技能 7 -最高就显示6个技能,后面添加的技能将不显示
            "Ability8" "" // 技能 8 -最高就显示6个技能,后面添加的技能将不显示
            // 护甲和魔抗设置
            //----------------------------------------------------------------
            "ArmorPhysical" "0" // 基础护甲
            "MagicalResistance" "0" // 基础魔抗
            // 攻击设置
            //----------------------------------------------------------------
            "AttackCapabilities" "DOTA_UNIT_CAP_NO_ATTACK" // 攻击类型:DOTA_UNIT_CAP_NO_ATTACK 不能攻击
            // DOTA_UNIT_CAP_MELEE_ATTACK 近战
            // DOTA_UNIT_CAP_RANGED_ATTACK 远程
            "AttackDamageMin" "100" // 最小伤害
            "AttackDamageMax" "100" // 最大伤害
            "AttackRate" "1.7" // 攻击间隔
            "AttackAnimationPoint" "0.75" // 攻击前摇
            "AttackAcquisitionRange" "800" // 警戒范围
            "AttackRange" "600" // 攻击范围
            "AttackRangeBuffer" "250" // 攻击缓冲范围(不会取消攻击的额外射程范围)
            "ProjectileModel" "" // 投射物,填写特效路径,只有投射物特效才行
            "ProjectileSpeed" "900" // 投射速率
            "AttackDamageType" "DAMAGE_TYPE_ArmorPhysical" /


            IP属地:美国40楼2018-09-28 12:38
            收起回复
              // 属性设置
              //----------------------------------------------------------------
              "AttributePrimary" "DOTA_ATTRIBUTE_STRENGTH" //主属性类型
              "AttributeBaseStrength" "0" // 基础力量
              "AttributeStrengthGain" "0" // 力量成长
              "AttributeBaseIntelligence" "0" // 基础智力
              "AttributeIntelligenceGain" "0" // 智力成长
              "AttributeBaseAgility" "0" // 基础敏捷
              "AttributeAgilityGain" "0" // 敏捷成长
              // 击杀奖励设置
              //----------------------------------------------------------------
              "BountyXP" "0" // 经验奖励
              "BountyGoldMin" "0" // 最小金钱奖励
              "BountyGoldMax" "0" // 最大金钱奖励
              // 边界设置
              //----------------------------------------------------------------
              "BoundsHullName" "DOTA_HULL_SIZE_HERO" // 碰撞边界类型,以下为单位尺寸参数:
              // 值 Hammer中的单位半径
              // DOTA_HULL_SIZE_SMALLEST 4 // DOTA_HULL_SIZE_SMALL 8
              // DOTA_HULL_SIZE_HERO 24
              // DOTA_HULL_SIZE_HUGE 80
              // DOTA_HULL_SIZE_BUILDING 8
              // DOTA_HULL_SIZE_BARRACKS 144
              // DOTA_HULL_SIZE_TOWER 144
              "RingRadius" "50" // 选择圈半径
              "HealthBarOffset" "-1" // 血条高度,缺省值为 "-1",意味着使用默认的模型高度
              // 移动设置
              //----------------------------------------------------------------
              "MovementCapabilities" "DOTA_UNIT_CAP_MOVE_NONE" // 移动类型
              //DOTA_UNIT_CAP_MOVE_NONE 不能移动
              //DOTA_UNIT_CAP_MOVE_GROUND 地面
              //DOTA_UNIT_CAP_MOVE_FLY 飞行
              "MovementSpeed" "300" // 移动速度
              "MovementTurnRate" "0.5" // 转身速度
              "HasAggressiveStance" "0" // 单位会在接近敌人时切换空闲/跑步的移动动画,比如亚巴顿的模型
              "FollowRange" "100" // 最低跟随范


              IP属地:美国41楼2018-09-28 12:39
              回复(15)
                // 状态设置
                //----------------------------------------------------------------
                "StatusHealth" "150" // 基础生命值
                "StatusHealthRegen" "0" // 生命恢复速度,负值无效
                "StatusMana" "0" // 基础魔法值,设置为0会导致没有魔法条
                "StatusManaRegen" "0" // 魔法恢复速度,负值无效
                "StatusStartingMana" "-1" // 单位诞生时的魔法值,-1意味着默认满魔法值
                // 攻防类型设置
                //----------------------------------------------------------------
                "TeamName" "DOTA_TEAM_NEUTRALS" // 所属队伍,关系不大
                "CombatClassAttack" "DOTA_COMBAT_CLASS_ATTACK_HERO" // 攻击的伤害类型,攻击类型表如下:
                //名称 等价
                //普通 DOTA_COMBAT_CLASS_ATTACK_BASIC
                //穿刺 DOTA_COMBAT_CLASS_ATTACK_PIERCE
                //攻城 DOTA_COMBAT_CLASS_ATTACK_SIEG
                //英雄 DOTA_COMBAT_CLASS_ATTACK_HERO
                "CombatClassDefend" "DOTA_COMBAT_CLASS_DEFEND_HERO" // 护甲类型,护甲类型表如下:
                //名称
                //普通 DOTA_COMBAT_CLASS_DEFEND_BASI
                //建筑 DOTA_COMBAT_CLASS_DEFEND_STRUCTURE
                //英雄 DOTA_COMBAT_CLASS_DEFEND_HERO
                "UnitRelationshipClass" "DOTA_NPC_UNIT_RELATIONSHIP_TYPE_DEFAULT" //单位关系类,比如建筑BUILDING的仇恨优先级低于HERO或DEFAULT
                //列表如下
                //DOTA_NPC_UNIT_RELATIONSHIP_TYPE_BARRACKS
                //DOTA_NPC_UNIT_RELATIONSHIP_TYPE_BUILDIN
                //DOTA_NPC_UNIT_RELATIONSHIP_TYPE_DEFAULT
                //DOTA_NPC_UNIT_RELATIONSHIP_TYPE_HERO
                //DOTA_NPC_UNIT_RELATIONSHIP_TYPE_WARD
                // 视野设置
                //----------------------------------------------------------------
                "VisionDaytimeRange" "1200" // 白天视野范围
                "VisionNighttimeRange" "800" // 夜晚视野范围


                IP属地:美国42楼2018-09-28 12:39
                回复
                  插眼


                  IP属地:浙江来自Android客户端43楼2018-09-28 12:43
                  回复
                    哈哈哈画风突变 突然硬核起来 楼上几个说不是技术贴的脸都被打肿了


                    IP属地:广东来自Android客户端44楼2018-09-28 12:46
                    收起回复
                      以上是npc内单位的特特性,这些数据是可以改的(记得备份),仅本地有效,天梯和匹配时,游戏性以官方的为准(有内置npc文件管理),而还有一部分内容不会影响游戏性,算作个性化用户设置,对本地有效在官方服务器仍然继承,例如血条类型、组、底部圆圈大小、声音、血条高度、模型类型。


                      IP属地:美国45楼2018-09-28 12:47
                      收起回复
                        小蜘蛛围杀ta这个我之前听狗皇说的是围过去把网撤了
                        但是楼主这个好像更吊啊


                        IP属地:江苏来自iPhone客户端46楼2018-09-28 13:00
                        收起回复
                          手残**党表示除了哇一声之外,也没别的表示了


                          47楼2018-09-28 13:04
                          收起回复
                            所以,方法就在大家眼前了,做法就是将小蜘蛛的组拆解,具体做法我不演示了,大家备份好勇于尝试吧。一下就是修改前后的对比,如果能如左图,说明你成功了。祝大家玩的开心。


                            IP属地:美国48楼2018-09-28 13:06
                            收起回复
                              666666


                              IP属地:湖南来自Android客户端49楼2018-09-28 13:09
                              回复(2)