3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

打印 上一主题 下一主题

[资料] 【Warno预先号令】Mod制作个人经验分享(Mod经验+v141373学习版+v141373无敌CE修改)

  [复制链接]

0

主题

39

帖子

51

积分

初级玩家

Rank: 2

贡献度
0
金元
512
积分
51
精华
0
注册时间
2021-5-3
31#
发表于 2025-1-12 22:29 | 只看该作者
野区迷路的兔子 发表于 2025-1-12 21:48
把打包好的mod文件,放在C:%users\admin\Saved Games\EugenSystems\WARNO\mod这个文件夹里就行了
...

谢谢dalao 但是不知道为什么我在创意工坊下的mod启用不了
回复 支持 反对

使用道具 举报

4

主题

275

帖子

435

积分

高级玩家

Rank: 4

贡献度
15
金元
3746
积分
435
精华
0
注册时间
2013-11-8
QQ
32#
 楼主| 发表于 2025-1-12 22:32 | 只看该作者
3dm_15150548 发表于 2025-1-12 22:29
谢谢dalao 但是不知道为什么我在创意工坊下的mod启用不了

启用不了大概率是版本不对,我发的这个游戏的版本是v141373,steam最新的版本是v141935,所以如果你下载了创意工坊最新的mod,放在141373版本的文件中,就会无法正常加载mod

这个网站看到游戏的版本WARNO (App 1611600) · Patches and Updates · SteamDB
回复 支持 反对

使用道具 举报

0

主题

27

帖子

50

积分

初级玩家

Rank: 2

贡献度
0
金元
500
积分
50
精华
0
注册时间
2020-6-2
33#
发表于 2025-1-12 23:19 | 只看该作者
野区迷路的兔子 发表于 2025-1-12 22:23
“OpticalStrength = 90.9 观瞄 90.9一般,70.75较差 130.35良好, 193.02极佳,233.475非凡
OpticalStren ...

对哈,害,忘改弹药文件里的装填时间了,我说今天打的时候怎么感觉补给速度这么慢呢
—————————————————————————————————————————————————
大佬team.ndf里的这个(文件位置:mod名\GameData\Gameplay\Unit\Tactic在这里)这个示例是我已经改过的
export Tactic_TeamUnitDescriptor is TEntityDescriptor
(
    World          = WorldIndices_Team
    DescriptorId        = GUID:{00000000-0000-0000-0000-000032000000}

    ModulesDescriptors =
    [
        TTeamAirportModuleDescriptor
        (

            // Point d'essence par tick
            FuelSupplyAmountBySecond = 1000//每秒燃料供应量
            // Cout du ravitaillement de point de vie par tick
            HealthSupplyAmountBySecond = 10//每秒生命供应量
            // Cout du ravitaillement de munition par tick
            AmmunitionSupplyAmountBySecond = 100//每秒弹药供应量
        ),
               
这个修改了可以加快补给和修理时间,但应该有上限,我暂时还没试出来
WARNO\Mods\001\GameData\Generated\UserInterface\WeaponsMinMax.ndf这个是各种武器极限值,也可以修改
——————————————
此为原版
ModulesDescriptors =
    [
        TTeamAirportModuleDescriptor
        (

            // Point d'essence par tick
            FuelSupplyAmountBySecond = 10
            // Cout du ravitaillement de point de vie par tick
            HealthSupplyAmountBySecond = 0.0198
            // Cout du ravitaillement de munition par tick
            AmmunitionSupplyAmountBySecond = 1
        ),
—————————————————————————————————————————————————
ravitillement.ndf(文件位置:mod名\GameData\Gameplay\Constantes)同上已改

    // Point d'essence ravitaillés par seconde
    FuelSupplyBySecond = 300  每秒燃料供应
    // Cout du ravitaillement d'essence par seconde
    FuelSupplyCostBySecond =  1.5  每秒燃料供应成本

    // Point de vie ravitaillés par seconde
    HealthSupplyBySecond = 10 //0.00001  每秒生命供应量
    // Cout du ravitaillement de point de vie par seconde
    HealthSupplyCostBySecond = 3 // 0.00001  花费

    // Point de ravitaillement ravitaillés par seconde
    SupplySupplyBySecond = 200 //30  每秒加油点
    // Cout du ravitaillement de point de ravitaillement par seconde
    SupplySupplyCostBySecond = 20 //30  花费

    // Point de munition ravitaillés par seconde
    AmmunitionSupplyBySecond = 1000  每秒加油弹药点

    // Points de "critique" réparés par seconde
    CriticsSupplyBySecond = 500  每秒修复的“临界”点
    // Coût de la réparation de "critique" par seconde
    CriticsSupplyCostBySecond = 20
——————————————
此为原版
    // Point d'essence ravitaillés par seconde
    FuelSupplyBySecond = 30
    // Cout du ravitaillement d'essence par seconde
    FuelSupplyCostBySecond =  1.5

    // Point de vie ravitaillés par seconde
    HealthSupplyBySecond = 0.10 //0.00001
    // Cout du ravitaillement de point de vie par seconde
    HealthSupplyCostBySecond = 3 // 0.00001

    // Point de ravitaillement ravitaillés par seconde
    SupplySupplyBySecond = 20 //30
    // Cout du ravitaillement de point de ravitaillement par seconde
    SupplySupplyCostBySecond = 20 //30

    // Point de munition ravitaillés par seconde
    AmmunitionSupplyBySecond = 60

    // Points de "critique" réparés par seconde
    CriticsSupplyBySecond = 10
    // Coût de la réparation de "critique" par seconde
    CriticsSupplyCostBySecond = 20
       
这里我一直有个疑问,比如SupplySupplyBySecond = 20 //30里20 //30前后关系是啥,有人说前者是自己的,后面是敌人的或者每秒,每秒(诸如3 // 0.00001里的0.00001)这个可能是,但敌人(20 //30里的30)我试了半天,改大改小都没啥效果,不知道大佬啥看法
—————————————————————————————————————————————————
看网上您的mod教程比官方和其他渠道的详细太多了,再次衷心感谢大佬分享经验

回复 支持 反对

使用道具 举报

4

主题

275

帖子

435

积分

高级玩家

Rank: 4

贡献度
15
金元
3746
积分
435
精华
0
注册时间
2013-11-8
QQ
34#
 楼主| 发表于 2025-1-13 00:21 | 只看该作者
zero798362555 发表于 2025-1-12 23:19
对哈,害,忘改弹药文件里的装填时间了,我说今天打的时候怎么感觉补给速度这么慢呢
————————— ...

嚯嚯嚯,果然还是多分享,我也不是啥大佬只是刚好自己懂一点然后搞了搞分享下经验;

你几个文件我还真没看过,我去琢磨琢磨看看能不能鼓捣点东西出来;
————————
WARNO\Mods\001\GameData\Generated\UserInterface\WeaponsMinMax.ndf这个是各种武器极限值,也可以修改

这个我在实际修改弹药的时候发现,如果你想要修改武器伤害,尤其是ap穿甲弹,应该是应用弹药属性的数组,我来举个例子:看弹药文件Ammunition.ndf

Ammo_AutoCanon_AP_20mm_M621_GIAT is TAmmunitionDescriptor
(
    DescriptorId                      = GUID:{eae3cc3b-b79c-4ef1-8f61-309389f6024a}
    Name                              = 'LBBIKKBUZY'
    TypeCategoryName                  = 'ZJQCIJREVP'
    Caliber                           = 'EILGBJABHL'
    WeaponDescriptionToken            = 'BRUJGAAJMP'
    TraitsToken                       = [ 'MOTION', ]
    WeaponCursorType                  = Weapon_Cursor_FastCanon
    MinMaxCategory                    = MinMax_AutocanonHE
    Arme                              = TDamageTypeRTTI(Family=DamageFamily_ap Index=6)
    ProjectileType                    = EProjectileType/Obus
    ImpactHappening                   = [ 'CanonPetitM230AP' ]
    FxPower                           = EFXPower/Moyen

其中如果我要增加弹药伤害,可以把Arme  = TDamageTypeRTTI(Family=DamageFamily_ap Index=6)这里的6修改为更高的数值,他会关联到另外一个文件DamageResistance.ndf
在这个文件中描述了:TDamageTypeFamilyDefinition(Family=DamageFamily_ap MaxIndex=40),ap伤害数组最大是数组40,下面的数组代表着不同的伤害信息
        //AP_6
        [12.0, 6.0, 5.0, 0.0, 6.0, 3.0, 2.5, 2.0, 1.5, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 12.0, 6.0, 5.0, 0.0, 0.0, 0.0, 3.0, 1.0, 12.0, 6.0, 3.0, 12.0,],

        //AP_40
        [60.0, 30.0, 30.0, 0.0, 20.5, 20.0, 19.5, 19.0, 18.5, 18.0, 17.5, 17.0, 16.5, 16.0, 15.5, 15.0, 14.5, 14.0, 13.5, 13.0, 12.5, 12.0, 11.5, 11.0, 10.5, 10.0, 9.5, 9.0, 8.5, 8.0, 7.5, 7.0, 6.5, 6.0, 0.0, 0.0, 0.0, 60.0, 30.0, 30.0, 0.0, 0.0, 0.0, 3.0, 1.0, 60.0, 30.0, 20.0, 60.0,],

——————————————

这里我一直有个疑问,比如SupplySupplyBySecond = 20 //30里20 //30前后关系是啥,有人说前者是自己的,后面是敌人的或者每秒,每秒(诸如3 // 0.00001里的0.00001)这个可能是,但敌人(20 //30里的30)我试了半天,改大改小都没啥效果,不知道大佬啥看法

哈哈哈哈这个是一个代码问题,我猜测他们的代码用的是java,//一般在java语言用代表的是注释信息,也就是说//后面的部分是开发者留下的注释,这部分内容在代码中是不生效的,也就可能是开发者在调试的时候留下的备注,你在开发工具中切换到java环境就懂了哈哈哈

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

0

主题

197

帖子

292

积分

高级玩家

Rank: 4

贡献度
0
金元
2917
积分
292
精华
0
注册时间
2020-3-6
35#
发表于 2025-1-13 08:42 | 只看该作者
hhhhhhhhhhhhhhhhhhhhh
回复 支持 反对

使用道具 举报

1

主题

214

帖子

262

积分

高级玩家

Rank: 4

贡献度
1
金元
2581
积分
262
精华
0
注册时间
2012-2-4
36#
发表于 2025-1-13 12:19 | 只看该作者
感谢楼主分享!!
回复 支持 反对

使用道具 举报

0

主题

179

帖子

251

积分

高级玩家

Rank: 4

贡献度
0
金元
2505
积分
251
精华
0
注册时间
2022-1-13
37#
发表于 2025-1-13 13:37 | 只看该作者
沙发发
回复 支持 反对

使用道具 举报

0

主题

6

帖子

12

积分

新手玩家

Rank: 1

贡献度
0
金元
115
积分
12
精华
0
注册时间
2021-3-6
38#
发表于 2025-1-13 19:56 | 只看该作者
66666666666
回复 支持 反对

使用道具 举报

0

主题

1

帖子

4

积分

新手玩家

Rank: 1

贡献度
0
金元
35
积分
4
精华
0
注册时间
2025-1-16
39#
发表于 2025-1-16 20:54 | 只看该作者
为啥我mod做完激活后没反应?程序操作都保存了。
回复 支持 反对

使用道具 举报

4

主题

275

帖子

435

积分

高级玩家

Rank: 4

贡献度
15
金元
3746
积分
435
精华
0
注册时间
2013-11-8
QQ
40#
 楼主| 发表于 2025-1-17 12:52 | 只看该作者
3dm_22433096 发表于 2025-1-16 20:54
为啥我mod做完激活后没反应?程序操作都保存了。

你这个问题描述的有点太笼统了,有很多可能性导致你说的这个问题,我只能给你一个排查清单,你自己排查一下;
————————
0.确认修改的代码正确,建议你可以先从修改单位的费用开始,因为修改单位费用可以直接在游戏的军械库里看到数据。

1.代码写完确认保存了,关闭代码文件后,重新打开,已修改的内容被成功保存;

2.确认代码保存成功后,运行了GenerateMod.bat

3.确认在mod文件夹中有你的mod

4.确认mod版本和游戏版本相同

5.确认mod成功启用(启用后退出游戏再重新打开游戏,仍然为勾选状态)

6.前往查看代码修改的内容是否生效
回复 支持 反对

使用道具 举报

4

主题

275

帖子

435

积分

高级玩家

Rank: 4

贡献度
15
金元
3746
积分
435
精华
0
注册时间
2013-11-8
QQ
41#
 楼主| 发表于 2025-1-17 14:03 | 只看该作者
兄弟们大家好,今天进入修改关于单位武器的修改部分
——————
4.2.如何修改单位武器
——————
在warno的单位修改中,我们提到了warno的单位武器在单位文件中是没有数据的,在单位文件中只会有单位使用什么武器的代码映射,比如:
        WeaponManager is TModuleSelector
        (
            Default        = $/GFX/Weapon/WeaponDescripto_T80UD_SOV
            Condition      = ~/IfNotCadavreCondition
        ),
这就代表着t80UD这个单位,使用的是WeaponDescripto_T80UD_SOV这个武器映射,而武器实际上的信息是在WeaponDescriptor.ndf武器描述文件里;
————————
在武器文件中,每一个武器映射是由一段代码组成,这里我们继续看T80UD这个单位,他的代码如下:
export WeaponDescriptor_T80UD_SOV is TWeaponManagerModuleDescriptor
(
    Salves           = [ 1, 4, 65, 65, 1, ]
    AlwaysOrientArmorTowardsThreat = True
    TurretDescriptorList = [
        TTurretTwoAxisDescriptor
        (
            AngleRotationBase               = 0.0
            AngleRotationBasePitch          = 0.0
            AngleRotationMax                = 6.283185307179586
            AngleRotationMaxPitch           = 0.4363323129985824
            AngleRotationMinPitch           = -0.17453292519943295
            MountedWeaponDescriptorList     = [
                TMountedWeaponDescriptor
                (
                    Ammunition                          = $/GFX/Weapon/Ammo_Canon_AP_125_mm_2A46M_late_T80UD
                    AnimateOnlyOneSoldier               = False
                    DispersionRadiusOffColor            = RGBA[0,0,0,0]
                    DispersionRadiusOffThickness        = -0.1
                    DispersionRadiusOnColor             = RGBA[0,0,0,0]
                    DispersionRadiusOnThickness         = -0.1
                    EffectTag                           = 'FireEffect_Canon_AP_125_mm_2A46M_late_T80UD'
                    HandheldEquipmentKey                = 'MeshAlternative_1'
                    NbWeapons                           = 1
                    SalvoStockIndex                     = 0
                    ShowDispersion                      = False
                    ShowInInterface                     = True
                    WeaponActiveAndCanShootPropertyName = 'WeaponActiveAndCanShoot_1'
                    WeaponIgnoredPropertyName           = 'WeaponIgnored_1'
                    WeaponShootDataPropertyName         = ['WeaponShootData_0_1']
                ),
                TMountedWeaponDescriptor
                (
                    Ammunition                          = $/GFX/Weapon/Ammo_Canon_HE_125_mm_2A46M_late_T80UD
                    AnimateOnlyOneSoldier               = False
                    DispersionRadiusOffColor            = RGBA[0,0,0,0]
                    DispersionRadiusOffThickness        = -0.1
                    DispersionRadiusOnColor             = RGBA[0,0,0,0]
                    DispersionRadiusOnThickness         = -0.1
                    EffectTag                           = 'FireEffect_Canon_HE_125_mm_2A46M_late_T80UD'
                    HandheldEquipmentKey                = 'MeshAlternative_2'
                    NbWeapons                           = 1
                    SalvoStockIndex                     = 0
                    ShowDispersion                      = False
                    ShowInInterface                     = True
                    WeaponActiveAndCanShootPropertyName = 'WeaponActiveAndCanShoot_2'
                    WeaponIgnoredPropertyName           = 'WeaponIgnored_2'
                    WeaponShootDataPropertyName         = ['WeaponShootData_0_2']
                ),
                TMountedWeaponDescriptor
                (
                    Ammunition                          = $/GFX/Weapon/Ammo_ATGM_9M119M_Refleks
                    AnimateOnlyOneSoldier               = False
                    DispersionRadiusOffColor            = RGBA[0,0,0,0]
                    DispersionRadiusOffThickness        = -0.1
                    DispersionRadiusOnColor             = RGBA[0,0,0,0]
                    DispersionRadiusOnThickness         = -0.1
                    EffectTag                           = 'FireEffect_ATGM_9M119M_Refleks'
                    HandheldEquipmentKey                = 'MeshAlternative_3'
                    NbWeapons                           = 1
                    SalvoStockIndex                     = 1
                    ShowDispersion                      = False
                    ShowInInterface                     = True
                    WeaponActiveAndCanShootPropertyName = 'WeaponActiveAndCanShoot_3'
                    WeaponIgnoredPropertyName           = 'WeaponIgnored_3'
                    WeaponShootDataPropertyName         = ['WeaponShootData_0_3']
                )
            ]
            OutOfRangeTrackingDuration      = 3.5
            Tag                             = 'tourelle1'
            TurretIdleBehaviourDescriptor   = ~/TurretIdle_WatchForwardNormal
            VitesseRotation                 = 1.0471975511965976
            YulBoneOrdinal                  = 1
        ),
        TTurretTwoAxisDescriptor
        (
            AngleRotationBase               = 0.0
            AngleRotationBasePitch          = 0.17453292519943275
            AngleRotationMax                = 6.283185307179586
            AngleRotationMaxPitch           = 0.7853981633974483
            AngleRotationMinPitch           = -0.17453292519943295
            MountedWeaponDescriptorList     = [
                TMountedWeaponDescriptor
                (
                    Ammunition                          = $/GFX/Weapon/Ammo_HMG_12_7_mm_NSVT
                    AnimateOnlyOneSoldier               = True
                    DispersionRadiusOffColor            = RGBA[0,0,0,0]
                    DispersionRadiusOffThickness        = -0.1
                    DispersionRadiusOnColor             = RGBA[0,0,0,0]
                    DispersionRadiusOnThickness         = -0.1
                    EffectTag                           = 'FireEffect_HMG_12_7_mm_NSVT'
                    HandheldEquipmentKey                = 'MeshAlternative_4'
                    NbWeapons                           = 1
                    SalvoStockIndex                     = 2
                    ShowDispersion                      = False
                    ShowInInterface                     = True
                    TirContinu                          = True
                    WeaponActiveAndCanShootPropertyName = 'WeaponActiveAndCanShoot_4'
                    WeaponIgnoredPropertyName           = 'WeaponIgnored_4'
                    WeaponShootDataPropertyName         = ['WeaponShootData_0_4']
                )
            ]
            OutOfRangeTrackingDuration      = 3.5
            Tag                             = 'tourelle2'
            TurretIdleBehaviourDescriptor   = ~/TurretIdle_WatchForwardMG
            VitesseRotation                 = 1.0471975511965976
            YulBoneOrdinal                  = 2
        ),
        TTurretTwoAxisDescriptor
        (
            AimingPriority              = 3
            AngleRotationBase           = 0.0
            AngleRotationBasePitch      = 0.0
            AngleRotationMax            = 0.017453292519943295
            AngleRotationMaxPitch       = 0.13962634015954636
            AngleRotationMinPitch       = -0.13962634015954636
            MasterTurretYulBoneOrdinal  = 1
            MountedWeaponDescriptorList = [
                TMountedWeaponDescriptor
                (
                    Ammunition                          = $/GFX/Weapon/Ammo_MMG_PKT_7_62mm
                    AnimateOnlyOneSoldier               = True
                    DispersionRadiusOffColor            = RGBA[0,0,0,0]
                    DispersionRadiusOffThickness        = -0.1
                    DispersionRadiusOnColor             = RGBA[0,0,0,0]
                    DispersionRadiusOnThickness         = -0.1
                    EffectTag                           = 'FireEffect_MMG_PKT_7_62mm'
                    HandheldEquipmentKey                = 'MeshAlternative_5'
                    NbWeapons                           = 1
                    SalvoStockIndex                     = 3
                    ShowDispersion                      = False
                    ShowInInterface                     = True
                    TirContinu                          = True
                    WeaponActiveAndCanShootPropertyName = 'WeaponActiveAndCanShoot_5'
                    WeaponIgnoredPropertyName           = 'WeaponIgnored_5'
                    WeaponShootDataPropertyName         = ['WeaponShootData_0_5']
                )
            ]
            OutOfRangeTrackingDuration  = 3.5
            Tag                         = 'tourelle4'
            VitesseRotation             = 1.5707963267948966
            YulBoneOrdinal              = 4
        ),
        TTurretUnitDescriptor
        (
            AngleRotationMax            = 2.0943951023931953
            AngleRotationMaxPitch       = 1.5707963267948966
            AngleRotationMinPitch       = -1.5707963267948966
            MountedWeaponDescriptorList = [
                TMountedWeaponDescriptor
                (
                    Ammunition                          = $/GFX/Weapon/Ammo_SMOKE_Vehicle_Grenadex8
                    AnimateOnlyOneSoldier               = True
                    DispersionRadiusOffColor            = RGBA[0,0,0,0]
                    DispersionRadiusOffThickness        = -0.1
                    DispersionRadiusOnColor             = RGBA[0,0,0,0]
                    DispersionRadiusOnThickness         = -0.1
                    EffectTag                           = 'FireEffect_SMOKE_Vehicle_Grenadex8'
                    HandheldEquipmentKey                = 'MeshAlternative_6'
                    NbWeapons                           = 1
                    SalvoStockIndex                     = 4
                    ShowDispersion                      = False
                    ShowInInterface                     = False
                    WeaponActiveAndCanShootPropertyName = 'WeaponActiveAndCanShoot_6'
                    WeaponIgnoredPropertyName           = 'WeaponIgnored_6'
                    WeaponShootDataPropertyName         = ['WeaponShootData_0_6', 'WeaponShootData_1_6', 'WeaponShootData_2_6', 'WeaponShootData_3_6']
                )
            ]
            Tag                         = 'tourelle5'
            YulBoneOrdinal              = 5
        )
    ]
)
————————————————————
其中:

Salves           = [ 1, 4, 65, 65, 1, ]
这个代表着单位有5种可开火的武器类型(数字代表的含义其实是和弹药共同作用的开火次数这个我后面解释)
TTurretTwoAxisDescriptor
        (
            AngleRotationBase               = 0.0
            AngleRotationBasePitch          = 0.0
            AngleRotationMax                = 6.283185307179586
            AngleRotationMaxPitch           = 0.4363323129985824
            AngleRotationMinPitch           = -0.17453292519943295
            MountedWeaponDescriptorList     = [

这个代表的是t80使用的是双轴炮塔, 其中数字为炮塔的旋转角度
——————————
MountedWeaponDescriptorList     = [
这个之后的代码,就代表着装载的武器信息了,每一个代码块和上面的Salves           = [ 1, 4, 65, 65, 1, ]有关联关系
TMountedWeaponDescriptor(
                    Ammunition                          = $/GFX/Weapon/Ammo_Canon_AP_125_mm_2A46M_late_T80UD
                    AnimateOnlyOneSoldier               = False
                    DispersionRadiusOffColor            = RGBA[0,0,0,0]
                    DispersionRadiusOffThickness        = -0.1
                    DispersionRadiusOnColor             = RGBA[0,0,0,0]
                    DispersionRadiusOnThickness         = -0.1
                    EffectTag                           = 'FireEffect_Canon_AP_125_mm_2A46M_late_T80UD'
                    HandheldEquipmentKey                = 'MeshAlternative_1'
                    NbWeapons                           = 1
                    SalvoStockIndex                     = 0
                    ShowDispersion                      = False
                    ShowInInterface                     = True
                    WeaponActiveAndCanShootPropertyName = 'WeaponActiveAndCanShoot_1'
                    WeaponIgnoredPropertyName           = 'WeaponIgnored_1'
                    WeaponShootDataPropertyName         = ['WeaponShootData_0_1']),
TMountedWeaponDescriptor(
                    Ammunition                          = $/GFX/Weapon/Ammo_Canon_HE_125_mm_2A46M_late_T80UD
                    AnimateOnlyOneSoldier               = False
                    DispersionRadiusOffColor            = RGBA[0,0,0,0]
                    DispersionRadiusOffThickness        = -0.1
                    DispersionRadiusOnColor             = RGBA[0,0,0,0]
                    DispersionRadiusOnThickness         = -0.1
                    EffectTag                           = 'FireEffect_Canon_HE_125_mm_2A46M_late_T80UD'
                    HandheldEquipmentKey                = 'MeshAlternative_2'
                    NbWeapons                           = 1
                    SalvoStockIndex                     = 0
                    ShowDispersion                      = False
                    ShowInInterface                     = True
                    WeaponActiveAndCanShootPropertyName = 'WeaponActiveAndCanShoot_2'
                    WeaponIgnoredPropertyName           = 'WeaponIgnored_2'
                    WeaponShootDataPropertyName         = ['WeaponShootData_0_2']),

第一个装载的武器:是Ammo_Canon_AP_125_mm_2A46M_late_T80UD和Ammo_Canon_HE_125_mm_2A46M_late_T80UD

即为坦克的主炮,为什么他们两个是第一个武器呢,实际是:SalvoStockIndex                     = 0这里写的,这个代表着这两个武器是共用Salves           = [ 1, 4, 65, 65, 1, ]这个齐射弹药属性的第0位信息也就是第一个数字1;
但是实际在武器界面我们可以看到,t80UD的主炮,弹药是38发而不是1发,是为什么呢?
这里我也没有搞得非常清楚,只能说按照我的浅薄的理解,这里的Salves           = [ 1, 4, 65, 65, 1, ]会和弹药文件中的NbTirParSalves = 38与AffichageMunitionParSalve = 38共同作用,用来描述单位可以开火的次数,以及开火的数据;
————————————————
接下来我们可以看到,实际T80UD只有4个武器,但是为什么Salves           = [ 1, 4, 65, 65, 1, ]会有5个数据呢?
其实最后的1描述的是烟雾弹:
TTurretUnitDescriptor
        (
            AngleRotationMax            = 2.0943951023931953
            AngleRotationMaxPitch       = 1.5707963267948966
            AngleRotationMinPitch       = -1.5707963267948966
            MountedWeaponDescriptorList = [
                TMountedWeaponDescriptor
                (
                    Ammunition                          = $/GFX/Weapon/Ammo_SMOKE_Vehicle_Grenadex8
                    AnimateOnlyOneSoldier               = True
                    DispersionRadiusOffColor            = RGBA[0,0,0,0]
                    DispersionRadiusOffThickness        = -0.1
                    DispersionRadiusOnColor             = RGBA[0,0,0,0]
                    DispersionRadiusOnThickness         = -0.1
                    EffectTag                           = 'FireEffect_SMOKE_Vehicle_Grenadex8'
                    HandheldEquipmentKey                = 'MeshAlternative_6'
                    NbWeapons                           = 1
                    SalvoStockIndex                     = 4
                    ShowDispersion                      = False
                    ShowInInterface                     = False
                    WeaponActiveAndCanShootPropertyName = 'WeaponActiveAndCanShoot_6'
                    WeaponIgnoredPropertyName           = 'WeaponIgnored_6'
                    WeaponShootDataPropertyName         = ['WeaponShootData_0_6', 'WeaponShootData_1_6', 'WeaponShootData_2_6', 'WeaponShootData_3_6']
                )
            ]
            Tag                         = 'tourelle5'
            YulBoneOrdinal              = 5
        )
    ]

如果你把最后的1修改为10,那么这个单位就可以发射10枚烟雾弹了
——————————————

武器描述其实也不会实际修改单位的伤害,射速等信息,它只是用了描述单位使用武器有哪些,而具体的伤害数据属性,则是由弹药文件Ammunition.ndf和导弹弹药文件AmmunitionMissiles.ndf来描述的,
那么下一次我们会着重介绍弹药与导弹弹药文件的内容,如何修改伤害,装填时间,弹药散步,瞄准时间,准确度等信息;

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

0

主题

15

帖子

81

积分

初级玩家

Rank: 2

贡献度
0
金元
807
积分
81
精华
0
注册时间
2011-10-27
42#
发表于 2025-1-17 14:49 | 只看该作者
非常感谢楼主分享!我最近也在琢磨怎么修改mod。看到楼主和另一位贴友都提到WeaponsMinMax.ndf这个是各种武器极限值,我正好有个疑问,在修改飞机上的AGM导弹射程时,总是感觉无效。是否在这个WeaponsMinMax.ndf对应AGM的地方把 min和max的数值都改为0(看了AAM这两处都是0)
原数值是这样的:              MaxRangeGRU = TMinMaxValue (
                                         Min = 2625
                                         Max = 4400
————————————————————————————————————————————
另外,想研究下怎么实现坦克车辆在进入林地、山地等障碍地形时,速度不减,如果能实现这个,就可以实现队形整齐、速度一致的装甲冲锋,画面会很好看。而不会有单位因为进入林地掉队,乱了攻击阵型。
回复 支持 反对

使用道具 举报

4

主题

275

帖子

435

积分

高级玩家

Rank: 4

贡献度
15
金元
3746
积分
435
精华
0
注册时间
2013-11-8
QQ
43#
 楼主| 发表于 2025-1-17 15:25 | 只看该作者
本帖最后由 野区迷路的兔子 于 2025-1-17 15:32 编辑
zhangscut 发表于 2025-1-17 14:49
非常感谢楼主分享!我最近也在琢磨怎么修改mod。看到楼主和另一位贴友都提到WeaponsMinMax.ndf这个是各种武 ...

导弹的射程是在Mods\3DM-TEST\GameData\Generated\Gameplay\Gfx中的AmmunitionMissiles.ndf文件中的:你需要找到想要修改的导弹名称比如:Ammo_AA_R27T_Vympel
然后修改他的射程
    PorteeMaximaleTBAGRU(对直升机)
    PorteeMaximaleHAGRU (对空)
    PorteeMaximaleGRU(对地)
(对应的还有最小值min)修改了之后可以在单位面板上直接看到射程的变化
(比如我就做了个100公里射程的近程巡航导弹hhhhhh)

————————
树林里的移动速度我猜测是由移动类型模块控制,也就是说
        LandMovement is TModuleSelector
        (
            Default = TLandMovementModuleDescriptor
            (
                UnitMovingType = EUnitMovingType/Infantry
                SpeedBonusFactorOnRoad = 1.00
                MaxAccelerationGRU = 11.0
                MaxDecelerationGRU = 155.0
                TempsDemiTour = 0.1
                StartTime = 0
                StopTime = 0
                RotationStartTime = 0
                RotationStopTime = 0
            )
            Condition = ~/IfNotCadavreCondition
        ),
————
UnitMovingType = EUnitMovingType/Infantry移动类型来控制的,我观察步兵在树林里貌似就是没有减速的,应该在某个gamedata中描述了不同移动类型在不同条件下的移动倍率关系,但是我没有找到相关的文件,你可以尝试把坦克的移动类型修改为步兵,测试一下是否会在树林里减速(这里只是提供下我的思路,不确保正确)






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

0

主题

15

帖子

81

积分

初级玩家

Rank: 2

贡献度
0
金元
807
积分
81
精华
0
注册时间
2011-10-27
44#
发表于 2025-1-17 16:16 | 只看该作者
zero798362555 发表于 2025-1-12 23:19
对哈,害,忘改弹药文件里的装填时间了,我说今天打的时候怎么感觉补给速度这么慢呢
————————— ...

非常感谢兄弟指点迷津!!我也一直在找机场对飞机的维修时间、装弹时间,不管怎么改\GameData\Gameplay\Constantes\里的Ravitaillement文件,都无法实习秒补,维修和补弹药还是很慢很慢。直到看到兄弟发的team文件里有Airport的字样,也就是这段:
TTeamAirportModuleDescriptor
        (

            // Point d'essence par tick
            FuelSupplyAmountBySecond = 10
            // Cout du ravitaillement de point de vie par tick
            HealthSupplyAmountBySecond = 0.0198
            // Cout du ravitaillement de munition par tick
            AmmunitionSupplyAmountBySecond = 1
        ),
我恍然大悟,这个才是机场补给速度的吧!
回复 支持 反对

使用道具 举报

0

主题

15

帖子

81

积分

初级玩家

Rank: 2

贡献度
0
金元
807
积分
81
精华
0
注册时间
2011-10-27
45#
发表于 2025-1-17 16:29 | 只看该作者
野区迷路的兔子 发表于 2025-1-17 15:25
导弹的射程是在Mods\3DM-TEST\GameData\Generated\Gameplay\Gfx中的AmmunitionMissiles.ndf文件中的:你需 ...

我回去试试把坦克改成步兵的移动方式,看看能不能实现。回头再来回帖反馈
————————————————————————
再次感谢楼主!这个帖子应该是全网最详细的warno修改教程了!有了楼主耐心写的帖子,国内的warno的mod玩家们总算找到了看得懂的修改教程!
回复 支持 反对

使用道具 举报

4

主题

275

帖子

435

积分

高级玩家

Rank: 4

贡献度
15
金元
3746
积分
435
精华
0
注册时间
2013-11-8
QQ
46#
 楼主| 发表于 2025-1-17 18:04 | 只看该作者
zhangscut 发表于 2025-1-17 16:16
非常感谢兄弟指点迷津!!我也一直在找机场对飞机的维修时间、装弹时间,不管怎么改\GameData\Gameplay\C ...

是的,这段代码描述的是机场补给数据
回复 支持 反对

使用道具 举报

4

主题

275

帖子

435

积分

高级玩家

Rank: 4

贡献度
15
金元
3746
积分
435
精华
0
注册时间
2013-11-8
QQ
47#
 楼主| 发表于 2025-1-17 18:05 | 只看该作者
zhangscut 发表于 2025-1-17 16:29
我回去试试把坦克改成步兵的移动方式,看看能不能实现。回头再来回帖反馈
—————————————— ...

太客气了,我也是分享分享我自己知道的一些内容,前面也有兄弟分享了他们知道的内容,比如汇总的特征或者你前面提到的机场补给相关代码,让我也受益良多,大家多讨论多分享,彼此都会有收获。
回复 支持 反对

使用道具 举报

0

主题

15

帖子

81

积分

初级玩家

Rank: 2

贡献度
0
金元
807
积分
81
精华
0
注册时间
2011-10-27
48#
发表于 2025-1-20 11:42 | 只看该作者
zhangscut 发表于 2025-1-17 16:29
我回去试试把坦克改成步兵的移动方式,看看能不能实现。回头再来回帖反馈
—————————————— ...

已经实测,把坦克的移动方式代码EUnitMovingType/Track改为EUnitMovingType/infantry,不会报错,坦克进入树林时候的速度还是有所降低,但似乎没有降的那么慢了,不知道是不是心理作用。原代码如下,只改标红的地方。
LandMovement is TModuleSelector
        (
            Default = TLandMovementModuleDescriptor
            (
                UnitMovingType = EUnitMovingType/Track
                SpeedBonusFactorOnRoad = 1.71
                MaxAccelerationGRU = 18.0
                MaxDecelerationGRU = 35.0
                TempsDemiTour = 8.0
                StartTime = 0
                StopTime = 0
                RotationStartTime = 0
                RotationStopTime = 0
            )

回复 支持 反对

使用道具 举报

2

主题

129

帖子

198

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1984
积分
198
精华
0
注册时间
2020-2-21
49#
发表于 2025-1-24 01:57 | 只看该作者
666666666666666666666666666666

回复 支持 反对

使用道具 举报

0

主题

113

帖子

183

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1832
积分
183
精华
0
注册时间
2017-1-22
50#
发表于 2025-1-24 04:07 | 只看该作者
本帖最后由 真娜Takashimana 于 2025-1-24 04:12 编辑

辛苦大佬分享!
回复 支持 反对

使用道具 举报

2

主题

550

帖子

899

积分

超级玩家

Rank: 5Rank: 5

贡献度
17
金元
8314
积分
899
精华
0
注册时间
2005-10-9
51#
发表于 2025-1-24 09:32 | 只看该作者
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

1133

帖子

1277

积分

游戏狂人

Rank: 6Rank: 6

贡献度
0
金元
12771
积分
1277
精华
0
注册时间
2015-2-19
52#
发表于 2025-1-24 10:18 | 只看该作者
感谢分享!!!!!!!!
回复 支持 反对

使用道具 举报

0

主题

414

帖子

738

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
7380
积分
738
精华
0
注册时间
2015-8-24
53#
发表于 2025-1-24 12:54 | 只看该作者
666666666666666666666666
回复 支持 反对

使用道具 举报

0

主题

27

帖子

50

积分

初级玩家

Rank: 2

贡献度
0
金元
500
积分
50
精华
0
注册时间
2020-6-2
54#
发表于 2025-1-24 21:28 | 只看该作者
本帖最后由 zero798362555 于 2025-1-24 22:02 编辑
野区迷路的兔子 发表于 2025-1-17 14:03
兄弟们大家好,今天进入修改关于单位武器的修改部分
——————
4.2.如何修改单位武器

————————————————————————————————————————————————————————————————
第一个装载的武器:是Ammo_Canon_AP_125_mm_2A46M_late_T80UD和Ammo_Canon_HE_125_mm_2A46M_late_T80UD

即为坦克的主炮,为什么他们两个是第一个武器呢,实际是:SalvoStockIndex                     = 0这里写的,这个代表着这两个武器是共用Salves           = [ 1, 4, 65, 65, 1, ]这个齐射弹药属性的第0位信息也就是第一个数字1;
但是实际在武器界面我们可以看到,t80UD的主炮,弹药是38发而不是1发,是为什么呢?
这里我也没有搞得非常清楚,只能说按照我的浅薄的理解,这里的Salves = [ 1, 4, 65, 65, 1, ]会和弹药文件中的NbTirParSalves = 38与AffichageMunitionParSalve = 38共同作用,用来描述单位可以开火的次数,以及开火的数据;
———————————————

这个应该是苏系中高级坦克的特色,其装备了自动装弹机,Salves  = [ 1, 4, 65, 65, 1, ]中的"1"应该是射击一轮的意思。
苏系高级坦原则上只要选定目标38发弹可以一直射没,而北约系大多数装备了布莱克曼叔叔装弹机的坦克则是选定目标后强制射击只射击一发弹,所以二者在表达方式上为Salves  = [ 1, 4, 65, 65, 1, ]T80UD和Salves = [ 40, 65, 80, 1, ]M1A1HA
二者在游戏中也体现为瞄准射击时候的圆圈颜色不同,见下图,M1A1HA只绿,T80UD首绿后蓝。



在ammunition.ndf文件夹里我以T80UD和M1A1HA的AP炮举例进行对比(我用的是我自制MOD中的数据,不过一个原理)
T80UD
Ammo_Canon_AP_125_mm_2A46M_late_T80UD is TAmmunitionDescriptor
(
    DescriptorId                      = GUID:{1223b83d-2683-449e-9cf5-d4c03c448184}
    Name                              = 'LGYLAFMITB'
    TypeCategoryName                  = 'FIQMEQMUTK'
    Caliber                           = 'GPFACVPVNW'
    WeaponDescriptionToken            = 'YDWRGQLHYI'
    TraitsToken                       = [ 'autoloader', 'HE', 'KINETIC', ]
    WeaponCursorType                  = Weapon_Cursor_Canon
    MinMaxCategory                    = MinMax_CanonAP
    Arme                              = TDamageTypeRTTI(Family=DamageFamily_ap Index=34)
    ProjectileType                    = EProjectileType/Obus
    ImpactHappening                   = [ 'CanonGrosAPFDST80' ]
    FxPower                           = EFXPower/Moyen
    TempsEntreDeuxTirs                = 6.0
    TempsEntreDeuxFx                  = 1.0 //此处两行与M1A1HA的不同,按字面意思理解“两次射击间隔时间”和“两次特效间隔时间”,这可能就是为什么Salves = [ 1, 4, 65, 65, 1, ]显示1的原因
    PorteeMaximaleGRU                 = 2275//这个最大射击距离我有一点要补充,这个和WeaponsMinMax.ndf和DamageResistance.ndf有所关联,如果这里距离改大,那么相应的Arme= TDamageTypeRTTI(Family=DamageFamily_ap Index=34)这里的index=34也是要改的,
        但是你单改这个你会发现在游戏伤害没有改的大,因为改了距离WeaponsMinMax.ndf的就与之冲突了,所以必须把WeaponsMinMax.ndf中
        ( ~/MinMax_CanonAP下的
        MaxRangeGRU = TMinMaxValue (
                       Min = 850
                       Max = 2275//把这个也改成你想要变更的射击距离,如果这个改的比PorteeMaximaleGRU= 2275大伤害也会增加,自己可以试着去按着自己想法平衡,同理DamageResistance.ndf这个也可以自行编辑拓展,但最好不要改,关联太多稍不注意就容易崩溃
               )
    PorteeMinimaleGRU                 = 35
    AngleDispersion                   = 0.0
    DispersionAtMaxRangeGRU              = 106
    DispersionAtMinRangeGRU              = 18
    DispersionWithoutSorting          = True
    CorrectedShotAimtimeMultiplier    = 1.0
    RadiusSplashPhysicalDamagesGRU    = 1
    PhysicalDamages                   = 1.0
    ShowDamageInUI                    = False
    RadiusSplashSuppressDamagesGRU    = 44
    SuppressDamages                   = 85.0
    AllowSuppressDamageWhenNoImpact                = False
    DisplaySalveAccuracy              = False
    TirIndirect                       = False
    TirReflexe                        = True
    InterdireTirReflexe               = False
    MaximalSpeedGRU                   = 0.0
    ShotWithoutPhysics                = False
    FluidFriction                     = 0.0
    NoiseDissimulationMalus           = 2.2
    ShotsBeforeMaxNoise               = 2
    TargetOnlyOneUnitInDistrict       = True
    HitRollRuleDescriptor = TDiceHitRollRuleDescriptor
    (
        DescriptorId          = GUID:{46a8e6a8-41f4-4b4b-995e-e7da5bcad3c3}
        BaseCriticModifier = 0
        BaseHitValueModifiers =
        [
            (EBaseHitValueModifier/Base, 0.0),
            (EBaseHitValueModifier/Idling, 65),
            (EBaseHitValueModifier/Moving, 55),//这个移动射击命中率在修改炮射导弹时候要注意把CanShootWhileMoving= False改为True
            (EBaseHitValueModifier/Targeted, 0.0),
        ]
        DistanceToTarget = True
    )
    TempsDeVisee                      = 2.4
    TempsEntreDeuxSalves              = 5.4
    TempsEntreDeuxSalves_Min           = -1.0
    TempsEntreDeuxSalves_Max           = -1.0
    NbTirParSalves                    = 38//每轮齐射发数
    SupplyCost                        = 456.0
    NbSalvosShootOnPosition           = 1
    CanShootOnPosition                = False
    CanShootWhileMoving               = True
    NbrProjectilesSimultanes          = 1
    AffichageMunitionParSalve         = 38//每轮齐射显示弹数
    InterfaceWeaponTexture            = "Texture_Interface_Weapon_2A46_T80"
    SmokeDescriptor                   = nil
    FireDescriptor                    = nil
    TargetUnitCenter                  = True
    CanHarmAirplanes                  = True
    IsHarmlessForAllies               = True
    PiercingWeapon                    = True
    TandemCharge                      = False
    FlightTimeForSpeed                    = 1.1
    DistanceForSpeedGRU                   = 2297.0//这个和上一行的速度感觉也可以改的再快一些体验会好一点
    DamageTypeEvolutionOverRangeDescriptor  = ~/DamageTypeEvolutionOverRangeDescriptor_AP1_1Km
)

M1A1HA
Ammo_Canon_AP_120_mm_L52_M68_HA is TAmmunitionDescriptor
(
    DescriptorId                      = GUID:{3bf8cdb9-ca60-4c52-b309-9aec801da0a1}
    Name                              = 'RJLKRJGMBV'
    TypeCategoryName                  = 'FIQMEQMUTK'
    Caliber                           = 'DYWXTLDKWR'
    WeaponDescriptionToken            = 'YDWRGQLHYI'
    TraitsToken                       = [ 'MOTION', 'HE', 'KINETIC', ]
    WeaponCursorType                  = Weapon_Cursor_Canon
    MinMaxCategory                    = MinMax_CanonAP
    Arme                              = TDamageTypeRTTI(Family=DamageFamily_ap Index=35)
    ProjectileType                    = EProjectileType/Obus
    ImpactHappening                   = [ 'CanonGrosAPFDSM1Abrams' ]
    FxPower                           = EFXPower/Moyen
    TempsEntreDeuxTirs                = 1.0
    TempsEntreDeuxFx                  = 1.0
    PorteeMaximaleGRU                 = 2300
    PorteeMinimaleGRU                 = 35
    AngleDispersion                   = 0.0
    DispersionAtMaxRangeGRU              = 106
    DispersionAtMinRangeGRU              = 18
    DispersionWithoutSorting          = True
    CorrectedShotAimtimeMultiplier    = 1.0
    RadiusSplashPhysicalDamagesGRU    = 1
    PhysicalDamages                   = 1.0
    ShowDamageInUI                    = False
    RadiusSplashSuppressDamagesGRU    = 42
    SuppressDamages                   = 82.0
    AllowSuppressDamageWhenNoImpact                = False
    DisplaySalveAccuracy              = False
    TirIndirect                       = False
    TirReflexe                        = True
    InterdireTirReflexe               = False
    MaximalSpeedGRU                   = 0.0
    ShotWithoutPhysics                = False
    FluidFriction                     = 0.0
    NoiseDissimulationMalus           = 2.2
    ShotsBeforeMaxNoise               = 2
    TargetOnlyOneUnitInDistrict       = True
    HitRollRuleDescriptor = TDiceHitRollRuleDescriptor
    (
        DescriptorId          = GUID:{952e0ce6-73d2-4c1a-aa77-08518e092f21}
        BaseCriticModifier = 0
        BaseHitValueModifiers =
        [
            (EBaseHitValueModifier/Base, 0.0),
            (EBaseHitValueModifier/Idling, 70),
            (EBaseHitValueModifier/Moving, 65),
            (EBaseHitValueModifier/Targeted, 0.0),
        ]
        DistanceToTarget = True
    )
    MaxSuccessiveHitCount             = 3
    TempsDeVisee                      = 3.0
    TempsEntreDeuxSalves              = 6.6
    TempsEntreDeuxSalves_Min           = -1.0
    TempsEntreDeuxSalves_Max           = -1.0
    NbTirParSalves                    = 1//布莱克曼叔叔由于手动装弹,每轮齐射发数只为1
    SupplyCost                        = 12.0
    NbSalvosShootOnPosition           = 1
    CanShootOnPosition                = False
    CanShootWhileMoving               = True
    NbrProjectilesSimultanes          = 1
    AffichageMunitionParSalve         = 1//布莱克曼叔叔由于手动装弹,每轮齐射显示弹数只为1
    InterfaceWeaponTexture            = "Texture_Interface_Weapon_M68_120"
    SmokeDescriptor                   = nil
    FireDescriptor                    = nil
    TargetUnitCenter                  = True
    CanHarmAirplanes                  = True
    IsHarmlessForAllies               = True
    PiercingWeapon                    = True
    TandemCharge                      = False
    FlightTimeForSpeed                    = 1.1
    DistanceForSpeedGRU                   = 2297.0
    DamageTypeEvolutionOverRangeDescriptor  = ~/DamageTypeEvolutionOverRangeDescriptor_AP1_1Km
)
———————————————
WeaponsMinMax.ndf中的主要题头展示如下,具体数值可以自行翻译修改
AAM 空空导弹   AGM空地导弹   ATGM反坦克导弹    SAM地空导弹     SEAD反辐射导弹
Assault_rifle突击步枪  SMG冲锋枪   HMG重机枪  inf_MMG班组机枪   inf_sniper狙击枪
AutocanonHE高爆弹   CanonAP穿甲弹   
Bombe炸弹   Cluster集束弹药   DCA高机防空   
FLAME喷火器   Grenade榴弹(步兵)  Gatling加特林   LAW轻型反坦克武器
MLRS多管火箭   Roquette_AS火箭弹(空中)    obusier榴弹炮    Mortier迫击炮

(( ~/MinMax_CanonAP(刚才看这个代码突然发现也有和Salves  = [ 1, 4, 65, 65, 1, ]中的"1"相关联的数据)
, TWeaponMinMaxValues
(
// PhysicalDamages x weapon_count_ (Number of weapons)物理伤害x武器数量(武器数量)
PhysicalDamages = TMinMaxValue (
Min = 0.6
Max = 3.2
)
// SuppressDamages x weapon_count_ (Number of weapons)压制伤害x武器数量(武器数量)
SuppressDamages = TMinMaxValue (
Min = 39
Max = 432
)
SplashDamageRadiusGRU = TMinMaxValue (溅射损伤半径
Min = 1
Max = 57
)
—————————
参考大佬之前发的做对照
PorteeMaximaleTBAGRU(对直升机)
PorteeMaximaleHAGRU (对空)
PorteeMaximaleGRU(对地)
—————————
MaxRangeGRU = TMinMaxValue (最大范围
Min = 850
Max = 2275
)
MaxRangeTBAGRU = TMinMaxValue (
Min = 0
Max = 0
)
MaxRangeHAGRU = TMinMaxValue (
Min = 0
Max = 0
)
AimTime = TMinMaxValue (目标时间
Min = 2.0
Max = 4.0
)
ReloadTime = TMinMaxValue (重新加载时间
Min = 4.0
Max = 18.0
)
Accuracy = TMinMaxValue (静止射击精度
Min = 30
Max = 70
)
AccuracyMovement = TMinMaxValue (移动射击精度
Min = 0
Max = 60
)
RateOfFire = TMinMaxValue (殉爆率
Min = 3.3333333333333335
Max = 15.0
)
Penetration = TMinMaxValue (穿透率
Min = 1
Max = 34
)
TimeBetweenTwoShots = TMinMaxValue (两次射击之间的时间
Min = 1.0
Max = 7.5
)
NbShotsBySalvo = TMinMaxValue (//这个应该就是决定射击次数的了,Salves  = [ 1, 4, 65, 65, 1, ]中的"1"相关联的数据
Min = 1
Max = 40
)
SupplyCost = TMinMaxValue (补给
Min = 2.0
Max = 600.0
)
TurretSpeed = TMinMaxValue (炮塔速度,这个是旋转速度?
Min = 60
Max = 120
)
——————————————————————————————————————————————————————————————————
另外我想请教下像视频里这样把爆炸视觉效果改成核弹那样是修改哪里的文件,或者创意工坊里的MOD怎么解包,看一下它的代码?
https://www.bilibili.com/video/B ... 8e1f1857c03878647a8
在ammunition和ammunitionmissiles文件夹里
RadiusSplashPhysicalDamagesGRU    = 155//物理杀伤范围
PhysicalDamages                   = 2.9986
ShowDamageInUI                    = True
RadiusSplashSuppressDamagesGRU    = 275//压制范围 我修改了这两个,体现在地图中的只是伤害确实有,但是视觉效果和之前一样
SuppressDamages                   = 440.0

在WeaponDescriptor.ndf里

MountedWeaponDescriptorList     = [
TMountedWeaponDescriptor
(
Ammunition                          = $/GFX/Weapon/Ammo_RocketArt_thermobaric_220mm_x30
AnimateOnlyOneSoldier               = False
DispersionRadiusOffColor            = RGBA[255,0,0,0]
DispersionRadiusOffThickness        = 0.0
DispersionRadiusOnColor             = RGBA[90,180,180,255]
DispersionRadiusOnThickness         = 0.8//色散半径与厚度之比 这个我怀疑可能有关,但不知到有什么影响,不知道大佬啥看法,爆炸视觉效果是否有相关联的文件?
EffectTag                           = 'FireEffect_RocketArt_thermobaric_220mm_x30'
HandheldEquipmentKey                = 'MeshAlternative_1'
NbWeapons                           = 1
SalvoStockIndex                     = 0
ShowDispersion                      = True
Show In Interface                     = True
Weapon Active And Can Shoot Property Name = 'WeaponActiveAndCanShoot_1'
Weapon Ignored Property Name           = 'WeaponIgnored_1'
WeaponShootDataPropertyName         = ['WeaponShootData_0_1', 'WeaponShootData_1_1']
)
]
OutOfRangeTrackingDuration      = 3.5
Tag                             = 'tourelle1'
TurretIdleBehaviourDescriptor   = ~/TurretIdle_ArtilleryAutoMoteur
VitesseRotation                 = 1.0471975511965976
YulBoneOrdinal                  = 1
)
]
——————————————————————————————————————————————————————————————————

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

0

主题

27

帖子

50

积分

初级玩家

Rank: 2

贡献度
0
金元
500
积分
50
精华
0
注册时间
2020-6-2
55#
发表于 2025-1-24 21:42 | 只看该作者
野区迷路的兔子 发表于 2025-1-13 00:21
嚯嚯嚯,果然还是多分享,我也不是啥大佬只是刚好自己懂一点然后搞了搞分享下经验;

你几个文件我还真没 ...

才发现大佬用的是Visual Studio Code,我用的是notepad+++要么说看着不一样呢
回复 支持 反对

使用道具 举报

0

主题

27

帖子

50

积分

初级玩家

Rank: 2

贡献度
0
金元
500
积分
50
精华
0
注册时间
2020-6-2
56#
发表于 2025-1-24 22:00 | 只看该作者
zero798362555 发表于 2025-1-24 21:28
————————————————————————————————————————————————— ...

再给兄弟们推荐个网站,逛B站大佬  TsukiPresence      (https://space.bilibili.com/460639/dynamic?spm_id_from=333.1365.list.card_title.click)发的公告时看见的,https://war-yes.com/
应该是欧根自己搭建的warno资料库,各种详细数据都进行了可视化编辑,方便大家对比各种数据




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

56

主题

1555

帖子

1650

积分

游戏狂人

Rank: 6Rank: 6

贡献度
52
金元
14421
积分
1650
精华
0
注册时间
2009-11-30
57#
发表于 2025-1-26 03:26 | 只看该作者
141935的有么
回复 支持 反对

使用道具 举报

0

主题

96

帖子

122

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1220
积分
122
精华
0
注册时间
2018-7-12
58#
发表于 2025-1-26 11:07 | 只看该作者
感谢分享
回复 支持 反对

使用道具 举报

0

主题

360

帖子

458

积分

高级玩家

Rank: 4

贡献度
0
金元
4577
积分
458
精华
0
注册时间
2006-10-11
59#
发表于 2025-1-27 00:13 | 只看该作者
66666666666666666
回复 支持 反对

使用道具 举报

0

主题

356

帖子

455

积分

高级玩家

Rank: 4

贡献度
0
金元
4554
积分
455
精华
0
注册时间
2016-12-12
60#
发表于 2025-1-27 01:14 | 只看该作者
66666666666666666
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2025-4-21 08:02 , Processed in 0.134334 second(s), 16 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表