using GTA;
using GTA.Math;
using GTA.Native;
using System;
using System.Windows.Forms;
public class HomelanderLaser : Script
{
private bool enabled = false;
public HomelanderLaser()
{
Tick += OnTick;
KeyDown += OnKeyDown;
GTA.UI.Notification.Show("~r~Homelander Laser загружен");
}
private void OnKeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F4)
{
enabled = !enabled;
GTA.UI.Notification.Show(
enabled ? "~g~Лазеры включены" : "~r~Лазеры выключены"
);
}
}
private void OnTick(object sender, EventArgs e)
{
if (!enabled)
return;
if (!Game.IsKeyPressed(Keys.RButton))
return;
Ped player = Game.Player.Character;
Vector3 head = player.Position + new Vector3(0, 0, 0.65f);
Vector3 leftEye = head + player.RightVector * -0.04f;
Vector3 rightEye = head + player.RightVector * 0.04f;
Vector3 direction = GameplayCamera.Direction;
FireLaser(leftEye, direction);
FireLaser(rightEye, direction);
}
private void FireLaser(Vector3 start, Vector3 direction)
{
Vector3 end = start + direction * 150f;
Function.Call(
Hash.DRAW_LINE,
start.X, start.Y, start.Z,
end.X, end.Y, end.Z,
255, 0, 0, 255
);
RaycastResult hit = World.Raycast(
start,
end,
IntersectOptions.Vehicles
);
if (hit.DidHit && hit.HitEntity != null)
{
Vehicle car = hit.HitEntity as Vehicle;
if (car != null)
{
Function.Call(
Hash.START_ENTITY_FIRE,
car.Handle
);
}
}
}
}