Merged group system into develop

This commit is contained in:
hydrant
2019-05-09 15:23:36 +02:00
68 changed files with 2447 additions and 565 deletions

View File

@@ -37,7 +37,7 @@ namespace ReallifeGamemode.Server.Commands
IItem iItem = InventoryManager.GetItemByName(item);
if(iItem == null)
if (iItem == null)
{
player.SendChatMessage("Dieses Essen existiert nicht.");
return;
@@ -46,15 +46,15 @@ namespace ReallifeGamemode.Server.Commands
List<UserItem> itemList = player.GetUser().GetItems();
UserItem eatItem = itemList.FirstOrDefault(i => i.ItemId == iItem.Id);
if(eatItem == null)
if (eatItem == null)
{
player.SendChatMessage("Du hast dieses Item nicht");
return;
}
if(iItem is IUsableItem usableItemObj)
if (iItem is IUsableItem usableItemObj)
{
usableItemObj.Use(eatItem);
usableItemObj.Use(eatItem);
}
}
@@ -96,7 +96,7 @@ namespace ReallifeGamemode.Server.Commands
if (receiverUser == null)
{
ChatService.Error(player, "Diese Fraktion existiert nicht.");
ChatService.Error(player, "Diese Fraktion existiert nicht");
return;
}
@@ -227,9 +227,9 @@ namespace ReallifeGamemode.Server.Commands
return;
}
if (target == player)
if (target == player)
{
ChatService.Error(player, "Du kannst dir nicht selber zuflüstern.");
ChatService.Error(player, "Du kannst dir nicht selber zuflüstern");
return;
}
@@ -339,7 +339,7 @@ namespace ReallifeGamemode.Server.Commands
return;
}
var gotoString = "";
using(var dbContext = new DatabaseContext())
using (var dbContext = new DatabaseContext())
{
foreach (GotoPoint point in dbContext.GotoPoints)
{
@@ -610,20 +610,20 @@ namespace ReallifeGamemode.Server.Commands
user = dbContext.Users.FirstOrDefault(u => u.Name == userName);
if (user == null)
{
ChatService.Error(admin, "Dieser Spieler existiert nicht.");
ChatService.Error(admin, "Dieser Spieler existiert nicht");
return;
}
if (user.BanId == null)
{
ChatService.Error(admin, "Dieser Spieler ist nicht gebannt.");
ChatService.Error(admin, "Dieser Spieler ist nicht gebannt");
return;
}
Ban ban = dbContext.Bans.FirstOrDefault(b => b.Id == user.BanId);
if (ban == null)
{
ChatService.Error(admin, "Dieser Spieler ist nicht gebannt.");
ChatService.Error(admin, "Dieser Spieler ist nicht gebannt");
return;
}
@@ -636,7 +636,7 @@ namespace ReallifeGamemode.Server.Commands
int currentTimestamp = (int)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
if (ban.UntilDateTime < currentTimestamp)
{
ChatService.Error(admin, "Dieser Spieler ist nicht gebannt.");
ChatService.Error(admin, "Dieser Spieler ist nicht gebannt");
return;
}
}
@@ -659,9 +659,9 @@ namespace ReallifeGamemode.Server.Commands
{
GotoPoint p = dbContext.GotoPoints.FirstOrDefault(x => x.Description == location);
if(p == null)
if (p == null)
{
ChatService.Error(player, "Dieser Goto-Punkt existiert nicht.");
ChatService.Error(player, "Dieser Goto-Punkt existiert nicht");
return;
}
@@ -687,7 +687,7 @@ namespace ReallifeGamemode.Server.Commands
}
if (target == player)
{
ChatService.Error(player, "Du kannst dich nicht selber spectaten.");
ChatService.Error(player, "Du kannst dich nicht selber spectaten");
return;
}
@@ -757,9 +757,9 @@ namespace ReallifeGamemode.Server.Commands
}
Vehicle v = VehicleManager.GetVehicleFromId(vehid);
if(v == null)
if (v == null)
{
ChatService.Error(player, "Dieses Fahrzeug existiert nicht.");
ChatService.Error(player, "Dieses Fahrzeug existiert nicht");
return;
}
@@ -778,7 +778,7 @@ namespace ReallifeGamemode.Server.Commands
Vehicle v = VehicleManager.GetVehicleFromId(vehid);
if (v == null)
{
ChatService.Error(player, "Dieses Fahrzeug existiert nicht.");
ChatService.Error(player, "Dieses Fahrzeug existiert nicht");
return;
}
@@ -864,7 +864,7 @@ namespace ReallifeGamemode.Server.Commands
public void CmdAdminVeh(Client player, string hash, int color1 = 111, int color2 = 111)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN3) ?? true)
//TODO: Bestimmte Autos nur ab Adminlevel 1337, "normale Fahrzeuge" schon ab Adminlevel 3.
//TODO: Bestimmte Autos nur ab Adminlevel 1337, "normale Fahrzeuge" schon ab Adminlevel 3.
{
ChatService.NotAuthorized(player);
return;
@@ -872,16 +872,16 @@ namespace ReallifeGamemode.Server.Commands
if (player.IsInVehicle) // Man darf keine Autos erstellen, wenn man selbst in einem sitzt (verhindert Bugs)
{
ChatService.Error(player, "Du sitzt momentan schon in einem Fahrzeug.");
ChatService.Error(player, "Du sitzt momentan schon in einem Fahrzeug");
return;
}
if(!uint.TryParse(hash, out uint uHash))
if (!uint.TryParse(hash, out uint uHash))
uHash = NAPI.Util.GetHashKey(hash);
if(!VehicleManager.IsValidHash(uHash))
if (!VehicleManager.IsValidHash(uHash))
{
ChatService.Error(player, "Dieses Fahrzeug existiert nicht.");
ChatService.Error(player, "Dieses Fahrzeug existiert nicht");
return;
}
@@ -902,7 +902,7 @@ namespace ReallifeGamemode.Server.Commands
if (!player.IsInVehicle)
{
ChatService.Error(player, "Du sitzt momentan nicht in einem Fahrzeug.");
ChatService.Error(player, "Du sitzt momentan nicht in einem Fahrzeug");
return;
}
player.Vehicle.Repair();
@@ -931,15 +931,15 @@ namespace ReallifeGamemode.Server.Commands
else
{
targetVeh = VehicleManager.GetVehicleFromId(vid);
if(targetVeh == null)
if (targetVeh == null)
{
ChatService.Error(player, "Dieses Fahrzeug existiert nicht.");
ChatService.Error(player, "Dieses Fahrzeug existiert nicht");
return;
}
}
ServerVehicle veh = VehicleManager.GetServerVehicleFromVehicle(targetVeh);
if(veh != null)
if (veh != null)
{
ChatService.Error(player, "Dieses Fahrzeug wird von einem Server-System benutzt: ~m~" + veh.GetType().Name);
return;
@@ -959,7 +959,7 @@ namespace ReallifeGamemode.Server.Commands
if (!player.IsInVehicle)
{
ChatService.Error(player, "Du sitzt momentan nicht in einem Fahrzeug.");
ChatService.Error(player, "Du sitzt momentan nicht in einem Fahrzeug");
return;
}
@@ -979,7 +979,7 @@ namespace ReallifeGamemode.Server.Commands
if (!player.IsInVehicle)
{
ChatService.Error(player, "Du sitzt momentan in keinem Fahrzeug!");
ChatService.Error(player, "Du sitzt momentan in keinem Fahrzeug");
return;
}
@@ -999,7 +999,7 @@ namespace ReallifeGamemode.Server.Commands
if (ammo <= 0)
{
ChatService.Error(player, "Es muss mindestens 1 Munition vergeben werden.");
ChatService.Error(player, "Es muss mindestens 1 Munition vergeben werden");
return;
}
@@ -1014,7 +1014,7 @@ namespace ReallifeGamemode.Server.Commands
if (wHash == default)
{
ChatService.Error(player, "Diese Waffe existiert nicht.");
ChatService.Error(player, "Diese Waffe existiert nicht");
return;
}
@@ -1040,7 +1040,7 @@ namespace ReallifeGamemode.Server.Commands
}
if (target.Health != 0)
{
ChatService.Error(player, "Der Spieler ist nicht tot.");
ChatService.Error(player, "Der Spieler ist nicht tot");
return;
}
target.TriggerEvent("onPlayerRevived");
@@ -1120,7 +1120,7 @@ namespace ReallifeGamemode.Server.Commands
user.Handmoney += amount;
context.SaveChanges();
target.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney);
}
}
}
[Command("quicksavemode", "~m~Benutzung: ~s~/quicksavemode [Modus]: ~g~blip, ~g~atm")]
@@ -1155,7 +1155,7 @@ namespace ReallifeGamemode.Server.Commands
using (var context = new DatabaseContext())
{
List<UserItem> userItems = context.UserItems.ToList().FindAll(i => i.UserId == target.GetUser().Id);
foreach(var uItem in userItems)
foreach (var uItem in userItems)
{
invWeight += uItem.Amount * InventoryManager.GetItemById(uItem.ItemId).Gewicht;
}
@@ -1169,7 +1169,7 @@ namespace ReallifeGamemode.Server.Commands
{
UserItem item = new UserItem() { ItemId = itemId, UserId = target.GetUser().Id, Amount = amount };
InventoryManager.AddItemToInventory(target, item);
}
}
}
[Command("inventory", "~m~Benutzung: ~s~/inventory [Spieler]")]
@@ -1192,7 +1192,7 @@ namespace ReallifeGamemode.Server.Commands
InventoryManager.GetUserItemsAsAdmin(player, user);
}
[Command("editmode", "~m~Benutzung: ~s~/editmode")]
public void CmdAdminToggleEditMode(Client player)
{
@@ -1201,8 +1201,8 @@ namespace ReallifeGamemode.Server.Commands
ChatService.NotAuthorized(player);
return;
}
if(player.GetData("editmode") == false)
if (player.GetData("editmode") == false)
{
player.SetData("editmode", true);
player.SendNotification("Edit-Mode ~g~aktiviert");
@@ -1250,7 +1250,7 @@ namespace ReallifeGamemode.Server.Commands
if (!player.IsInVehicle)
{
ChatService.Error(player, "Du sitzt momentan nicht in einem Fahrzeug.");
ChatService.Error(player, "Du sitzt momentan nicht in einem Fahrzeug");
return;
}
@@ -1268,7 +1268,7 @@ namespace ReallifeGamemode.Server.Commands
if (!player.IsInVehicle)
{
ChatService.Error(player, "Du sitzt momentan nicht in einem Fahrzeug.");
ChatService.Error(player, "Du sitzt momentan nicht in einem Fahrzeug");
return;
}
@@ -1288,7 +1288,7 @@ namespace ReallifeGamemode.Server.Commands
if (!player.IsInVehicle)
{
ChatService.Error(player, "Du sitzt momentan nicht in einem Fahrzeug.");
ChatService.Error(player, "Du sitzt momentan nicht in einem Fahrzeug");
return;
}
@@ -1409,7 +1409,7 @@ namespace ReallifeGamemode.Server.Commands
if (wHash == default)
{
ChatService.Error(player, "Diese Waffe existiert nicht.");
ChatService.Error(player, "Diese Waffe existiert nicht");
return;
}
@@ -1433,13 +1433,13 @@ namespace ReallifeGamemode.Server.Commands
return;
}
if(hour > 23 || min > 59 || sec > 59)
if (hour > 23 || min > 59 || sec > 59)
{
ChatService.Error(player, "Es wurde eine ungültige Zeit eingegeben.");
ChatService.Error(player, "Es wurde eine ungültige Zeit eingegeben");
return;
}
if(hour == -1)
if (hour == -1)
{
player.SendChatMessage("Es wird nun wieder die Echtzeit genutzt.");
TimeManager.StartTimeManager();
@@ -1475,7 +1475,7 @@ namespace ReallifeGamemode.Server.Commands
Entities.Faction f = dbContext.Factions.FirstOrDefault(x => x.Id == faction);
if (f == null && faction != 0)
{
ChatService.Error(player, "Diese Fraktion existiert nicht (Liste: ~m~/factionlist).");
ChatService.Error(player, "Diese Fraktion existiert nicht (Liste: ~m~/factionlist~s~)");
return;
}
@@ -1526,7 +1526,7 @@ namespace ReallifeGamemode.Server.Commands
Entities.Faction f = dbContext.Factions.FirstOrDefault(x => x.Id == faction);
if (f == null)
{
ChatService.Error(player, "Diese Fraktion existiert nicht (Liste: ~m~/factionlist).");
ChatService.Error(player, "Diese Fraktion existiert nicht (Liste: ~m~/factionlist~s~)");
return;
}
@@ -1618,28 +1618,28 @@ namespace ReallifeGamemode.Server.Commands
case "svehicle":
if (player.IsInVehicle)
{
if(option1 == null || option2 == null)
if (option1 == null || option2 == null)
{
player.SendChatMessage("~m~Benutzung: ~s~/save SVehicle [Carshop Business ID] [Preis]");
return;
}
if(!int.TryParse(option1, out int businessId) || !int.TryParse(option2, out int price))
if (!int.TryParse(option1, out int businessId) || !int.TryParse(option2, out int price))
{
player.SendChatMessage("~m~Benutzung: ~s~/save SVehicle [Carshop Business ID] [Preis]");
return;
}
BusinessBase business = BusinessManager.GetBusiness(businessId);
if(business == null)
if (business == null)
{
ChatService.Error(player, "Dieses Business existiert nicht.");
ChatService.Error(player, "Dieses Business existiert nicht");
return;
}
if(!(business is CarDealerBusinessBase))
if (!(business is CarDealerBusinessBase))
{
ChatService.Error(player, "Dieses Business ist kein Fahrzeug-Business.");
ChatService.Error(player, "Dieses Business ist kein Fahrzeug-Business");
return;
}
@@ -1666,23 +1666,23 @@ namespace ReallifeGamemode.Server.Commands
return;
}
switch(type.ToLower())
switch (type.ToLower())
{
case "vehicle":
if(!player.IsInVehicle)
if (!player.IsInVehicle)
{
player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
return;
}
ServerVehicle veh = player.Vehicle.GetServerVehicle();
if(veh == null)
if (veh == null)
{
ChatService.Error(player, "Dieses Fahrzeug wird nicht von einem Server-System genutzt.");
ChatService.Error(player, "Dieses Fahrzeug wird nicht von einem Server-System genutzt");
return;
}
if(option.ToLower() != "yes")
if (option.ToLower() != "yes")
{
player.SendChatMessage("Bist du sicher, dass du folgendes Fahrzeug löschen willst: ~m~" + veh.ToString() + " ~s~?");
player.SendChatMessage("Falls ~g~Ja~s~, nutze ~y~/remove vehicle yes");
@@ -1699,7 +1699,7 @@ namespace ReallifeGamemode.Server.Commands
break;
case "goto":
if(option == "")
if (option == "")
{
player.SendChatMessage("~m~Benutzung: ~s~/remove [Goto] [Punkt]");
return;
@@ -1712,9 +1712,9 @@ namespace ReallifeGamemode.Server.Commands
using (var dbContext = new DatabaseContext())
{
GotoPoint p = dbContext.GotoPoints.FirstOrDefault(x => x.Description == option);
if(p == null)
if (p == null)
{
ChatService.Error(player, "Dieser Goto-Punkt existiert nicht.");
ChatService.Error(player, "Dieser Goto-Punkt existiert nicht");
return;
}
@@ -1953,7 +1953,7 @@ namespace ReallifeGamemode.Server.Commands
}
#endregion
//
[Command("managefactionranks", "~m~Benutzung: ~s~/managefactionranks [Fraktions-ID]")]
public void CmdFactionManageFactionRanks(Client player, int factionID)
@@ -1969,7 +1969,7 @@ namespace ReallifeGamemode.Server.Commands
Entities.Faction f = context.Factions.FirstOrDefault(id => id.Id == factionID);
if (f == null)
{
ChatService.Error(player, "Diese Fraktion existiert nicht (Liste: ~m~/factionlist).");
ChatService.Error(player, "Diese Fraktion existiert nicht (Liste: ~m~/factionlist~s~)");
return;
}
@@ -2017,7 +2017,7 @@ namespace ReallifeGamemode.Server.Commands
if (!found)
{
ChatService.Error(player, "Dieses Wetter existiert nicht.");
ChatService.Error(player, "Dieses Wetter existiert nicht");
return;
}
@@ -2047,7 +2047,7 @@ namespace ReallifeGamemode.Server.Commands
if (!player.IsInVehicle)
{
ChatService.Error(player, "Du sitzt momentan nicht in einem Fahrzeug.");
ChatService.Error(player, "Du sitzt momentan nicht in einem Fahrzeug");
return;
}
@@ -2119,26 +2119,26 @@ namespace ReallifeGamemode.Server.Commands
return;
}
if(target.GetUser().BusinessId != null)
if (target.GetUser().BusinessId != null)
{
ChatService.Error(player, "Der Spieler besitzt momentan schon ein Business: ~o~" + BusinessManager.GetBusiness(target.GetUser().BusinessId).Name);
return;
}
BusinessBase business = BusinessManager.GetBusiness(businessid);
if(business == null)
if (business == null)
{
ChatService.Error(player, "Dieses Business existiert nicht. ~m~/businesslist");
return;
}
if(business.GetOwner() != null)
if (business.GetOwner() != null)
{
ChatService.Error(player, "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())
using (var dbContext = new DatabaseContext())
{
Entities.User targetUser = target.GetUser(dbContext);
targetUser.BusinessId = businessid;
@@ -2164,12 +2164,12 @@ namespace ReallifeGamemode.Server.Commands
return;
}
using(var dbContext = new DatabaseContext())
using (var dbContext = new DatabaseContext())
{
User owner = business.GetOwner(dbContext);
if(owner == null)
if (owner == null)
{
ChatService.Error(player, "Dieses Business hat momentan keinen Besitzer.");
ChatService.Error(player, "Dieses Business hat momentan keinen Besitzer");
return;
}
@@ -2226,16 +2226,16 @@ namespace ReallifeGamemode.Server.Commands
option1 = option1.ToString();
if(option1 != "add" && option1 != "remove" && option1 != "setenterposition" && option1 != "setexitposition")
if (option1 != "add" && option1 != "remove" && option1 != "setenterposition" && option1 != "setexitposition")
{
player.SendChatMessage("~m~Benutzung: ~s~/interior [Add / Remove / SetEnterPosition / SetExitPosition] [Name]");
return;
}
switch(option1)
switch (option1)
{
case "add":
using(var dbContext = new DatabaseContext())
using (var dbContext = new DatabaseContext())
{
Interior interiorAdd = new Interior
{
@@ -2249,15 +2249,15 @@ namespace ReallifeGamemode.Server.Commands
case "remove":
using (var dbContext = new DatabaseContext())
{
if(!int.TryParse(option2, out int intId))
if (!int.TryParse(option2, out int intId))
{
ChatService.Error(player, "Es muss eine Nummer angegeben werden.");
ChatService.Error(player, "Es muss eine Nummer angegeben werden");
return;
}
Interior interiorRemove = InteriorManager.GetInteriorById(intId, dbContext);
if(interiorRemove == null)
if (interiorRemove == null)
{
ChatService.Error(player, "Dieses Interior existiert nicht.");
ChatService.Error(player, "Dieses Interior existiert nicht");
return;
}
@@ -2273,13 +2273,13 @@ namespace ReallifeGamemode.Server.Commands
{
if (!int.TryParse(option2, out int intIdEnter))
{
ChatService.Error(player, "Es muss eine Nummer angegeben werden.");
ChatService.Error(player, "Es muss eine Nummer angegeben werden");
return;
}
Interior interior = InteriorManager.GetInteriorById(intIdEnter, dbContext);
if (interior == null)
{
ChatService.Error(player, "Dieses Interior existiert nicht.");
ChatService.Error(player, "Dieses Interior existiert nicht");
return;
}
interior.EnterPosition = player.Position;
@@ -2295,13 +2295,13 @@ namespace ReallifeGamemode.Server.Commands
{
if (!int.TryParse(option2, out int intIdExit))
{
ChatService.Error(player, "Es muss eine Nummer angegeben werden.");
ChatService.Error(player, "Es muss eine Nummer angegeben werden");
return;
}
Interior interior = InteriorManager.GetInteriorById(intIdExit, dbContext);
if (interior == null)
{
ChatService.Error(player, "Dieses Interior existiert nicht.");
ChatService.Error(player, "Dieses Interior existiert nicht");
return;
}
interior.ExitPosition = player.Position;
@@ -2354,7 +2354,7 @@ namespace ReallifeGamemode.Server.Commands
{
if (dbContext.WhitelistEntries.Any(w => w.SocialClubName.ToLower() == scName.ToLower()))
{
ChatService.Error(player, "Dieser Name ist schon auf der Whitelist.");
ChatService.Error(player, "Dieser Name ist schon auf der Whitelist");
return;
}
@@ -2367,7 +2367,7 @@ namespace ReallifeGamemode.Server.Commands
{
if (!dbContext.WhitelistEntries.Any(w => w.SocialClubName.ToLower() == scName.ToLower()))
{
ChatService.Error(player, "Dieser Name ist nicht auf der Whitelist.");
ChatService.Error(player, "Dieser Name ist nicht auf der Whitelist");
return;
}
@@ -2391,7 +2391,7 @@ namespace ReallifeGamemode.Server.Commands
if (!Enum.IsDefined(typeof(AdminLevel), rank))
{
ChatService.Error(player, "Dieser Adminrang ist nicht definiert.");
ChatService.Error(player, "Dieser Adminrang ist nicht definiert");
return;
}

View File

@@ -71,36 +71,10 @@ namespace ReallifeGamemode.Server.Commands
}
#endregion
#region Leader Commands
[Command("invite", "~m~Benutzung: ~s~/invite [Name]")]
public void CmdFactionInvite(Client player, string name)
{
if (player.GetUser()?.FactionId == null || player.GetUser().FactionLeader == false)
{
ChatService.NotAuthorized(player);
return;
}
Client target = ClientService.GetClientByNameOrId(name);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
return;
}
if (target.GetUser()?.FactionId != null)
{
ChatService.Error(player, "Dieser Spieler ist schon in einer Fraktion.");
return;
}
target.SetData("accept_invite", player.Handle);
player.SendChatMessage("!{02FCFF}Du hast dem Spieler " + target.Name + " eine Einladung in deine Fraktion gesendet.");
target.SendChatMessage("!{02FCFF}Du hast von " + player.Name + " eine Einladung in die Fraktion \"" + player.GetUser().Faction.Name + "\" erhalten.");
target.SendChatMessage("!{02FCFF}Benutze '/accept invite', um die Einladung anzunehmen");
return;
}
[Command("giverank", "~m~Benutzung: ~s~/giverank [Name] [Rang]", GreedyArg = true)]
@@ -121,7 +95,7 @@ namespace ReallifeGamemode.Server.Commands
if (target.GetUser()?.FactionId != player.GetUser()?.FactionId)
{
ChatService.Error(player, "Dieser Spieler ist nicht in deiner Fraktion.");
ChatService.Error(player, "Dieser Spieler ist nicht in deiner Fraktion");
return;
}
@@ -130,7 +104,7 @@ namespace ReallifeGamemode.Server.Commands
FactionRank fr = dbContext.FactionRanks.FirstOrDefault(r => r.RankName == rank && r.FactionId == player.GetUser(dbContext).FactionId);
if (fr == null)
{
ChatService.Error(player, "Dieser Rang existiert nicht.");
ChatService.Error(player, "Dieser Rang existiert nicht");
return;
}
@@ -161,19 +135,19 @@ namespace ReallifeGamemode.Server.Commands
if (target.GetUser()?.FactionId != player.GetUser()?.FactionId)
{
ChatService.Error(player, "Dieser Spieler ist nicht in deiner Fraktion.");
ChatService.Error(player, "Dieser Spieler ist nicht in deiner Fraktion");
return;
}
if (player.Handle == target.Handle)
{
ChatService.Error(player, "Du kannst dich nicht selber uninviten.");
ChatService.Error(player, "Du kannst dich nicht selber uninviten");
return;
}
if (target.GetUser()?.FactionLeader ?? false)
{
ChatService.Error(player, "Du kannst keinen Leader uninviten.");
ChatService.Error(player, "Du kannst keinen Leader uninviten");
return;
}
@@ -221,7 +195,7 @@ namespace ReallifeGamemode.Server.Commands
}
if (player.IsInVehicle)
{
ChatService.Error(player, "Du kannst in einem Auto nicht wiederbeleben!");
ChatService.Error(player, "Du kannst in einem Auto nicht wiederbeleben");
return;
}
@@ -229,10 +203,10 @@ namespace ReallifeGamemode.Server.Commands
var deadPlayer = nearPlayers.Where(i => i.GetData("isDead") == true).FirstOrDefault();
if (player == deadPlayer)
{
ChatService.Error(player, "Du kannst dich nicht selbst wiederbeleben!");
ChatService.Error(player, "Du kannst dich nicht selbst wiederbeleben");
return;
}
player.PlayAnimation("amb@medic@standing@kneel@enter", "enter", 0);
player.PlayAnimation("amb@medic@standing@kneel@enter", "enter", 0);
deadPlayer.TriggerEvent("onPlayerRevived");
deadPlayer.SendNotification("Du wurdest von ~r~" + player.Name + "~s~ wiederbelebt.");
@@ -254,7 +228,7 @@ namespace ReallifeGamemode.Server.Commands
}
if (player.IsInVehicle)
{
ChatService.Error(player, "Du kannst in einem Auto nicht heilen!");
ChatService.Error(player, "Du kannst in einem Auto nicht heilen");
return;
}
Client target = ClientService.GetClientByNameOrId(receiver);
@@ -267,7 +241,7 @@ namespace ReallifeGamemode.Server.Commands
[Command("duty", "~m~Benutzung: ~s~/duty")]
public void CmdFactionDuty(Client player)
{
if(player.GetData("duty") == false)
if (player.GetData("duty") == false)
{
player.SetData("duty", true);
player.SendNotification("~g~Du bist jetzt im Dienst!", false);

View File

@@ -0,0 +1,31 @@
using GTANetworkAPI;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Services;
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
namespace ReallifeGamemode.Server.Commands
{
class GroupCommands : Script
{
#region Chat Commands
[Command("g", "~m~Benutzung: ~s~/g [Nachricht]", GreedyArg = true)]
public void CmdGroupG(Client player, string message)
{
Entities.Group group = player.GetUser().Group;
if (group == null)
{
ChatService.NotAuthorized(player);
return;
}
message = Regex.Replace(message, "(~[a-zA-Z]~{1})|(!{(.*)})", "");
message = $"{player.Name}: {message}";
ChatService.BroadcastGroup(message, group);
}
#endregion
}
}

View File

@@ -17,44 +17,11 @@ namespace ReallifeGamemode.Server.Commands
option = option.ToLower();
switch(option)
switch (option)
{
case "invite":
{
if(!player.HasData("accept_invite"))
{
ChatService.Error(player, "Du hast keine Einladung in eine Fraktion erhalten.");
return;
}
player.ResetData("accept_data");
using(var dbContext = new DatabaseContext())
{
Client leader = NAPI.Player.GetPlayerFromHandle((NetHandle)player.GetData("accept_invite"));
if(leader == null)
{
ChatService.Error(player, "Die Einladung ist abgelaufen.");
return;
}
User u = leader.GetUser(dbContext);
User own = player.GetUser(dbContext);
own.FactionId = u.FactionId;
own.FactionLeader = false;
own.FactionRankId = dbContext
.FactionRanks
.OrderBy(x => x.Order)
.Where(r => r.FactionId == own.FactionId)
.FirstOrDefault()?.Id ?? null;
leader.SendChatMessage("!{02FCFF}" + player.Name + " hat die Einladung angenommen.");
player.SendChatMessage("!{02FCFF}Du hast die Einladung angenommen.");
dbContext.SaveChanges();
}
break;
}
}
@@ -68,21 +35,15 @@ namespace ReallifeGamemode.Server.Commands
Vehicle pVeh = player.Vehicle;
if(pVeh.GetServerVehicle() is ServerVehicle veh)
if (pVeh.GetServerVehicle() is ServerVehicle veh)
{
if(player.GetUser().IsAdmin(AdminLevel.SUPPORTER))
if (player.GetUser().IsAdmin(AdminLevel.SUPPORTER))
{
player.SendChatMessage("~m~" + ((VehicleHash)pVeh.Model) + " | " + veh.ToString() + " | Farbe 1: " + pVeh.PrimaryColor + " | Farbe 2: " + pVeh.SecondaryColor + " | ID: " + pVeh.Handle.Value);
}
else
{
player.SendChatMessage("~m~" + ((VehicleHash)pVeh.Model) + " | Farbe 1: " + pVeh.PrimaryColor + " | Farbe 2: " + pVeh.SecondaryColor + " | ID: " + pVeh.Handle.Value);
return;
}
}
else
{
player.SendChatMessage("~m~" + ((VehicleHash)pVeh.Model) + " | Farbe 1: " + pVeh.PrimaryColor + " | Farbe 2: " + pVeh.SecondaryColor + " | ID: " + pVeh.Handle.Value);
}
player.SendChatMessage("~m~" + ((VehicleHash)pVeh.Model) + " | Farbe 1: " + pVeh.PrimaryColor + " | Farbe 2: " + pVeh.SecondaryColor + " | ID: " + pVeh.Handle.Value);
}
}
}