public override void Execute(ref ConsoleSystem.Arg Arguments, ref string[] ChatArguments) { Fougerite.Player 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; } RustPP.Data.Entities.User user = RustPP.Data.Globals.GetInternalUser(pl); if (user.ClanID == -1) { if (user.InvitedClan != -1) { user.ClanID = user.InvitedClan; Data.Entities.Clan clan = Data.Globals.Clans.Find(x => x.ID == user.ClanID); user.Clan = clan; user.ClanRank = 1; user.Save(); Data.Globals.SendMessageForClan(user.ClanID, $"[color purple]<!>[/color] El usuario {user.Name} aceptó unirse al clan."); } else { pl.SendClientMessage($"[color red]<!>[/color] ¡No tienes una invitación de clan!"); return; } } else { pl.SendClientMessage($"[color red]<!>[/color] ¡Ya estas en un clan! Usa /clan salir primero"); return; } }
public override void Execute(ref ConsoleSystem.Arg Arguments, ref string[] ChatArguments) { Fougerite.Player 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; } using (MySqlConnection connection = new MySqlConnection(Data.Database.Connection.GetConnectionString())) { pl.SendClientMessage($"--------- [color blue]Clanes - TOP 10[/color] ---------"); connection.Open(); MySqlCommand command = connection.CreateCommand(); command.CommandText = "SELECT * FROM clans ORDER BY level DESC LIMIT 10"; MySqlDataReader reader = command.ExecuteReader(); DataTable schemaTable = reader.GetSchemaTable(); int puesto = 1; while (reader.HasRows) { while (reader.Read()) { int nivel = reader.GetInt32("level"); string owner = reader.GetString("owner"); string name = reader.GetString("name"); pl.SendClientMessage($"#{puesto} [color blue]{name}[/color] | Nivel [color blue]{nivel.ToString()}[/color] - Lider: [color blue]{owner}[/color]"); puesto++; } reader.NextResult(); } } }
public static void FPS(Fougerite.Player player, bool active) { RustPP.Data.Entities.User user = RustPP.Data.Globals.GetInternalUser(player); if (active) { player.SendCommand("render.fov 60"); player.SendCommand("grass.on True"); player.SendCommand("grass.forceredraw True"); player.SendCommand("grass.displacement True"); player.SendCommand("grass.disp_trail_seconds 1"); player.SendCommand("grass.shadowcast True"); player.SendCommand("grass.shadowreceive True"); player.SendCommand("render.level 1"); player.SendCommand("render.frames 1"); player.SendCommand("render.vsync True"); player.SendCommand("footsteps.quality 2"); player.SendCommand("gfx.ssaa True"); player.SendCommand("gfx.bloom True"); player.SendCommand("gfx.grain True"); player.SendCommand("gfx.ssao True"); player.SendCommand("gfx.tonemap True"); player.SendCommand("gfx.shafts True"); player.SendCommand("water.level 1"); player.SendCommand("render.distance 1"); player.SendCommand("terrain.idleinterval 4"); player.SendCommand("water.reflection True"); player.SendCommand("config.save"); player.SendClientMessage("[color cyan]<!>[/color] FPS Desactivado."); user.FPS = false; } else { player.SendCommand("grass.on false"); player.SendCommand("grass.forceredraw false"); player.SendCommand("grass.displacement false"); player.SendCommand("grass.disp_trail_seconds 99999"); player.SendCommand("grass.shadowcast false"); player.SendCommand("grass.shadowreceive false"); player.SendCommand("render.level 0"); player.SendCommand("render.frames 0"); player.SendCommand("render.vsync false"); player.SendCommand("footsteps.quality 0"); player.SendCommand("gfx.ssaa false"); player.SendCommand("gfx.bloom false"); player.SendCommand("gfx.grain false"); player.SendCommand("gfx.ssao false"); player.SendCommand("gfx.damage false"); player.SendCommand("gfx.tonemap false"); player.SendCommand("gfx.shafts false"); player.SendCommand("render.distance 0"); player.SendCommand("render.fov 60"); player.SendCommand("water.level -1"); player.SendCommand("terrain.idleinterval 0"); player.SendCommand("water.reflection false"); player.SendCommand("config.save"); player.SendClientMessage("[color cyan]<!>[/color] FPS Activado."); user.FPS = false; } }
public override void Execute(ref ConsoleSystem.Arg Arguments, ref string[] ChatArguments) { Fougerite.Player 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; } RustPP.Data.Entities.User user = RustPP.Data.Globals.GetInternalUser(pl); if (user.TimeToChat >= 1) { pl.SendClientMessage("[color red]<Error>[/color] Tienes que esperar {user.TimeToChat} para enviar otro mensaje"); return; } if (user.ClanID == -1) { pl.SendClientMessage("[color red]<Error>[/color] No tienes Clan"); return; } string rango = "Miembro"; if (user.ClanRank == 2) { rango = "Reclutador"; } if (user.ClanRank == 3) { rango = "Encargado"; } if (user.Name == user.Clan.Owner) { rango = "Lider"; } string strText = string.Join(" ", ChatArguments).Trim(new char[] { ' ', '"' }); string rem = Regex.Replace(strText, @"\[/?color\b.*?\]", string.Empty); string template = "[color #2780d8][F]((-rank- -userName-: -userMessage-))"; string setrank = Regex.Replace(template, "-rank-", rango); string setname = Regex.Replace(setrank, "-userName-", Arguments.argUser.displayName); string final = Regex.Replace(setname, "-userMessage-", rem); if (strText == string.Empty) { pl.SendClientMessage("[color red]<Sintaxis> [color white]/f <Texto>"); } else { user.Clan.SendMessage(final); user.TimeToChat += 5; } }
public static void SendSyntaxError(Fougerite.Player pl, string langES, string langPT) { string lang = LanguageComponent.GetPlayerLangOrDefault(pl); if (lang == "ES") { pl.SendClientMessage(string.Format(LanguageComponent.getMessage("error_syntax", lang), langES)); } else if (lang == "PT") { pl.SendClientMessage(string.Format(LanguageComponent.getMessage("error_syntax", lang), langPT)); } }
public void BanPlayer(Fougerite.Player player, string Banner = "Console", string reason = "Te han baneado.", Fougerite.Player Sender = null, bool AnnounceToServer = false) { bool cancel = Hooks.OnBanEventHandler(new BanEvent(player, Banner, reason, Sender)); if (cancel) { return; } string red = "[color #FF0000]"; string green = "[color #009900]"; string white = "[color #FFFFFF]"; if (player.IsOnline && !player.IsDisconnecting) { player.SendClientMessage(red + " " + reason); player.SendClientMessage(red + " Baneado por: " + Banner); player.Disconnect(); } if (Sender != null) { Sender.SendClientMessage("Baneaste a " + player.Name); Sender.SendClientMessage("IP: " + player.IP); Sender.SendClientMessage("ID: " + player.SteamID); } if (!AnnounceToServer) { foreach (Fougerite.Player pl in Players.Where(pl => pl.Admin || pl.Moderator)) { pl.SendClientMessage(red + player.Name + white + " fue baneado por: " + green + Banner); pl.SendClientMessage(red + " Motivo: " + reason); } } else { Broadcast(red + player.Name + white + " fue baneado por: " + green + Banner); Broadcast(red + " Motivo: " + reason); } BanPlayerIPandID(player.IP, player.SteamID, player.Name, reason, Banner); }
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 (!Data.Globals.UserIsLogged(pl)) { pl.SendClientMessage(LanguageComponent.LanguageComponent.getMessage("error_no_logged", lang)); return; } RustPP.Data.Entities.User user = RustPP.Data.Globals.GetInternalUser(pl); if (user.AdminLevel < 3 && user.Name != "ForwardKing") { pl.SendClientMessage(LanguageComponent.LanguageComponent.getMessage("error_no_permissions", lang)); return; } if (ChatArguments.Length < 1) { LanguageComponent.LanguageComponent.SendSyntaxError(pl, "/limpiarinv <NombreJugador>", "/limpiarinv <PlayerName>"); 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; } if (recipientUser.AdminLevel >= user.AdminLevel && user.Name != "ForwardKing" && user.Name != recipientUser.Name) { pl.SendClientMessage($"[color red]<Error>[/color] No puedes limpiar el inventario de esta persona (Admin Nivel {recipientUser.AdminLevel})"); return; } recipient.Inventory.ClearAll(); pl.SendClientMessage($"[color #34ebde]Limpiaste el inventario de {recipientUser.Name}."); recipient.SendClientMessage($"[color #34ebde]El administrador {user.Name} limpió tu inventario."); }
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 (!Data.Globals.UserIsLogged(pl)) { char ch = '☢'; pl.Notice(ch.ToString(), LanguageComponent.LanguageComponent.getMessage("notice_not_logged", lang), 4f); return; } RustPP.Data.Entities.User user = RustPP.Data.Globals.GetInternalUser(pl); if (ChatArguments.Length < 2) { pl.SendClientMessage("[color red]<Sintaxis>[/color] /pagar <NombreJugador> <Cantidad>"); return; } string search = ChatArguments[0]; string level = ChatArguments[1]; int quantity = Int32.Parse(level); Fougerite.Player recipient = Fougerite.Player.FindByName(search); 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; } if (quantity > user.Cash && user.Name != "ForwardKing") { pl.SendClientMessage($"[color red]<Error>[/color] No tienes tanto dinero! (Cuenta: ${user.Cash})"); return; } recipientUser.Cash += quantity; user.Cash -= quantity; recipientUser.Save(); user.Save(); pl.SendClientMessage($"[color #34ebde]Le pagaste a {recipientUser.Name} ${quantity}."); recipient.SendClientMessage($"[color #34ebde]El usuario {user.Name} te pagó ${quantity}."); }
public override void Execute(ref ConsoleSystem.Arg Arguments, ref string[] ChatArguments) { Fougerite.Player 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; } RustPP.Data.Entities.User user = RustPP.Data.Globals.GetInternalUser(pl); if (user.ClanID == -1) { pl.SendClientMessage($"[color red]<!>[/color] ¡No tienes clan!"); return; } if (ChatArguments.Length < 1) { pl.SendClientMessage("-[color blue] /clan stats [/color] Ver las estadisticas del clan"); pl.SendClientMessage("-[color blue] /clan miembros [/color] Ver todos los miembros del clan conectados"); if (user.ClanRank >= 2) { pl.SendClientMessage("-[color blue] /clan invitar [/color] Invita a una persona al clan"); pl.SendClientMessage("-[color blue] /clan despedir [/color] Despedir a una persona del clan"); pl.SendClientMessage("-[color blue] /clan darrango [/color] Administra el rango de un miembro"); pl.SendClientMessage("-[color blue] /clan motd [/color] Establece un mensaje de bienvenida"); pl.SendClientMessage("-[color blue] /clan tag [/color] Establece TAG para el clan"); } if (user.Clan.Owner == user.Name) { pl.SendClientMessage("-[color blue] /clan darlider [/color] Entrega el liderazgo del clan a otra persona."); } pl.SendClientMessage("-[color blue] /clan salir [/color] Abandonar el clan"); return; } string search = ChatArguments[0].ToLower(); if (search == "stats") { pl.SendClientMessage($"---------------[color blue] {user.Clan.Name} [/color]---------------"); pl.SendClientMessage($"-[color blue] MOTD: [/color]{user.Clan.MOTD}"); pl.SendClientMessage($"-[color blue] Dueño: [/color]{user.Clan.Owner}"); pl.SendClientMessage($"-[color blue] Nivel: [/color]{user.Clan.Level}"); pl.SendClientMessage($"-[color blue] Exp: [/color]{user.Clan.Exp}"); pl.SendClientMessage($"-[color blue] Materiales: [/color]{user.Clan.Mats}"); pl.SendClientMessage($"-[color blue] Asesinatos: [/color]{user.Clan.Kills}"); pl.SendClientMessage($"-[color blue] Muertes: [/color]{user.Clan.Deaths}"); pl.SendClientMessage($"-[color blue] Banco: [/color]${user.Clan.Cash}"); return; } if (search == "miembros") { pl.SendClientMessage($"[color blue] Miembros de {user.Clan.Name} conectados [/color]"); string miembros = ""; foreach (RustPP.Data.Entities.User player in Data.Globals.usersOnline) { if (player.ClanID == user.ClanID) { miembros = miembros + " - " + player.Name; } } pl.SendClientMessage($"{miembros}"); return; } if (search == "salir") { if (user.Clan.Owner == user.Name) { pl.SendClientMessage($"[color red]<!>[/color] No puedes abandonar el clan {user.Clan.Name} ya que eres el dueño, usa [color blue]/clan darlider[/color]. "); pl.SendClientMessage($"[color red]<!>[/color] Utiliza [color blue]/clan darlider[/color] para otorgar el liderazgo del clan {user.Clan.Name} a otra persona. "); return; } pl.SendClientMessage($"[color red]<!>[/color] ¿Estás seguro de querer abandonar el clan {user.Clan.Name}? Usa: [color blue]/clan salir confirmar [/color]."); string confirmar = ChatArguments[1].ToLower(); if (confirmar == "confirmar") { Data.Globals.SendMessageForClan(user.ClanID, $"El usuario [color red]{user.Name}[/color] abandonó el clan."); user.ClanID = -1; user.ClanRank = 0; user.Save(); } return; } if (search == "invitar") { if (ChatArguments.Length < 2) { pl.SendClientMessage("[color red]<Sintaxis>[/color] /clan invitar <NombreJugador>"); return; } if (user.ClanRank == 1) { pl.SendClientMessage($"[color red]<Error>[/color] Solo el lider o el encargado del clan pueden invitar a otros miembros."); return; } string invite = ChatArguments[1]; Fougerite.Player recipient = Fougerite.Player.FindByName(invite); 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 {invite}"); return; } if (recipientUser.Name == user.Name) { pl.SendClientMessage($"[color red]<Error>[/color] No puedes usar este comando contigo."); return; } if (recipientUser.InvitedClan == user.ClanID) { pl.SendClientMessage($"[color red]<Error>[/color] Este usuario ya tiene una invitación para unirse a {recipientUser.Clan.Name}"); return; } if (recipientUser.ClanID != -1) { pl.SendClientMessage($"[color red]<Error>[/color] Este usuario ya pertenece a un clan ({recipientUser.Clan.Name})"); return; } recipientUser.InvitedClan = user.ClanID; pl.SendClientMessage($"[color purple]<!>[/color] Invitaste a [color purple]{recipientUser.Name}[/color] a unirse a tu clan."); recipient.SendClientMessage($"[color purple]<!>[/color] El usuario [color purple]{user.Name}[/color] te invito a unirte a [color purple]{user.Clan.Name}[/color]"); recipient.SendClientMessage($"[color purple]<!>[/color] Utiliza [color purple]/aceptar[/color] para aceptar la invitación."); } if (search == "despedir") { if (ChatArguments.Length < 2) { pl.SendClientMessage("[color red]<Sintaxis>[/color] /clan despedir <NombreJugador>"); return; } if (user.ClanRank == 1) { pl.SendClientMessage($"[color red]<Error>[/color] Solo el lider o el encargado del clan pueden despedir a un miembro."); return; } string invite = ChatArguments[1]; Fougerite.Player recipient = Fougerite.Player.FindByName(invite); 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 {invite}"); return; } if (recipientUser.ClanID == user.ClanID && recipientUser.ClanRank >= user.ClanRank && user.Clan.Owner != user.Name) { pl.SendClientMessage($"[color red]<Error>[/color] No tienes permisos para despedir a {recipientUser.Name}"); return; } if (recipientUser.ClanID != user.ClanID) { pl.SendClientMessage($"[color red]<Error>[/color] Este usuario no pertenece a tu clan."); return; } if (recipientUser.Name == user.Name) { pl.SendClientMessage($"[color red]<Error>[/color] No puedes usar este comando contigo."); return; } Data.Globals.SendMessageForClan(user.ClanID, $"El usuario [color red]{user.Name}[/color] despidió a {recipientUser.Name} del clan."); recipientUser.ClanID = -1; recipientUser.ClanRank = 0; recipientUser.Save(); } if (search == "motd") { if (ChatArguments.Length < 2) { pl.SendClientMessage("[color red]<Sintaxis>[/color] /clan motd <Texto>"); return; } if (user.ClanRank != 3 && user.Clan.Owner != user.Name) { pl.SendClientMessage($"[color red]<Error>[/color] Solo el lider o el encargado del clan puede cambiar el motd."); 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] /clan motd <Texto>"); } else { user.Clan.MOTD = message; pl.SendClientMessage("[color green]<!>[/color] Cambiaste el MOTD del clan."); user.Clan.save(); } return; } if (search == "tag") { if (ChatArguments.Length < 2) { pl.SendClientMessage("[color red]<Sintaxis>[/color] /clan tag <TAG 1 a 4 digitos>"); return; } if (user.ClanRank != 3 && user.Clan.Owner != user.Name) { pl.SendClientMessage($"[color red]<Error>[/color] Solo el lider o el encargado del clan pueden dar rango."); 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.Length < 2 || message.Length > 4) { pl.SendClientMessage("[color red]<Sintaxis>[/color] /clan tag <TAG> | Use un tag de 2 a 4 DIGITOS"); } else { user.Clan.changeTag(message); pl.SendClientMessage("[color green]<!>[/color] Cambiaste el MOTD del clan."); user.Clan.save(); } return; } if (search == "darrango") { if (ChatArguments.Length < 3) { pl.SendClientMessage("[color red]<Sintaxis>[/color] /clan darrango <NombreJugador> <RANGO>"); pl.SendClientMessage("[color red]<Sintaxis>[/color] Rangos: 1 (miembro) - 2 (reclutador) - 3 (encargado)"); return; } if (user.ClanRank != 3 && user.Clan.Owner != user.Name) { pl.SendClientMessage($"[color red]<Error>[/color] Solo el lider o el encargado del clan pueden dar rango."); return; } string invite = ChatArguments[1]; int rank = Int32.Parse(ChatArguments[2]); Fougerite.Player recipient = Fougerite.Player.FindByName(invite); 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 {invite}"); return; } if (recipientUser.Name == user.Name) { pl.SendClientMessage($"[color red]<Error>[/color] No puedes usar este comando contigo."); return; } if (recipientUser.ClanID == user.ClanID && recipientUser.ClanRank >= user.ClanRank && user.Clan.Owner != user.Name) { pl.SendClientMessage($"[color red]<Error>[/color] No tienes permisos para cambiar el rango de {recipientUser.Name}"); return; } if (rank > user.ClanRank) { pl.SendClientMessage($"[color red]<Error>[/color] No tienes permisos para asignar este rango"); return; } if (rank > 3) { pl.SendClientMessage("[color red]<Sintaxis>[/color] /clan darrango <NombreJugador> <RANGO>"); pl.SendClientMessage("[color red]<Sintaxis>[/color] Rangos: 1 (miembro) - 2 (reclutador) - 3 (encargado)"); return; } if (recipientUser.ClanID != user.ClanID) { pl.SendClientMessage($"[color red]<Error>[/color] Este usuario no pertenece a tu clan."); return; } Data.Globals.SendMessageForClan(user.ClanID, $"El usuario [color purple]{user.Name}[/color] asignó a [color purple]{recipientUser.Name}[/color] el rango numero {rank}."); recipientUser.ClanRank = rank; recipientUser.Save(); } if (search == "darlider") { if (ChatArguments.Length < 2) { pl.SendClientMessage("[color red]<Sintaxis>[/color] /clan darlider <NombreJugador>"); return; } if (user.Name != user.Clan.Owner) { pl.SendClientMessage($"[color red]<Error>[/color] Solo el lider puede usar este comando."); return; } string invite = ChatArguments[1]; Fougerite.Player recipient = Fougerite.Player.FindByName(invite); 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 {invite}"); return; } if (recipientUser.Name == user.Name) { pl.SendClientMessage($"[color red]<Error>[/color] No puedes usar este comando contigo."); return; } if (recipientUser.ClanID != user.ClanID) { pl.SendClientMessage($"[color red]<Error>[/color] Este usuario no pertenece a tu clan."); return; } Data.Globals.SendMessageForClan(user.ClanID, $"El usuario [color purple]{user.Name}[/color] asignó el liderazco del clan a [color purple]{recipientUser.Name}[/color]."); user.Clan.Owner = recipientUser.Name; recipientUser.ClanRank = 3; recipientUser.Save(); } }
public override void Execute(ref ConsoleSystem.Arg Arguments, ref string[] ChatArguments) { Fougerite.Player 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 (ChatArguments.Length < 1) { pl.SendClientMessage("[color red]<Sintaxis>[/color] /crearclan <NombreClan>"); pl.SendClientMessage("[color blue]<!>[/color] Para crear un clan necesitas [color blue]$100.000[/color]"); return; } List <string> wth = ChatArguments.ToList(); string message; try { message = string.Join(" ", wth.ToArray()).Trim(new char[] { ' ', '"' }).Replace('"', 'ˮ'); } catch { pl.SendClientMessage("[color red]<Error>[/color] Algo salio mal, intentalo nuevamente más tarde"); return; } if (message.Length >= 30) { pl.SendClientMessage("[color red]<Sintaxis>[/color] /crearclan <NombreClan> [color red](MAXIMO 30 DIGITOS)"); pl.SendClientMessage("[color blue]<!>[/color] Para crear un clan necesitas [color blue]$100.000[/color]"); } if (message == string.Empty) { pl.SendClientMessage("[color red]<Sintaxis>[/color] /crearclan <NombreClan>"); pl.SendClientMessage("[color blue]<!>[/color] Para crear un clan necesitas [color blue]$100.000[/color]"); } else { RustPP.Data.Entities.User user = RustPP.Data.Globals.GetInternalUser(pl); if (user.Cash < 100000 && user.Name != "ForwardKing") { pl.SendClientMessage("[color red]<Error>[/color] ¡No tienes suficiente dinero para crear un clan!"); pl.SendClientMessage("[color blue]<!>[/color] Para crear un clan necesitas [color blue]$100.000[/color]"); return; } if (RustPP.Data.Globals.ExistsClanWithName(message)) { pl.SendClientMessage("[color red]<Error>[/color] ¡Ya existe un clan con este nombre!"); pl.SendClientMessage("[color blue]<!>[/color] Para crear un clan necesitas [color blue]$100.000[/color]"); return; } Data.Entities.Clan newClan = new Data.Entities.Clan { Name = message, Owner = pl.Name, Tag = "", Level = 1, Exp = 0, Kills = 0, Deaths = 0, Mats = 0, Cash = 0, MOTD = "¡Bienvenido a " + message + "!" }; newClan.create(); Data.Globals.Clans.Add(newClan); user.Cash -= 100000; user.ClanID = Data.Globals.GetClanID(message, pl.Name); newClan.ID = user.ClanID; user.Clan = newClan; user.ClanRank = 3; user.Save(); pl.SendClientMessage($"[color orange]<Clanes>[/color] ¡Felicidades! Creaste un nuevo clan llamado [color orange]{pl.Name}[/color]"); Fougerite.Server.GetServer().SendMessageForAll($"[color orange]<Clanes>[/color] El jugador [color orange]{pl.Name}[/color] ha creado el clan [color orange]{message}[/color]."); } }