public static async Task PocceCompanion() { int ped; int player = API.GetPlayerPed(-1); if (API.IsPedInAnyVehicle(player, false)) { var vehicle = API.GetVehiclePedIsIn(player, false); if (Vehicles.GetFreeSeat(vehicle, out int seat)) { var pocce = Config.PocceList[API.GetRandomIntInRange(0, Config.PocceList.Length)]; await Common.RequestModel(pocce); ped = API.CreatePedInsideVehicle(vehicle, 26, pocce, seat, true, false); } else if (API.GetEntitySpeed(vehicle) > 0.1f) { Hud.Notification("Player is in a moving vehicle and there are no free seats"); return; } else { ped = await Peds.Spawn(Config.PocceList); } } else { ped = await Peds.Spawn(Config.PocceList); } Companions.Add(ped); await Peds.Arm(ped, Config.WeaponList); API.SetEntityAsNoLongerNeeded(ref ped); }
public static async Task Activate() { var player = API.GetPlayerPed(-1); if (!API.IsPedInAnyVehicle(player, false)) { Hud.Notification("Player is not in a vehicle"); } var vehicle = API.GetVehiclePedIsIn(player, false); if (API.IsVehicleSeatFree(vehicle, -1)) { await Spawn(vehicle); return; } if (API.GetPedInVehicleSeat(vehicle, -1) != player) { Hud.Notification("You are not the driver of this vehicle"); return; } if (Vehicles.GetFreeSeat(vehicle, out int seat, true)) { var driver = API.GetPedInVehicleSeat(vehicle, -1); API.SetPedIntoVehicle(driver, vehicle, seat); await Spawn(vehicle); }
public static async Task Activate() { if (!Common.EnsurePlayerIsInVehicle(out int player, out int vehicle)) { return; } if (API.IsVehicleSeatFree(vehicle, -1)) { await Spawn(vehicle); return; } if (API.GetPedInVehicleSeat(vehicle, -1) != player) { Common.Notification("Player is not the driver of this vehicle"); return; } if (Vehicles.GetFreeSeat(vehicle, out int seat, true)) { var driver = API.GetPedInVehicleSeat(vehicle, -1); API.SetPedIntoVehicle(driver, vehicle, seat); await Spawn(vehicle); }
public static void TeleportToClosestVehicle(bool forcePassenger = false) { var vehicles = Vehicles.Get(); if (Common.GetClosestEntity(vehicles, out int vehicle)) { if (Vehicles.GetFreeSeat(vehicle, out int seat, forcePassenger)) { var player = API.GetPlayerPed(-1); API.SetPedIntoVehicle(player, vehicle, seat); } else { Hud.Notification("Closest vehicle doesn't have a free seat"); } }
public static async Task Activate() { if (!Common.EnsurePlayerIsInVehicle(out int player, out int vehicle)) { return; } if (API.IsVehicleSeatFree(vehicle, -1)) { await Spawn(vehicle); return; } if (API.GetPedInVehicleSeat(vehicle, -1) != player) { Common.Notification("Player is not the driver of this vehicle"); return; } var model = (uint)API.GetEntityModel(vehicle); if (API.GetVehicleModelNumberOfSeats(model) == 1) { API.TaskLeaveVehicle(player, vehicle, 4096); while (API.IsPedInVehicle(player, vehicle, false)) { await Delay(100); } await Spawn(vehicle); return; } if (Vehicles.GetFreeSeat(vehicle, out int seat, true)) { var driver = API.GetPedInVehicleSeat(vehicle, -1); API.SetPedIntoVehicle(driver, vehicle, seat); await Spawn(vehicle); return; }
public static async Task <int> SpawnHuman(uint model) { if (!API.IsModelAPed(model)) { Common.Notification(Skin.ModelToName(model) + " is not a ped model"); return(-1); } int ped; int player = API.GetPlayerPed(-1); var coords = API.GetEntityCoords(player, true); if (API.IsPedInAnyVehicle(player, false)) { var vehicle = API.GetVehiclePedIsIn(player, false); if (Vehicles.GetFreeSeat(vehicle, out int seat)) { await Common.RequestModel(model); ped = API.CreatePedInsideVehicle(vehicle, 26, model, seat, true, false); API.SetModelAsNoLongerNeeded(model); } else if (API.GetEntitySpeed(vehicle) > 0.1f) { Common.Notification("Player is in a moving vehicle and there are no free seats"); return(-1); } else { ped = await Peds.Spawn(model, coords, true); } } else { ped = await Peds.Spawn(model, coords, true); } Add(ped); await Peds.Arm(ped, Config.WeaponList); return(ped); }
public static async Task PoccePassengers() { int player = API.GetPlayerPed(-1); if (!API.IsPedInAnyVehicle(player, true)) { Hud.Notification("Player is not in a vehicle"); return; } var vehicle = API.GetVehiclePedIsIn(player, false); while (Vehicles.GetFreeSeat(vehicle, out int seat)) { var pocce = Config.PocceList[API.GetRandomIntInRange(0, Config.PocceList.Length)]; await Common.RequestModel(pocce); var ped = API.CreatePedInsideVehicle(vehicle, 26, pocce, seat, true, false); API.SetEntityAsNoLongerNeeded(ref ped); } }