모드 강좌
[C&C3] 포신의 방향을 맞추지 않고 땅을 강제공격하는 버그 수정하기
페이지 정보
본문
안녕하세요. 모드강좌 게시판에는 오랫만이군요.
오늘 소개해드릴 강좌는 바로 춫삼의 악명높은 버그죠
탱크가 포신의 방향을 맞추지 않고 땅을 공격할 수 있었던 웃기는 현상을 수정해보도록 하겠습니다.
저도 처음엔 답이 없을 줄 알았었는데 해결방법은 의외로 간단합니다.
PreAttackDelay를 넣는거죠. 실제로 노드의 레이저수꼴탱만큼은 이 버그를 극복해냈더군요;;
후레탱의 레일건을 예로 들어서 설명해보겠습니다.
-변경전-
<WeaponTemplate id="GDIPredatorTankRailgun" Name="GDIPredatorTankRailgun" AttackRange="300.0" MinTargetPitch="-15d" MaxTargetPitch="15d" WeaponSpeed="800" WeaponRecoil="5d" FireSound="PredatorCannonFireUpgraded" FireFX="FX_RailGunFire" RadiusDamageAffects="ALLIES ENEMIES NEUTRALS" ClipSize="1" ShotsPerBarrel="1" ReAcquireDetailType="POST_FIRE" ProjectileCollidesWith="ALLIES ENEMIES NEUTRAL STRUCTURES WALLS" AntiMask="ANTI_GROUND" CanFireWhileMoving="true">
<FiringDuration MinSeconds="0.75s" MaxSeconds="0.75s" />
<ClipReloadTime MinSeconds="1.6s" MaxSeconds="1.6s" />
<Nuggets>
<ActivateLaserNugget Lifetime="0.75s" LaserId="0" />
<DamageNugget Damage="572.0" DamageType="CANNON" DamageFXType="GDI_RAILGUN" DeathType="NORMAL"></DamageNugget>
<SuppressionNugget Radius="10.0" Suppression="40" DurationSeconds="5s" />
</Nuggets>
</WeaponTemplate>
-변경후-
<WeaponTemplate id="GDIPredatorTankRailgun" Name="GDIPredatorTankRailgun" AttackRange="300.0" MinTargetPitch="-15d" MaxTargetPitch="15d" WeaponSpeed="800" WeaponRecoil="5d" FireSound="PredatorCannonFireUpgraded" FireFX="FX_RailGunFire" RadiusDamageAffects="ALLIES ENEMIES NEUTRALS" ClipSize="1" ShotsPerBarrel="1" ReAcquireDetailType="POST_FIRE" ProjectileCollidesWith="ALLIES ENEMIES NEUTRAL STRUCTURES WALLS" AntiMask="ANTI_GROUND" CanFireWhileMoving="true" PreAttackType="PER_SHOT" >
<PreAttackDelay MinSeconds="0.2s" MaxSeconds="0.2s" />
<FiringDuration MinSeconds="0.75s" MaxSeconds="0.75s" />
<ClipReloadTime MinSeconds="1.6s" MaxSeconds="1.6s" />
<Nuggets>
<ActivateLaserNugget Lifetime="0.75s" LaserId="0" />
<DamageNugget Damage="572.0" DamageType="CANNON" DamageFXType="GDI_RAILGUN" DeathType="NORMAL"></DamageNugget>
<SuppressionNugget Radius="10.0" Suppression="40" DurationSeconds="5s" />
</Nuggets>
</WeaponTemplate>
파란글씨에 있는걸 추가시키면 됩니다. PreAttackDelay는 최소 0.2s는 되어야 하는데 그렇지 않고 0.001s같이
너무 작으면 별달때 도로아미타불이 되지요 RATE_OF_FIRE 200%가 적용되어버리면 소수점 둘째짜리부터는
무시해서 그런게 아닐까 싶습니다. 대신에 PreAttackDelay 증가분은 ClipReloadTime에서 까버리시면 됩니다.
아니면 RATE_OF_FIRE 200%를 없앤 다음에 0.00001s같이 극단적으로 짧게 해도 상관없습니다.
추가로 말씀드리면 단순히 공격전 지연시간동안 차체와 포탑의 방향을 맞춰서 해결되는 것이 아니기 때문에
얼마나 짧건 상관없이 0s만 넘어가면 되지요. (RATE_OF_FIRE 200%가 적용되면 무시되지만)
저의 작은 강좌가 도움이 되셨길 바라며 이만 마치도록 하겠습니다. 즐거운 모딩 하세요~~