public static async Task <vehicleModel> getVehicleModelById(int id, bool db = false) { vehicleModel veh = new vehicleModel(); if (db) { await databaseManager.selectQuery($"SELECT * FROM vehicles WHERE id = '{id}' LIMIT 1", (DbDataReader reader) => { if (reader.HasRows) { veh.id = (int)reader["id"]; veh.owner = (string)reader["owner"]; veh.model = (string)reader["model"]; veh.type = (type)(int)reader["type"]; veh.spawnPosition = NAPI.Util.FromJson <Vector3>((string)reader["spawnPosition"]); veh.primaryColor = (int)reader["primaryColor"]; veh.secondaryColor = (int)reader["secondaryColor"]; veh.numberPlate = (string)reader["numberPlate"]; } }).Execute(); } else { veh = vehicles.Find(vehicle => vehicle.id == id); } return(veh); }
public static async Task <List <vehicleModel> > loadAllVehicles() { List <vehicleModel> vehicleList = new List <vehicleModel>(); await databaseManager.selectQuery($"SELECT * FROM vehicles", (DbDataReader reader) => { if (reader.HasRows) { vehicleModel veh = new vehicleModel(); veh.id = (int)reader["id"]; veh.owner = (string)reader["owner"]; veh.model = (string)reader["model"]; veh.kms = (int)reader["kms"]; veh.fuel = (int)reader["fuel"]; veh.type = (type)(int)reader["type"]; veh.spawnPosition = NAPI.Util.FromJson <Vector3>((string)reader["spawnPosition"]); veh.primaryColor = (int)reader["primaryColor"]; veh.secondaryColor = (int)reader["secondaryColor"]; veh.numberPlate = (string)reader["numberPlate"]; vehicleList.Add(veh); } }).Execute(); return(vehicleList); }
public static async Task <List <vehicleModel> > loadAllVehiclesPerPlayer(string username, bool db = false) { List <vehicleModel> vehicleList = new List <vehicleModel>(); if (db) { await databaseManager.selectQuery($"SELECT * FROM vehicles WHERE username = '******'", (DbDataReader reader) => { if (reader.HasRows) { vehicleModel veh = new vehicleModel(); veh.id = (int)reader["id"]; veh.owner = (string)reader["owner"]; veh.model = (string)reader["model"]; veh.type = (type)(int)reader["type"]; veh.spawnPosition = NAPI.Util.FromJson <Vector3>((string)reader["spawnPosition"]); veh.primaryColor = (int)reader["primaryColor"]; veh.secondaryColor = (int)reader["secondaryColor"]; veh.numberPlate = (string)reader["numberPlate"]; vehicleList.Add(veh); } }).Execute(); } else { vehicleList = vehicles.FindAll(veh => veh.owner == username); } return(vehicleList); }
public static async Task <int> createVehicle(vehicleModel vehicleModel) { vehicleModel.id = await databaseManager.updateQuery($@"INSERT INTO vehicles (owner, model, type, spawnPosition, primaryColor, secondaryColor, numberPlate, rotation) VALUES ('{vehicleModel.owner}', '{vehicleModel.model}','{(int)vehicleModel.type}','{NAPI.Util.ToJson(vehicleModel.spawnPosition)}', '{vehicleModel.primaryColor}', '{vehicleModel.secondaryColor}', '{vehicleModel.numberPlate}', '{vehicleModel.rotation}')").Execute(); vehicles.Add(vehicleModel); spawnVehicle(vehicleModel); return(vehicleModel.id); }
public async void AddVehicle(Player player, string model, vehicleManager.type type, int color1, int color2, string numberPlate) { float rotation = 0.0F; if (player.Vehicle != null) { rotation = player.Vehicle.Rotation.Z; } else { rotation = player.Heading; } var vehmodel = new vehicleModel(model, type, color1, color2, numberPlate, rotation, numberPlate); vehmodel.spawnPosition = player.Position; int id = await createVehicle(vehmodel); player.SendChatMessage($"Vehicle with {id} was created at the current position."); }
public async Task VehicleManagerStartAsync() { await databaseManager.selectQuery($"SELECT * FROM vehicles", (DbDataReader reader) => { if (reader.HasRows) { vehicleModel veh = new vehicleModel(); veh.id = (int)reader["id"]; veh.owner = (string)reader["owner"]; veh.model = (string)reader["model"]; veh.type = (type)(int)reader["type"]; veh.days = (int)(DateTime.Now - (DateTime)reader["creationDate"]).TotalDays; veh.spawnPosition = NAPI.Util.FromJson <Vector3>((string)reader["spawnPosition"]); veh.primaryColor = (int)reader["primaryColor"]; veh.secondaryColor = (int)reader["secondaryColor"]; veh.numberPlate = (string)reader["numberPlate"]; veh.fuel = (int)reader["fuel"]; veh.kms = (int)reader["kms"]; veh.insurances = (int)reader["insurances"]; veh.rotation = (float)reader["rotation"]; veh.locked = (bool)reader["locked"]; vehicles.Add(veh); } }).Execute(); foreach (var vehicle in vehicles) { if (vehicle.type != type.personal) { spawnVehicle(vehicle); } } var timer_vehicles = new System.Timers.Timer(); timer_vehicles.Interval = 15000; timer_vehicles.Elapsed += timerVehicle; timer_vehicles.Start(); }
public static void spawnVehicle(vehicleModel vehicleModel) { NAPI.Task.Run(() => { Vehicle vehicle = NAPI.Vehicle.CreateVehicle(NAPI.Util.GetHashKey(vehicleModel.model), vehicleModel.spawnPosition, 0f, vehicleModel.primaryColor, vehicleModel.secondaryColor, vehicleModel.numberPlate, 255, false, false); vehicle.SetSharedData("invincible", true); vehicle.NumberPlate = vehicleModel.numberPlate; vehicle.PrimaryColor = vehicleModel.primaryColor; vehicle.SecondaryColor = vehicleModel.secondaryColor; vehicle.Rotation = new Vector3(0, 0, vehicleModel.rotation); vehicle.SetData("id", vehicleModel.id); vehicle.SetData("owner", vehicleModel.owner); vehicle.SetData("type", vehicleModel.type); vehicle.SetData("insurances", vehicleModel.insurances); vehicle.SetSharedData("fuel", vehicleModel.type == type.personal ? (float)vehicleModel.fuel : 100.0); vehicle.SetSharedData("kms", (float)vehicleModel.kms); vehicle.SetSharedData("locked", vehicleModel.locked); vehicle.SetData("serverId", last_vehicle_server_id); vehicle.SetSharedData("setEngine", false); vehicle.EngineStatus = false; }); last_vehicle_server_id++; }