コード例 #1
0
        public void OnConsoleCommand(SendingConsoleCommandEventArgs ev)
        {
            string cmd = ev.Name.ToLower();

            if (cmd == "level" || cmd == "lvl")
            {
                ev.Allow = false;
                Player player = ev.Arguments.Count == 0 ? ev.Player : Player.Get(ev.Arguments[0]);
                string name;
                bool   hasData = pInfoDict.ContainsKey(player.UserId);
                if (player != null)
                {
                    name = player.Nickname;
                }
                else
                {
                    name = hasData ? pInfoDict[ev.Player.UserId].level.ToString() : "[NO DATA]";
                }
                ev.ReturnMessage =
                    $"Player: {name} ({player.UserId})\n" +
                    $"Level: {(hasData ? pInfoDict[player.UserId].level.ToString() : "[NO DATA]")}\n" +
                    $"XP: {(hasData ? $"{pInfoDict[player.UserId].xp.ToString()} / {XpToLevelUp(player.UserId)}" : "[NO DATA]")}" + (PlayerXP.instance.Config.KarmaEnabled ? "\n" +
                                                                                                                                     $"Karma: {(hasData ? pInfoDict[player.UserId].karma.ToString() : "[NO DATA]")}" : "");
            }
            else if (cmd == "leaderboard" || cmd == "lb")
            {
                ev.Allow = false;
                string output;
                int    num = 5;
                if (ev.Arguments.Count > 0 && int.TryParse(ev.Arguments[0], out int n))
                {
                    num = n;
                }
                if (num > 15)
                {
                    ev.Color         = "red";
                    ev.ReturnMessage = "Leaderboards can be no larger than 15.";
                    return;
                }
                if (pInfoDict.Count != 0)
                {
                    output = $"Top {num} Players:\n";

                    for (int i = 0; i < num; i++)
                    {
                        if (pInfoDict.Count == i)
                        {
                            break;
                        }
                        string     userid = pInfoDict.ElementAt(i).Key;
                        PlayerInfo info   = pInfoDict[userid];
                        output += $"{i + 1}) {info.name} ({userid}) | Level: {info.level} | XP: {info.xp} / {XpToLevelUp(userid)}{(PlayerXP.instance.Config.KarmaEnabled ? $" | Karma: {info.karma}" : "")}";
                        if (i != pInfoDict.Count - 1)
                        {
                            output += "\n";
                        }
                        else
                        {
                            break;
                        }
                    }

                    ev.Color         = "yellow";
                    ev.ReturnMessage = output;
                }
                else
                {
                    ev.Color         = "red";
                    ev.ReturnMessage = "Error: there is not enough data to display the leaderboard.";
                }
            }
        }
コード例 #2
0
ファイル: EventHandler.cs プロジェクト: Inxity/PlayerXP
        public void OnConsoleCommand(SendingConsoleCommandEventArgs ev)
        {
            string cmd = ev.Name.ToLower();

            if (cmd == "level" || cmd == "lvl" || cmd == "seviye")
            {
                ev.Allow = false;
                Player player = ev.Arguments.Count == 0 ? ev.Player : Player.Get(ev.Arguments[0]);
                string name;
                int    id;
                id = player.Id;
                bool hasData = pInfoDict.ContainsKey(player.UserId);
                name             = player.Nickname;
                ev.ReturnMessage =
                    $"XP Istatistiklerin\n" +
                    $"Başka bir oyuncunun istatistiklerini görmek için .level [oyuncu ismi]\n" +
                    $"Adı: {name}\n" +
                    $"IDsi: {id}\n" +
                    $"SteamID: [Müsait değil]\n" +
                    $"Seviye: {(hasData ? pInfoDict[player.UserId].level.ToString() : "[NO DATA]")}\n" +
                    $"XP: {(hasData ? $"{pInfoDict[player.UserId].xp.ToString()} / {XpToLevelUp(player.UserId)}" : "[NO DATA]")}" + (PlayerXP.instance.Config.KarmaEnabled ? "\n" +
                                                                                                                                     $"Karma: {(hasData ? pInfoDict[player.UserId].karma.ToString() : "[NO DATA]")}" : "");
            }
            else if (cmd == "leaderboard" || cmd == "lb" || cmd == "siralama" || cmd == "top")
            {
                ev.Allow = false;
                string output;
                int    num = 10;
                if (ev.Arguments.Count > 0 && int.TryParse(ev.Arguments[0], out int n))
                {
                    num = n;
                }
                if (num > 15)
                {
                    ev.Color         = "red";
                    ev.ReturnMessage = "Sıralama tablosunda 15'den fazla veri gösterilmez.";
                    return;
                }
                if (pInfoDict.Count != 0)
                {
                    output = $"En iyi {num} oyuncu:\n";

                    for (int i = 0; i < num; i++)
                    {
                        if (pInfoDict.Count == i)
                        {
                            break;
                        }
                        string     userid = pInfoDict.ElementAt(i).Key;
                        PlayerInfo info   = pInfoDict[userid];
                        output += $"{i + 1}) {info.name} | Seviye: {info.level} | XP: {info.xp} / {XpToLevelUp(userid)}{(PlayerXP.instance.Config.KarmaEnabled ? $" | Karma: {info.karma}" : "")}";
                        if (i != pInfoDict.Count - 1)
                        {
                            output += "\n";
                        }
                        else
                        {
                            break;
                        }
                    }

                    ev.Color         = "yellow";
                    ev.ReturnMessage = output;
                }
                else
                {
                    ev.Color         = "red";
                    ev.ReturnMessage = "Hata: Sıralama için gösterilebilecek bir veri bulunamadı.";
                }
            }
        }
コード例 #3
0
ファイル: EventHandler.cs プロジェクト: Inxity/PlayerXP
        public void OnRAConsoleCommand(SendingRemoteAdminCommandEventArgs ev)
        {
            string cmd = ev.Name.ToLower();

            if (cmd == "xptoggle")
            {
                ev.IsAllowed = false;
                ev.Sender.RemoteAdminMessage($"XP Ayarı şu şekilde değiştirildi {(isToggled ? "on" : "off")}");
                isToggled = false;
            }
            else if (cmd == "xpsave")
            {
                ev.IsAllowed = false;
                ev.Sender.RemoteAdminMessage("Stats saved!");
                SaveStats();
            }
            else if (cmd == "Rank" || cmd == "rank" || cmd == "expsiralama")
            {
                ev.IsAllowed = false;
                string output;
                int    num = 10;
                if (ev.Arguments.Count > 0 && int.TryParse(ev.Arguments[0], out int n))
                {
                    num = n;
                }
                if (pInfoDict.Count != 0)
                {
                    output = $"En iyi {num} oyuncu:\n";

                    for (int i = 0; i < num; i++)
                    {
                        if (pInfoDict.Count == i)
                        {
                            break;
                        }
                        string     userid = pInfoDict.ElementAt(i).Key;
                        PlayerInfo info   = pInfoDict[userid];
                        output += $"{i + 1}) {info.name} ({userid}) | Seviye: {info.level} | XP: {info.xp} / {XpToLevelUp(userid)}{(PlayerXP.instance.Config.KarmaEnabled ? $" | Karma: {info.karma}" : "")}";
                        if (i != pInfoDict.Count - 1)
                        {
                            output += "\n";
                        }
                        else
                        {
                            break;
                        }
                    }
                    ev.ReplyMessage = output;
                }
                else
                {
                    ev.ReplyMessage = "Hata: Sıralama için gösterilebilecek bir veri bulunamadı.";
                }
            }

            /*else if (cmd == "Nivel" || cmd == "lvl" || cmd == "miralovicioquesoy")
             * {
             *      ev.IsAllowed = false;
             *      Player player = ev.Arguments.Count == 0 ? ev.Sender : Player.Get(ev.Arguments[0]);
             *      string name;
             *      int id;
             *      string idsteam = ev.Sender.UserId;
             *      if (idsteam == null) idsteam = pInfoDict[player.UserId].level.ToString();
             *      id = player.Id;
             *      bool hasData = pInfoDict.ContainsKey(player.UserId);
             *      name = player.Nickname;
             *      ev.ReplyMessage =
             *              $"Estadisticas\n" +
             *              $"Puedes usar la pagina https://steamid.io/lookup/, para sacar la steamid, si lo desean\n" +
             *              $"Usuario: {name}\n" +
             *              $"ID: {id} | Solo si esta conectado\n" +
             *              $"SteamID: [En Mantenimiento]\n" +
             *              $"Nivel: {(hasData ? pInfoDict[player.UserId].level.ToString() : "[NO DATA]")}\n" +
             *              $"Experiencia | EXP: {(hasData ? $"{pInfoDict[player.UserId].xp.ToString()} / {XpToLevelUp(player.UserId)}" : "[NO DATA]")}" + (PlayerXP.instance.Config.KarmaEnabled ? "\n" +
             *              $"Karma: {(hasData ? pInfoDict[player.UserId].karma.ToString() : "[NO DATA]")}" : "");
             * }*/
            else if (cmd == "top" || cmd == "top10")
            {
                ev.IsAllowed = false;
                string output;
                int    num   = 10;
                int    svnum = PlayerXP.instance.Config.SvNumber;
                if (ev.Arguments.Count > 0 && int.TryParse(ev.Arguments[0], out int n))
                {
                    num = n;
                }
                if (pInfoDict.Count != 0)
                {
                    output = $"```diff\n-- Treasın En iyi {num} oyuncusu #{svnum} --\n--- Oyuncular ---\n\n";

                    for (int i = 0; i < num; i++)
                    {
                        if (pInfoDict.Count == i)
                        {
                            break;
                        }
                        string     userid = pInfoDict.ElementAt(i).Key;
                        PlayerInfo info   = pInfoDict[userid];
                        output += $"+ {i + 1} {info.name} | Seviye: {info.level} | XP: {info.xp} / {XpToLevelUp(userid)}{(PlayerXP.instance.Config.KarmaEnabled ? $" | Karma: {info.karma}" : "")}";

                        if (i != pInfoDict.Count - 1)
                        {
                            output += "\n\n";
                        }
                        else
                        {
                            break;
                        }
                    }
                    output         += "\n```";
                    ev.ReplyMessage = output;
                }
            }
            else if (cmd == "admintop" || cmd == "atop")
            {
                ev.IsAllowed = false;
                string output;
                int    num   = 10;
                int    svnum = PlayerXP.instance.Config.SvNumber;
                if (ev.Arguments.Count > 0 && int.TryParse(ev.Arguments[0], out int n))
                {
                    num = n;
                }
                if (pInfoDict.Count != 0)
                {
                    output = $"```diff\n-- Treasın En iyi {num} oyuncusu #{svnum} --\n--- Oyuncular ---\n\n";

                    for (int i = 0; i < num; i++)
                    {
                        if (pInfoDict.Count == i)
                        {
                            break;
                        }
                        string     userid = pInfoDict.ElementAt(i).Key;
                        PlayerInfo info   = pInfoDict[userid];
                        output += $"+ {i + 1} {info.name} | SteamID: {userid}  | Seviye: {info.level} | XP: {info.xp} / {XpToLevelUp(userid)}{(PlayerXP.instance.Config.KarmaEnabled ? $" | Karma: {info.karma}" : "")}";

                        if (i != pInfoDict.Count - 1)
                        {
                            output += "\n\n";
                        }
                        else
                        {
                            break;
                        }
                    }
                    output         += "\n```";
                    ev.ReplyMessage = output;
                }
            }
        }
コード例 #4
0
        public void OnConsoleCommand(SendingConsoleCommandEventArgs ev)
        {
            string cmd = ev.Name.ToLower();

            if (cmd == "level" || cmd == "lvl" || cmd == "nivel")
            {
                ev.Allow = false;
                Player player = ev.Arguments.Count == 0 ? ev.Player : Player.Get(ev.Arguments[0]);
                string name;
                int    id;
                id = player.Id;
                bool hasData = pInfoDict.ContainsKey(player.UserId);
                name             = player.Nickname;
                ev.ReturnMessage =
                    $"Estadisticas\n" +
                    $"Para ver los Stats de otro jugadr .lvl [nombre del jugador]\n" +
                    $"Usuario: {name}\n" +
                    $"ID: {id}\n" +
                    $"SteamID: [No disponible]\n" +
                    $"Nivel: {(hasData ? pInfoDict[player.UserId].level.ToString() : "[NO DATA]")}\n" +
                    $"Experiencia | EXP: {(hasData ? $"{pInfoDict[player.UserId].xp.ToString()} / {XpToLevelUp(player.UserId)}" : "[NO DATA]")}" + (PlayerXP.instance.Config.KarmaEnabled ? "\n" +
                                                                                                                                                    $"Karma: {(hasData ? pInfoDict[player.UserId].karma.ToString() : "[NO DATA]")}" : "");
            }
            else if (cmd == "leaderboard" || cmd == "lb" || cmd == "tabla" || cmd == "top")
            {
                ev.Allow = false;
                string output;
                int    num = 10;
                if (ev.Arguments.Count > 0 && int.TryParse(ev.Arguments[0], out int n))
                {
                    num = n;
                }
                if (num > 15)
                {
                    ev.Color         = "red";
                    ev.ReturnMessage = "Las tablas de clasificación no pueden tener más de 15 lineas.";
                    return;
                }
                if (pInfoDict.Count != 0)
                {
                    output = $"Top {num} Jugadores:\n";

                    for (int i = 0; i < num; i++)
                    {
                        if (pInfoDict.Count == i)
                        {
                            break;
                        }
                        string     userid = pInfoDict.ElementAt(i).Key;
                        PlayerInfo info   = pInfoDict[userid];
                        output += $"{i + 1}) {info.name} | Nivel: {info.level} | XP: {info.xp} / {XpToLevelUp(userid)}{(PlayerXP.instance.Config.KarmaEnabled ? $" | Karma: {info.karma}" : "")}";
                        if (i != pInfoDict.Count - 1)
                        {
                            output += "\n";
                        }
                        else
                        {
                            break;
                        }
                    }

                    ev.Color         = "yellow";
                    ev.ReturnMessage = output;
                }
                else
                {
                    ev.Color         = "red";
                    ev.ReturnMessage = "Error: there is not enough data to display the leaderboard.";
                }
            }
        }