save locations

This commit is contained in:
hydrant
2019-09-29 22:16:59 +02:00
parent cf7fccbc28
commit 6a23f6ef59
17 changed files with 1607 additions and 49 deletions

View File

@@ -1737,7 +1737,7 @@ namespace ReallifeGamemode.Server.Commands
}
}
[Command("save", "~m~Benutzung: ~s~/save [Typ = ~g~Blip~s~, ~g~Goto (X)~s~, ~r~Marker~s~, ~r~Ped~s~, ~r~Pickup~s~, ~r~TextLabel~s~, ~g~Vehicle~s~, ~g~FVehicle~s~, ~g~SVehicle (X)~s~, ~g~JVehicle (X)~s~] (Weitere Angaben) = (X)")]
[Command("save", "~m~Benutzung: ~s~/save [Typ = ~g~Blip~s~, ~g~Goto (X)~s~, ~r~Marker~s~, ~r~Ped~s~, ~r~Pickup~s~, ~r~TextLabel~s~, ~g~Vehicle~s~, ~g~FVehicle~s~, ~g~SVehicle (X)~s~, ~g~JVehicle (X)~s~, ~g~Location~s~] (Weitere Angaben) = (X)")]
public void CmdAdminSave(Client player, string typ, string option1 = null, string option2 = null)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
@@ -1745,6 +1745,7 @@ namespace ReallifeGamemode.Server.Commands
ChatService.NotAuthorized(player);
return;
}
switch (typ.ToLower())
{
case "blip":
@@ -1849,6 +1850,7 @@ namespace ReallifeGamemode.Server.Commands
}
else ChatService.SendMessage(player, "~m~Du sitzt in keinem Fahrzeug!");
break;
case "svehicle":
if (player.IsInVehicle)
{
@@ -1888,6 +1890,28 @@ namespace ReallifeGamemode.Server.Commands
else ChatService.SendMessage(player, "~m~Du sitzt in keinem Fahrzeug!");
break;
case "location":
if(option1 == null || option1.Length < 0)
{
ChatService.SendMessage(player, "~m~Benutzung: ~s~/save location [Beschreibung]");
return;
}
using(var dbContext = new DatabaseContext())
{
dbContext.Locations.Add(new Location
{
Description = option1,
X = player.Position.X,
Y = player.Position.Y,
Z = player.Position.Z,
});
dbContext.SaveChanges();
player.SendNotification("Die Position wurde gespeichert");
}
break;
}
}

View File

@@ -11,7 +11,7 @@ namespace ReallifeGamemode.Server.Events
public class EnterVehicleAttempt : Script
{
[ServerEvent(Event.PlayerEnterVehicleAttempt)]
public void OnPlayerEnterVehicleAttempt(Client player, Vehicle vehicle, sbyte seat)
public void OnPlayerEnterVehicleAttempt(Client player, GTANetworkAPI.Vehicle vehicle, sbyte seat)
{
if ((VehicleHash)vehicle.Model == VehicleHash.Dune3)
{

View File

@@ -24,7 +24,7 @@ namespace ReallifeGamemode.Server.Events
{
using (var context = new DatabaseContext())
{
foreach (Vehicle veh in NAPI.Pools.GetAllVehicles())
foreach (GTANetworkAPI.Vehicle veh in NAPI.Pools.GetAllVehicles())
{
List<string> iName = new List<string>();
List<int> iAmount = new List<int>();

View File

@@ -382,7 +382,7 @@ namespace ReallifeGamemode.Server.Events
if (!player.IsInVehicle) return;
if (player.VehicleSeat != -1) return;
Vehicle v = player.Vehicle;
GTANetworkAPI.Vehicle v = player.Vehicle;
User u = player.GetUser();
if (u == null) return;

View File

@@ -13,7 +13,7 @@ namespace ReallifeGamemode.Server.Events
public void ToggleSirenEvent(Client player)
{
if (!player.IsInVehicle || player.VehicleSeat != -1) return;
Vehicle pV = player.Vehicle;
GTANetworkAPI.Vehicle pV = player.Vehicle;
bool oldValue = _sirenStates.ContainsKey(pV.Handle) ? _sirenStates[pV.Handle] : false;
bool newValue = !oldValue;

View File

@@ -8,14 +8,14 @@ using System;
namespace ReallifeGamemode.Server.Events
{
public class VehicleMenu : Script
public class Vehicle : Script
{
[RemoteEvent("VehicleMenu_ToggleEngine")]
public void VehicleMenuToggleEngineEvent(Client player)
{
if (player.IsInVehicle && player.VehicleSeat == -1)
{
Vehicle v = player.Vehicle;
GTANetworkAPI.Vehicle v = player.Vehicle;
User u = player.GetUser();
if (u == null) return;
@@ -69,7 +69,7 @@ namespace ReallifeGamemode.Server.Events
{
if (player.IsInVehicle && player.VehicleSeat == -1)
{
Vehicle v = player.Vehicle;
GTANetworkAPI.Vehicle v = player.Vehicle;
User u = player.GetUser();
if (u == null) return;
@@ -112,7 +112,7 @@ namespace ReallifeGamemode.Server.Events
{
if (player.IsInVehicle && player.VehicleSeat == -1)
{
Vehicle v = player.Vehicle;
GTANetworkAPI.Vehicle v = player.Vehicle;
User u = player.GetUser();
if (u == null) return;
@@ -166,7 +166,7 @@ namespace ReallifeGamemode.Server.Events
public void VehicleMenuToggleSingleDoorEvent(Client player, int door)
{
if (!player.IsInVehicle) return;
Vehicle veh = player.Vehicle;
GTANetworkAPI.Vehicle veh = player.Vehicle;
DoorID doorId = (DoorID)door;
@@ -179,7 +179,7 @@ namespace ReallifeGamemode.Server.Events
public void VehicleMenuOpenAllDoorsEvent(Client player)
{
if (!player.IsInVehicle) return;
Vehicle veh = player.Vehicle;
GTANetworkAPI.Vehicle veh = player.Vehicle;
foreach (DoorID doorId in Enum.GetValues(typeof(DoorID)))
{
@@ -191,12 +191,18 @@ namespace ReallifeGamemode.Server.Events
public void VehicleMenuCloseAllDoorsEvent(Client player)
{
if (!player.IsInVehicle) return;
Vehicle veh = player.Vehicle;
GTANetworkAPI.Vehicle veh = player.Vehicle;
foreach (DoorID doorId in Enum.GetValues(typeof(DoorID)))
{
VehicleStreaming.SetDoorState(veh, doorId, DoorState.DoorClosed);
}
}
[ServerEvent(Event.VehicleDeath)]
public void VehicleDeathEvent(GTANetworkAPI.Vehicle veh)
{
}
}
}

View File

@@ -19,7 +19,9 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.1.11" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.1.11" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="2.1.11" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.10" />
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />