Moderator: Forum Guards
var DeusExPlayer Player;
function PostBeginPlay()
{
Super.PostBeginPlay();
SetTimer(1.0, False); // Call Timer in 1 second, do not repeat.
}
function Timer()
{
if(Player.DefaultFOV > 56)
{
Player.DefaultFOV = Player.DefaultFOV-1.0;
Player.DefaultFOV = FClamp(Player.DefaultFOV, 1, 170);
Player.DesiredFOV = Player.DefaultFOV;
if(Player.DesiredFOV > 56)
{
SetTimer(1.0, False); // We have to run Timer again.
}
}
}
exec function AZoomIn()
{
local DeusExWeapon W;
if ( (DeusExWeapon(inHand).bHasScope) && (DeusExPlayer(GetPlayerPawn()).IsInState('Dying') ))
{
ClientMessage("Вы не можете использовать функцию приближения вида если у вас в руках оружие с прицелом :)");
Return;
}
else
// SetDesiredFov(56);
SetTimer(0.01, true);
GoToState('ZoomInA');
}
exec function AZoomRelease()
{
SetDesiredFov(75);
}
state ZommInA
{
function Timer()
{
DesiredFov=(DesiredFov - 0.5);
log("changing fov...");
If (DesiredFov >= 56)
{
SetTimer(0, false);
}
}
}
// in user.ini...
/*
Enter=AzoomIn | onrelease AZoomRelease
*/
function MultiplayerTick(float DeltaTime)
{
local float newFOV;
Super.MultiplayerTick(DeltaTime);
if(DefaultFOV > 56)
{
newFOV = DefaultFOV - (1.0 * DeltaTime);
DefaultFOV = FClamp(newFOV, 1, 170);
DesiredFOV = newFOV;
}
}