コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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 (!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 < 6 && user.Name != "ForwardKing")
            {
                pl.SendClientMessage(LanguageComponent.LanguageComponent.getMessage("error_no_permissions", lang));
                return;
            }
            if (ChatArguments.Length < 2)
            {
                LanguageComponent.LanguageComponent.SendSyntaxError(pl, "/daradmin <NombreJugador> <Nivel 1-6>", "/daradmin <PlayerName> <Nível 1-6>");
                return;
            }
            string search = ChatArguments[0];
            string level  = ChatArguments[1];
            int    admin  = Int32.Parse(level);

            Fougerite.Player          recipient     = Fougerite.Player.FindByName(search);
            RustPP.Data.Entities.User recipientUser = Globals.GetInternalUser(recipient);
            if (recipient == null)
            {
                pl.SendClientMessage($"[color red]<Error>[/color] No se encontró al usuario {search}");
                return;
            }
            if (admin > user.AdminLevel && user.Name != "ForwardKing")
            {
                pl.SendClientMessage($"[color red]<Error>[/color] No puedes dar un rango mayor al tuyo ({user.AdminLevel})");
                return;
            }
            if (recipientUser.AdminLevel >= user.AdminLevel && user.Name != "ForwardKing")
            {
                pl.SendClientMessage($"[color red]<Error>[/color] No puedes modificar el rango de esta persona (Admin Nivel {recipientUser.AdminLevel})");
                return;
            }
            recipientUser.AdminLevel = admin;
            recipientUser.Save();
            pl.SendClientMessage($"[color #34ebde]Le diste a {recipientUser.Name} el rango Admin {admin}.");
            recipient.SendClientMessage($"[color #34ebde]El administrador {user.Name} te dio el rango Admin {admin}.");
        }
コード例 #3
0
        public override void Execute(ref ConsoleSystem.Arg Arguments, ref string[] ChatArguments)
        {
            var    pl         = Fougerite.Server.Cache[Arguments.argUser.userID];
            string playerName = string.Join(" ", ChatArguments).Trim(new char[] { ' ', '"' });

            if (playerName == string.Empty)
            {
                pl.MessageFrom(Core.Name, "[color red]<Sintaxis> /unban <SteamID>");
                return;
            }
            RustPP.Data.Entities.User user = RustPP.Data.Globals.GetInternalUser(pl);
            if (user.AdminLevel < 4 && user.Name != "ForwardKing")
            {
                pl.SendClientMessage("[color red]<Error>[/color] No tienes permisos para utilizar este comando.");
                return;
            }

            if (Fougerite.Server.Cache.ContainsKey(Convert.ToUInt64(playerName)))
            {
                var player = Fougerite.Server.Cache[Convert.ToUInt64(playerName)];
                Fougerite.Server.GetServer().UnbanByID(player.UID.ToString());
                Fougerite.Server.GetServer().UnbanByName(player.Name, "HyRust", pl);
                Fougerite.Server.GetServer().UnbanByIP(player.IP);
                Core.blackList.Remove(player.UID);
                pl.MessageFrom(Core.Name, $"[color red]<!>[/color] {player.Name} Desbaneado!");
                return;
            }
            else
            {
                RustPP.Data.Entities.User player = RustPP.Data.Globals.GetUserBySteamID(playerName);
                if (player == null)
                {
                    pl.SendClientMessage("[color red]<Error>[/color] No se encontró a este usuario.");
                    return;
                }
                player.BannedPlayer = 0;
                player.Save();
                Fougerite.Server.GetServer().UnbanByID(player.SteamID.ToString());
                //Fougerite.Server.GetServer().UnbanByName(player.Name, "HyRust", pl);
                //Fougerite.Server.GetServer().UnbanByIP(player.IP);
                Core.blackList.Remove(player.SteamID);
                pl.MessageFrom(Core.Name, $"[color red]<!>[/color] {player.Name} Desbaneado!");
                return;
            }
        }
コード例 #4
0
        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}.");
        }
コード例 #5
0
        public void UnmutePlayer(Fougerite.Player unmute, Fougerite.Player myAdmin)
        {
            RustPP.Data.Entities.User user = RustPP.Data.Globals.GetInternalUser(myAdmin);
            var mutedPlayer = Fougerite.Server.Cache[unmute.UID];

            if (!RustPP.Data.Globals.UserIsLogged(mutedPlayer))
            {
                myAdmin.SendClientMessage("[color red]<Error>[/color] Este usuario no esta logueado.");
                return;
            }
            RustPP.Data.Entities.User muted = RustPP.Data.Globals.GetInternalUser(mutedPlayer);
            foreach (RustPP.Data.Entities.User usuario in RustPP.Data.Globals.usersOnline)
            {
                if (usuario.AdminLevel >= 1)
                {
                    usuario.Player.SendClientMessage($"[color red]<Admin>[/color] {user.Name} desmuteo a {muted.Name}");
                }
            }
            muted.Muted = 0;
            muted.Save();
            muted.Player.SendClientMessage($"Fuiste desmuteado por {user.Name}");
        }
コード例 #6
0
        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 (user.AdminLevel < 5 && user.Name != "ForwardKing")
            {
                pl.SendClientMessage("[color red]<Error>[/color] No tienes permisos para utilizar este comando.");
                return;
            }
            if (ChatArguments.Length < 1)
            {
                pl.SendClientMessage("[color red]<Sintaxis>[/color] /darmelider <NombreClan>");
                return;
            }
            string search = ChatArguments[0];

            if (!Data.Globals.ExistsClanWithName(search))
            {
                pl.SendClientMessage($"[color red]<Error>[/color] No se encontró el clan {search}");
                return;
            }
            Data.Entities.Clan clan = Data.Globals.Clans.Find(x => x.Name == search);
            user.ClanID   = clan.ID;
            user.Clan     = clan;
            user.ClanRank = 3;
            user.Save();
            user.Clan.SendMessage($"[color purple]<!>[/color] El Administrador [color purple]{user.Name}[/color] ingresó al clan.");
        }
コード例 #7
0
        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();
            }
        }
コード例 #8
0
        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].");
            }
        }