Skip to content

Instantly share code, notes, and snippets.

@fl1k
Created February 19, 2022 21:23
Show Gist options
  • Save fl1k/6ec95dd0f7ff08be992c57873579b96e to your computer and use it in GitHub Desktop.
Save fl1k/6ec95dd0f7ff08be992c57873579b96e to your computer and use it in GitHub Desktop.
Sample Code for the Repair bug
using System;
using System.Threading.Tasks;
using System.Timers;
using GTANetworkAPI;
namespace Testing
{
public class Class1 : Script
{
[Command("v")]
private void Command_V(Player caller)
{
Vehicle v = NAPI.Vehicle.CreateVehicle(VehicleHash.T20, caller.Position, caller.Heading, 0, 0);
v.SetExternalData(0, v.Position);
caller.SetIntoVehicle(v, 0);
caller.GiveWeapon(WeaponHash.Rpg, 100);
}
[ServerEvent(Event.ResourceStart)]
public static async void OnResourceStart()
{
await Task.Delay(5000);
Timer globalTimer = new Timer();
globalTimer.Interval = 1000;
globalTimer.Elapsed += Tick;
globalTimer.AutoReset = true;
globalTimer.Enabled = true;
}
private static void Tick(object sender, ElapsedEventArgs e)
{
NAPI.Task.Run(() =>
{
foreach (Vehicle vehicle in NAPI.Pools.GetAllVehicles())
{
if (vehicle == null)
continue;
if (vehicle.Health < -2000f)
{
Vector3 spawnPos = vehicle.GetExternalData<Vector3>(0);
vehicle.Repair();
vehicle.Position = spawnPos;
}
}
});
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment