示例#1
0
 public void Spawned(User pl, SpawnEvent se)
 {
     if(EnableNewSpawns)
     {
         if(!se.CampUsed)
         {
             int d = rnd.Next(1, AmountOfSpawns);
             string l = SpawnsOverwrite.GetSetting("SpawnLocations", d.ToString());
             Vector3 loc = Util.GetUtil().ConvertStringToVector3(l);
             pl.SafeTeleportTo(loc);
         }              
     }
 }
示例#2
0
        public void TryTeleportPlayer(Fougerite.Player pl)
        {
tryagain:
            Vector3 location = GivemeRandomSpawn();

            if (IsCloseOfStructure(location))
            {
                //pl.Message("CANT TP ON STRUCTURE");
                goto tryagain; //try found another spawn point
            }
            else
            {
                pl.SafeTeleportTo(location);
            }
        }
示例#3
0
        public void OnCommand(Fougerite.Player pl, string cmd, string[] args)
        {
            if (!pl.Admin)
            {
                return;
            }
            if (cmd == "spawn")
            {
                if (args.Length == 0)
                {
                    pl.MessageFrom(Name, green + "/spawn - adds a spawn to the random spawns.");
                    pl.MessageFrom(Name, green + "/spawn add - adds a spawn to the random spawns.");
                    //pl.MessageFrom("SpawnsManager", green + "/spawn del - MAKE SURE YOU TYPE THE FULL NAME OF THE SPAWN TO DELETE IT.");
                    pl.MessageFrom(Name, green + "/spawn reload - reloads the spawns list.");
                }
                else
                {
                    if (args[0] == "add")
                    {
                        AddSpawn(pl);
                    }
                    else if (args[0] == "reload")
                    {
                        ReloadSpawns();
                        pl.MessageFrom(Name, green + "Spawn list Reloaded ,found (" + spawns.Count + ") points.");
                    }
                    else if (args[0] == "test")
                    {
tryagain:
                        Vector3 location = GivemeRandomSpawn();
                        if (IsCloseOfStructure(location))
                        {
                            pl.Message("TEST: cant spawn on structure, serching another location");
                            goto tryagain;
                        }
                        else
                        {
                            pl.SafeTeleportTo(location);
                        }
                    }
                }
            }
        }
示例#4
0
        public void OnCommand(Fougerite.Player player, string cmd, string[] args)
        {
            if (player.Admin || player.Moderator)
            {
                if (cmd == "ahelp")
                {
                    player.MessageFrom(Name, "[color #42b3f5]/duty /unduty /warn /delwarn /hp ");
                    player.MessageFrom(Name, "[color #42b3f5]/mtp /mtpback /ann /wipebar /wipeshelt  ");
                    player.MessageFrom(Name, "[color #42b3f5]/kick /ban /unban /rbban /rbunban /unbanip /mute /unmute  ");
                    return;
                }
                if (cmd == "duty")
                {
                    if (!DataStore.GetInstance().ContainsKey("AdminDuty", player.SteamID))
                    {
                        DataStore.GetInstance().Add("AdminDuty", player.SteamID, 0);
                        player.Inventory.ClearArmor();
                        player.Inventory.AddItemTo("Invisible Helmet", 36, 1);
                        player.Inventory.AddItemTo("Invisible Vest", 37, 1);
                        player.Inventory.AddItemTo("Invisible Pants", 38, 1);
                        player.Inventory.AddItemTo("Invisible Boots", 39, 1);
                        player.Inventory.AddItem("Uber Hatchet", 1);
                        Server.GetServer().BroadcastFrom(Name, "[color #42b3f5]Admin [color #f5e042]" + player.Name + " [color #42b3f5]is now [color #45f542]On Duty!");
                    }
                    else
                    {
                        player.MessageFrom(Name, "[color #42b3f5]You are already OnDuty!!!");
                    }
                }
                if (cmd == "unduty")
                {
                    if (DataStore.GetInstance().ContainsKey("AdminDuty", player.SteamID))
                    {
                        DataStore.GetInstance().Remove("AdminDuty", player.SteamID);
                        player.Inventory.ClearArmor();
                        player.Inventory.RemoveItem("Invisible Helmet", 1);
                        player.Inventory.RemoveItem("Invisible Vest", 1);
                        player.Inventory.RemoveItem("Invisible Pants", 1);
                        player.Inventory.RemoveItem("Invisible Boots", 1);
                        player.Inventory.RemoveItem("Uber Hatchet", 1);
                        Server.GetServer().BroadcastFrom(Name, "[color #42b3f5]Admin [color #f5e042]" + player.Name + " [color #42b3f5]is now [color #f55142]Off Duty!");
                    }
                    else
                    {
                        player.MessageFrom(Name, "[color #42b3f5]You are [color #f55142]not [color #42b3f5]On Duty!!!");
                    }
                }
                if (cmd == "warn")
                {
                    if (args.Length == 0)
                    {
                        player.MessageFrom(Name, "[color #f55142]Syntax:[color #42b3f5] /warn PlayerName");
                        return;
                    }
                    else
                    {
                        Fougerite.Player playertor = FindSimilarPlayer(player, args);
                        if (playertor == null)
                        {
                            return;
                        }

                        if (!DataStore.GetInstance().ContainsKey("warn", playertor.SteamID))
                        {
                            DataStore.GetInstance().Add("warn", playertor.SteamID, 0);
                            Server.GetServer().Broadcast("[color #42b3f5]Admin/Mod [color #f5e042]" + player.Name + "[color #42b3f5] Warned [color #f5e042] " + playertor.Name + "![color #f5e042](1/2)");
                            string logtext = player.Name + " Warned " + playertor.Name + "!(1/2)";
                            Log(logtext, "Warn");
                            return;
                        }
                        else
                        {
                            DataStore.GetInstance().Remove("warn", playertor.SteamID);
                            Server.GetServer().Broadcast("[color #42b3f5]Admin/Mod [color #f5e042]" + player.Name + "[color #42b3f5] Warned[color #f5e042] " + playertor.Name + "![color red]Kicked (2/2)");
                            string logtext = player.Name + " Warned " + playertor.Name + "!Kicked (2/2)";
                            Log(logtext, "Warn");
                            playertor.Disconnect();
                        }
                    }
                }
                if (cmd == "delwarn")
                {
                    if (args.Length == 0)
                    {
                        player.MessageFrom(Name, "[color #f55142]Syntax:[color #42b3f5] /delwarn PlayerName");
                        return;
                    }
                    else
                    {
                        Fougerite.Player playertor = FindSimilarPlayer(player, args);
                        if (playertor == null)
                        {
                            return;
                        }
                        if (DataStore.GetInstance().ContainsKey("warn", playertor.SteamID))
                        {
                            DataStore.GetInstance().Remove("warn", playertor.SteamID);
                            Server.GetServer().Broadcast("[color #42b3f5]Admin/Mod [color #f5e042]" + player.Name + " [color #42b3f5]Deleted [color #f5e042] " + playertor.Name + " [color #42b3f5]Warns![color #f5e042](0/2)");
                            string logtext = player.Name + " Deleted " + playertor.Name + " Warns!";
                            Log(logtext, "DeleteWarn");
                            return;
                        }
                        else
                        {
                            player.MessageFrom(Name, "[color #42b3f5]This Player [color #f55142]Doesn't [color #42b3f5]have any Warn!");
                            return;
                        }
                    }
                }
                if (cmd == "hp")
                {
                    if (args.Length == 0)
                    {
                        player.MessageFrom(Name, "[color #f55142]Syntax:[color #42b3f5] /hp PlayerName");
                        return;
                    }
                    else
                    {
                        Fougerite.Player playertor = FindSimilarPlayer(player, args);
                        if (playertor == null)
                        {
                            return;
                        }
                        player.MessageFrom(Name, playertor.Name + " HP : " + playertor.Health);
                        string logtext = player.Name + " Used /HP On " + playertor.Name + "";
                        Log(logtext, "HP");
                    }
                }
                if (cmd == "mtp")
                {
                    if (args.Length == 0)
                    {
                        player.MessageFrom(Name, "[color #f55142]Syntax:[color #42b3f5] /mtp PlayerName");
                        return;
                    }
                    else
                    {
                        if (DataStore.GetInstance().ContainsKey("AdminDuty", player.SteamID))
                        {
                            Fougerite.Player playertor = FindSimilarPlayer(player, args);
                            if (playertor == null)
                            {
                                return;
                            }
                            if (playertor.Moderator)
                            {
                                player.MessageFrom("AntiAbuse", "[color #42b3f5]You [color #f55142]Can't [color #42b3f5]Teleport to another Mods!");
                                return;
                            }
                            RecuperaListaDeClanes();
                            if (SonDeElMismoClan(player.SteamID, GetClanName(playertor.SteamID)))
                            {
                                player.MessageFrom("AntiAbuse", "[color #42b3f5]You [color #f55142]Can't [color #42b3f5]Teleport to your Clanmates!");
                                return;
                            }
                            if (!DataStore.GetInstance().ContainsKey("ModeratorLastLoc", player.UID))
                            {
                                DataStore.GetInstance().Add("ModeratorLastLoc", player.UID, player.Location.ToString());
                            }
                            player.TeleportTo(playertor, 1.5f, false);
                            player.Notice("You have Teleported to " + playertor.Name + "");
                            player.InventoryNotice("Checkpoint Saved!");
                            playertor.Notice("Admin " + player.Name + " Teleported to You!");
                            string logtext = player.Name + " Teleported To " + playertor.Name + " !LOC: " + playertor.X + " " + playertor.Y + " " + playertor.Z + " ";
                            Log(logtext, "Teleports");
                        }
                        else
                        {
                            player.MessageFrom(Name, "[color #42b3f5]You are [color #f55142]not [color #42b3f5]OnDuty!!!");
                        }
                    }
                }
                if (cmd == "mtpback")
                {
                    if (DataStore.GetInstance().ContainsKey("ModeratorLastLoc", player.UID) && !DataStore.GetInstance().ContainsKey("HGIG", player.UID))
                    {
                        var location = StringToVector3(DataStore.GetInstance().Get("ModeratorLastLoc", player.UID).ToString());
                        player.SafeTeleportTo(location, false);
                        DataStore.GetInstance().Remove("ModeratorLastLoc", player.UID);
                        player.Notice("You Teleported Back to your Checkpoint!");
                        string logtext = "Admin " + player.Name + " Teleported to his Checkpoint!";
                        Log(logtext, "Teleports");
                    }
                    else
                    {
                        player.Notice("You Don't have any save Checkpoint or You Are in HungerGame!");
                    }
                }
                if (cmd == "ann")
                {
                    if (args.Length == 0)
                    {
                        player.MessageFrom(Name, "[color #f55142]Syntax:[color #42b3f5] /ann TEXT");
                    }
                    else
                    {
                        Server.GetServer().BroadcastNotice(string.Join(" ", args));
                        string logtext = player.Name + " /ann ==> : " + string.Join(" ", args);
                        Log(logtext, "Announce");
                    }
                }
                if (cmd == "wipeshelt")
                {
                    int c = 0;
                    foreach (var x in World.GetWorld().Entities)
                    {
                        if (x.Name.ToLower().Contains("shelter"))
                        {
                            x.Destroy();
                            c++;
                        }
                    }
                    Server.GetServer().BroadcastFrom("AntiLag", "[color #42b3f5]Admin/Mod [color #f5e042]" + player.Name + " [color #42b3f5]Deleted [color red] " + c + " [color #42b3f5]Shelters");
                    string logtext = player.Name + " Deleted " + c + " Shelters";
                    Log(logtext, "Shelter");
                }
                if (cmd == "wipebar")
                {
                    int c = 0;
                    foreach (var x in World.GetWorld().Entities)
                    {
                        if (x.Name.ToLower().Contains("barricade"))
                        {
                            x.Destroy();
                            c++;
                        }
                    }
                    Server.GetServer().BroadcastFrom("AntiLag", "[color #42b3f5]Admin/Mod [color #f5e042]" + player.Name + " [color #42b3f5]Deleted [color red] " + c + " [color #42b3f5]Barricades");
                    string logtext = player.Name + " Deleted " + c + " Barricades";
                    Log(logtext, "Barricade");
                }
            }
        }