kingdomrush吧 关注:42,666贴子:402,408

Steam复仇代码修改集中贴

只看楼主收藏回复

手机版和前三代steam虽可以修改,但门槛较高,关于修改的也少之又少。不过复仇登陆steam后,复仇的修改门槛非常低,玩家可随意修改代码。玩家也是第一次能够修改kr系列的代码,热情高涨。最近吧内有几个关于修改复仇的贴,比如一个兵营99个兽人等,b站也有相关的视频和直播,如宝石塔全屏攻击等。
该贴主要想为大家提供修改代码的交流贴、咨询贴,欢迎大家在这里展示自己的修改成果和修改过程,与他人分享;也欢迎大家在这里咨询修改的问题和解答他人的疑惑。


IP属地:广东1楼2020-10-28 16:12回复
    1.代码文件的位置
    修改代码首先当然是要找到代码文件,在安装复仇的时候没有更改安装本地位置的话,那就是在Steam文件夹内,

    按照这个路径即可找到代码文件。

    最后三个文件,towers塔代码文件,units单位代码文件(有些塔的基础数据在这里),upgrades科技代码文件。
    另外,关卡文件在这个Level的文件夹内。


    IP属地:广东2楼2020-10-28 16:24
    收起回复
      2. 简单讲解一个塔和单位的代码构造
      每个塔的代码有几十行,不仅仅是涉及到攻击力攻速等基础数据,还包括贴图文件、贴图位置等等,这些有待深入研究。
      我们先来看看塔的代码,以一级熔炉为例。

      先是<key>dark_army_melting_furnace_level1</key>开头,表示下面的代码用来修饰一级熔炉,代码中单词与单词之间用_隔开。dark_army只是名称的前缀表示属于哪一个阵营(种族),与熔炉共同属于黑暗军团的有黑弓、黑骑和宝石;melting_furnace为熔炉的英文名。
      <key>cost</key>价格(注:造价代码都是在towers文件里)
      <integer>120</integer>
      一级熔炉要120块。
      <key>supreme_architects_system</key>
      <true/>
      意思是享有建筑大师这个天赋的效果。


      IP属地:广东3楼2020-10-28 20:37
      回复
        之后这段代码是关于贴图和其他的,我目前看不懂。
        <key>key</key>
        <string>TOWER_DARK_ARMY_MELTING_FURNACE_LEVEL1</string>
        <key>build_taunt</key>
        <string>group_dark_army_melting_furnance_build_taunt</string>
        <key>info</key>
        <dict>
        <key>type</key>
        <string>tower</string>
        <key>display_name</key>
        <string>TOWER_DARK_ARMY_MELTING_FURNACE_LEVEL1_TITLE</string>
        <key>display_bottom_image</key>
        <string>gui_bottom_info_image_towers_0007.png</string>
        </dict>
        <key>anchor</key>
        <dict>
        <key>x</key>
        <real>0.5</real>
        <key>y</key>
        <real>0.206</real>
        </dict>
        <key>position_offset</key>
        <dict>
        <key>x</key>
        <integer>0</integer>
        <key>y</key>
        <integer>-13</integer>
        </dict>
        <key>animations</key>
        <dict>
        <key>animations_file</key>
        <string>dark_army_melting_furnace_tower_lvl1_layer_animations.plist</string>
        </dict>
        <key>skills</key>
        <array>
        <dict>
        <key>key</key>
        <string>build</string>
        <key>duration</key>
        <real>0.8</real>
        <key>animation</key>
        <string>build</string>
        <key>achievements_on_finish</key>
        <array>
        <string>KR4_ACHIEVEMENT_BUILD_TOWERS_EASY</string>
        </array>
        <key>sound_start</key>
        <dict>
        <key>id</key>
        <string>build_sound</string>
        </dict>
        <key>bar</key>
        <dict>
        <key>position</key>
        <dict>
        <key>x</key>
        <integer>0</integer>
        <key>y</key>
        <integer>50</integer>
        </dict>
        </dict>
        </dict>
        <dict>


        IP属地:广东4楼2020-10-28 20:37
        回复

          这段是基础数据的
          <string>range_damage</string>
          <key>main</key>
          <true/>
          意思不明,暂时不知道什么作用
          <key>ignore_armor_points</key>无视抗性点数
          <integer>75</integer> 75
          攻击无视75点抗性,没有表明无视护甲还是魔抗,可能是双穿。
          <string>stun</string>眩晕
          <key>duration</key>持续时间,负面状态一般都会有的代码,女巫中毒幽灵墓策反等。
          <real>0.3</real>0.3秒,关于时间的数字,单位都是秒。若数字有小数点则用<real>夹住,其他地方也是如此。
          一级熔炉的攻击会造成0.3秒的眩晕。
          <key>rotate_unit</key>摇晃单位
          <false/> 否
          被眩晕的时候不会摇晃,什么意思呢?灵魂冲击眩晕敌人的时候,敌人会摇晃,就是跟这代码有关,纯视觉效果代码。
          <key>pause_unit</key>重置单位
          <true/> 是
          即打断敌人的攻击和技能。
          <key>first_frame_walk</key>意思不明,暂时不知道什么作用
          <true/>

          <key>cooldown</key>攻击间隔、技能冷却都是用这个代码
          <integer>4</integer>
          一级熔炉攻速4秒
          <key>action_time</key>攻击动作、施法动作时间,即前摇、抬手动作
          <real>1.83</real>

          <key>range</key>范围,调集范围、攻击(施法)范围和伤害范围的含义,此处为攻击范围。
          <integer>320</integer>
          <key>targets_flying_units</key>会攻击飞行单位
          <false/> 否
          <key>damage_flying_units</key>伤害得到飞行单位
          <false/> 否
          <key>damage_min</key>伤害最小值
          <integer>5</integer>
          <key>damage_max</key>伤害最大值
          <integer>7</integer>
          攻击力5-7
          <key>damage_type</key>伤害类型
          <integer>0</integer>
          0物理伤害 1魔法伤害 2炮弹伤害(无视一半护甲的伤害类型,多数是炮塔拥有的伤害类型,故取名为炮弹伤害) 3真实伤害
          <key>should_explode_units</key>使敌人爆炸
          <true/> 是
          被熔炉打死的敌人,尸体会爆炸,纯视觉效果代码。
          之后也是一代段非基础数据代码,看不懂。
          塔代码基本上是造价在开头,中间是数据代码,其余的是非数据代码。
          兵营塔代码包括调集范围、造价、人数、出兵的种类,单位数据代码在units里。


          IP属地:广东5楼2020-10-28 20:38
          收起回复
            我们再来看看单位代码,以北国女猎手为例,这次我就只讲基础数据的代码。
            <key>health</key>生命值
            <integer>120</integer>
            <key>armor</key>抗性点数
            <integer>0</integer>
            <key>armor_type</key>抗性类型
            <integer>0</integer>0护甲,1魔抗
            <key>speed</key>移速
            <integer>36</integer>
            <key>block_x_position</key>
            <integer>10</integer>
            <key>block_range</key>拦截范围,会跟别人近战的范围,这个不看敌人看自己人的。
            <integer>100</integer>
            <key>skulls</key>进家扣多少心
            <integer>1</integer>
            <key>gold</key>打死后获得的金钱
            <integer>10</integer>
            <key>blood_decal_type</key>血的种类
            <string>blood_red</string>红
            <key>skills</key>技能,包括近战和远程攻击
            <array>
            <dict>
            <key>key</key>
            <string>melee</string>近战,下面为近战数据
            <key>cooldown</key>
            <real>0.5</real>
            <key>damage_min</key>
            <integer>4</integer>
            <key>damage_max</key>
            <integer>7</integer>
            <key>damage_type</key>
            <integer>0</integer>
            <key>action_time</key>
            <real>0.3</real>
            <key>animation_start</key>
            <string>attack</string>
            <key>extra_hits</key>普攻攻击两次
            <array>
            <real>0.13</real>第二次伤害为面板的0.13倍
            </array>
            </dict>
            <dict>
            <key>key</key>
            <string>range_unit</string>远程单位
            <key>main</key>
            <true/>
            <key>flip_toward_target</key>远程攻击时面相目标
            <true/> 是
            <key>run_on_inactive</key>远程攻击会向前走,就是打一下走一步
            <false/> 否
            <key>cooldown</key>
            <real>0.5</real>
            <key>action_time</key>
            <real>0.3</real>
            <key>range</key>
            <integer>250</integer>
            <key>range_min</key>最小攻击范围
            <integer>50</integer>
            <key>should_lock_shooting</key>锁定目标
            <true/> 是(被打的人除了死亡和调集会一直被打)
            <key>search_type</key>索敌类型
            <string>NORMAL</string>
            该类型有4种,NORMAL,MAX_HEALTH(优先选取生命值最高的敌人,幽灵墓的策反),RANDOM(随机攻击,骷髅塔),FAR_FROM_EXIT(在路径上离入怪口最远的敌人,宝石)
            按理来说呢,塔在towers里,单位在units里,然而有些塔却在units里。
            比如鱼人塔,towers里代码名称deep_devils_reef,塔上的法师和塔下的鱼人在units,代码名称分别为deep_devils_shooter,greenfin_soldier(redspin_soldier四级)。


            IP属地:广东6楼2020-10-28 20:38
            收起回复
              顶了,写的很好哇,另外建议下一个plisteditor改代码更方便一些,哈哈


              IP属地:广东来自iPhone客户端7楼2020-10-28 21:41
              收起回复
                怎么修改敌人的护甲?能否实现改圣骑士魔抗为物抗?


                IP属地:黑龙江来自Android客户端8楼2020-10-28 22:46
                收起回复
                  写的很好!


                  IP属地:安徽来自Android客户端9楼2020-10-29 00:07
                  回复
                    原来炮弹伤害会无视一半护甲,一直都以为跟箭塔兵营一样会被敌人护甲削伤害


                    IP属地:广东来自iPhone客户端10楼2020-10-30 01:08
                    回复
                      请问怎么把单位改成双抗(物抗+魔抗)啊


                      IP属地:江苏来自手机贴吧11楼2020-10-30 10:32
                      收起回复
                        如此修改就失去了原本的意义表示只改钻石以及英雄全开


                        IP属地:黑龙江13楼2020-11-03 14:42
                        收起回复
                          那啥 有没有起源咋修改的教学?


                          IP属地:江苏来自Android客户端14楼2020-11-04 16:33
                          回复
                            有人知道手机版的如何修改吗


                            IP属地:山东来自Android客户端15楼2021-02-01 13:32
                            收起回复
                              请问楼主怎么改代码让steam上的复仇开始就能用全英雄全塔


                              IP属地:湖南来自Android客户端16楼2021-02-17 23:59
                              回复