Ejemplo n.º 1
0
 void Player_PlayerCommand(string cmd, Player p, string message)
 {
     if (started)
     {
         if (cmd == "teamchat" && p.level == mainlevel)
         {
             if (GetPlayer(p) != null)
             {
                 Data d = GetPlayer(p);
                 if (d.chatting)
                 {
                     Player.SendMessage(d.p, "You are no longer chatting with your team!");
                     d.chatting = !d.chatting;
                 }
                 else
                 {
                     Player.SendMessage(d.p, "You are now chatting with your team!");
                     d.chatting = !d.chatting;
                 }
                 Plugin.CancelPlayerEvent(PlayerEvents.PlayerCommand, p);
             }
         }
         if (cmd == "goto")
         {
             if (message == "ctf" && p.level != mainlevel)
             {
                 if (blueteam.members.Count > redteam.members.Count)
                 {
                     if (GetPlayer(p) == null)
                     {
                         cache.Add(new Data(false, p));
                     }
                     else
                     {
                         GetPlayer(p).hasflag = false;
                         GetPlayer(p).blue    = false;
                     }
                     redteam.Add(p);
                     Player.GlobalMessageLevel(mainlevel, p.color + p.name + " " + c.Parse("red") + "joined the RED Team");
                     Player.SendMessage(p, c.Parse("red") + "You are now on the red team!");
                 }
                 else if (redteam.members.Count > blueteam.members.Count)
                 {
                     if (GetPlayer(p) == null)
                     {
                         cache.Add(new Data(true, p));
                     }
                     else
                     {
                         GetPlayer(p).hasflag = false;
                         GetPlayer(p).blue    = true;
                     }
                     blueteam.Add(p);
                     Player.GlobalMessageLevel(mainlevel, p.color + p.name + " " + c.Parse("blue") + "joined the BLUE Team");
                     Player.SendMessage(p, c.Parse("blue") + "You are now on the blue team!");
                 }
                 else if (new Random().Next(2) == 0)
                 {
                     if (GetPlayer(p) == null)
                     {
                         cache.Add(new Data(false, p));
                     }
                     else
                     {
                         GetPlayer(p).hasflag = false;
                         GetPlayer(p).blue    = false;
                     }
                     redteam.Add(p);
                     Player.GlobalMessageLevel(mainlevel, p.color + p.name + " " + c.Parse("red") + "joined the RED Team");
                     Player.SendMessage(p, c.Parse("red") + "You are now on the red team!");
                 }
                 else
                 {
                     if (GetPlayer(p) == null)
                     {
                         cache.Add(new Data(true, p));
                     }
                     else
                     {
                         GetPlayer(p).hasflag = false;
                         GetPlayer(p).blue    = true;
                     }
                     blueteam.Add(p);
                     Player.GlobalMessageLevel(mainlevel, p.color + p.name + " " + c.Parse("blue") + "joined the BLUE Team");
                     Player.SendMessage(p, c.Parse("blue") + "You are now on the blue team!");
                 }
             }
             else if (message != "ctf" && p.level == mainlevel)
             {
                 if (blueteam.members.Contains(p))
                 {
                     //cache.Remove(GetPlayer(p));
                     blueteam.members.Remove(p);
                     Player.GlobalMessageLevel(mainlevel, p.color + p.name + " " + blueteam.color + "left the ctf game");
                 }
                 else if (redteam.members.Contains(p))
                 {
                     //cache.Remove(GetPlayer(p));
                     redteam.members.Remove(p);
                     Player.GlobalMessageLevel(mainlevel, p.color + p.name + " " + redteam.color + "left the ctf game");
                 }
             }
         }
     }
 }
Ejemplo n.º 2
0
 void Player_PlayerChat(Player p, string message)
 {
     if (voting)
     {
         if (message == "1" || message.ToLower() == map1)
         {
             Player.SendMessage(p, "Thanks for voting :D");
             vote1++;
             Plugin.CancelPlayerEvent(PlayerEvents.PlayerChat, p);
         }
         else if (message == "2" || message.ToLower() == map2)
         {
             Player.SendMessage(p, "Thanks for voting :D");
             vote2++;
             Plugin.CancelPlayerEvent(PlayerEvents.PlayerChat, p);
         }
         else if (message == "3" || message.ToLower() == map3)
         {
             Player.SendMessage(p, "Thanks for voting :D");
             vote3++;
             Plugin.CancelPlayerEvent(PlayerEvents.PlayerChat, p);
         }
         else
         {
             Player.SendMessage(p, "%2VOTE:");
             Player.SendMessage(p, "1. " + map1 + " 2. " + map2 + " 3. " + map3);
             Plugin.CancelPlayerEvent(PlayerEvents.PlayerChat, p);
         }
     }
     if (started)
     {
         if (p.level == mainlevel)
         {
             if (GetPlayer(p).chatting)
             {
                 if (blueteam.members.Contains(p))
                 {
                     Player.players.ForEach(delegate(Player p1)
                     {
                         if (blueteam.members.Contains(p1))
                         {
                             Player.SendMessage(p1, "(Blue) " + p.color + p.name + ":&f " + message);
                         }
                     });
                     Plugin.CancelPlayerEvent(PlayerEvents.PlayerChat, p);
                 }
                 if (redteam.members.Contains(p))
                 {
                     Player.players.ForEach(delegate(Player p1)
                     {
                         if (redteam.members.Contains(p1))
                         {
                             Player.SendMessage(p1, "(Red) " + p.color + p.name + ":&f " + message);
                         }
                     });
                     Plugin.CancelPlayerEvent(PlayerEvents.PlayerChat, p);
                 }
             }
         }
     }
 }
Ejemplo n.º 3
0
 void Player_PlayerBlockChange(Player p, ushort x, ushort y, ushort z, byte type)
 {
     if (started)
     {
         if (p.level == mainlevel && !blueteam.members.Contains(p) && !redteam.members.Contains(p))
         {
             p.SendBlockchange(x, y, z, p.level.GetTile(x, y, z));
             Player.SendMessage(p, "You are not on a team!");
             Plugin.CancelPlayerEvent(PlayerEvents.BlockChange, p);
         }
         if (p.level == mainlevel && blueteam.members.Contains(p) && x == redbase.x && y == redbase.y && z == redbase.z && mainlevel.GetTile(redbase.x, redbase.y, redbase.z) != Block.air)
         {
             Player.GlobalMessageLevel(mainlevel, blueteam.color + p.name + " took the " + redteam.color + " red team's FLAG!");
             GetPlayer(p).hasflag = true;
         }
         if (p.level == mainlevel && redteam.members.Contains(p) && x == bluebase.x && y == bluebase.y && z == bluebase.z && mainlevel.GetTile(bluebase.x, bluebase.y, bluebase.z) != Block.air)
         {
             Player.GlobalMessageLevel(mainlevel, redteam.color + p.name + " took the " + blueteam.color + " blue team's FLAG");
             GetPlayer(p).hasflag = true;
         }
         if (p.level == mainlevel && blueteam.members.Contains(p) && x == bluebase.x && y == bluebase.y && z == bluebase.z && mainlevel.GetTile(bluebase.x, bluebase.y, bluebase.z) != Block.air)
         {
             if (GetPlayer(p).hasflag)
             {
                 Player.GlobalMessageLevel(mainlevel, blueteam.color + p.name + " RETURNED THE FLAG!");
                 GetPlayer(p).hasflag = false;
                 GetPlayer(p).cap++;
                 GetPlayer(p).points += cappoint;
                 blueteam.points++;
                 mainlevel.Blockchange(redbase.x, redbase.y, redbase.z, Block.red);
                 p.SendBlockchange(x, y, z, p.level.GetTile(x, y, z));
                 Plugin.CancelPlayerEvent(PlayerEvents.BlockChange, p);
                 if (blueteam.points >= maxpoints)
                 {
                     End();
                     return;
                 }
             }
             else
             {
                 Player.SendMessage(p, "You cant take your own flag!");
                 p.SendBlockchange(x, y, z, p.level.GetTile(x, y, z));
                 Plugin.CancelPlayerEvent(PlayerEvents.BlockChange, p);
             }
         }
         if (p.level == mainlevel && redteam.members.Contains(p) && x == redbase.x && y == redbase.y && z == redbase.z && mainlevel.GetTile(redbase.x, redbase.y, redbase.z) != Block.air)
         {
             if (GetPlayer(p).hasflag)
             {
                 Player.GlobalMessageLevel(mainlevel, redteam.color + p.name + " RETURNED THE FLAG!");
                 GetPlayer(p).hasflag = false;
                 GetPlayer(p).points += cappoint;
                 GetPlayer(p).cap++;
                 redteam.points++;
                 mainlevel.Blockchange(bluebase.x, bluebase.y, bluebase.z, Block.blue);
                 p.SendBlockchange(x, y, z, p.level.GetTile(x, y, z));
                 Plugin.CancelPlayerEvent(PlayerEvents.BlockChange, p);
                 if (redteam.points >= maxpoints)
                 {
                     End();
                     return;
                 }
             }
             else
             {
                 Player.SendMessage(p, "You cant take your own flag!");
                 p.SendBlockchange(x, y, z, p.level.GetTile(x, y, z));
                 Plugin.CancelPlayerEvent(PlayerEvents.BlockChange, p);
             }
         }
     }
 }