using System.Linq; using GTANetworkAPI; using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Models; using ReallifeGamemode.Server.Managers; namespace ReallifeGamemode.Server.Extensions { public static class VehicleExtension { public static ServerVehicle GetServerVehicle(this Vehicle veh, DatabaseContext context = null) { return VehicleManager.GetServerVehicleFromVehicle(veh, context); } public static Player GetDriver(this Vehicle veh) { return NAPI.Pools.GetAllPlayers().Where(p => p.Vehicle != null && p.Vehicle?.Handle == veh.Handle && p.VehicleSeat == 0).FirstOrDefault(); } //https://wiki.rage.mp/index.php?title=Vehicle_Classes public static int GetVehicleTrunkSize(this Vehicle vehicle) { switch (vehicle.Class) { case 0: return 100 * 1000; case 1: return 180 * 1000; case 2: return 400 * 1000; case 3: return 210 * 1000; case 4: if ((VehicleHash)vehicle.HashCode == VehicleHash.Moonbeam || (VehicleHash)vehicle.HashCode == VehicleHash.Moonbeam2 || (VehicleHash)vehicle.HashCode == VehicleHash.Ratloader || (VehicleHash)vehicle.HashCode == VehicleHash.Ratloader2 || (VehicleHash)vehicle.HashCode == VehicleHash.Slamvan || (VehicleHash)vehicle.HashCode == VehicleHash.Slamvan2 || (VehicleHash)vehicle.HashCode == VehicleHash.Slamvan3 || (VehicleHash)vehicle.HashCode == VehicleHash.Yosemite || (VehicleHash)vehicle.HashCode == VehicleHash.Yosemite2 || (VehicleHash)vehicle.HashCode == VehicleHash.Picador || (VehicleHash)vehicle.HashCode == VehicleHash.Moonbeam) return 250 * 1000; else return 180 * 1000; case 5: if ((VehicleHash)vehicle.HashCode == VehicleHash.Fagaloa || (VehicleHash)vehicle.HashCode == VehicleHash.Cheburek) return 200 * 1000; else return 110 * 1000; case 6: return 120 * 1000; case 7: return 80 * 1000; case 8: return 5 * 1000; case 9: if ((VehicleHash)vehicle.HashCode == VehicleHash.Bifta || (VehicleHash)vehicle.HashCode == VehicleHash.Blazer || (VehicleHash)vehicle.HashCode == VehicleHash.Blazer2 || (VehicleHash)vehicle.HashCode == VehicleHash.Blazer3 || (VehicleHash)vehicle.HashCode == VehicleHash.Blazer4 || (VehicleHash)vehicle.HashCode == VehicleHash.Blazer5) return 30 * 1000; else return 300 * 1000; case 10: return 2500 * 1000; case 11: return 0; case 12: if ((VehicleHash)vehicle.HashCode == VehicleHash.Minivan || (VehicleHash)vehicle.HashCode == VehicleHash.Minivan2 || (VehicleHash)vehicle.HashCode == VehicleHash.Bobcatxl) return 600 * 1000; else return 1000 * 1000; case 13: return 0; case 14: return 50 * 1000; case 15: return 0; case 16: return 0; case 17: return 0; case 18: if ((VehicleHash)vehicle.HashCode == VehicleHash.Policet) return 1000 * 1000; else if ((VehicleHash)vehicle.HashCode == VehicleHash.Firetruk || (VehicleHash)vehicle.HashCode == VehicleHash.Pbus || (VehicleHash)vehicle.HashCode == VehicleHash.Policeb || (VehicleHash)vehicle.HashCode == VehicleHash.Polmav || (VehicleHash)vehicle.HashCode == VehicleHash.Predator) return 0; else return 150 * 1000; case 19: return 0; case 20: return 2500 * 1000; } return 0; } } }