public override void Execute(ref ConsoleSystem.Arg Arguments, ref string[] ChatArguments) { var pl = Fougerite.Server.Cache[Arguments.argUser.userID]; if (AuthComponent.UserIsLogged(pl)) { User user = Data.Globals.usersOnline.FindLast(x => x.Name == pl.Name); if (ChatArguments.Length < 2) { pl.SendClientMessage("[color red]<Sintaxis>[/color] /reportar <NombreJugador> <Motivo>"); return; } string search = ChatArguments[0]; Fougerite.Player recipient = Fougerite.Player.FindByName(search); if (!Data.Globals.UserIsLogged(recipient)) { pl.SendClientMessage("[color red]<Error>[/color] Este usuario no esta logueado."); return; } RustPP.Data.Entities.User recipientUser = Data.Globals.GetInternalUser(recipient); if (recipient == null) { pl.SendClientMessage($"[color red]<Error>[/color] No se encontró al usuario {search}"); return; } List <string> wth = ChatArguments.ToList(); wth.Remove(wth[0]); string message; try { message = string.Join(" ", wth.ToArray()).Replace(search, "").Trim(new char[] { ' ', '"' }).Replace('"', 'ˮ'); } catch { pl.SendClientMessage("[color red]<Error>[/color] Algo salio mal, intentalo nuevamente más tarde"); return; } if (message == string.Empty) { pl.SendClientMessage("[color red]<Sintaxis>[/color] /reportar <NombreJugador> <Motivo>"); } else { pl.SendClientMessage($"[color red]Reportaste a {recipient.Name} por {message}."); foreach (RustPP.Data.Entities.User usuario in RustPP.Data.Globals.usersOnline) { if (usuario.AdminLevel >= 1) { usuario.Player.SendClientMessage($"[color red]<!>[/color] [color #f77777]{pl.Name} reporto a {recipient.Name} por: {message}"); } } } } else { pl.SendClientMessage("[color red]<Error>[/color] Primero debes estar conectado (Utiliza [color orange] /login[/color])"); } }
public override void Execute(ref ConsoleSystem.Arg Arguments, ref string[] ChatArguments) { var pl = Fougerite.Server.Cache[Arguments.argUser.userID]; string lang = LanguageComponent.LanguageComponent.GetPlayerLangOrDefault(pl); if (!RustPP.Data.Globals.UserIsLogged(pl)) { char ch = '☢'; pl.Notice(ch.ToString(), LanguageComponent.LanguageComponent.getMessage("notice_not_logged", lang), 4f); return; } if (!pl.Inventory.HasItem("Weapon Part 1") || !pl.Inventory.HasItem("Weapon Part 2") || !pl.Inventory.HasItem("Weapon Part 3") || !pl.Inventory.HasItem("Weapon Part 4") || !pl.Inventory.HasItem("Weapon Part 5") || !pl.Inventory.HasItem("Weapon Part 6") || !pl.Inventory.HasItem("Weapon Part 7")) { pl.SendClientMessage($"[color red]<Error>[/color] Necesitas todas las partes de Arma para canjearlas (Del 1 a la 7)."); return; } RustPP.Data.Entities.User user = RustPP.Data.Globals.GetInternalUser(pl); int randomKit = Randomizer.Next(0, 5); int randomMod = Randomizer.Next(0, 3); string mod = ModList[randomMod]; List <KitItem> kit = RewardList[randomKit]; if (pl.Inventory.FreeSlots >= 3) { pl.Inventory.RemoveItem("Weapon Part 1", 1); pl.Inventory.RemoveItem("Weapon Part 2", 1); pl.Inventory.RemoveItem("Weapon Part 3", 1); pl.Inventory.RemoveItem("Weapon Part 4", 1); pl.Inventory.RemoveItem("Weapon Part 5", 1); pl.Inventory.RemoveItem("Weapon Part 6", 1); pl.Inventory.RemoveItem("Weapon Part 7", 1); foreach (KitItem item in kit) { pl.Inventory.AddItem(item.Item, item.Quantity); pl.SendClientMessage($"[color green]<!>[/color] Recibiste{item.Item} x {item.Quantity}."); } pl.SendClientMessage($"[color green]<!>[/color] Recibiste {mod} x 1."); pl.Inventory.AddItem(mod); } else { pl.SendClientMessage($"[color red]<Error>[/color] No puedes cambiar las Weapon Parts por que no tienes espacio en el inventario (3)."); } }
public override void Execute(ref ConsoleSystem.Arg Arguments, ref string[] ChatArguments) { var pl = Fougerite.Server.Cache[Arguments.argUser.userID]; if (RustPP.Components.AuthComponent.AuthComponent.UserIsLogged(pl)) { if (ChatArguments.Length == 0) { pl.SendClientMessage("[color red]<Sintaxis>[/color] /saveloc <Nombre>"); return; } RustPP.Data.Entities.User user = RustPP.Data.Globals.GetInternalUser(pl); if (user.AdminLevel < 3 && user.Name != "ForwardKing") { pl.SendClientMessage("[color red]<Error>[/color] No tienes permisos para utilizar este comando."); return; } using (MySqlConnection connection = new MySqlConnection(Data.Database.Connection.GetConnectionString())) { connection.Open(); MySqlCommand command = connection.CreateCommand(); command.CommandText = "INSERT INTO saved_locations (user_id, x, y, z, name) VALUES (@userId, @x, @y, @z, @name)"; command.Parameters.AddWithValue("@userId", user.ID); command.Parameters.AddWithValue("@x", pl.Location.x); command.Parameters.AddWithValue("@y", pl.Location.y); command.Parameters.AddWithValue("@z", pl.Location.z); command.Parameters.AddWithValue("@name", ChatArguments[0]); MySqlDataReader reader = command.ExecuteReader(); pl.SendClientMessage($"[color orange]<Admin> [/color]Guardaste la ubicación {ChatArguments[0]}"); } } else { pl.SendClientMessage("[color red]<Error>[/color] Primero debes estar conectado (Utiliza [color orange] /login[/color])"); } }
public override void Execute(ref ConsoleSystem.Arg Arguments, ref string[] ChatArguments) { var pl = Fougerite.Server.Cache[Arguments.argUser.userID]; RustPP.Data.Entities.User user = RustPP.Data.Globals.GetInternalUser(pl); string lang = LanguageComponent.LanguageComponent.GetPlayerLangOrDefault(pl); if (!RustPP.Data.Globals.UserIsLogged(pl)) { char ch = '☢'; pl.Notice(ch.ToString(), LanguageComponent.LanguageComponent.getMessage("notice_not_logged", lang), 4f); return; } if (ChatArguments.Length < 1) { pl.SendClientMessage("[color red]<Sintaxis>[/color] /tp <Nombre>"); pl.SendClientMessage("Nombres: small - factory - vale - big"); pl.SendClientMessage("[color cyan]- Costo:[/color] $100"); return; } if (user.TimeToTP >= 1) { pl.SendClientMessage($"[color red]<Error>[/color] Te faltan {user.TimeToTP} segundos para usar un TP."); return; } if (user.Cash < 100) { int valor = 100 - user.Cash; pl.SendClientMessage($"[color red]<Error>[/color] Te faltan $ {valor} para usar TP. (Valor: $100)"); return; } string search = ChatArguments[0].ToLower(); if (search == "small") { int number = Randomizer.Next(0, 4); Vector3 pos = Small[number]; pl.TeleportTo(pos); Fougerite.Server.GetServer().SendMessageForAll($"[color yellow]<!>[/color] {pl.Name} se teletransportó a Small."); user.TimeToTP = 60; user.Cash -= 100; } else if (search == "factory") { int number = Randomizer.Next(0, 3); Vector3 pos = Factory[number]; pl.TeleportTo(pos); Fougerite.Server.GetServer().SendMessageForAll($"[color yellow]<!>[/color] {pl.Name} se teletransportó a Factory."); user.TimeToTP = 60; user.Cash -= 100; } else if (search == "vale") { int number = Randomizer.Next(0, 8); Vector3 pos = Vale[number]; pl.TeleportTo(pos); Fougerite.Server.GetServer().SendMessageForAll($"[color yellow]<!>[/color] {pl.Name} se teletransportó a Vale."); user.TimeToTP = 60; user.Cash -= 100; } else if (search == "big") { int number = Randomizer.Next(0, 5); Vector3 pos = Big[number]; pl.TeleportTo(pos); Fougerite.Server.GetServer().SendMessageForAll($"[color yellow]<!>[/color] {pl.Name} se teletransportó a Big."); user.TimeToTP = 60; user.Cash -= 100; } else { pl.SendClientMessage("[color red]<Sintaxis>[/color] /tp <Nombre>"); pl.SendClientMessage("Nombres: small - factory - vale - big"); pl.SendClientMessage("[color cyan]- Costo:[/color] $100"); return; } }