自由枪骑兵吧 关注:7,818贴子:227,997
  • 39回复贴,共1

DickBJ的简易武器编写教程[能量、弹道、导弹武器]

只看楼主收藏回复

一楼防吞。
(我貌似看见百度的付费可见功能了,简直是。。。


IP属地:陕西1楼2016-01-17 08:38回复
    一、你需要的东西:
    1、游戏组件
    Freelancer英文原版或中文1.0汉化版(装了MOD也可以,不过你就需要灵活运用了)
    可选的组件:
    +官方1.1补丁
    (MODDB或The-Starport)
    +Jason's Freelancer Patch 1.2
    大量INI错误修正(修正数据、删除无用的条目,同时解压了所有INI文件以使它们能够直接被编辑),跳过开头动画,增加了侧旋机动,支持关闭自动水平化
    (兼容官方1.0与1.1,建议通过JFLP.dll升级到了1.21版本,否则有BUG) (http://adoxa.altervista.org/freelancer/index.html)
    +Ammo Limit插件(需要1.1补丁)
    支持自定义武器弹药的数量


    IP属地:陕西2楼2016-01-17 08:47
    回复
      2、你需要的工具
      下载
      http://tieba.baidu.com/p/4299090105
      原版玩家:BINI&TINI、Freelancer Resource Complier、FLSTAT、FLSCAN II
      JFLP1.21版玩家:Freelancer Resource Complier、FLSTAT、FLSCAN II
      3、考虑编辑与管理的方式
      (1)通过FLMM管理
      你需要在FLMM的MOD建立新的MOD路径并按照以下文件对应的游戏数据路径建立相同的MOD数据路径,并放入以下文件,否则FLMM无法识别。
      market_misc.ini - 定义商品的出售
      weapon_good.ini - 将武器定义为一种商品
      weapon_equip.ini - 定义武器
      weaponmoddb.ini - 定义不同类别武器的克制种类
      equipresources.dll - 定义武器的infocard
      (2)直接编辑
      不推荐,错一步就可能会挂。


      IP属地:陕西3楼2016-01-17 09:08
      回复
        一、制作能量武器
        这里以反舰能量武器为例。
        1、(原版玩家)使用TINI解压market_misc.ini weapon_good.ini weapon_equip.ini
        使用JFLP或社区SDK的玩家直接跳入下一步骤
        2、打开Weapon_equip.ini(建议用Notepad+或Freelancer MOD Studio)
        为了制作武器,必须参考现有武器的范例。
        这里以代号武器Guardians为蓝本。
        通过FLSTAT发现Guardians的nickname为special_gun13
        方便起见,整段复制Weapon_equip.ini中 Guardians的数据(GUN与AMMO都要有)
        以下是经过修改的数据
        [Munition]
        nickname = anti_capital01_ammo 弹药昵称(自己编写。要符合格式)。
        hp_type = hp_gun 所使用的外挂点,无需编辑。不过,导弹和能量武器所用的HARDPOINT是一样的。
        requires_ammo = false 既然不是需要购买弹药的能量武器,则无需修改。
        hit_pts = 2 这是指弹体的hp,能量武器无需使用这个设定,况且requires_ammo关闭的情况下也无效。
        hull_damage = 1280.0 船体伤害。
        energy_damage = 0 护盾伤害修正量(护盾伤害计算方法=0.5*船体伤害+该设定的值)。
        one_shot_sound = fire_tachyon5 发射声音,没必要修改,不准备讲解。
        munition_hit_effect = sp_annihilator_03_impact 击中特效,没必要修改,不准备讲解。
        const_effect = sp_annihilator_03_proj 弹药特效,没必要修改,不准备讲解。
        lifetime = 6.0 弹药生命周期 (射程计算方法:弹药的速度向量*生命周期)。
        force_gun_ori = false 无效设定,请忽略。
        mass = 1 质量,这个设定没有意义,因为是能量武器。
        volume = 0.0001 未知请勿轻易改动。
        [Gun]
        nickname = anti_capital_gun01 自己编写的武器nickname
        ids_name = 263538 信息卡名称对应序号,待会再修改
        ids_info = 264538 信息卡介绍对应序号,待会再修改
        DA_archetype = equipment\models\weapons\co_proton_cooker.cmp DA架构,不打算换模型,忽略。
        material_library = equipment\models\ge_equip.mat 材质,不打算换模型,忽略。
        HP_child = HPConnect 未知选项,最好不要修改。
        hit_pts = 1450 炮塔HP,可以考虑修改。
        explosion_resistance = 1 抵抗爆炸伤害,默认开启。
        debris_type = debris_normal 残骸种类,无修改必要。
        parent_impulse = 20 未知选项,不要修改。
        child_impulse = 80 未知选项,不要修改。
        volume = 0 未知选项,不要修改
        mass = 10 质量,FL没有使用这个数据。
        hp_gun_type = hp_gun_special_10 武器对应的hardpoint等级(末尾数字范围1~10,对应十个等级)。
        damage_per_fire = 0 根据JASON介绍,这是一个没有被利用的数值。
        power_usage = 384能量使用,请自行调试。
        refire_delay = 4.0 开火频率,请自行设定
        muzzle_velocity = 250.0 初速度(实际速度计算:飞船速度向量+弹药速度向量)
        use_animation = Sc_fire 动画,没必要修改。
        toughness = 19.6 与操控或坚硬程度有关,没必要修改。
        flash_particle_name = sp_annihilator_03_flash 开火粒子特效,不打算换动画,没必要修改。
        flash_radius = 15 特效闪烁半径,没必要修改。
        light_anim = l_gun01_flash 闪光特效,没必要修改。
        projectile_archetype = anti_capital01_ammo 弹药种类,一定要对应之前定义的弹药
        separation_explosion = sever_debris 爆炸特效,没必要修改。
        auto_turret = false 自动炮塔?未知选项。
        turn_rate = 90 转向相关,没必要修改。
        lootable = true 可掉落,不必修改。
        LODranges = 0, 20, 60, 100 LOD选项,与精细度有关,没必要修改。


        IP属地:陕西4楼2016-01-17 10:10
        回复
          3、编写infocard(你要是懒,直接跳过)
          使用Freelancer Resource Complier解压equipresources.dll,得到equipresources.frc,打开。
          结构介绍:
          第一部分
          S +数字 名称序列
          H +数字 介绍序列
          编辑是请灵活注意序号取值范围。
          这里我们将武器命名为Juggernaut MK I
          在S部分的最后一行加上
          S 265757 Juggernaut MK I

          注意按照格式。
          然后返回Weapon_equip.ini
          在对应武器的ids_name填上265757。
          然后在H部分最后写上一段有逼格的介绍,用英文。必须按照格式,具体请参阅Freelancer Explorer的相关教程。
          \b 粗体
          \u下划线
          \r 红色粗体
          \i 斜体

          请注意图中我还没有修改H后面的序号,请改为265757
          写好后返回Weapon_equip.ini,在对应的武器的ids_info填上265757。
          现在武器有数据和资料了,接下来是设定它以便能购买


          IP属地:陕西5楼2016-01-17 10:44
          收起回复
            4、设定武器购买数据。
            我们先要把武器定义为商品。
            打开weapon_good.ini
            复制一段已有武器的数据,这里以Guardian为例
            [Good]
            nickname = anti_capital_gun01 昵称,与武器一致
            equipment = anti_capital_gun01 装备,与武器一致 (实际出售的装备)
            category = equipment 类别
            price = 4750.0 价格
            item_icon = equipment\models\commodities\nn_icons\EQUIPICON_gun.3db 图标
            combinable = false
            ids_name = 265757 显示名称 (挂羊头卖狗肉可以试试)
            ids_info = 265757 显示资料
            shop_archetype = equipment\models\weapons\co_proton_cooker.cmp 未知数据
            material_library = equipment\models\ge_equip.mat 未知数据
            现在他是一个商品了,那么我们要去哪里买呢?
            这里以Willard Research Station为例。
            打开market_misc.ini,找到li02_04_base
            在列表中间加上一行


            IP属地:陕西6楼2016-01-17 11:00
            收起回复


              IP属地:陕西8楼2016-01-17 11:54
              回复
                ▕(:3▒▒▒赞一个


                IP属地:湖北来自Android客户端9楼2016-01-17 13:06
                收起回复
                  既然引人挖坑。。。那我今晚就抽时间补完吧


                  IP属地:陕西来自Android客户端14楼2017-01-09 13:20
                  回复
                    先做一点纠正吧。首先volume值定义的是装备卸下是占据的货仓容量。toughness的数值为武器DPS/100,是AI判定威胁的重要依据,越高AI越不会来惹你。


                    IP属地:陕西来自Android客户端15楼2017-01-09 13:25
                    回复
                      Very Good. Please Tell about how to edit the speed of the armo & the icons of the weapon.


                      IP属地:四川16楼2017-01-09 14:15
                      收起回复
                        今天总算有时间了。我就大概说一下使用Freelancer Mod Studio和Freelancer Dev制作新武器的简单方法吧~~~(个人认为最简单)
                        你需要的工具:
                        Freelancer Mod Studio by stfx (基础数据)
                        http://stfx.github.io/freelancermodstudio/
                        Freelancer Dev (INFOCARDS)
                        http://forge.the-starport.net/projects/fldev/files
                        Freelancer Market Tool
                        忘记源地址了。。。就用我发的吧(其实也包括上面两个)
                        http://tieba.baidu.com/p/4299090105?pid=82292320639&cid=0#82292320639
                        你需要动的文件
                        weapon_equip.ini
                        weapon_good.ini
                        market_misc.ini
                        一定要做好备份
                        第一步,使用FLMS(Freelancer Mod Studio)打开weapon_equip.ini,你会发现一个列表。包含name,#,和type三栏。我们不需要对列表顺序进行整理。这里name对应的是武器或组件的nickname;#对应的是在ini中的顺序,Type对应的是每个区块的种类。
                        这里对name和Type做一个小分类
                        a_markb发射器种类A,型号b
                        ;这里的种类型号并不必要地对应游戏里的分类
                        a_markb_ammo发射器种类A,型号b的弹药
                        ;一切武器的弹药设定核心部分
                        a_markb_motor发射器种类A,型号b的弹药的引擎
                        ;仅供导弹、鱼雷、地雷等弹药存在推力的武器有效
                        a_markb_explosion发射器种类A,型号b弹药的爆炸
                        ;仅供导弹、鱼雷、地雷等弹药存在推力的武器有效
                        能量武器的模版
                        a_markb
                        a_markb_ammo
                        导弹的模版
                        a_markb
                        a_markb_ammo
                        a_markb_motor
                        a_markb_explosion
                        这里就讲能量炮,导弹的可以通过能量炮推导出来
                        按ctrl选中(这里以liberty的武器为模版)li_gun01_mark01_ammo,li_gun01_mark01
                        按Ctrl+C,再按Ctrl+V,你就克隆了这个武器
                        选中克隆的li_gun01_mark01_ammo,右边出现一堆数据
                        1、修改nickname,不可以与现有的重复,这里改为了ohshit_mark01_ammo01。
                        2、requires_ammo一般不必修改,除非你想让这玩意的弹药有限。(那会很麻烦,本教程不讲,不过和导弹的编辑有些类似)
                        2、修改hull_damage,这是每一发弹药的伤害,自己定
                        3、可以修改weapon_type,W_Laser对应的是激光类武器,把Laser替换为Plasma,Particle,Neutron之类的属性,当然了,这全看你的需求。
                        4、修改lifetime,这是弹药在发射之后存在的时长(秒)。影响射程。(实际射程的计算方法在前几楼说过了)
                        5、false_gun_ori一般不需要修改为True,除非你不想让炮塔转动(比如Liberty巡洋舰主炮)
                        6、mass和volume在本教程用不着
                        选中克隆的li_gun01_mark01,右边还是一堆数据
                        1、修改nickname,不可以与现有的重复,这里改为了ohshit_mark01。
                        2、hit_pts按需修改,武器的生命值,一般来说参考同等级武器。
                        3、explosion_resistance不用修改,这是对爆炸的抗性。
                        4、hp_gun_type,后面的hp_gun_special_1结尾的数字对应武器等级。
                        5、power_usage是能量消耗
                        6、refire_delay是开火间隔
                        7、muzzle_velocity是枪口速度,影响射程和弹药速度
                        8、projectile_archetype指定了这把枪使用的弹药,这里使用之前添加的ohshit_mark01_ammo01
                        8、toughness前说过了
                        9、剩下的是以前说过的或者特效部分,说来话长啊(自己研究吧,参考其他武器,可以改变特效。你也可以自己试着制作特效,并不算太难。)
                        10、最麻烦的一部分,ids_name和ids_info,接下来就是这部分。
                        保存weapon_equip.ini,打开Freelancer Dev,弹出来分栏的界面。现在Freelancer.ini Path那里应该已经有了路径,如果没有的话就点击Browse选中Freelancer.ini。选好Freelancer.ini后然后点击Update。
                        切换到DLL Editor栏(中上),在DLLs List中选中EquipResources.dll,勾选Active,然后左边会生成一堆名字的列表。这个列表便是Freelancer武器的名称和Infocard,名字和Infocard分别占用IDS
                        1、点击GET NEXT EMPTY,得到一个没有被使用的IDS_Number,记下这个IDS_Number(如262145)
                        2、右边的Editor栏里应该选中了Name选项,然后在这里的文本框输入你想给这件武器取的名字。这里以Ohshit为例,写好后点击右下角的Update。
                        3、点击GET NEXT EMPTY,得到一个没有被使用的IDS_Number,记下这个IDS_Number(如262146)
                        4、选中右边的Editor栏里的Infocard选项,然后在这里的文本框输入这件武器的介绍。这里有一定的格式,必须是英文。
                        如:
                        <RDL><PUSH/><JUST loc="c"/><TRA bold="true"/><TEXT>Ohshit Plasma Cannon</TEXT><TRA bold="false"/><PARA/><JUST loc="l"/><PARA/><TEXT>This is a plasma-based weapon that delivers large amounts of damage, but cannot be refired quickly. This weapon is most effective against graviton shields, and weakest against molecular shields. Shitty weapons have shitty rates of fire, but at a shitty range.</TEXT><PARA/><PARA/><POP/></RDL>
                        模版
                        <RDL><PUSH/><JUST loc="c"/><TRA bold="true"/><TEXT>武器名字</TEXT><TRA bold="false"/><PARA/><JUST loc="l"/><PARA/><TEXT>武器介绍</TEXT><PARA/><PARA/><POP/></RDL>
                        5、写好后,单纯Update,然后再点击Apply Changes,关闭即可。
                        现在,再使用FLMS打开weapon_equip.ini。打开刚才添加的武器条目(ohshit_mark01),里面的ids_name修改为刚才武器名称对应的IDS_number,ids_info改为Infocard对应的IDS_number,保存即可。
                        现在你又武器了,游戏可以识别了,但是为了让这件武器成为一个商品,你就需要编辑weapon_good.ini与market_misc.ini,上面已经说过了。
                        如果你制作了某款导弹的弹药,你怎么才能让每一座基地都出售呢?一个一个修改岂不是很麻烦?
                        这时就体现了Freelancer Market Tool的作用,它是一个基地商品出售批处理工具,这个工具自带完整的使用说明,请大家自行领悟。


                        IP属地:陕西18楼2017-01-17 16:07
                        回复
                          收藏了


                          IP属地:浙江来自iPhone客户端19楼2018-01-06 14:49
                          回复
                            挖坟?


                            IP属地:湖北来自iPhone客户端20楼2018-01-06 23:42
                            回复
                              大佬,我改武器数据为什么总是闪退,帮我一下,我给你发红包


                              IP属地:江苏来自Android客户端21楼2023-05-05 10:56
                              收起回复