Advertisement
Guest User

Untitled

a guest
May 28th, 2015
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 45.26 KB | None | 0 0
  1.         public void Permission(CommandInfo cmd)
  2.         {
  3.             string lower;
  4.             Dictionary<string, int> strs;
  5.             int num;
  6.             string str;
  7.             int num1;
  8.             Player player = cmd.Player;
  9.             Permission permissions = Server.Permissions;
  10.             if (Player.IsLocalClient)
  11.             {
  12.                 return;
  13.             }
  14.             string[] args = cmd.Args;
  15.             if ((int)args.Length == 1)
  16.             {
  17.                 lower = args[0].ToLower();
  18.                 if (lower != null)
  19.                 {
  20.                     if (CoreCommandHandler.<>f__switch$map7 == null)
  21.                     {
  22.                         strs = new Dictionary<string, int>(3)
  23.                         {
  24.                             { "reload", 0 },
  25.                             { "users", 1 },
  26.                             { "groups", 2 }
  27.                         };
  28.                         CoreCommandHandler.<>f__switch$map7 = strs;
  29.                     }
  30.                     if (CoreCommandHandler.<>f__switch$map7.TryGetValue(lower, out num))
  31.                     {
  32.                         switch (num)
  33.                         {
  34.                             case 0:
  35.                             {
  36.                                 if (!permissions.Load())
  37.                                 {
  38.                                     player.SendError("Unable to load the permission config. Was not reloaded.");
  39.                                     return;
  40.                                 }
  41.                                 player.SendMessage("Permissions reloaded.");
  42.                                 break;
  43.                             }
  44.                             case 1:
  45.                             {
  46.                                 StringBuilder stringBuilder = new StringBuilder();
  47.                                 stringBuilder.AppendLine("Users:");
  48.                                 List<PermissionUser> users = permissions.GetUsers();
  49.                                 int count = users.Count - 1;
  50.                                 for (int i = 0; i < users.Count; i++)
  51.                                 {
  52.                                     PermissionUser item = users[i];
  53.                                     if (item.Name.Length > 0)
  54.                                     {
  55.                                         stringBuilder.AppendFormat("[555555]{0}[-]", item.Name);
  56.                                         if (i < count)
  57.                                         {
  58.                                             stringBuilder.Append(", ");
  59.                                         }
  60.                                         if (i + 1 == 0)
  61.                                         {
  62.                                             stringBuilder.AppendLine();
  63.                                         }
  64.                                     }
  65.                                 }
  66.                                 if (users.Count <= 0)
  67.                                 {
  68.                                     player.SendError("No users are defined.");
  69.                                 }
  70.                                 else
  71.                                 {
  72.                                     player.SendMessage(stringBuilder.ToString());
  73.                                 }
  74.                                 break;
  75.                             }
  76.                             case 2:
  77.                             {
  78.                                 StringBuilder stringBuilder1 = new StringBuilder();
  79.                                 stringBuilder1.AppendLine("Groups:");
  80.                                 List<PermissionGroup> groups = permissions.GetGroups();
  81.                                 int count1 = groups.Count - 1;
  82.                                 for (int j = 0; j < groups.Count; j++)
  83.                                 {
  84.                                     PermissionGroup permissionGroup = groups[j];
  85.                                     if (permissionGroup.Name.Length > 0)
  86.                                     {
  87.                                         stringBuilder1.AppendFormat("[555555]{0}[-]", permissionGroup.Name);
  88.                                         if (j < count1)
  89.                                         {
  90.                                             stringBuilder1.Append(", ");
  91.                                         }
  92.                                         if (j == 0)
  93.                                         {
  94.                                             stringBuilder1.AppendLine();
  95.                                         }
  96.                                     }
  97.                                 }
  98.                                 if (groups.Count <= 0)
  99.                                 {
  100.                                     player.SendError("No groups are defined.");
  101.                                 }
  102.                                 else
  103.                                 {
  104.                                     player.SendMessage(stringBuilder1.ToString());
  105.                                 }
  106.                                 break;
  107.                             }
  108.                         }
  109.                     }
  110.                 }
  111.             }
  112.             else if ((int)args.Length == 2)
  113.             {
  114.                 lower = args[0].ToLower();
  115.                 if (lower != null)
  116.                 {
  117.                     if (CoreCommandHandler.<>f__switch$map8 == null)
  118.                     {
  119.                         strs = new Dictionary<string, int>(2)
  120.                         {
  121.                             { "user", 0 },
  122.                             { "group", 1 }
  123.                         };
  124.                         CoreCommandHandler.<>f__switch$map8 = strs;
  125.                     }
  126.                     if (CoreCommandHandler.<>f__switch$map8.TryGetValue(lower, out num))
  127.                     {
  128.                         if (num == 0)
  129.                         {
  130.                             string str1 = args[1];
  131.                             int num2 = 0;
  132.                             string str2 = string.Concat(str1, "'s Permissions:\n");
  133.                             PermissionUser user = permissions.GetUser(str1);
  134.                             if (user == null)
  135.                             {
  136.                                 player.SendError(string.Concat("'", str1, "' does not exist."));
  137.                             }
  138.                             else
  139.                             {
  140.                                 List<string> permissions1 = user.GetPermissions();
  141.                                 for (int k = 0; k < permissions1.Count; k++)
  142.                                 {
  143.                                     str2 = string.Concat(str2, "- '[555555]", permissions1[k], "[-]'\n");
  144.                                     num2++;
  145.                                 }
  146.                                 if (num2 <= 0)
  147.                                 {
  148.                                     player.SendError(string.Concat("'", str1, "' does not have permissions."));
  149.                                 }
  150.                                 else
  151.                                 {
  152.                                     str2 = str2.Trim(new char[] { '\n' });
  153.                                     player.SendMessage(str2);
  154.                                 }
  155.                             }
  156.                         }
  157.                         else if (num == 1)
  158.                         {
  159.                             string str3 = args[1];
  160.                             int num3 = 0;
  161.                             string str4 = string.Concat(str3, "'s Permissions:\n");
  162.                             PermissionGroup group = permissions.GetGroup(str3);
  163.                             if (group == null)
  164.                             {
  165.                                 player.SendError(string.Concat("'", str3, "' does not exist."));
  166.                             }
  167.                             else
  168.                             {
  169.                                 List<string> strs1 = group.GetPermissions(true);
  170.                                 for (int l = 0; l < strs1.Count; l++)
  171.                                 {
  172.                                     str4 = string.Concat(str4, "- '[555555]", strs1[l], "[-]'\n");
  173.                                     num3++;
  174.                                 }
  175.                                 if (num3 <= 0)
  176.                                 {
  177.                                     player.SendError(string.Concat("'", str3, "' has no permissions."));
  178.                                 }
  179.                                 else
  180.                                 {
  181.                                     str4 = str4.Trim(new char[] { '\n' });
  182.                                     player.SendMessage(str4);
  183.                                 }
  184.                             }
  185.                         }
  186.                     }
  187.                 }
  188.             }
  189.             else if ((int)args.Length == 3)
  190.             {
  191.                 lower = args[0].ToLower();
  192.                 if (lower != null)
  193.                 {
  194.                     if (CoreCommandHandler.<>f__switch$mapB == null)
  195.                     {
  196.                         strs = new Dictionary<string, int>(2)
  197.                         {
  198.                             { "user", 0 },
  199.                             { "group", 1 }
  200.                         };
  201.                         CoreCommandHandler.<>f__switch$mapB = strs;
  202.                     }
  203.                     if (CoreCommandHandler.<>f__switch$mapB.TryGetValue(lower, out num))
  204.                     {
  205.                         if (num == 0)
  206.                         {
  207.                             str = args[2].ToLower();
  208.                             if (str != null)
  209.                             {
  210.                                 if (CoreCommandHandler.<>f__switch$map9 == null)
  211.                                 {
  212.                                     strs = new Dictionary<string, int>(2)
  213.                                     {
  214.                                         { "add", 0 },
  215.                                         { "remove", 1 }
  216.                                     };
  217.                                     CoreCommandHandler.<>f__switch$map9 = strs;
  218.                                 }
  219.                                 if (CoreCommandHandler.<>f__switch$map9.TryGetValue(str, out num1))
  220.                                 {
  221.                                     if (num1 == 0)
  222.                                     {
  223.                                         string str5 = args[1];
  224.                                         if (!permissions.AddUser(str5))
  225.                                         {
  226.                                             player.SendError("Unable to add user. Does it already exist?");
  227.                                             return;
  228.                                         }
  229.                                         permissions.Save();
  230.                                         player.SendMessage(string.Concat("'", str5, "' has been added."));
  231.                                     }
  232.                                     else if (num1 == 1)
  233.                                     {
  234.                                         string str6 = args[1];
  235.                                         if (!permissions.RemoveUser(str6))
  236.                                         {
  237.                                             player.SendError("Unable to remove user. Does it even exist?");
  238.                                             return;
  239.                                         }
  240.                                         permissions.Save();
  241.                                         player.SendMessage(string.Concat("'", str6, "' has been removed."));
  242.                                     }
  243.                                 }
  244.                             }
  245.                         }
  246.                         else if (num == 1)
  247.                         {
  248.                             str = args[2].ToLower();
  249.                             if (str != null)
  250.                             {
  251.                                 if (CoreCommandHandler.<>f__switch$mapA == null)
  252.                                 {
  253.                                     strs = new Dictionary<string, int>(3)
  254.                                     {
  255.                                         { "add", 0 },
  256.                                         { "remove", 1 },
  257.                                         { "makedefault", 2 }
  258.                                     };
  259.                                     CoreCommandHandler.<>f__switch$mapA = strs;
  260.                                 }
  261.                                 if (CoreCommandHandler.<>f__switch$mapA.TryGetValue(str, out num1))
  262.                                 {
  263.                                     switch (num1)
  264.                                     {
  265.                                         case 0:
  266.                                         {
  267.                                             string str7 = args[1];
  268.                                             if (!permissions.AddGroup(str7, false))
  269.                                             {
  270.                                                 player.SendError("Unable to add group. Does it already exist?");
  271.                                                 return;
  272.                                             }
  273.                                             permissions.Save();
  274.                                             player.SendMessage(string.Concat("'", str7, "' has been added."));
  275.                                             break;
  276.                                         }
  277.                                         case 1:
  278.                                         {
  279.                                             string str8 = args[1];
  280.                                             if (!permissions.RemoveGroup(str8))
  281.                                             {
  282.                                                 player.SendError("Unable to remove group. Does it even exist?");
  283.                                                 return;
  284.                                             }
  285.                                             permissions.Save();
  286.                                             player.SendMessage("'{0}' has been removed.", new object[] { str8 });
  287.                                             break;
  288.                                         }
  289.                                         case 2:
  290.                                         {
  291.                                             string str9 = args[1];
  292.                                             if (args[1].IsNullEmptyOrWhite() || permissions.GetGroup(str9) == null)
  293.                                             {
  294.                                                 PlayerExtensions.SendError(player, "'{0}' is not a group.", new object[] { args[1] });
  295.                                                 return;
  296.                                             }
  297.                                             if (permissions.DefaultGroup.Name.EqualsIgnoreCase(args[1]))
  298.                                             {
  299.                                                 PlayerExtensions.SendError(player, "{0} is already the default group.", new object[] { permissions.DefaultGroup.Name });
  300.                                                 return;
  301.                                             }
  302.                                             if (!permissions.SetDefaultGroup(str9))
  303.                                             {
  304.                                                 PlayerExtensions.SendError(player, "Could not make '{0}' the default group.", new object[] { args[1] });
  305.                                                 return;
  306.                                             }
  307.                                             permissions.Save();
  308.                                             Server.UpdatePlayerData();
  309.                                             player.SendMessage("'{0}' is now the default group.");
  310.                                             break;
  311.                                         }
  312.                                     }
  313.                                 }
  314.                             }
  315.                         }
  316.                     }
  317.                 }
  318.             }
  319.             else if ((int)args.Length >= 4)
  320.             {
  321.                 lower = args[0].ToLower();
  322.                 if (lower != null)
  323.                 {
  324.                     if (CoreCommandHandler.<>f__switch$mapE == null)
  325.                     {
  326.                         strs = new Dictionary<string, int>(2)
  327.                         {
  328.                             { "user", 0 },
  329.                             { "group", 1 }
  330.                         };
  331.                         CoreCommandHandler.<>f__switch$mapE = strs;
  332.                     }
  333.                     if (CoreCommandHandler.<>f__switch$mapE.TryGetValue(lower, out num))
  334.                     {
  335.                         if (num == 0)
  336.                         {
  337.                             str = args[2];
  338.                             if (str != null)
  339.                             {
  340.                                 if (CoreCommandHandler.<>f__switch$mapC == null)
  341.                                 {
  342.                                     strs = new Dictionary<string, int>(7)
  343.                                     {
  344.                                         { "add", 0 },
  345.                                         { "remove", 1 },
  346.                                         { "addgroup", 2 },
  347.                                         { "removegroup", 3 },
  348.                                         { "setprimary", 4 },
  349.                                         { "chatformat", 5 },
  350.                                         { "nameformat", 6 }
  351.                                     };
  352.                                     CoreCommandHandler.<>f__switch$mapC = strs;
  353.                                 }
  354.                                 if (CoreCommandHandler.<>f__switch$mapC.TryGetValue(str, out num1))
  355.                                 {
  356.                                     switch (num1)
  357.                                     {
  358.                                         case 0:
  359.                                         {
  360.                                             string str10 = args[1];
  361.                                             string str11 = args[3];
  362.                                             bool flag = permissions.AddUser(str10);
  363.                                             if (!permissions.GetUser(str10).AddPermission(str11))
  364.                                             {
  365.                                                 if (flag)
  366.                                                 {
  367.                                                     permissions.RemoveUser(str10);
  368.                                                 }
  369.                                                 player.SendError(string.Concat(new string[] { "Could not add '", str11, "' for ", str10, "." }));
  370.                                                 return;
  371.                                             }
  372.                                             permissions.Save();
  373.                                             Player playerByName = Server.GetPlayerByName(str10);
  374.                                             if (playerByName != null)
  375.                                             {
  376.                                                 Server.UpdatePlayerData(playerByName);
  377.                                             }
  378.                                             player.SendMessage(string.Concat(new string[] { "'", str11, "' added to ", str10, "'s permissions." }));
  379.                                             break;
  380.                                         }
  381.                                         case 1:
  382.                                         {
  383.                                             string str12 = args[1];
  384.                                             string str13 = args[3];
  385.                                             bool flag1 = permissions.AddUser(str12);
  386.                                             if (!permissions.GetUser(str12).RemovePermission(str13))
  387.                                             {
  388.                                                 if (flag1)
  389.                                                 {
  390.                                                     permissions.RemoveUser(str12);
  391.                                                 }
  392.                                                 player.SendError(string.Concat(new string[] { "Could not remove '", str13, "' for ", str12, ". Did it even exist?" }));
  393.                                                 return;
  394.                                             }
  395.                                             permissions.Save();
  396.                                             Player playerByName1 = Server.GetPlayerByName(str12);
  397.                                             if (playerByName1 != null)
  398.                                             {
  399.                                                 Server.UpdatePlayerData(playerByName1);
  400.                                             }
  401.                                             player.SendMessage(string.Concat(new string[] { "'", str13, "' removed from ", str12, "'s permissions." }));
  402.                                             break;
  403.                                         }
  404.                                         case 2:
  405.                                         {
  406.                                             string str14 = args[1];
  407.                                             string str15 = args[3];
  408.                                             PermissionGroup group1 = permissions.GetGroup(str15);
  409.                                             if (group1 == null)
  410.                                             {
  411.                                                 PlayerExtensions.SendError(player, "The {0} group does not exist.", new object[] { str15 });
  412.                                                 return;
  413.                                             }
  414.                                             bool flag2 = permissions.AddUser(str14);
  415.                                             if (!permissions.GetUser(str14).AddGroup(group1))
  416.                                             {
  417.                                                 if (flag2)
  418.                                                 {
  419.                                                     permissions.RemoveUser(str14);
  420.                                                 }
  421.                                                 player.SendError(string.Concat(new string[] { "Could not add ", str14, " to ", str15, ". Does it even exist?" }));
  422.                                                 return;
  423.                                             }
  424.                                             permissions.Save();
  425.                                             Player player1 = Server.GetPlayerByName(str14);
  426.                                             if (player1 != null)
  427.                                             {
  428.                                                 Server.UpdatePlayerData(player1);
  429.                                             }
  430.                                             player.SendMessage(string.Concat(new string[] { "'", str14, "' has been added to '", str15, "'." }));
  431.                                             break;
  432.                                         }
  433.                                         case 3:
  434.                                         {
  435.                                             string str16 = args[1];
  436.                                             string str17 = args[3];
  437.                                             PermissionGroup permissionGroup1 = permissions.GetGroup(str17);
  438.                                             if (permissionGroup1 == null)
  439.                                             {
  440.                                                 PlayerExtensions.SendError(player, "The {0} group does not exist.", new object[] { str17 });
  441.                                                 return;
  442.                                             }
  443.                                             bool flag3 = permissions.AddUser(str16);
  444.                                             if (!permissions.GetUser(str16).RemoveGroup(permissionGroup1.Name))
  445.                                             {
  446.                                                 if (flag3)
  447.                                                 {
  448.                                                     permissions.RemoveUser(str16);
  449.                                                 }
  450.                                                 player.SendError(string.Concat(new string[] { "Could not remove ", str16, " from ", str17, ". Does it even exist?" }));
  451.                                                 return;
  452.                                             }
  453.                                             permissions.Save();
  454.                                             Player playerByName2 = Server.GetPlayerByName(str16);
  455.                                             if (playerByName2 != null)
  456.                                             {
  457.                                                 Server.UpdatePlayerData(playerByName2);
  458.                                             }
  459.                                             player.SendMessage(string.Concat(new string[] { "'", str16, "' has been removed from '", str17, "'." }));
  460.                                             break;
  461.                                         }
  462.                                         case 4:
  463.                                         {
  464.                                             string str18 = args[1];
  465.                                             string str19 = args[3];
  466.                                             bool flag4 = permissions.AddUser(str18);
  467.                                             PermissionUser permissionUser = permissions.GetUser(str18);
  468.                                             if (permissionUser == null)
  469.                                             {
  470.                                                 if (flag4)
  471.                                                 {
  472.                                                     permissions.RemoveUser(str18);
  473.                                                 }
  474.                                                 PlayerExtensions.SendError(player, "Unable to find user '{0}'.", new object[] { str18 });
  475.                                                 return;
  476.                                             }
  477.                                             PermissionGroup group2 = permissions.GetGroup(str19);
  478.                                             if (group2 == null)
  479.                                             {
  480.                                                 if (flag4)
  481.                                                 {
  482.                                                     permissions.RemoveUser(str18);
  483.                                                 }
  484.                                                 PlayerExtensions.SendError(player, "Unable to find group '{0}'.", new object[] { str19 });
  485.                                                 return;
  486.                                             }
  487.                                             if (!permissionUser.MakePrimaryGroup(group2))
  488.                                             {
  489.                                                 if (flag4)
  490.                                                 {
  491.                                                     permissions.RemoveUser(str18);
  492.                                                 }
  493.                                                 PlayerExtensions.SendError(player, "Could not make '{0}' '{1}'s primary group.", new object[] { group2.Name, permissionUser.Name });
  494.                                                 return;
  495.                                             }
  496.                                             permissions.Save();
  497.                                             Player player2 = Server.GetPlayerByName(str18);
  498.                                             if (player2 != null)
  499.                                             {
  500.                                                 Server.UpdatePlayerData(player2);
  501.                                             }
  502.                                             player.SendMessage("'{0}' is now '{1}'s primary group.", new object[] { group2.Name, permissionUser.Name });
  503.                                             break;
  504.                                         }
  505.                                         case 5:
  506.                                         {
  507.                                             string str20 = args[1];
  508.                                             string str21 = string.Join(" ", args, 3, (int)args.Length - 3);
  509.                                             bool flag5 = permissions.AddUser(str20);
  510.                                             PermissionUser user1 = permissions.GetUser(str20);
  511.                                             if (str21.IsNullEmptyOrWhite())
  512.                                             {
  513.                                                 if (flag5)
  514.                                                 {
  515.                                                     permissions.RemoveUser(str20);
  516.                                                 }
  517.                                                 player.SendError("'{0}' is an invalid chat format.");
  518.                                                 return;
  519.                                             }
  520.                                             if (!str21.ToLower().Contains("%message%"))
  521.                                             {
  522.                                                 if (flag5)
  523.                                                 {
  524.                                                     permissions.RemoveUser(str20);
  525.                                                 }
  526.                                                 player.SendError("The chat format must contain the %message% variable.");
  527.                                                 return;
  528.                                             }
  529.                                             if (!str21.ToLower().Contains("%name%"))
  530.                                             {
  531.                                                 if (flag5)
  532.                                                 {
  533.                                                     permissions.RemoveUser(str20);
  534.                                                 }
  535.                                                 player.SendError("The chat format must contain the %name% variable.");
  536.                                                 return;
  537.                                             }
  538.                                             if (user1 == null)
  539.                                             {
  540.                                                 PlayerExtensions.SendError(player, "User '{0}' not found.", new object[] { user1.Name });
  541.                                                 return;
  542.                                             }
  543.                                             if (!user1.SetChatFormat(str21))
  544.                                             {
  545.                                                 if (flag5)
  546.                                                 {
  547.                                                     permissions.RemoveUser(str20);
  548.                                                 }
  549.                                                 PlayerExtensions.SendError(player, "Could not set '{0}'s chat format to '{1}'.", new object[] { user1.Name, str21 });
  550.                                                 return;
  551.                                             }
  552.                                             permissions.Save();
  553.                                             Player playerByName3 = Server.GetPlayerByName(str20);
  554.                                             if (playerByName3 != null)
  555.                                             {
  556.                                                 Server.UpdatePlayerData(playerByName3);
  557.                                             }
  558.                                             player.SendMessage("'{0}'s chat format was changed to '{1}'.", new object[] { user1.Name, str21 });
  559.                                             break;
  560.                                         }
  561.                                         case 6:
  562.                                         {
  563.                                             string str22 = args[1];
  564.                                             string str23 = string.Join(" ", args, 3, (int)args.Length - 3);
  565.                                             permissions.AddUser(str22);
  566.                                             PermissionUser permissionUser1 = permissions.GetUser(str22);
  567.                                             if (str23.IsNullEmptyOrWhite())
  568.                                             {
  569.                                                 player.SendError("'{0}' is an invalid name format.");
  570.                                                 return;
  571.                                             }
  572.                                             if (!str23.ToLower().Contains("%name%"))
  573.                                             {
  574.                                                 player.SendError("The name format must contain the %name% variable.");
  575.                                                 return;
  576.                                             }
  577.                                             if (permissionUser1 == null)
  578.                                             {
  579.                                                 PlayerExtensions.SendError(player, "User '{0}' not found.", new object[] { permissionUser1.Name });
  580.                                                 return;
  581.                                             }
  582.                                             if (!permissionUser1.SetNameFormat(str23))
  583.                                             {
  584.                                                 PlayerExtensions.SendError(player, "Could not set '{0}'s name format to '{1}'.", new object[] { permissionUser1.Name, str23 });
  585.                                                 return;
  586.                                             }
  587.                                             permissions.Save();
  588.                                             Player player3 = Server.GetPlayerByName(str22);
  589.                                             if (player3 != null)
  590.                                             {
  591.                                                 Server.UpdatePlayerData(player3);
  592.                                             }
  593.                                             player.SendMessage("'{0}'s name format was changed to '{1}'.", new object[] { permissionUser1.Name, str23 });
  594.                                             break;
  595.                                         }
  596.                                     }
  597.                                 }
  598.                             }
  599.                         }
  600.                         else if (num == 1)
  601.                         {
  602.                             str = args[2].ToLower();
  603.                             if (str != null)
  604.                             {
  605.                                 if (CoreCommandHandler.<>f__switch$mapD == null)
  606.                                 {
  607.                                     strs = new Dictionary<string, int>(5)
  608.                                     {
  609.                                         { "add", 0 },
  610.                                         { "remove", 1 },
  611.                                         { "inherit", 2 },
  612.                                         { "chatformat", 3 },
  613.                                         { "nameformat", 4 }
  614.                                     };
  615.                                     CoreCommandHandler.<>f__switch$mapD = strs;
  616.                                 }
  617.                                 if (CoreCommandHandler.<>f__switch$mapD.TryGetValue(str, out num1))
  618.                                 {
  619.                                     switch (num1)
  620.                                     {
  621.                                         case 0:
  622.                                         {
  623.                                             string str24 = args[1];
  624.                                             string str25 = args[3];
  625.                                             PermissionGroup permissionGroup2 = permissions.GetGroup(str24);
  626.                                             if (permissionGroup2 == null)
  627.                                             {
  628.                                                 PlayerExtensions.SendError(player, "'{0}' group not found.", new object[] { str24 });
  629.                                                 return;
  630.                                             }
  631.                                             if (!permissionGroup2.AddPermission(str25))
  632.                                             {
  633.                                                 player.SendError(string.Concat(new string[] { "Could not add '", str25, "' for ", str24, "." }));
  634.                                                 return;
  635.                                             }
  636.                                             permissions.Save();
  637.                                             Server.UpdatePlayerData();
  638.                                             player.SendMessage(string.Concat(new string[] { "'", str25, "' added to ", str24, "'s permissions." }));
  639.                                             break;
  640.                                         }
  641.                                         case 1:
  642.                                         {
  643.                                             string str26 = args[1];
  644.                                             string str27 = args[3];
  645.                                             PermissionGroup group3 = permissions.GetGroup(str26);
  646.                                             if (group3 == null)
  647.                                             {
  648.                                                 PlayerExtensions.SendError(player, "'{0}' group not found.", new object[] { str26 });
  649.                                                 return;
  650.                                             }
  651.                                             if (!group3.RemovePermission(str27))
  652.                                             {
  653.                                                 player.SendError(string.Concat(new string[] { "Could not remove '", str27, "' for ", str26, ". Did it even exist?" }));
  654.                                                 return;
  655.                                             }
  656.                                             permissions.Save();
  657.                                             Server.UpdatePlayerData();
  658.                                             player.SendMessage(string.Concat(new string[] { "'", str27, "' removed from ", str26, "'s permissions." }));
  659.                                             break;
  660.                                         }
  661.                                         case 2:
  662.                                         {
  663.                                             string str28 = args[1];
  664.                                             string str29 = args[3];
  665.                                             if (str28.IsNullEmptyOrWhite() || str29.IsNullEmptyOrWhite())
  666.                                             {
  667.                                                 PlayerExtensions.SendError(player, "'{0}' cannot inherit from '{1}'.", new object[] { str28, str29 });
  668.                                                 return;
  669.                                             }
  670.                                             if (str28.EqualsIgnoreCase(str29))
  671.                                             {
  672.                                                 PlayerExtensions.SendError(player, "'{0}' cannot inherit from '{1}'.", new object[] { str28, str29 });
  673.                                                 return;
  674.                                             }
  675.                                             if (!permissions.MakeGroupInherit(str28, str29))
  676.                                             {
  677.                                                 PlayerExtensions.SendError(player, "Could not make '{0}' inherit from '{1}'.", new object[] { str28, str29 });
  678.                                                 return;
  679.                                             }
  680.                                             permissions.Save();
  681.                                             Server.UpdatePlayerData();
  682.                                             player.SendMessage("'{0}' now inherits '{1}'", new object[] { str28, str29 });
  683.                                             break;
  684.                                         }
  685.                                         case 3:
  686.                                         {
  687.                                             string str30 = args[1];
  688.                                             string str31 = string.Join(" ", args, 3, (int)args.Length - 3);
  689.                                             PermissionGroup permissionGroup3 = permissions.GetGroup(str30);
  690.                                             if (permissionGroup3 == null)
  691.                                             {
  692.                                                 PlayerExtensions.SendError(player, "Group '{0}' not found.", new object[] { str30 });
  693.                                                 return;
  694.                                             }
  695.                                             if (str31.IsNullEmptyOrWhite())
  696.                                             {
  697.                                                 PlayerExtensions.SendError(player, "Invalid chat format '{0}'.", new object[] { str31 });
  698.                                                 return;
  699.                                             }
  700.                                             if (!str31.ToLower().Contains("%message%"))
  701.                                             {
  702.                                                 player.SendError("The chat format must contain the %message% variable.");
  703.                                                 return;
  704.                                             }
  705.                                             if (!str31.ToLower().Contains("%name%"))
  706.                                             {
  707.                                                 player.SendError("The chat format must contain the %name% variable.");
  708.                                                 return;
  709.                                             }
  710.                                             if (!permissionGroup3.SetChatFormat(str31))
  711.                                             {
  712.                                                 PlayerExtensions.SendError(player, "Could not set group '{0}'s chat format to '{1}'.", new object[] { permissionGroup3.Name, str31 });
  713.                                                 return;
  714.                                             }
  715.                                             permissions.Save();
  716.                                             Server.UpdatePlayerData();
  717.                                             player.SendMessage("'{0}'s chat format was changed to '{1}'.", new object[] { permissionGroup3.Name, str31 });
  718.                                             break;
  719.                                         }
  720.                                         case 4:
  721.                                         {
  722.                                             string str32 = args[1];
  723.                                             string str33 = string.Join(" ", args, 3, (int)args.Length - 3);
  724.                                             PermissionGroup group4 = permissions.GetGroup(str32);
  725.                                             if (group4 == null)
  726.                                             {
  727.                                                 PlayerExtensions.SendError(player, "Group '{0}' not found.", new object[] { str32 });
  728.                                                 return;
  729.                                             }
  730.                                             if (str33.IsNullEmptyOrWhite())
  731.                                             {
  732.                                                 PlayerExtensions.SendError(player, "Invalid name format '{0}'.", new object[] { str33 });
  733.                                                 return;
  734.                                             }
  735.                                             if (!str33.ToLower().Contains("%name%"))
  736.                                             {
  737.                                                 player.SendError("The name format must contain the %name% variable.");
  738.                                                 return;
  739.                                             }
  740.                                             if (!group4.SetNameFormat(str33))
  741.                                             {
  742.                                                 PlayerExtensions.SendError(player, "Could not set group '{0}'s name format to '{1}'.", new object[] { group4.Name, str33 });
  743.                                                 return;
  744.                                             }
  745.                                             permissions.Save();
  746.                                             Server.UpdatePlayerData();
  747.                                             player.SendMessage("'{0}'s name format was changed to '{1}'.", new object[] { group4.Name, str33 });
  748.                                             break;
  749.                                         }
  750.                                     }
  751.                                 }
  752.                             }
  753.                         }
  754.                     }
  755.                 }
  756.             }
  757.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement