diff --git a/Main.cs b/Main.cs index 8d56a939..fb113113 100644 --- a/Main.cs +++ b/Main.cs @@ -8,6 +8,7 @@ namespace reallife_gamemode [ServerEvent(Event.ResourceStart)] public void OnResourceStart() { + NAPI.Server.SetCommandErrorMessage("~r~[FEHLER]~s~ Dieser Command existiert nicht."); NAPI.Util.ConsoleOutput("reallife-gamemode resource loaded!"); } } diff --git a/Server/Commands/Admin.cs b/Server/Commands/Admin.cs index b0af4954..733d24b9 100644 --- a/Server/Commands/Admin.cs +++ b/Server/Commands/Admin.cs @@ -2,15 +2,105 @@ using System.Collections.Generic; using System.Text; using GTANetworkAPI; +using reallife_gamemode.Server.Services; -namespace reallife_gamemode.Server.Command +namespace reallife_gamemode.Server.Commands { public class Admin : Script { - [Command("o")] - public void sendOChat(Client player, string message) + /** + * @overview Life of German Reallife - Admin.cs + * @author VegaZ, hydrant + * @copyright (c) 2008 - 2018 Life of German + */ + + [Command("o", "~m~Benutzung: ~s~/o [Nachricht]", GreedyArg = true)] + public void CmdAdminOChat(Client player, string message) { - NAPI.Chat.SendChatMessageToAll("~r~" + player.Name + " sagt:~w~ " + message); + /* + * Alternative: + * Account playerAccount = AccountManager.GetAccount(player); + * if(!playerAccount.IsAdmin(adminLevel)) + * { + * ChatService.NotAuthorized(player); + * return; + * } + */ + int playerAdminLevel = 1; + if(playerAdminLevel < /* Benötigtes Level */ 1) + { + ChatService.NotAuthorized(player); + return; + } + + string publicMessage = "~b~(( " + player.Name + ": " + message + " ))"; + NAPI.Chat.SendChatMessageToAll(publicMessage); + } + + [Command("veh", "~m~Benutzung:~s~ /veh [Fahrzeug] (Farbe 1) (Farbe 2)")] + public void CmdAdminVeh(Client player, VehicleHash hash, int color1 = 111, int color2 = 111) + { + // Alternative: siehe O Chat + int playerAdminLevel = 1; + if (playerAdminLevel < /* Benötigtes Level */ 1) + { + ChatService.NotAuthorized(player); + return; + } + + if(player.IsInVehicle) // Man darf keine Autos erstellen, wenn man selbst in einem sitzt (verhindert Bugs) + { + player.SendChatMessage("~r~[FEHLER]~s~ Du sitzt momentan schon in einem Fahrzeug."); + return; + } + + Vehicle v = NAPI.Vehicle.CreateVehicle(hash, player.Position, player.Rotation.Z, color1, color2); + + player.SetIntoVehicle(v.Handle, -1); + } + + [Command("fixveh")] + public void CmdAdminFixveh(Client player) + { + // Alternative: siehe O Chat + int playerAdminLevel = 1; + if (playerAdminLevel < /* Benötigtes Level */ 1) + { + ChatService.NotAuthorized(player); + return; + } + + if (!player.IsInVehicle) // Man darf keine Autos erstellen, wenn man selbst in einem sitzt (verhindert Bugs) + { + player.SendChatMessage("~r~[FEHLER]~s~ Du sitzt momentan nicht in einem Fahrzeug."); + return; + } + + player.Vehicle.Repair(); + } + + [Command("delveh")] + public void CmdAdminDelveh(Client player) + { + int playerAdminLevel = 1; + if (playerAdminLevel < /* Benötigtes Level */ 1) + { + ChatService.NotAuthorized(player); + return; + } + + if (!player.IsInVehicle) // Man darf keine Autos erstellen, wenn man selbst in einem sitzt (verhindert Bugs) + { + player.SendChatMessage("~r~[FEHLER]~s~ Du sitzt momentan nicht in einem Fahrzeug."); + 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 + */ + + player.Vehicle.Delete(); } } }