You must have a place where it'll shoot from which in my case was a interp actor so I used Matinee.
Don't mind the
console command. It was just for my level. It could be anything you want.
The red circle in the right determines where the projectile spawns from. It should be same as the location of
the mesh used for the turret. (in my case Interactor 06 in Matinee).
Bool is necessary for me because I want it to stop shooting when the player is no longer in the trigger volume. And
continue shooting when the player enters the volume again.
Turret System
Begin Object Class=SeqAct_Interp
Name=SeqAct_Interp_3
bForceStartPos=True
InputLinks(0)=(DrawY=814,OverrideDelta=15)
InputLinks(1)=(DrawY=836,OverrideDelta=37)
InputLinks(2)=(DrawY=858,OverrideDelta=59)
InputLinks(3)=(DrawY=880,OverrideDelta=81)
InputLinks(4)=(DrawY=902,OverrideDelta=103)
OutputLinks(0)=(Links=((LinkedOp=SeqAct_AttachToActor'SeqAct_AttachToActor_0')),DrawY=830,OverrideDelta=31)
OutputLinks(1)=(DrawY=886,OverrideDelta=87)
VariableLinks(0)=(LinkedVariables=(InterpData'InterpData_3'),DrawX=-153,OverrideDelta=16)
VariableLinks(1)=(ExpectedType=Class'Engine.SeqVar_Object',LinkedVariables=(SeqVar_Object'SeqVar_Object_21'),LinkDesc="NewGroup",MinVars=0,DrawX=-88,OverrideDelta=63)
VariableLinks(2)=(ExpectedType=Class'Engine.SeqVar_Object',LinkedVariables=(SeqVar_Object'SeqVar_Object_22'),LinkDesc="NewGroup0",MinVars=0,DrawX=-2,OverrideDelta=145)
VariableLinks(3)=(ExpectedType=Class'Engine.SeqVar_Object',LinkedVariables=(SeqVar_Object'SeqVar_Object_23'),LinkDesc="NewGroup1",MinVars=0,DrawX=88,OverrideDelta=235)
VariableLinks(4)=(ExpectedType=Class'Engine.SeqVar_Object',LinkedVariables=(SeqVar_Object'SeqVar_Object_24'),LinkDesc="NewGroup2",MinVars=0,DrawX=178,OverrideDelta=325)
ObjInstanceVersion=2
ParentSequence=Sequence'Main_Sequence'
ObjPosX=-184
ObjPosY=776
DrawWidth=415
DrawHeight=157
Name="SeqAct_Interp_3"
ObjectArchetype=SeqAct_Interp'Engine.Default__SeqAct_Interp'
End Object
Begin Object Class=InterpData Name=InterpData_3
Begin Object Class=InterpGroup Name=InterpGroup_6
Begin Object Class=InterpTrackMove Name=InterpTrackMove_7
PosTrack=(Points=((OutVal=(X=10368.000000,Y=-4992.000000,Z=1216.000000),InterpMode=CIM_CurveAutoClamped),(InVal=0.999346,OutVal=(X=7648.000000,Y=-992.000000,Z=1216.000000),ArriveTangent=
(X=0.000000,Y=3039.116455,Z=0.000000),LeaveTangent=(X=0.000000,Y=3039.116455,Z=0.000000),InterpMode=CIM_CurveAutoClamped),(InVal=2.000582,OutVal=(X=7872.000000,Y=1088.000000,Z=1152.000000),InterpMode=CIM_CurveAutoClamped)))
EulerTrack=(Points=((InterpMode=CIM_CurveAutoClamped),(InVal=0.999346,InterpMode=CIM_CurveAutoClamped),(InVal=2.000582,InterpMode=CIM_CurveAutoClamped)))
LookupTrack=(Points=(,(Time=0.999346),(Time=2.000582)))
Name="InterpTrackMove_7"
ObjectArchetype=InterpTrackMove'Engine.Default__InterpTrackMove'
End Object
InterpTracks(0)=InterpTrackMove'InterpTrackMove_7'
GroupName="NewGroup2"
GroupColor=(B=171,G=0,R=169,A=255)
Name="InterpGroup_6"
ObjectArchetype=InterpGroup'Engine.Default__InterpGroup'
End Object
Begin Object Class=InterpGroup Name=InterpGroup_5
Begin Object Class=InterpTrackMove Name=InterpTrackMove_6
PosTrack=(Points=((OutVal=(X=6848.000000,Y=15904.000000,Z=1216.000000),InterpMode=CIM_CurveAutoClamped),(InVal=0.995568,OutVal=(X=9344.000000,Y=7360.000000,Z=1216.000000),ArriveTangent=(X=0.000000,Y=-
5451.268555,Z=0.000000),LeaveTangent=(X=0.000000,Y=-5451.268555,Z=0.000000),InterpMode=CIM_CurveAutoClamped),(InVal=2.000582,OutVal=(X=7744.000000,Y=4096.000000,Z=1216.000000),InterpMode=CIM_CurveAutoClamped)))
EulerTrack=(Points=((InterpMode=CIM_CurveAutoClamped),(InVal=0.995568,InterpMode=CIM_CurveAutoClamped),(InVal=2.000582,InterpMode=CIM_CurveAutoClamped)))
LookupTrack=(Points=(,(Time=0.995568),(Time=2.000582)))
Name="InterpTrackMove_6"
ObjectArchetype=InterpTrackMove'Engine.Default__InterpTrackMove'
End Object
InterpTracks(0)=InterpTrackMove'InterpTrackMove_6'
GroupName="NewGroup1"
GroupColor=(B=176,G=163,R=0,A=255)
Name="InterpGroup_5"
ObjectArchetype=InterpGroup'Engine.Default__InterpGroup'
End Object
Begin Object Class=InterpGroup Name=InterpGroup_4
Begin Object Class=InterpTrackMove Name=InterpTrackMove_5
PosTrack=(Points=((OutVal=(X=-1728.000000,Y=-5376.000000,Z=-40.000000),InterpMode=CIM_CurveAutoClamped),(InVal=0.998893,OutVal=(X=5952.000000,Y=-1344.000000,Z=1216.000000),ArriveTangent=
(X=4469.396973,Y=16324.580078,Z=0.000000),LeaveTangent=(X=4469.396973,Y=16324.580078,Z=0.000000),InterpMode=CIM_CurveUser),(InVal=1.998693,OutVal=(X=4128.000000,Y=2336.000000,Z=1216.000000),InterpMode=CIM_CurveAutoClamped)))
EulerTrack=(Points=((InterpMode=CIM_CurveAutoClamped),(InVal=0.998893,InterpMode=CIM_CurveUser),(InVal=1.998693,InterpMode=CIM_CurveAutoClamped)))
LookupTrack=(Points=(,(Time=0.998893),(Time=1.998693)))
bUseQuatInterpolation=True
Name="InterpTrackMove_5"
ObjectArchetype=InterpTrackMove'Engine.Default__InterpTrackMove'
End Object
InterpTracks(0)=InterpTrackMove'InterpTrackMove_5'
GroupName="NewGroup0"
GroupColor=(B=0,G=221,R=84,A=255)
Name="InterpGroup_4"
ObjectArchetype=InterpGroup'Engine.Default__InterpGroup'
End Object
Begin Object Class=InterpGroup Name=InterpGroup_3
Begin Object Class=InterpTrackMove Name=InterpTrackMove_4
PosTrack=(Points=((OutVal=(X=-1728.000000,Y=10464.000000,Z=-506.000000),InterpMode=CIM_CurveAutoClamped),(InVal=0.998893,OutVal=(X=6048.000000,Y=4192.000000,Z=1216.000000),ArriveTangent=(X=6252.957520,Y=-
10627.274414,Z=0.000000),LeaveTangent=(X=6252.957520,Y=-10627.274414,Z=0.000000),InterpMode=CIM_CurveUser),(InVal=2.000582,OutVal=(X=4096.000000,Y=128.000000,Z=1216.000000),InterpMode=CIM_CurveAutoClamped)))
EulerTrack=(Points=((InterpMode=CIM_CurveAutoClamped),(InVal=0.998893,InterpMode=CIM_CurveUser),(InVal=2.000582,InterpMode=CIM_CurveAutoClamped)))
LookupTrack=(Points=(,(Time=0.998893),(Time=2.000582)))
bUseQuatInterpolation=True
Name="InterpTrackMove_4"
ObjectArchetype=InterpTrackMove'Engine.Default__InterpTrackMove'
End Object
InterpTracks(0)=InterpTrackMove'InterpTrackMove_4'
GroupName="NewGroup"
GroupColor=(B=140,G=194,R=0,A=255)
Name="InterpGroup_3"
ObjectArchetype=InterpGroup'Engine.Default__InterpGroup'
End Object
Begin Object Class=InterpCurveEdSetup Name=InterpCurveEdSetup_1
Tabs(0)=(ViewStartInput=1.567055,ViewEndInput=2.553835,ViewStartOutput=-0.208424,ViewEndOutput=0.208424)
Name="InterpCurveEdSetup_1"
ObjectArchetype=InterpCurveEdSetup'Engine.Default__InterpCurveEdSetup'
End Object
InterpLength=2.000582
InterpGroups(0)=InterpGroup'InterpGroup_3'
InterpGroups(1)=InterpGroup'InterpGroup_4'
InterpGroups(2)=InterpGroup'InterpGroup_5'
InterpGroups(3)=InterpGroup'InterpGroup_6'
CurveEdSetup=InterpCurveEdSetup'InterpCurveEdSetup_1'
SelectedFilter=InterpFilter'Engine.Default__InterpData:FilterAll'
EdSectionEnd=0.967894
ObjInstanceVersion=1
ParentSequence=Sequence'Main_Sequence'
ObjPosX=-200
ObjPosY=976
DrawWidth=32
DrawHeight=32
Name="InterpData_3"
ObjectArchetype=InterpData'Engine.Default__InterpData'
End Object
Begin Object Class=SeqVar_Object Name=SeqVar_Object_21
ObjValue=InterpActor'InterpActor_6'
ObjInstanceVersion=1
ParentSequence=Sequence'Main_Sequence'
ObjPosX=-96
ObjPosY=968
DrawWidth=32
DrawHeight=32
Name="SeqVar_Object_21"
ObjectArchetype=SeqVar_Object'Engine.Default__SeqVar_Object'
End Object
Begin Object Class=UTSeqAct_SpawnProjectile Name=UTSeqAct_SpawnProjectile_1
ProjectileClass=Class'UTGame.UTProj_SeekingRocket'
InputLinks(0)=(DrawY=978,OverrideDelta=11)
OutputLinks(0)=(DrawY=978,OverrideDelta=11)
VariableLinks(0)=(LinkedVariables=(SeqVar_Vector'SeqVar_Vector_6'),DrawX=1182,OverrideDelta=16)
VariableLinks(1)=(LinkedVariables=(SeqVar_Vector'SeqVar_Vector_5'),DrawX=1259,OverrideDelta=93)
VariableLinks(2)=(LinkedVariables=(SeqVar_Object'SeqVar_Object_6'),DrawX=1338,OverrideDelta=170)
ObjInstanceVersion=1
ParentSequence=Sequence'Main_Sequence'
ObjPosX=1136
ObjPosY=944
DrawWidth=250
DrawHeight=77
Name="UTSeqAct_SpawnProjectile_1"
ObjectArchetype=UTSeqAct_SpawnProjectile'UTGame.Default__UTSeqAct_SpawnProjectile'
End Object
Begin Object Class=SeqVar_Object Name=SeqVar_Object_6
ObjInstanceVersion=1
ParentSequence=Sequence'Main_Sequence'
ObjPosX=368
ObjPosY=944
DrawWidth=32
DrawHeight=32
Name="SeqVar_Object_6"
ObjectArchetype=SeqVar_Object'Engine.Default__SeqVar_Object'
End Object
Begin Object Class=SeqAct_AttachToActor Name=SeqAct_AttachToActor_0
InputLinks(0)=(DrawY=826,OverrideDelta=11)
OutputLinks(0)=(Links=((LinkedOp=SeqAct_GetLocationAndRotation'SeqAct_GetLocationAndRotation_0')),DrawY=826,OverrideDelta=11)
VariableLinks(0)=(LinkedVariables=(SeqVar_Object'SeqVar_Object_6'),DrawX=342,OverrideDelta=16)
VariableLinks(1)=(LinkedVariables=(SeqVar_Object'SeqVar_Object_6'),DrawX=419,OverrideDelta=76)
ObjInstanceVersion=2
ParentSequence=Sequence'Main_Sequence'
ObjPosX=304
ObjPosY=792
DrawWidth=170
DrawHeight=61
Name="SeqAct_AttachToActor_0"
ObjectArchetype=SeqAct_AttachToActor'Engine.Default__SeqAct_AttachToActor'
End Object
Begin Object Class=SeqAct_GetLocationAndRotation Name=SeqAct_GetLocationAndRotation_0
InputLinks(0)=(DrawY=826,OverrideDelta=11)
OutputLinks(0)=(Links=((LinkedOp=SeqCond_CompareBool'SeqCond_CompareBool_0')),DrawY=826,OverrideDelta=11)
VariableLinks(0)=(LinkedVariables=(SeqVar_Object'SeqVar_Object_6'),DrawX=646,OverrideDelta=16)
VariableLinks(1)=(LinkedVariables=(SeqVar_Vector'SeqVar_Vector_5'),DrawX=712,OverrideDelta=76)
VariableLinks(2)=(DrawX=783,OverrideDelta=148)
ObjInstanceVersion=3
ParentSequence=Sequence'Main_Sequence'
ObjPosX=608
ObjPosY=792
DrawWidth=219
DrawHeight=77
Name="SeqAct_GetLocationAndRotation_0"
ObjectArchetype=SeqAct_GetLocationAndRotation'Engine.Default__SeqAct_GetLocationAndRotation'
End Object
Begin Object Class=SeqVar_Vector Name=SeqVar_Vector_6
VectValue=(X=3744.000000,Y=256.000000,Z=1000.000000)
ObjInstanceVersion=1
ParentSequence=Sequence'Main_Sequence'
ObjPosX=1022
ObjPosY=1063
DrawWidth=32
DrawHeight=32
Name="SeqVar_Vector_6"
ObjectArchetype=SeqVar_Vector'Engine.Default__SeqVar_Vector'
End Object
Begin Object Class=SeqAct_Delay Name=SeqAct_Delay_0
Duration=0.200000
InputLinks(0)=(DrawY=829,OverrideDelta=14)
InputLinks(1)=(DrawY=850,OverrideDelta=35)
InputLinks(2)=(DrawY=871,OverrideDelta=56)
OutputLinks(0)=(Links=((LinkedOp=SeqAct_GetLocationAndRotation'SeqAct_GetLocationAndRotation_0')),DrawY=834,OverrideDelta=19)
OutputLinks(1)=(DrawY=866,OverrideDelta=51)
VariableLinks(0)=(DrawX=1180,OverrideDelta=25)
ObjInstanceVersion=1
ParentSequence=Sequence'Main_Sequence'
ObjPosX=1128
ObjPosY=792
ObjComment="rate of fire"
DrawWidth=106
DrawHeight=109
Name="SeqAct_Delay_0"
ObjectArchetype=SeqAct_Delay'Engine.Default__SeqAct_Delay'
End Object
Begin Object Class=SeqEvent_Touch Name=SeqEvent_Touch_4
Originator=DynamicTriggerVolume'DynamicTriggerVolume_0'
MaxTriggerCount=0
MaxWidth=220
OutputLinks(0)=(Links=((LinkedOp=SeqAct_SetBool'SeqAct_SetBool_1'),(LinkedOp=UTSeqAct_PlayAnnouncement'UTSeqAct_PlayAnnouncement_1')),DrawY=813,OverrideDelta=14)
OutputLinks(1)=(Links=((LinkedOp=SeqAct_SetBool'SeqAct_SetBool_0'),(LinkedOp=SeqAct_Interp'SeqAct_Interp_3',InputLinkIdx=1)),DrawY=834,OverrideDelta=35)
OutputLinks(2)=(Links=((LinkedOp=SeqAct_SetBool'SeqAct_SetBool_0'),(LinkedOp=SeqAct_Interp'SeqAct_Interp_3',InputLinkIdx=1)),DrawY=855,OverrideDelta=56)
VariableLinks(0)=(LinkedVariables=(SeqVar_Object'SeqVar_Object_6'),DrawX=-434,OverrideDelta=78)
ObjInstanceVersion=2
ParentSequence=Sequence'Main_Sequence'
ObjPosX=-544
ObjPosY=744
ObjName="DynamicTriggerVolume_0 Touch"
DrawWidth=155
DrawHeight=176
Name="SeqEvent_Touch_4"
ObjectArchetype=SeqEvent_Touch'Engine.Default__SeqEvent_Touch'
End Object
Begin Object Class=SeqCond_CompareBool Name=SeqCond_CompareBool_0
InputLinks(0)=(DrawY=822,OverrideDelta=23)
OutputLinks(0)=(DrawY=812,OverrideDelta=13)
OutputLinks(1)=(Links=((LinkedOp=SeqAct_Delay'SeqAct_Delay_0'),(LinkedOp=UTSeqAct_SpawnProjectile'UTSeqAct_SpawnProjectile_1'),(LinkedOp=UTSeqAct_SpawnProjectile'UTSeqAct_SpawnProjectile_2'),
(LinkedOp=UTSeqAct_SpawnProjectile'UTSeqAct_SpawnProjectile_3'),(LinkedOp=UTSeqAct_SpawnProjectile'UTSeqAct_SpawnProjectile_4')),DrawY=832,OverrideDelta=33)
VariableLinks(0)=(LinkedVariables=(SeqVar_Bool'SeqVar_Bool_0'),DrawX=941,OverrideDelta=16)
VariableLinks(1)=(DrawX=991,OverrideDelta=59)
ObjInstanceVersion=2
ParentSequence=Sequence'Main_Sequence'
ObjPosX=912
ObjPosY=776
ObjComment="Active?"
DrawWidth=115
DrawHeight=85
Name="SeqCond_CompareBool_0"
ObjectArchetype=SeqCond_CompareBool'Engine.Default__SeqCond_CompareBool'
End Object
Begin Object Class=SeqVar_Vector Name=SeqVar_Vector_5
ObjInstanceVersion=1
ParentSequence=Sequence'Main_Sequence'
ObjPosX=1224
ObjPosY=1072
DrawWidth=32
DrawHeight=32
Name="SeqVar_Vector_5"
ObjectArchetype=SeqVar_Vector'Engine.Default__SeqVar_Vector'
End Object
Begin Object Class=SeqVar_Object Name=SeqVar_Object_22
ObjValue=InterpActor'InterpActor_7'
ObjInstanceVersion=1
ParentSequence=Sequence'Main_Sequence'
ObjPosX=8
ObjPosY=976
DrawWidth=32
DrawHeight=32
Name="SeqVar_Object_22"
ObjectArchetype=SeqVar_Object'Engine.Default__SeqVar_Object'
End Object
Begin Object Class=SeqVar_Object Name=SeqVar_Object_23
ObjValue=InterpActor'InterpActor_5'
ObjInstanceVersion=1
ParentSequence=Sequence'Main_Sequence'
ObjPosX=56
ObjPosY=976
DrawWidth=32
DrawHeight=32
Name="SeqVar_Object_23"
ObjectArchetype=SeqVar_Object'Engine.Default__SeqVar_Object'
End Object
Begin Object Class=SeqVar_Object Name=SeqVar_Object_24
ObjValue=InterpActor'InterpActor_4'
ObjInstanceVersion=1
ParentSequence=Sequence'Main_Sequence'
ObjPosX=104
ObjPosY=976
DrawWidth=32
DrawHeight=32
Name="SeqVar_Object_24"
ObjectArchetype=SeqVar_Object'Engine.Default__SeqVar_Object'
End Object