모드 강좌
GEN 3. 로켓 포드 추가
페이지 정보
본문
변장에 이어서 코만치 로켓 포드 기능을 달아보자.
Object\AmericaAir.ini를 열고 AmericaVehicleComanche를 검색한다.
다시 weaponset을 검색하면 아래 코드가 나온다.
WeaponSet
Conditions = PLAYER_UPGRADE
; -----
Weapon = PRIMARY Comanche20mmCannonWeapon
PreferredAgainst = PRIMARY INFANTRY
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
; -----
Weapon = SECONDARY ComancheAntiTankMissileWeapon
PreferredAgainst = SECONDARY VEHICLE STRUCTURE
AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI
; -----
Weapon = TERTIARY ComancheRocketPodWeapon
AutoChooseSources = TERTIARY NONE
End
3번째 무기인 TERTIARY에 로켓 포드가 보인다.
Weapon과 AutoChooseSources 부분을 슈퍼 팔라딘에 이식하자.
AutoChooseSources는 자동으로 사격하지 않고 커맨드셋에 의해 발사되게 한다.
WeaponSet
Conditions = None
Weapon = PRIMARY PaladinTankGun
Weapon = SECONDARY ComancheRocketPodWeapon
AutoChooseSources = SECONDARY NONE
End
슈퍼 팔라딘의 WeaponSet을 에디트하면 이렇게 된다.
무기가 2개밖에 없으니 TERTIARY를 SECONDARY로 바꾼다.
로켓 포드를 발사하기 위해서 코만치의 커맨드셋에 가서
발사 버튼을 추적해보면 무기 발사가 TERTIARY로 되어있다.
CommandSet AmericaVehicleComancheCommandSet
1 = Command_AmericaVehicleComancheFireRocketPods
11 = Command_AttackMove
13 = Command_Guard
14 = Command_Stop
End
CommandButton Command_AmericaVehicleComancheFireRocketPods
Command = FIRE_WEAPON
WeaponSlot = TERTIARY
Options = OK_FOR_MULTI_SELECT NEED_UPGRADE NEED_TARGET_POS ; fires at pos, not obj
Upgrade = Upgrade_ComancheRocketPods
TextLabel = CONTROLBAR:FireRocketPods
ButtonImage = SSRocketAttack
ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:ToolTipUSAFireRocketPods
RadiusCursorType = ATTACK_SCATTER_AREA
InvalidCursorName = GenericInvalid
UnitSpecificSound = ComancheVoiceModeRocketPods
End
슈퍼 팔라딘에 지정한 것은 SECONDARY인데 말이다.
발사 버튼을 복사해서 SECONDARY로 고쳐서 슈퍼 팔라딘의 커맨드셋에 달아준다.
Options에 있는 NEED_UPGRADE를 삭제하자.
CommandButton Command_GLATankSuperPaladinFireRocketPods
Command = FIRE_WEAPON
WeaponSlot = SECONDARY
Options = OK_FOR_MULTI_SELECT NEED_TARGET_POS ; fires at pos, not obj
Upgrade = Upgrade_ComancheRocketPods
TextLabel = CONTROLBAR:FireRocketPods
ButtonImage = SSRocketAttack
ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:ToolTipUSAFireRocketPods
RadiusCursorType = ATTACK_SCATTER_AREA
InvalidCursorName = GenericInvalid
UnitSpecificSound = ComancheVoiceModeRocketPods
End
CommandSet GLATankSuperPaladinCommandSet
1 = Command_ConstructAmericaVehicleBattleDrone
2 = Command_ConstructAmericaVehicleScoutDrone
3 = Command_ConstructAmericaVehicleHellfireDrone
4 = Command_DisguiseAsVehicle
5 = Command_GLATankSuperPaladinFireRocketPods
11 = Command_AttackMove
13 = Command_Guard
14 = Command_Stop
End
커맨드셋에도 발사 버튼을 추가한다.
테스트를 하면 발사가 탱크의 중심에서 된다.
포에서 발사되야 하는데, 발사 위치는 아트 파라미터에서 수정한다.
W3DTankDraw 모듈을 보면 ConditionState가 여러개 있을 것이다.
Draw = W3DTankDraw ModuleTag_01
ExtraPublicBone = Laser
ConditionState = NONE
Model = AVPaladin
Turret = Turret01
WeaponFireFXBone = PRIMARY TurretMS
WeaponRecoilBone = PRIMARY Barrel
WeaponMuzzleFlash = PRIMARY TurretFX
WeaponLaunchBone = PRIMARY TurretMS
End
ConditionState = REALLYDAMAGED
Model = AVPaladin_D
Turret = Turret01
WeaponFireFXBone = PRIMARY TurretMS
WeaponRecoilBone = PRIMARY Barrel
WeaponMuzzleFlash = PRIMARY TurretFX
WeaponLaunchBone = PRIMARY TurretMS
End
Launch는 영어로 '발사'이다. 무기의 발사 위치를 정한다. 다른 것은 그냥 넘어간다.
이것들을 복제해서 SECONDARY도 만들어줘야 한다.
보조무기도 주무기와 같은 곳에서 발사되므로 PRIMARY를 복제하면 될 것이다.
ConditionState = NONE
Model = AVPaladin
Turret = Turret01
WeaponFireFXBone = PRIMARY TurretMS
WeaponRecoilBone = PRIMARY Barrel
WeaponMuzzleFlash = PRIMARY TurretFX
WeaponLaunchBone = PRIMARY TurretMS
WeaponFireFXBone = SECONDARY TurretMS
WeaponRecoilBone = SECONDARY Barrel
WeaponMuzzleFlash = SECONDARY TurretFX
WeaponLaunchBone = SECONDARY TurretMS
End
REALLYDAMAGED, RUBBLE도 동일하게 추가해주면 된다.
다시 확인하면 포에서 로켓 포드가 나간다.