Files
reallife-gamemode/ReallifeGamemode.Server/Extensions/VehicleExtension.cs
2021-04-17 01:29:03 +02:00

132 lines
3.7 KiB
C#

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.Model == VehicleHash.Moonbeam
|| (VehicleHash)vehicle.Model == VehicleHash.Moonbeam2
|| (VehicleHash)vehicle.Model == VehicleHash.Ratloader
|| (VehicleHash)vehicle.Model == VehicleHash.Ratloader2
|| (VehicleHash)vehicle.Model == VehicleHash.Slamvan
|| (VehicleHash)vehicle.Model == VehicleHash.Slamvan2
|| (VehicleHash)vehicle.Model == VehicleHash.Slamvan3
|| (VehicleHash)vehicle.Model == VehicleHash.Yosemite
|| (VehicleHash)vehicle.Model == VehicleHash.Yosemite2
|| (VehicleHash)vehicle.Model == VehicleHash.Picador)
return 250 * 1000;
else
return 180 * 1000;
case 5:
if ((VehicleHash)vehicle.Model == VehicleHash.Fagaloa
|| (VehicleHash)vehicle.Model == 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.Model == VehicleHash.Bifta
|| (VehicleHash)vehicle.Model == VehicleHash.Blazer
|| (VehicleHash)vehicle.Model == VehicleHash.Blazer2
|| (VehicleHash)vehicle.Model == VehicleHash.Blazer3
|| (VehicleHash)vehicle.Model == VehicleHash.Blazer4
|| (VehicleHash)vehicle.Model == VehicleHash.Blazer5)
return 30 * 1000;
else
return 300 * 1000;
case 10:
return 2500 * 1000;
case 11:
return 0;
case 12:
if ((VehicleHash)vehicle.Model == VehicleHash.Minivan
|| (VehicleHash)vehicle.Model == VehicleHash.Minivan2
|| (VehicleHash)vehicle.Model == 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.Model == VehicleHash.Policet)
return 1000 * 1000;
else if ((VehicleHash)vehicle.Model == VehicleHash.Firetruk
|| (VehicleHash)vehicle.Model == VehicleHash.Pbus
|| (VehicleHash)vehicle.Model == VehicleHash.Policeb
|| (VehicleHash)vehicle.Model == VehicleHash.Polmav
|| (VehicleHash)vehicle.Model == VehicleHash.Predator)
return 0;
else
return 150 * 1000;
case 19:
return 0;
case 20:
return 2500 * 1000;
}
return 0;
}
}
}