34 lines
768 B
Ucode
34 lines
768 B
Ucode
class ACTION_Use extends ScriptedAction;
|
|
|
|
function bool InitActionFor(ScriptedController C)
|
|
{
|
|
local Actor A;
|
|
local Vehicle DrivenVehicle;
|
|
|
|
C.bChangingPawns = true;
|
|
DrivenVehicle = Vehicle(C.Pawn);
|
|
if( DrivenVehicle != None )
|
|
{
|
|
DrivenVehicle.KDriverLeave(false);
|
|
C.bChangingPawns = false;
|
|
return false;
|
|
}
|
|
|
|
ForEach C.Pawn.VisibleCollidingActors(class'Vehicle', DrivenVehicle, 500)
|
|
{
|
|
DrivenVehicle.UsedBy(C.Pawn);
|
|
C.bChangingPawns = false;
|
|
return false;
|
|
}
|
|
|
|
// Send the 'DoUse' event to each actor player is touching.
|
|
ForEach C.Pawn.TouchingActors(class'Actor', A)
|
|
A.UsedBy(C.Pawn);
|
|
|
|
if ( C.Pawn.Base != None )
|
|
C.Pawn.Base.UsedBy( C.Pawn );
|
|
|
|
C.bChangingPawns = false;
|
|
return false;
|
|
}
|