Restrict parts of code to certain ranks?

Restrict parts of code to certain ranks?

Postby Leeizazombie » 12 Jul 2013, 01:24

Hey i'm making a multi purpose command and I wana restrict some of it to a certain rank, so here is the section I want restricted:

Code: Select all
     else if (message == "controls")
            {
                Player.SendMessage(p, "&0--------------------------------------------");
                Player.SendMessage(p, "&8Break everyones neck %7- /pb 1");
                Player.SendMessage(p, "&8Spread an infection %7- /pb 2");
                Player.SendMessage(p, "&8 5 second timer %7- /pb 3");
                Player.SendMessage(p, "&8 10 second timer %7- /pb 4");
                Player.SendMessage(p, "&8 20 second timer %7- /pb 5");
                Player.SendMessage(p, "&8You can log out of the server with &f- /pb out");
                Player.SendMessage(p, "&0--------------------------------------------");

            }

            else if (message == "1")
            {
                Command.all.Find("flipheads").Use(p, message);

            }
            else if (message == "2")
            {
                Command.all.Find("infection").Use(p, message);

            }

            else if (message == "3")
            {
                Player.GlobalMessage("&cTimer started");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b5");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b4");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b3");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b2");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b1");
                Thread.Sleep(1000);
                Player.GlobalMessage("&aGO!");

            }
            else if (message == "4")
            {
                Player.GlobalMessage("&cTimer started");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b10");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b9");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b8");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b7");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b6");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b5");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b4");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b3");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b2");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b1");
                Thread.Sleep(1000);
                Player.GlobalMessage("&aGO!");

            }
            else if (message == "5")
            {
                Player.GlobalMessage("&cTimer started");
                Thread.Sleep(15000);
                Player.GlobalMessage("&c15 seconds remain!");
                Thread.Sleep(5000);
                Player.GlobalMessage("&b10");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b9");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b8");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b7");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b6");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b5");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b4");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b3");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b2");
                Thread.Sleep(1000);
                Player.GlobalMessage("&b1");
                Thread.Sleep(1000);
                Player.GlobalMessage("&aGO!");

            }
Owner of:
LeeIzaZombie Freebuild and Lava Survival V2 (Shut Down and updated)
LeeIzaZombie Survival (Comming back soon)

Contact:
Skype: leeizazombie
IRC: irc.geekshed.net, #leeizazombie, #mcclassichosting
User avatar
Leeizazombie
 
Posts: 536
Joined: 10 Jun 2013, 17:45
Location: Ireland.

Re: Restrict parts of code to certain ranks?

Postby Conor » 12 Jul 2013, 02:19

You can check a player's permission - this is what correlates to their rank.

So for example, if you want to allow operators to see it, you would do this.

Code: Select all
if (p.group.Permission >= LevelPermission.Operator)
{
   Player.SendMessage(p, "You're op+ and can see this message.");
}


You could also use a specific rank on your server by doing the following.
(Change the 'rankName' variable to the rank you want)

Code: Select all
string rankName = "controller";
if (p.group.Permission >= Group.Find(rankName).Permission)
{
   Player.SendMessage(p, "You're above the specified rank.");
}
Conor (Conanza121)
User avatar
Conor
Coder
 
Posts: 390
Joined: 10 Oct 2012, 21:36
Location: @21Conor

Re: Restrict parts of code to certain ranks?

Postby Leeizazombie » 12 Jul 2013, 02:30

Thanks!! This helps so much! :D
Owner of:
LeeIzaZombie Freebuild and Lava Survival V2 (Shut Down and updated)
LeeIzaZombie Survival (Comming back soon)

Contact:
Skype: leeizazombie
IRC: irc.geekshed.net, #leeizazombie, #mcclassichosting
User avatar
Leeizazombie
 
Posts: 536
Joined: 10 Jun 2013, 17:45
Location: Ireland.

Re: Restrict parts of code to certain ranks?

Postby Conor » 12 Jul 2013, 02:42

Leeizazombie wrote:Thanks!! This helps so much! :D


Anytime :)
Conor (Conanza121)
User avatar
Conor
Coder
 
Posts: 390
Joined: 10 Oct 2012, 21:36
Location: @21Conor

Re: Restrict parts of code to certain ranks?

Postby Leeizazombie » 12 Jul 2013, 02:52

So I tried this:
Code: Select all
   else if (message == "controls")
            {
                Player.SendMessage(p, "&0--------------------------------------------");
                Player.SendMessage(p, "&8Break everyones neck %7- /pb 1");
                Player.SendMessage(p, "&8Spread an infection %7- /pb 2");
                Player.SendMessage(p, "&8 5 second timer %7- /pb 3");
                Player.SendMessage(p, "&8 10 second timer %7- /pb 4");
                Player.SendMessage(p, "&8 20 second timer %7- /pb 5");
                Player.SendMessage(p, "&8You can log out of the server with &f- /pb out");
                Player.SendMessage(p, "&0--------------------------------------------");

            }

            else if (message == "1" + (p.group.Permission >= LevelPermission.Operator))
            {
                Command.all.Find("flipheads").Use(p, message);

            }
            else if (message == "2" + (p.group.Permission >= LevelPermission.Operator))
            {
                Command.all.Find("infection").Use(p, message);

            }

But those two commands wont load, even with op+
Owner of:
LeeIzaZombie Freebuild and Lava Survival V2 (Shut Down and updated)
LeeIzaZombie Survival (Comming back soon)

Contact:
Skype: leeizazombie
IRC: irc.geekshed.net, #leeizazombie, #mcclassichosting
User avatar
Leeizazombie
 
Posts: 536
Joined: 10 Jun 2013, 17:45
Location: Ireland.

Re: Restrict parts of code to certain ranks?

Postby Conor » 12 Jul 2013, 02:56

In an if statement, you must use specific conditional operators. You cannot use a '+' symbol to represent 'and' in an if statement. The correct operator you use for 'and' is '&&'. So replace your '+' with '&&' and it should work correctly.

Another operator you may wish to learn for future reference is 'or' - which is used as '||' in the if statement.
Conor (Conanza121)
User avatar
Conor
Coder
 
Posts: 390
Joined: 10 Oct 2012, 21:36
Location: @21Conor

Re: Restrict parts of code to certain ranks?

Postby Leeizazombie » 12 Jul 2013, 03:03

ohh i've seen the || before, I never knew what it means, thanks so much :D i'm learning alot!
Owner of:
LeeIzaZombie Freebuild and Lava Survival V2 (Shut Down and updated)
LeeIzaZombie Survival (Comming back soon)

Contact:
Skype: leeizazombie
IRC: irc.geekshed.net, #leeizazombie, #mcclassichosting
User avatar
Leeizazombie
 
Posts: 536
Joined: 10 Jun 2013, 17:45
Location: Ireland.


Return to Help in Coding

Who is online

Users browsing this forum: No registered users and 1 guest

cron