finish /look

This commit is contained in:
hydrant
2021-04-15 12:38:10 +02:00
parent 18e385717b
commit 0b26b89aff
7 changed files with 63 additions and 52 deletions

View File

@@ -22,14 +22,35 @@ namespace ReallifeGamemode.Server.Commands
{
if (!player.IsLoggedIn()) return;
Vehicle veh = NAPI.Pools.GetAllVehicles().Where(v => v.Position.DistanceTo(player.Position) <= 5).FirstOrDefault();
Vehicle veh = NAPI.Pools.GetAllVehicles()
.Where(v => v.Position.DistanceTo(player.Position) <= 5)
.OrderBy(v => v.Position.DistanceTo(player.Position))
.FirstOrDefault();
if (veh == null)
{
return;
}
player.TriggerEvent("lookLastDrivers", JsonConvert.SerializeObject(VehicleManager.lastDriversInVehicle[veh]));
var lastDriverDic = new Dictionary<string, DateTime>();
if(VehicleManager.lastDriversInVehicle.ContainsKey(veh))
{
lastDriverDic = VehicleManager.lastDriversInVehicle[veh];
}
else
{
player.SendNotification("~r~Mit diesem Fahrzeug ist noch niemand gefahren");
return;
}
var list = lastDriverDic.Select(v => new
{
Name = v.Key,
Time = v.Value
}).OrderByDescending(v => v.Time).ToList();
player.TriggerEvent("lookLastDrivers", JsonConvert.SerializeObject(list));
}
[Command("id", "~m~Benutzung: ~s~/id [Name]")]
@@ -77,7 +98,7 @@ namespace ReallifeGamemode.Server.Commands
}
else
{
pVeh = NAPI.Pools.GetAllVehicles().Where(v => v.Position.DistanceTo(player.Position) <= 5).FirstOrDefault();
pVeh = NAPI.Pools.GetAllVehicles().Where(v => v.Position.DistanceTo(player.Position) <= 5).OrderBy(v => v.Position.DistanceTo(player.Position)).FirstOrDefault();
}
if (pVeh == null)

View File

@@ -1,4 +1,5 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
using GTANetworkAPI;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Extensions;
@@ -23,10 +24,10 @@ namespace ReallifeGamemode.Server.Events
if (!VehicleManager.lastDriversInVehicle.ContainsKey(vehicle))
{
VehicleManager.lastDriversInVehicle.Add(vehicle, new List<string>());
VehicleManager.lastDriversInVehicle.Add(vehicle, new Dictionary<string, DateTime>());
}
VehicleManager.lastDriversInVehicle[vehicle].Add(client.Name);
VehicleManager.lastDriversInVehicle[vehicle][client.Name] = DateTime.Now;
if (vehicle.GetServerVehicle() is FactionVehicle veh)
{

View File

@@ -19,7 +19,7 @@ namespace ReallifeGamemode.Server.Managers
public class VehicleManager : Script
{
public static Dictionary<Vehicle, List<String>> lastDriversInVehicle = new Dictionary<Vehicle, List<string>>();
public static Dictionary<Vehicle, Dictionary<string, DateTime>> lastDriversInVehicle = new Dictionary<Vehicle, Dictionary<string, DateTime>>();
private static readonly List<string> _enabledMods = new List<string>()
{