Add VehicleShop, SaveManager, Edit LoadManager amm...

This commit is contained in:
VegaZ
2018-10-10 21:06:20 +02:00
parent 7d21f9c06e
commit e25af059a4
7 changed files with 250 additions and 28 deletions

View File

@@ -587,7 +587,7 @@ namespace reallife_gamemode.Server.Commands
target.GetUser().BanPlayer(admin, reason, mins);
}
[Command("save", "~m~Benutzung: ~s~/save [Typ = ~g~Blip, ~r~Marker, Ped, Pickup, TextLabel, ~g~Vehicle, FVehicle")]
[Command("save", "~m~Benutzung: ~s~/save [Typ = ~g~Blip, ~r~Marker, Ped, Pickup, TextLabel, ~g~Vehicle, FVehicle, SVehicle")]
public void CmdAdminSave(Client player, string typ)
{
switch (typ)
@@ -595,6 +595,15 @@ namespace reallife_gamemode.Server.Commands
case "Blip":
player.TriggerEvent("saveBlip");
break;
case "Vehicle":
if (player.IsInVehicle)
{
Vehicle vehicle = player.Vehicle;
SaveManager.SaveVehicleData((VehicleHash)vehicle.Model, vehicle.Position, vehicle.Heading, vehicle.NumberPlate,
Convert.ToByte(vehicle.PrimaryColor), Convert.ToByte(vehicle.SecondaryColor), vehicle.Locked, vehicle.EngineStatus, Convert.ToByte(vehicle.Dimension));
}
else player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
break;
case "FVehicle":
if (player.IsInVehicle)
{
@@ -606,18 +615,21 @@ namespace reallife_gamemode.Server.Commands
else
{
Vehicle vehicle = player.Vehicle;
SaveData.SaveFactionVehicleData((VehicleHash)vehicle.Model, vehicle.Position, vehicle.Heading, vehicle.NumberPlate,
SaveManager.SaveFactionVehicleData((VehicleHash)vehicle.Model, vehicle.Position, vehicle.Heading, vehicle.NumberPlate,
Convert.ToByte(vehicle.PrimaryColor), Convert.ToByte(vehicle.SecondaryColor), vehicle.Locked, vehicle.EngineStatus, Convert.ToByte(vehicle.Dimension), player.GetUser().FactionId);
vehicle.SetData("factionId", player.GetUser().FactionId);
LoadManager.FactionVehicleList.Add(vehicle);
}
}
else player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
break;
case "Vehicle":
case "SVehicle":
if (player.IsInVehicle)
{
Vehicle vehicle = player.Vehicle;
SaveData.SaveVehicleData((VehicleHash)vehicle.Model, vehicle.Position, vehicle.Heading, vehicle.NumberPlate,
Convert.ToByte(vehicle.PrimaryColor), Convert.ToByte(vehicle.SecondaryColor), vehicle.Locked, vehicle.EngineStatus, Convert.ToByte(vehicle.Dimension));
SaveManager.SaveShopVehicleData((VehicleHash)vehicle.Model, vehicle.DisplayName, vehicle.Position, vehicle.Heading, vehicle.NumberPlate,
Convert.ToByte(vehicle.PrimaryColor), Convert.ToByte(vehicle.SecondaryColor), Convert.ToByte(vehicle.Dimension), player.GetUser().FactionId);
LoadManager.ShopVehicleList.Add(vehicle);
}
else player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
break;
@@ -734,6 +746,7 @@ namespace reallife_gamemode.Server.Commands
if (player.IsInVehicle)
{
Vehicle playerVehicle = player.Vehicle;
LoadManager.UserVehicleList.Add(playerVehicle);
using (var saveVehicle = new DatabaseContext())
{
var dataSet = new UserVehicle
@@ -751,10 +764,10 @@ namespace reallife_gamemode.Server.Commands
Engine = playerVehicle.EngineStatus,
Dimension = Convert.ToByte(playerVehicle.Dimension),
};
playerVehicle.SetData("ownerId",player.GetUser().Id);
saveVehicle.UserVehicles.Add(dataSet);
saveVehicle.SaveChanges();
saveVehicle.SaveChanges();
}
}
else player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
}
@@ -1075,7 +1088,7 @@ namespace reallife_gamemode.Server.Commands
player.SendChatMessage("IP von " + NAPI.Player.GetPlayerName(target) + ": " + target.Address);
}
//TEST COMMAND
//TODO TEST COMMAND
[Command("myvehicles")]
public void CmdAdminMyVehicles(Client player)
{
@@ -1113,31 +1126,65 @@ namespace reallife_gamemode.Server.Commands
BankManager.TransferUserMoneyToFaction(player.GetUser(), receiverUser, amount, "/FPAY");
}
}
/*
[Command("restart")]
public void CmdAdminRestart(Client player)
//TODO Ausführen bei Tastendruck wenn in Fahrzeug.
[Command("buyv")]
public void BuyShopVehicle(Client player)
{
if (ClientExtension.IsLoggedIn(player) == false)
{
ChatService.PlayerNotLoggedIn(player);
return;
}
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
var users = NAPI.Pools.GetAllPlayers();
foreach(Client user in users)
if (player.IsInVehicle)
{
user.SendChatMessage("~r~Server startet neu.~s~ Bitte verbinde dich über ~y~F1~s~ neu.");
user.Kick();
if (player.Vehicle.HasData("shopVehicleId"))
{
int shopVehicleId = player.Vehicle.GetData("shopVehicleId");
using (var getShopVehicle = new DatabaseContext())
{
ShopVehicle sVehicle = getShopVehicle.ShopVehicles.FirstOrDefault(u => u.Id == shopVehicleId);
Entities.Faction receiverUser = getShopVehicle.Factions.FirstOrDefault(u => u.Name == "LSPD");
BankManager.TransferUserMoneyToFaction(player.GetUser(), receiverUser, sVehicle.Price, "Fahrzeug gekauft: " + sVehicle.ModelName);
//TODO Anpassen
Vehicle boughtVehicle = NAPI.Vehicle.CreateVehicle(sVehicle.Model, new Vector3(sVehicle.PositionX, sVehicle.PositionY + 10, sVehicle.PositionZ + 0.5), sVehicle.Heading,
sVehicle.PrimaryColor, sVehicle.SecondaryColor, "LoG", sVehicle.Alpha, false, true, 0);
player.SetIntoVehicle(boughtVehicle, 0);
//TODO fügt das Fahrzeug als Userfahrzeug hinzu
CmdAdminOwn(player);
}
}
}
}
[Command("saveall")]
public void SaveAll(Client player)
{
SaveManager.SaveAllOnSave();
}
NAPI.Resource.StopResource("reallife-gamemode");
}*/
}
/*
[Command("restart")]
public void CmdAdminRestart(Client player)
{
if (ClientExtension.IsLoggedIn(player) == false)
{
ChatService.PlayerNotLoggedIn(player);
return;
}
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
var users = NAPI.Pools.GetAllPlayers();
foreach(Client user in users)
{
user.SendChatMessage("~r~Server startet neu.~s~ Bitte verbinde dich über ~y~F1~s~ neu.");
user.Kick();
}
NAPI.Resource.StopResource("reallife-gamemode");
}*/
}
}