Merge branch 'develop' into feature/inventory-system
This commit is contained in:
@@ -17,6 +17,7 @@ using reallife_gamemode.Server.Managers;
|
||||
using reallife_gamemode.Server.Inventory.Items;
|
||||
using reallife_gamemode.Server.Inventory.Interfaces;
|
||||
using reallife_gamemode.Server.Saves;
|
||||
using reallife_gamemode.Server.Business;
|
||||
|
||||
/**
|
||||
* @overview Life of German Reallife - Admin Commands (Admin.cs)
|
||||
@@ -216,11 +217,12 @@ namespace reallife_gamemode.Server.Commands
|
||||
return;
|
||||
}
|
||||
|
||||
/* if (target == player) //TODO: wieder reintun, musste testen
|
||||
if (target == player)
|
||||
{
|
||||
ChatService.ErrorMsg(player);
|
||||
return;
|
||||
}*/
|
||||
}
|
||||
|
||||
player.SendChatMessage("~y~PM an " + target.Name + ": " + msg + " ");
|
||||
string Message = "~y~PM von " + player.GetUser().AdminLevel.GetName() + " " + player.Name + ": " + msg + "";
|
||||
NAPI.Chat.SendChatMessageToPlayer(target, Message);
|
||||
@@ -244,6 +246,22 @@ namespace reallife_gamemode.Server.Commands
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Command("businesslist", "~m~Benutzung: ~s~/businesslist")]
|
||||
public void CmdAdminBusinessList(Client player)
|
||||
{
|
||||
if (!player.GetUser()?.IsAdmin(AdminLevel.SUPPORTER) ?? true)
|
||||
{
|
||||
ChatService.NotAuthorized(player);
|
||||
return;
|
||||
}
|
||||
|
||||
player.SendChatMessage("~m~__________ ~s~Businesses ~m~__________");
|
||||
foreach (Business.BusinessBase b in BusinessManager.Businesses)
|
||||
{
|
||||
player.SendChatMessage(b.Id.ToString().PadRight(3) + " | " + b.Name);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -309,11 +327,14 @@ namespace reallife_gamemode.Server.Commands
|
||||
return;
|
||||
}
|
||||
var gotoString = "";
|
||||
foreach (GotoPoint point in LoadManager.GotoPointList)
|
||||
using(var dbContext = new DatabaseContext())
|
||||
{
|
||||
if (point.Active)
|
||||
foreach (GotoPoint point in dbContext.GotoPoints)
|
||||
{
|
||||
gotoString += point.Description + ", ";
|
||||
if (point.Active)
|
||||
{
|
||||
gotoString += point.Description + ", ";
|
||||
}
|
||||
}
|
||||
}
|
||||
player.SendChatMessage(gotoString);
|
||||
@@ -594,7 +615,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
|
||||
if (ban.Applied == ban.UntilDateTime)
|
||||
{
|
||||
user.UnbanPlayer(admin);
|
||||
user.UnbanPlayer();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -605,7 +626,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
return;
|
||||
}
|
||||
}
|
||||
user.UnbanPlayer(admin);
|
||||
user.UnbanPlayer();
|
||||
}
|
||||
|
||||
string message = "~b~[ADMIN] ~s~Der Spieler ~y~" + user.Name + " ~s~wurde von ~y~" + admin.Name + " ~s~entbannt.";
|
||||
@@ -841,7 +862,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
}
|
||||
|
||||
[Command("vdestroy")]
|
||||
public void CmdAdminDelveh(Client player)
|
||||
public void CmdAdminVdestroy(Client player)
|
||||
{
|
||||
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN3) ?? true)
|
||||
{
|
||||
@@ -855,10 +876,16 @@ namespace reallife_gamemode.Server.Commands
|
||||
return;
|
||||
}
|
||||
|
||||
/* TODO: Checken, ob das Fahrzeug in einem System genutzt wird (Fraktions-Autos / Spieler-Auto)
|
||||
* Wenn Ja: Abbrechen und mitteilen, dass man den System-spezifischen Befehl zu nutzen hat */
|
||||
Vehicle playerVeh = player.Vehicle;
|
||||
|
||||
player.Vehicle.Delete();
|
||||
ServerVehicle veh = VehicleManager.GetServerVehicleFromVehicle(playerVeh);
|
||||
if(veh != null)
|
||||
{
|
||||
player.SendChatMessage("~r~[FEHLER]~s~ Dieses Fahrzeug wird von einem Server-System benutzt: ~m~" + veh.GetType().Name);
|
||||
return;
|
||||
}
|
||||
|
||||
VehicleManager.DeleteVehicle(playerVeh);
|
||||
}
|
||||
|
||||
[Command("vcolor", "~m~Benutzung: ~s~/vcolor [Farb-ID1] [Farb-ID2]")]
|
||||
@@ -1345,17 +1372,18 @@ namespace reallife_gamemode.Server.Commands
|
||||
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));
|
||||
int playerSeat = player.VehicleSeat;
|
||||
vehicle = SaveManager.SaveVehicleData(vehicle, (VehicleHash)vehicle.Model, vehicle.Position, vehicle.Heading, vehicle.NumberPlate,
|
||||
Convert.ToByte(vehicle.PrimaryColor), Convert.ToByte(vehicle.SecondaryColor), vehicle.Locked);
|
||||
player.SendNotification("Fahrzeug ~g~" + vehicle.DisplayName + "~s~ gespeichert.", true);
|
||||
|
||||
player.SetIntoVehicle(vehicle, playerSeat);
|
||||
}
|
||||
else player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
|
||||
break;
|
||||
case "FVehicle":
|
||||
if (player.IsInVehicle)
|
||||
{
|
||||
if (player.GetUser().FactionId == null)
|
||||
if (player.GetUser().GetFaction() == null)
|
||||
{
|
||||
player.SendChatMessage("~m~Du bist in keiner Fraktion! Invite dich erst mit ~y~/ainvite");
|
||||
return;
|
||||
@@ -1363,11 +1391,12 @@ namespace reallife_gamemode.Server.Commands
|
||||
else
|
||||
{
|
||||
Vehicle vehicle = player.Vehicle;
|
||||
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);
|
||||
player.SendChatMessage("second color: " + vehicle.SecondaryColor);
|
||||
int playerSeat = player.VehicleSeat;
|
||||
vehicle = SaveManager.SaveFactionVehicleData(vehicle, (VehicleHash)vehicle.Model, vehicle.Position, vehicle.Heading, vehicle.NumberPlate,
|
||||
vehicle.PrimaryColor, vehicle.SecondaryColor, vehicle.Locked, vehicle.EngineStatus, player.GetUser().FactionId);
|
||||
player.SendNotification("Fraktionsfahrzeug ~g~" + vehicle.DisplayName + "~s~ gespeichert.", true);
|
||||
player.SetIntoVehicle(vehicle, playerSeat);
|
||||
}
|
||||
}
|
||||
else player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
|
||||
@@ -1376,10 +1405,11 @@ namespace reallife_gamemode.Server.Commands
|
||||
if (player.IsInVehicle)
|
||||
{
|
||||
Vehicle vehicle = player.Vehicle;
|
||||
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);
|
||||
int playerSeat = player.VehicleSeat;
|
||||
vehicle = SaveManager.SaveShopVehicleData(vehicle, (VehicleHash)vehicle.Model, vehicle.DisplayName, vehicle.Position, vehicle.Heading, vehicle.NumberPlate,
|
||||
Convert.ToByte(vehicle.PrimaryColor), Convert.ToByte(vehicle.SecondaryColor));
|
||||
player.SendNotification("Shopfahrzeug ~g~" + vehicle.DisplayName + "~s~ gespeichert.", true);
|
||||
player.SetIntoVehicle(vehicle, playerSeat);
|
||||
}
|
||||
else player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
|
||||
break;
|
||||
@@ -1694,6 +1724,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
NAPI.Chat.SendChatMessageToPlayer(player, "~w~Das Wetter konnte nicht geändert werden");
|
||||
}
|
||||
}
|
||||
|
||||
[Command("aspeed", "~m~Benutzung: ~s~/aspeed [Modifier]")] //TODO: Überarbeiten ?? SetPlayerVelocity ??
|
||||
public void CmdAdminAspeed(Client player, float modifier)
|
||||
{
|
||||
@@ -1711,7 +1742,8 @@ namespace reallife_gamemode.Server.Commands
|
||||
|
||||
player.Vehicle.EnginePowerMultiplier = modifier;
|
||||
}
|
||||
[Command("setmoney")]
|
||||
|
||||
[Command("setmoney", "~m~Benutzung: ~s~/setmoney [Name] [Menge]")]
|
||||
public void SetPlayerMoney(Client player, string receiver, int amount)
|
||||
{
|
||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||
@@ -1735,7 +1767,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
target.SendChatMessage("~b~[ADMIN]~s~ Dein Geld wurde von Admin " + player.Name + " auf ~g~$" + amount + "~s~ gesetzt.");
|
||||
}
|
||||
|
||||
[Command("givemoney")]
|
||||
[Command("givemoney", "~m~Benutzung: ~s~/givemoney [Name] [Menge]")]
|
||||
public void GivePlayerMoney(Client player, string receiver, int amount)
|
||||
{
|
||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||
@@ -1743,6 +1775,7 @@ namespace reallife_gamemode.Server.Commands
|
||||
ChatService.NotAuthorized(player);
|
||||
return;
|
||||
}
|
||||
|
||||
Client target = ClientService.GetClientByNameOrId(receiver);
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
@@ -1758,6 +1791,106 @@ namespace reallife_gamemode.Server.Commands
|
||||
player.SendChatMessage("~b~[ADMIN]~s~ Du hast " + target.Name + " ~g~$" + amount + "~s~ gegeben.");
|
||||
target.SendChatMessage("~b~[ADMIN]~s~ Admin " + player.Name + " hat dir ~g~$" + amount + "~s~ gegeben.");
|
||||
}
|
||||
|
||||
[Command("setbusinessowner", "~m~Benutzung: ~s~/setbusinessowner [Name] [Business ID]")]
|
||||
public void CmdAdminSetbusinessowner(Client player, string name, int businessid)
|
||||
{
|
||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||
{
|
||||
ChatService.NotAuthorized(player);
|
||||
return;
|
||||
}
|
||||
|
||||
Client target = ClientService.GetClientByNameOrId(name);
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
}
|
||||
|
||||
if(target.GetUser().BusinessId != null)
|
||||
{
|
||||
player.SendChatMessage("~r~[FEHLER]~s~ Der Spieler besitzt momentan schon ein Business: ~o~" + BusinessManager.GetBusiness(target.GetUser().BusinessId).Name);
|
||||
return;
|
||||
}
|
||||
|
||||
BusinessBase business = BusinessManager.GetBusiness(businessid);
|
||||
if(business == null)
|
||||
{
|
||||
player.SendChatMessage("~r~[FEHLER]~s~ Dieses Business existiert nicht. ~m~/businesslist");
|
||||
return;
|
||||
}
|
||||
|
||||
if(business.GetOwner() != null)
|
||||
{
|
||||
player.SendChatMessage("~r~[FEHLER]~s~ Das Business hat momentan noch einen Besitzer: ~o~" + business.GetOwner().Name + "~s~. Entferne diesen Besitzer erst mit ~m~/clearbusiness");
|
||||
return;
|
||||
}
|
||||
|
||||
using(var dbContext = new DatabaseContext())
|
||||
{
|
||||
Entities.User targetUser = target.GetUser(dbContext);
|
||||
targetUser.BusinessId = businessid;
|
||||
|
||||
dbContext.SaveChanges();
|
||||
business.Update();
|
||||
}
|
||||
}
|
||||
|
||||
[Command("clearbusiness", "~m~Benutzung:~s~ /clearbusiness [Business ID]")]
|
||||
public void CmdAdminClearbusiness(Client player, int businessid)
|
||||
{
|
||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||
{
|
||||
ChatService.NotAuthorized(player);
|
||||
return;
|
||||
}
|
||||
|
||||
BusinessBase business = BusinessManager.GetBusiness(businessid);
|
||||
if (business == null)
|
||||
{
|
||||
player.SendChatMessage("~r~[FEHLER]~s~ Dieses Business existiert nicht. ~m~/businesslist");
|
||||
return;
|
||||
}
|
||||
|
||||
using(var dbContext = new DatabaseContext())
|
||||
{
|
||||
Entities.User owner = business.GetOwner(dbContext);
|
||||
if(owner == null)
|
||||
{
|
||||
player.SendChatMessage("~r~[FEHLER]~s~ Dieses Business hat momentan keinen Besitzer.");
|
||||
return;
|
||||
}
|
||||
|
||||
owner.BusinessId = null;
|
||||
business.GetBankAccount(dbContext).Balance = 0;
|
||||
|
||||
owner.GetClient()?.SendChatMessage("~b~[ADMIN]~s~ Dir wurde von ~y~" + player.Name + "~s~ dein Business entzogen.");
|
||||
player.SendChatMessage("~b~[ADMIN]~s~ Du hast ~y~" + owner.Name + "~s~ sein Business ~o~" + business.Name + "~s~ entzogen.");
|
||||
|
||||
dbContext.SaveChanges();
|
||||
business.Update();
|
||||
}
|
||||
}
|
||||
|
||||
[Command("setbusinessbankbalance", "~m~Benutzung: ~s~/setbusinessbankbalance [Business ID] [Menge]")]
|
||||
public void CmdAdminGivebusinessbankbalance(Client player, int businessid, int amount)
|
||||
{
|
||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||
{
|
||||
ChatService.NotAuthorized(player);
|
||||
return;
|
||||
}
|
||||
|
||||
BusinessBase business = BusinessManager.GetBusiness(businessid);
|
||||
if (business == null)
|
||||
{
|
||||
player.SendChatMessage("~r~[FEHLER]~s~ Dieses Business existiert nicht. ~m~/businesslist");
|
||||
return;
|
||||
}
|
||||
|
||||
BankManager.SetMoney(player, business, amount, "Admin");
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region ALevel1338
|
||||
@@ -1779,25 +1912,22 @@ 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
|
||||
{
|
||||
UserId = player.GetUser().Id,
|
||||
Model = (VehicleHash) playerVehicle.Model,
|
||||
Model = (VehicleHash)playerVehicle.Model,
|
||||
PositionX = playerVehicle.Position.X,
|
||||
PositionY = playerVehicle.Position.Y,
|
||||
PositionZ = playerVehicle.Position.Z,
|
||||
Heading = playerVehicle.Heading,
|
||||
NumberPlate = playerVehicle.NumberPlate,
|
||||
PrimaryColor = Convert.ToByte(playerVehicle.PrimaryColor),
|
||||
SecondaryColor = Convert.ToByte(playerVehicle.SecondaryColor),
|
||||
PrimaryColor = playerVehicle.PrimaryColor,
|
||||
SecondaryColor = playerVehicle.SecondaryColor,
|
||||
Locked = playerVehicle.Locked,
|
||||
Engine = playerVehicle.EngineStatus,
|
||||
Dimension = Convert.ToByte(playerVehicle.Dimension),
|
||||
Active = true
|
||||
};
|
||||
playerVehicle.SetData("ownerId",player.GetUser().Id);
|
||||
saveVehicle.UserVehicles.Add(dataSet);
|
||||
saveVehicle.SaveChanges();
|
||||
}
|
||||
@@ -1805,13 +1935,6 @@ namespace reallife_gamemode.Server.Commands
|
||||
else player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//TODO TEST COMMAND
|
||||
|
||||
//TEST COMMAND
|
||||
[Command("myvehicles")]
|
||||
public void CmdAdminMyVehicles(Client player)
|
||||
@@ -1878,10 +2001,10 @@ namespace reallife_gamemode.Server.Commands
|
||||
{
|
||||
ShopVehicle sVehicle = getShopVehicle.ShopVehicles.FirstOrDefault(u => u.Id == shopVehicleId);
|
||||
Entities.Faction receiverUser = getShopVehicle.Factions.FirstOrDefault(u => u.Name == "LSPD");
|
||||
BankManager.TransferMoney(player.GetUser(), receiverUser, sVehicle.Price, "Fahrzeug gekauft: " + sVehicle.ModelName);
|
||||
BankManager.TransferMoney(player.GetUser(), receiverUser, sVehicle.Price, "Fahrzeug gekauft: " + NAPI.Vehicle.GetVehicleDisplayName(sVehicle.Model));
|
||||
//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);
|
||||
sVehicle.PrimaryColor, sVehicle.SecondaryColor, "LoG", 255, false, true, 0);
|
||||
player.SetIntoVehicle(boughtVehicle, 0);
|
||||
//TODO fügt das Fahrzeug als Userfahrzeug hinzu
|
||||
CmdAdminOwn(player);
|
||||
|
||||
Reference in New Issue
Block a user