예제 #1
0
 public void Use(Player p, string[] args)
 {
     Level tempLevel = Level.FindLevel(args[0]);
     if (tempLevel != null)
     {
         if (tempLevel.visit != null && tempLevel.visit.Permission < p.Group.Permission) {
             p.SendMessage("You dont have permission to go to this level");
             return;
         }
         #region Send and Spawn
         p.GlobalDie();
         p.IsLoading = true;
         p.Level = tempLevel;
         short x = (short)((0.5 + tempLevel.CWMap.SpawnPos.x) * 32);
         short y = (short)((1 + tempLevel.CWMap.SpawnPos.y) * 32);
         short z = (short)((0.5 + tempLevel.CWMap.SpawnPos.z) * 32);
         p.Pos = new Vector3S(x, z, y);
         p.Rot = tempLevel.CWMap.SpawnRotation;
         p.oldPos = p.Pos;
         p.oldRot = p.Rot;
         p.SendSpawn(p);
         p.IsLoading = false;
         p.SpawnOtherPlayersForThisPlayer();
         p.SpawnThisPlayerToOtherPlayers();
         p.SpawnBotsForThisPlayer();
         #endregion
         Player.UniversalChat(p.Username + " went to " + args[0] + "!");
     }
     else
     {
         p.SendMessage("This level does not exist!");
     }
 }
예제 #2
0
        public void Use(Player p, string[] args)
        {
            ExtraPlayerData temp = ZombiePlugin.ZombiePlugin.FindPlayer(p);
            temp.Referee = !temp.Referee;
            if (temp.Referee)
                temp.DateTimeAtStartOfRef = DateTime.Now.Ticks;
            p.SendMessage("Referee mode is now " + temp.Referee.ToString().Replace("True", "on!").Replace("False", "off!"));
            if (!p.IsHidden)
                p.GlobalDie();

            p.IsHidden = !p.IsHidden;

            if (!p.IsHidden)
                p.SpawnThisPlayerToOtherPlayers();
            ZombieHelper.SendUserType(temp);
        }
예제 #3
0
        public void Use(MCForge.Entity.Player p, string[] args)
        {
            if (p.GetType() == typeof(ConsolePlayer))
            {
                p.SendMessage("This can only be used in game");
                return;
            }

            if (args.Length < 1)
            {
                if (p.ExtraData.ContainsKey("FollowData"))
                {
                    p.ExtraData.Remove("FollowData");
                    p.SendMessage("Stopped Following");
                    p.IsHidden = !p.IsHidden;
                    if (!p.IsHidden)
                    {
                        p.SpawnThisPlayerToOtherPlayers();
                    }
                    return;
                }
                Help(p);
                return;
            }
            var who = Player.Find(args[0]);

            if (who == null || who.GetType() == typeof(ConsolePlayer))
            {
                p.SendMessage("The player you want to follow doesn't exist");
                return;
            }

            p.SendMessage("You are now following " + who.Color + who.Username);
            p.ExtraData.ChangeOrCreate <object, object>("FollowData", who.Username);
            p.GlobalDie();
            p.IsHidden = !p.IsHidden;
            if (!p.IsHidden)
            {
                p.SpawnThisPlayerToOtherPlayers();
            }
            who.OnPlayerMove.Normal += new MCForge.API.Events.Event <Player, MCForge.API.Events.MoveEventArgs> .EventHandler(OnPlayerMove);
        }
예제 #4
0
        public void Use(Player p, string[] args)
        {
            if (!ZombiePlugin.ZombiePlugin.ZombieRoundEnabled)
            {
                p.SendMessage("You cannot use this right now!");
                return;
            }
            ExtraPlayerData P = ZombiePlugin.ZombiePlugin.FindPlayer(p);
            p.SendMessage(Colors.red + "-----------------" + Server.DefaultColor + "Zombie Store" + Colors.red + "---------------");
            if (args.Length < 1)
            {
                Help(p);
                p.SendMessage(Colors.red + "-----------------" + Server.DefaultColor + "Zombie Store" + Colors.red + "---------------");
                return;
            }

            if (args[0] == "1")
            {
                if ((ZombiePlugin.ZombiePlugin.ZombieRoundEnabled || ZombiePlugin.ZombiePlugin.AmountInfected() > 1 || ZombiePlugin.ZombiePlugin.AmountOfMinutesElapsed - 1 > 8) && P.Infected)
                {
                    if (p.Money >= 25)
                    {
                        ZombieHelper.TakeMoney(p, 25);
                        ZombieHelper.DisinfectPlayer(P);
                    }
                    else
                    {
                        p.SendMessage("You do not have enough money for this!");
                    }
                }
                else
                {
                    p.SendMessage("You can not use this right now!");
                }
            }
            else if (args[0] == "2")
            {
                int message12 = 5;
                try
                {
                    message12 = int.Parse(args[1]);
                }
                catch {}
                if (p.Money >= (Math.Round(0.2 * message12)))
                {
                    if (message12 < 5)
                        message12 = 5;
                    P.AmountOfBlocksLeft += message12;
                    p.Money = p.Money - (Convert.ToInt32(Math.Round(0.2 * message12)));
                    p.SendMessage("You now have " + Colors.maroon + P.AmountOfBlocksLeft + Server.DefaultColor + " blocks!");
                }
                else
                {
                    p.SendMessage("You do not have enough " + Server.Moneys);
                }
            }
            else if (args[0] == "3")
            {
                if(P.Infected)
                {
                    p.SendMessage("&9Zombies may not use this item..");
                    return;
                }
                p.IsHidden = true;
                p.GlobalDie();
                Player.UniversalChat(p.Color + p.Username + "&ahas &0vanished!");
                Thread.Sleep(10000);
                Player.UniversalChat(p.Color + p.Username + "&ahas &0appeared");
                p.IsHidden = false;
                p.SpawnThisPlayerToOtherPlayers();
            }
            else if (args[0] == "4")
            {
                if (args.Length >= 2)
                {
                    if (args[1] == "del")
                    {
                        p.ExtraData.ChangeOrCreate("InfectMessage", "");
                        p.ExtraData.Save(p, "InfectMessage");
                        p.SendMessage("Cleared infect message!");
                    }
                    else if (p.Money >= 400)
                    {
                        var strs = new List<string>(args);
                        strs.RemoveAt(0);
                        ZombieHelper.TakeMoney(p, 400);
                        p.ExtraData.ChangeOrCreate("InfectMessage", String.Join(" ", strs.ToArray()));
                        p.ExtraData.Save(p, "InfectMessage");
                        p.SendMessage("Changed infect message to " + String.Join(" ", strs.ToArray()) + "!");
                    }
                    else
                    {
                        p.SendMessage("You do not have enough money for this!");
                    }
                }
                else
                {
                    Help(p);
                }
            }
            else if (args[0] == "5")
            {
                if (args.Length >= 2)
                {
                    if (args[1] == "del")
                    {
                        p.ExtraData.ChangeOrCreate("DisinfectMessage", "");
                        p.ExtraData.Save(p, "DisinfectMessage");
                        p.SendMessage("Cleared disinfect message!");
                    }
                    else if (p.Money >= 400)
                    {
                        var strs = new List<string>(args);
                        strs.RemoveAt(0);
                        ZombieHelper.TakeMoney(p, 400);
                        p.ExtraData.ChangeOrCreate("DisinfectMessage", String.Join(" ", strs.ToArray()));
                        p.ExtraData.Save(p, "DisinfectMessage");
                        p.SendMessage("Changed disinfect message to " + String.Join(" ", strs.ToArray()) + "!");
                    }
                    else
                    {
                        p.SendMessage("You do not have enough money for this!");
                    }
                }
                else
                {
                    Help(p);
                }
            }

            p.SendMessage(Colors.red + "-----------------" + Server.DefaultColor + "Zombie Store" + Colors.red + "---------------");
        }