QOQ 发表于 2022-7-6 21:58:21

[遗失了多年的教程]载具多弹药的实现

本帖最后由 QOQ 于 2022-12-7 10:09 编辑

言简意赅


涉及的文件:载具的t档、c档



这里我以给emzpj的99式添加一种炮弹为例


1、首先在t档中添加武器,可以把如下这段作为模板,添加到T档里面,emzpj_type99_Barrel为武器名字(或者),把新的一段的武器名字改一下,不要忘记修改键位,否则会冲突闪退(其实我也没试过,但最好还是改一下),方法和枪械是一样的。
ObjectTemplate.activeSafe GenericFireArm emzpj_type99_Barrel
ObjectTemplate.modifiedByUser "armandoma"
rem ---BeginComp:WeaponHud ---
ObjectTemplate.createComponent WeaponHud
ObjectTemplate.weaponHud.hudName "120MM GUN"
ObjectTemplate.weaponHud.guiIndex 140
ObjectTemplate.weaponHud.hasFireRate 0
ObjectTemplate.weaponHud.hasRangeFinder 1
rem ---EndComp ---
rem ---BeginComp:SingleFireComp ---
ObjectTemplate.createComponent SingleFireComp
ObjectTemplate.fire.roundsPerMinute 30
ObjectTemplate.fire.addFireRate 0
ObjectTemplate.fire.fireInCameraDof 1
rem ---EndComp ---
rem ---BeginComp:DefaultAmmoComp ---
ObjectTemplate.createComponent DefaultAmmoComp
ObjectTemplate.ammo.nrOfMags 40
ObjectTemplate.ammo.magSize 1
ObjectTemplate.ammo.autoReload 1
ObjectTemplate.ammo.reloadWithoutPlayer 1
rem ---EndComp ---
rem ---BeginComp:WeaponBasedRecoilComp ---
ObjectTemplate.createComponent WeaponBasedRecoilComp
ObjectTemplate.recoil.recoilSize 12
ObjectTemplate.recoil.recoilSpeed 10
ObjectTemplate.recoil.recoilSpeedGB 2.5
ObjectTemplate.recoil.recoilForce 90
ObjectTemplate.recoil.cameraRecoilSpeed 12
ObjectTemplate.recoil.cameraRecoilSize 2
rem ---EndComp ---
rem ---BeginComp:SimpleDeviationComp ---
ObjectTemplate.createComponent SimpleDeviationComp
ObjectTemplate.deviation.setFireDev 4 0 0
ObjectTemplate.deviation.minDev 0.25
rem ---EndComp ---
rem ---BeginComp:DefaultSoundComp ---
ObjectTemplate.createComponent DefaultSoundComp
rem ---EndComp ---
rem ---BeginComp:DefaultAnimationComp ---
ObjectTemplate.createComponent DefaultAnimationComp
rem ---EndComp ---
rem ---BeginComp:DefaultZoomComp ---
ObjectTemplate.createComponent DefaultZoomComp
ObjectTemplate.zoom.addZoomFactor 0
rem ---EndComp ---
ObjectTemplate.floaterMod 0
ObjectTemplate.hasMobilePhysics 1
ObjectTemplate.hasCollisionPhysics 1
ObjectTemplate.physicsType Mesh
ObjectTemplate.aiTemplate T90MainGun
rem -------------------------------------
rem注意这里的是开火特效和声效,可以换成原来弹药相同的代码,而不必添加新的,这样就可以避免T档冗长啦!!当然有心人也可以改一下,实现发射不同的弹药有不同的声音
ObjectTemplate.addTemplate S_emzpj_type99_Barrel_Fire1P
ObjectTemplate.addTemplate S_emzpj_type99_Barrel_Fire1P_Outdoor
ObjectTemplate.addTemplate S_emzpj_type99_Barrel_Fire3P
ObjectTemplate.setPosition 1.78814e-006/-0.171334/4.91355
ObjectTemplate.addTemplate S_emzpj_type99_Barrel_BoltClick
ObjectTemplate.addTemplate S_emzpj_type99_Barrel_TriggerClick
ObjectTemplate.addTemplate S_emzpj_type99_Barrel_SwitchFireRate
ObjectTemplate.addTemplate S_emzpj_type99_Barrel_Reload1P
ObjectTemplate.addTemplate S_emzpj_type99_Barrel_Reload3P
ObjectTemplate.addTemplate S_emzpj_type99_Barrel_Deploy1P
ObjectTemplate.addTemplate S_emzpj_type99_Barrel_Deploy3P
ObjectTemplate.addTemplate S_emzpj_type99_Barrel_Zoom
ObjectTemplate.addTemplate e_muzz_tank
ObjectTemplate.setPosition -8.15984e-006/0.00298595/2.60111
rem -------------------------------------
ObjectTemplate.projectileTemplate KE_Barrel_Projectile(这里是炮弹类型,如果是炮射导弹还要再添加导弹的指令)
ObjectTemplate.keepProjectiles 5
ObjectTemplate.velocity 150



以下是炮弹的创建,伤害和爆炸半径自改,一样复制到T档
ObjectTemplate.create GenericProjectile T90GunProjectile
ObjectTemplate.modifiedByUser "armandoma"
ObjectTemplate.createNotInGrid 1
ObjectTemplate.createdInEditor 1
rem ---BeginComp:DefaultCollisionComp ---
ObjectTemplate.createComponent DefaultCollisionComp
rem ---EndComp ---
rem ---BeginComp:DefaultDetonationComp ---
ObjectTemplate.createComponent DefaultDetonationComp
ObjectTemplate.detonation.explosionMaterial 70
ObjectTemplate.detonation.explosionRadius 5
ObjectTemplate.detonation.explosionForce 15
ObjectTemplate.detonation.explosionDamage 125
ObjectTemplate.detonation.endEffectTemplate e_exp_medium
ObjectTemplate.detonation.useMMOnEndEffect 1
ObjectTemplate.detonation.detectionRadius 1.5
ObjectTemplate.detonation.maxDepthForExplosion 2
rem ---EndComp ---
rem ---BeginComp:DefaultProjSoundComp ---
ObjectTemplate.createComponent DefaultProjSoundComp
rem ---EndComp ---
rem ---BeginComp:DefaultRicochetComp ---
ObjectTemplate.createComponent DefaultRicochetComp
rem ---EndComp ---
rem ---BeginComp:DefaultPenetrateComp ---
ObjectTemplate.createComponent DefaultPenetrateComp
ObjectTemplate.penetrate.allowSolidPenetration 0
ObjectTemplate.penetrate.allowLiquidPenetration 0
rem ---EndComp ---
ObjectTemplate.gravityModifier 0.4
ObjectTemplate.floaterMod 0
ObjectTemplate.hasMobilePhysics 1
ObjectTemplate.hasCollisionPhysics 1
ObjectTemplate.physicsType Point
ObjectTemplate.collisionGroups 8
ObjectTemplate.material 43
rem -------------------------------------
ObjectTemplate.addTemplate S_T90GunProjectile_Looping
rem -------------------------------------
ObjectTemplate.timeToLive CRD_NONE/6/0/0
ObjectTemplate.material 43
ObjectTemplate.hasOnTimeEffect 1
ObjectTemplate.tracerScaler 3
ObjectTemplate.maxTracerScaler 5
ObjectTemplate.minTracerScaler 1
ObjectTemplate.tracerTemplate p_tracer_tank
ObjectTemplate.minDamage 1
ObjectTemplate.damage 500


我是分界线—————————————————————————————————————————————————————————————————————————————————————————

2、以下修改C档
在C档中你会找到一段像这样的东西
ObjectTemplate.addTemplate emzpj_type99_Barrel
ObjectTemplate.setPosition 0/-0.0080/3.1336


接着这段下面复制粘贴一下,变成这样
ObjectTemplate.addTemplate emzpj_type99_Barrel
ObjectTemplate.setPosition 0/-0.0080/3.1336
ObjectTemplate.addTemplate XXXXXXX(新弹药名字)
ObjectTemplate.setPosition 0/-0.0080/3.1336



然后再找到这样的东西
ObjectTemplate.create GenericFireArm emzpj_type99_Barrel
ObjectTemplate.collisionPart 3
ObjectTemplate.hasCollisionPhysics 1
ObjectTemplate.physicsType 3
ObjectTemplate.hasMobilePhysics 1
ObjectTemplate.geometryPart 3

依葫芦画瓢,我们也给自己的武器整上一段,接在它下面
ObjectTemplate.create GenericFireArm emzpj_type99_Barrel
ObjectTemplate.collisionPart 3
ObjectTemplate.hasCollisionPhysics 1
ObjectTemplate.physicsType 3
ObjectTemplate.hasMobilePhysics 1
ObjectTemplate.geometryPart 3


ObjectTemplate.create GenericFireArm XXXXXXXX(新弹药名字)
ObjectTemplate.geometryPart 3






好了进游戏看看你的坦克是不是多了一种弹药了!!!最后回收开头,记得改键位!!!
原版修改代码在12楼




佣兵 发表于 2022-7-7 08:31:08

赞一个,技术贴

wztwzt18 发表于 2022-7-7 09:36:05

这种基础教程,最好以原版坦克为例,这样便于新人DIY尝试:lol

钢铁红星 发表于 2022-7-7 11:04:17

收藏一下

QOQ 发表于 2022-7-7 20:21:39

wztwzt18 发表于 2022-7-7 09:36
这种基础教程,最好以原版坦克为例,这样便于新人DIY尝试

瓦哥所言及是,只是刚好翻到俄毛子的就先拿来用了;P

均价-jarsonly 发表于 2022-7-8 20:18:46

:D:D 赞一个!!

bf2box 发表于 2022-11-12 13:48:38

感觉很需要技术,看不懂,
请问什麽是emzpj的99式?
我是新手,可否再详述一点?谢谢!:)

龙腾虎跃打天下 发表于 2022-11-12 18:52:58

bf2box 发表于 2022-11-12 13:48
感觉很需要技术,看不懂,
请问什麽是emzpj的99式?
我是新手,可否再详述一点?谢谢! ...

可以不用emzpj的99式,可以替换成原版的坦克代码,比如说ustnk_m1a2

QOQ 发表于 2022-11-15 11:06:51

bf2box 发表于 2022-11-12 13:48
感觉很需要技术,看不懂,
请问什麽是emzpj的99式?
我是新手,可否再详述一点?谢谢! ...

文本里面的emzpj_type99只是载具名字,和tweak文件的名称是一样的,这里只是拿了俄毛子普京的99式坦克的tweak文件做示例而已

bf2box 发表于 2022-11-30 12:10:45

我弄了两个星期多,
还是失败,
研究不出来,
只好再上来请教了,
能否请你改一个USTNK_M1A2.tweak给我使用?谢谢!:)
页: [1] 2
查看完整版本: [遗失了多年的教程]载具多弹药的实现