mirror of
https://github.com/ClassiCube/MCGalaxy.git
synced 2025-09-26 06:43:25 -04:00
Update more commands to use PlayerInfo.FindOrShowMatches, cleanup some commands.
This commit is contained in:
parent
ec0080c586
commit
464d66443f
@ -34,8 +34,8 @@ namespace MCGalaxy.Commands {
|
||||
string[] args = message.Split(trimChars, 2);
|
||||
|
||||
if (args.Length > 1) {
|
||||
who = PlayerInfo.Find(args[0]);
|
||||
if (who == null) { Player.SendMessage(p, "Player \"" + args[0] + "\" does not exist"); return; }
|
||||
who = PlayerInfo.FindOrShowMatches(p, args[0]);
|
||||
if (who == null) return;
|
||||
} else {
|
||||
if (p == null) { Player.SendMessage(p, "Console can't use this command on itself."); return; }
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ namespace MCGalaxy.Commands
|
||||
|
||||
public override void Use(Player p, string message) {
|
||||
if (message == "") { Help(p); return; }
|
||||
Player who = PlayerInfo.FindOrShowMatches(message);
|
||||
Player who = PlayerInfo.FindOrShowMatches(p, message);
|
||||
if (who == null) return;
|
||||
|
||||
string giver = (p == null) ? "(console)" : p.color + p.DisplayName;
|
||||
|
@ -29,7 +29,7 @@ namespace MCGalaxy.Commands
|
||||
|
||||
public override void Use(Player p, string message) {
|
||||
if (message == "") { Help(p); return; }
|
||||
Player who = PlayerInfo.FindOrShowMatches(message);
|
||||
Player who = PlayerInfo.FindOrShowMatches(p, message);
|
||||
if (who == null) return;
|
||||
if (p != null && p.muted) { Player.SendMessage(p, "Cannot use /hug while muted."); return; }
|
||||
|
||||
|
@ -92,15 +92,10 @@ namespace MCGalaxy.Commands
|
||||
Command.all.Find("goto").Use(pl, Server.mainLevel.name);
|
||||
}
|
||||
} else if (cmd == "KICK") {
|
||||
if (arg == "") {
|
||||
p.SendMessage("You must specify a player to kick.");
|
||||
return;
|
||||
}
|
||||
if (arg == "") { p.SendMessage("You must specify a player to kick."); return; }
|
||||
|
||||
Player kicked = PlayerInfo.Find(arg);
|
||||
if (kicked == null) {
|
||||
p.SendMessage("Error: Player not found.");
|
||||
} else {
|
||||
Player kicked = PlayerInfo.FindOrShowMatches(p, arg);
|
||||
if (kicked != null) {
|
||||
if (kicked.level.name == p.level.name)
|
||||
Command.all.Find("goto").Use(kicked, Server.mainLevel.name);
|
||||
else
|
||||
@ -320,11 +315,10 @@ namespace MCGalaxy.Commands
|
||||
|
||||
string path = "levels/blacklists/" + p.level.name + ".txt";
|
||||
EnsureFileExists(path);
|
||||
value = value.Replace("+", "");
|
||||
if (!value.EndsWith("+")) value += "+";
|
||||
if (!File.ReadAllText(path).Contains(value)) {
|
||||
Player.SendMessage(p, value + " is not blacklisted."); return;
|
||||
}
|
||||
value = value + "+";
|
||||
|
||||
try {
|
||||
var oldLines = File.ReadAllLines(path);
|
||||
|
@ -1,71 +1,49 @@
|
||||
/*
|
||||
Copyright 2011 MCForge
|
||||
|
||||
Dual-licensed under the Educational Community License, Version 2.0 and
|
||||
the GNU General Public License, Version 3 (the "Licenses"); you may
|
||||
not use this file except in compliance with the Licenses. You may
|
||||
obtain a copy of the Licenses at
|
||||
|
||||
http://www.opensource.org/licenses/ecl2.php
|
||||
http://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the Licenses are distributed on an "AS IS"
|
||||
BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
or implied. See the Licenses for the specific language governing
|
||||
permissions and limitations under the Licenses.
|
||||
Copyright 2011 MCForge
|
||||
|
||||
Dual-licensed under the Educational Community License, Version 2.0 and
|
||||
the GNU General Public License, Version 3 (the "Licenses"); you may
|
||||
not use this file except in compliance with the Licenses. You may
|
||||
obtain a copy of the Licenses at
|
||||
|
||||
http://www.opensource.org/licenses/ecl2.php
|
||||
http://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the Licenses are distributed on an "AS IS"
|
||||
BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
or implied. See the Licenses for the specific language governing
|
||||
permissions and limitations under the Licenses.
|
||||
*/
|
||||
namespace MCGalaxy.Commands
|
||||
{
|
||||
public sealed class CmdFakePay : Command
|
||||
{
|
||||
namespace MCGalaxy.Commands {
|
||||
|
||||
public sealed class CmdFakePay : Command {
|
||||
|
||||
public override string name { get { return "fakepay"; } }
|
||||
public override string shortcut { get { return "fpay"; } }
|
||||
public override string type { get { return CommandTypes.Economy; } }
|
||||
public override bool museumUsable { get { return true; } }
|
||||
public override void Help(Player p)
|
||||
{
|
||||
Player.SendMessage(p, "/fakepay <name> <amount> - Sends a fake give change message.");
|
||||
}
|
||||
public override bool museumUsable { get { return true; } }
|
||||
public override LevelPermission defaultRank { get { return LevelPermission.Operator; } }
|
||||
public override void Use(Player p, string message)
|
||||
{
|
||||
|
||||
public override void Use(Player p, string message) {
|
||||
if (message == "") { Help(p); return; }
|
||||
|
||||
var split = message.Split(' ');
|
||||
|
||||
Player who = PlayerInfo.Find(split[0]);
|
||||
if (who == null)
|
||||
{
|
||||
Player.SendMessage(p, Server.DefaultColor + "Player not found!");
|
||||
return;
|
||||
}
|
||||
|
||||
int amount = 0;
|
||||
try
|
||||
{
|
||||
amount = int.Parse(split[1]);
|
||||
}
|
||||
catch/* (Exception ex)*/
|
||||
{
|
||||
Player.SendMessage(p, "How much do you want to fakepay them?");
|
||||
return;
|
||||
}
|
||||
|
||||
if (amount < 0)
|
||||
{
|
||||
Player.SendMessage(p, Server.DefaultColor + "You can't fakepay a negative amount.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (amount >= 16777215)
|
||||
{
|
||||
Player.SendMessage(p, "Whoa, that's too much money. Try less than 16777215.");
|
||||
return;
|
||||
}
|
||||
|
||||
Player.GlobalMessage(who.color + who.prefix + who.DisplayName + Server.DefaultColor + " was given " + amount + " " + Server.moneys);
|
||||
|
||||
string[] args = message.Split(' ');
|
||||
Player who = PlayerInfo.FindOrShowMatches(p, args[0]);
|
||||
if (who == null) return;
|
||||
|
||||
int amount = 0;
|
||||
if (args.Length == 1 || !int.TryParse(args[1], out amount)) {
|
||||
Player.SendMessage(p, "You must specify an integer amount to fakepay."); return;
|
||||
}
|
||||
if (amount < 0) { Player.SendMessage(p, "You can't fakepay a negative amount."); return; }
|
||||
if (amount >= 16777215) { Player.SendMessage(p, "You can only fakepay up to 16777215."); return; }
|
||||
|
||||
Player.GlobalMessage(who.color + who.prefix + who.DisplayName + " %Swas given " + amount + " " + Server.moneys);
|
||||
}
|
||||
|
||||
public override void Help(Player p) {
|
||||
Player.SendMessage(p, "/fakepay <name> <amount> - Sends a fake give change message.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -200,10 +200,9 @@ namespace MCGalaxy.Commands {
|
||||
return;
|
||||
}
|
||||
|
||||
Player who = PlayerInfo.Find(target);
|
||||
if (who == null) {
|
||||
Player.SendMessage(p, "That wasn't an online player."); return;
|
||||
} else if (p.group.Permission < who.group.Permission) {
|
||||
Player who = PlayerInfo.FindOrShowMatches(p, target);
|
||||
if (who == null) return;
|
||||
if (p.group.Permission < who.group.Permission) {
|
||||
Player.SendMessage(p, "You can't send rules to someone of a higher rank than yourself!!"); return;
|
||||
} else {
|
||||
Player.SendMessage(who, "Countdown rules sent to you by " + p.color + p.name);
|
||||
|
@ -27,10 +27,8 @@ namespace MCGalaxy.Commands {
|
||||
public CmdDisInfect() { }
|
||||
|
||||
public override void Use(Player p, string message) {
|
||||
Player who = message == "" ? p : PlayerInfo.Find(message);
|
||||
if (who == null) {
|
||||
Player.SendMessage(p, "There is no player \"" + message + "\"!"); return;
|
||||
}
|
||||
Player who = message == "" ? p : PlayerInfo.FindOrShowMatches(p, message);
|
||||
if (who == null) return;
|
||||
|
||||
if (!who.infected || !Server.zombie.GameInProgess()) {
|
||||
Player.SendMessage(p, "Cannot disinfect player");
|
||||
|
@ -27,10 +27,8 @@ namespace MCGalaxy.Commands {
|
||||
public CmdInfect() { }
|
||||
|
||||
public override void Use(Player p, string message) {
|
||||
Player who = message == "" ? p : PlayerInfo.Find(message);
|
||||
if (who == null) {
|
||||
Player.SendMessage(p, "There is no player \"" + message + "\"!"); return;
|
||||
}
|
||||
Player who = message == "" ? p : PlayerInfo.FindOrShowMatches(p, message);
|
||||
if (who == null) return;
|
||||
|
||||
if (who.infected || !Server.zombie.GameInProgess()) {
|
||||
Player.SendMessage(p, "Cannot infect player");
|
||||
|
@ -33,24 +33,14 @@ namespace MCGalaxy.Commands
|
||||
string value = args[1];
|
||||
|
||||
if (args[0] == "zombie") {
|
||||
Player who = PlayerInfo.Find(value);
|
||||
if (who == null) {
|
||||
p.SendMessage(value + " is not online.");
|
||||
} else {
|
||||
p.SendMessage(value + " was queued.");
|
||||
Server.zombie.queZombie = true;
|
||||
Server.zombie.nextZombie = value;
|
||||
}
|
||||
} else if (args[0] == "level") {
|
||||
bool match = false;
|
||||
DirectoryInfo di = new DirectoryInfo("levels/");
|
||||
FileInfo[] fi = di.GetFiles("*.lvl");
|
||||
foreach (FileInfo file in fi) {
|
||||
if (file.Name.Replace(".lvl", "").ToLower() == value.ToLower())
|
||||
match = true;
|
||||
}
|
||||
Player who = PlayerInfo.FindOrShowMatches(p, value);
|
||||
if (who == null) return;
|
||||
|
||||
if (match) {
|
||||
p.SendMessage(value + " was queued.");
|
||||
Server.zombie.queZombie = true;
|
||||
Server.zombie.nextZombie = value;
|
||||
} else if (args[0] == "level") {
|
||||
if (LevelInfo.ExistsOffline(value)) {
|
||||
p.SendMessage(value + " was queued.");
|
||||
Server.zombie.queLevel = true;
|
||||
Server.zombie.nextLevel = value.ToLower();
|
||||
|
@ -315,7 +315,7 @@ namespace MCGalaxy.Commands
|
||||
default:
|
||||
if (text[1] != null && (int)p.group.Permission >= CommandOtherPerms.GetPerm(this, 1))
|
||||
{
|
||||
Player who = PlayerInfo.Find(text[1]);
|
||||
Player who = PlayerInfo.FindOrShowMatches(p, text[1]);
|
||||
if (who != null)
|
||||
{
|
||||
Player.SendMessage(who, "TNT Wars Rules: (sent to you by " + p.color + p.name + Server.DefaultColor + " )");
|
||||
@ -324,13 +324,8 @@ namespace MCGalaxy.Commands
|
||||
Player.SendMessage(who, "During the game the amount of TNT placable at one time may be limited!");
|
||||
Player.SendMessage(who, "You are not allowed to use hacks of any sort during the game!");
|
||||
Player.SendMessage(p, "TNT Wars: Sent rules to " + who.color + who.name);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
Player.SendMessage(p, "TNT Wars Error: Couldn't find player '" + text[1] + "' to send rules to!");
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1,26 +1,26 @@
|
||||
/*
|
||||
Copyright 2011 MCForge
|
||||
|
||||
Dual-licensed under the Educational Community License, Version 2.0 and
|
||||
the GNU General Public License, Version 3 (the "Licenses"); you may
|
||||
not use this file except in compliance with the Licenses. You may
|
||||
obtain a copy of the Licenses at
|
||||
|
||||
http://www.opensource.org/licenses/ecl2.php
|
||||
http://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the Licenses are distributed on an "AS IS"
|
||||
BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
or implied. See the Licenses for the specific language governing
|
||||
permissions and limitations under the Licenses.
|
||||
*/
|
||||
Copyright 2011 MCForge
|
||||
|
||||
Dual-licensed under the Educational Community License, Version 2.0 and
|
||||
the GNU General Public License, Version 3 (the "Licenses"); you may
|
||||
not use this file except in compliance with the Licenses. You may
|
||||
obtain a copy of the Licenses at
|
||||
|
||||
http://www.opensource.org/licenses/ecl2.php
|
||||
http://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the Licenses are distributed on an "AS IS"
|
||||
BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
or implied. See the Licenses for the specific language governing
|
||||
permissions and limitations under the Licenses.
|
||||
*/
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
namespace MCGalaxy.Commands
|
||||
{
|
||||
public sealed class CmdFaq : Command
|
||||
{
|
||||
namespace MCGalaxy.Commands {
|
||||
|
||||
public sealed class CmdFaq : Command {
|
||||
|
||||
public override string name { get { return "faq"; } }
|
||||
public override string shortcut { get { return ""; } }
|
||||
public override string type { get { return CommandTypes.Information; } }
|
||||
@ -30,39 +30,26 @@ namespace MCGalaxy.Commands
|
||||
get { return new[] { new CommandPerm(LevelPermission.Builder, "The lowest rank that can send the faq to other players") }; }
|
||||
}
|
||||
|
||||
public override void Use(Player p, string message)
|
||||
{
|
||||
public override void Use(Player p, string message) {
|
||||
if (!File.Exists("text/faq.txt")) {
|
||||
CP437Writer.WriteAllText("text/faq.txt", "Example: What does this server run on? This server runs on &bMCGalaxy");
|
||||
}
|
||||
List<string> faq = CP437Reader.ReadAllLines("text/faq.txt");
|
||||
List<string> faq = CP437Reader.ReadAllLines("text/faq.txt");
|
||||
|
||||
Player who = null;
|
||||
if (message != "")
|
||||
{
|
||||
if ((int)p.group.Permission < CommandOtherPerms.GetPerm(this))
|
||||
{ Player.SendMessage(p, "You can't send the FAQ to another player!"); return; }
|
||||
who = PlayerInfo.Find(message);
|
||||
}
|
||||
else
|
||||
{
|
||||
who = p;
|
||||
}
|
||||
|
||||
if (who != null)
|
||||
{
|
||||
who.SendMessage("&cFAQ&f:");
|
||||
foreach (string s in faq)
|
||||
who.SendMessage("&f" + s);
|
||||
}
|
||||
else
|
||||
{
|
||||
Player.SendMessage(p, "There is no player \"" + message + "\"!");
|
||||
Player who = p;
|
||||
if (message != "") {
|
||||
if (p != null && (int)p.group.Permission < CommandOtherPerms.GetPerm(this)) {
|
||||
Player.SendMessage(p, "Your rank cannot send the FAQ to other players."); return; }
|
||||
who = PlayerInfo.FindOrShowMatches(p, message);
|
||||
if (who == null) return;
|
||||
}
|
||||
|
||||
Player.SendMessage(who, "&cFAQ&f:");
|
||||
foreach (string line in faq)
|
||||
Player.SendMessage(who, "&f" + line);
|
||||
}
|
||||
|
||||
public override void Help(Player p)
|
||||
{
|
||||
public override void Help(Player p) {
|
||||
Player.SendMessage(p, "/faq [player]- Displays frequently asked questions");
|
||||
}
|
||||
}
|
||||
|
@ -45,7 +45,7 @@ namespace MCGalaxy.Commands
|
||||
}
|
||||
else
|
||||
{
|
||||
Player who = PlayerInfo.FindOrShowMatches(message);
|
||||
Player who = PlayerInfo.FindOrShowMatches(p, message);
|
||||
if (who == null) return;
|
||||
if (who.lastCMD.Contains("setpass") || who.lastCMD.Contains("pass"))
|
||||
{
|
||||
|
@ -1,20 +1,20 @@
|
||||
/*
|
||||
Copyright 2011 MCForge
|
||||
|
||||
Dual-licensed under the Educational Community License, Version 2.0 and
|
||||
the GNU General Public License, Version 3 (the "Licenses"); you may
|
||||
not use this file except in compliance with the Licenses. You may
|
||||
obtain a copy of the Licenses at
|
||||
|
||||
http://www.opensource.org/licenses/ecl2.php
|
||||
http://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the Licenses are distributed on an "AS IS"
|
||||
BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
or implied. See the Licenses for the specific language governing
|
||||
permissions and limitations under the Licenses.
|
||||
*/
|
||||
Copyright 2011 MCForge
|
||||
|
||||
Dual-licensed under the Educational Community License, Version 2.0 and
|
||||
the GNU General Public License, Version 3 (the "Licenses"); you may
|
||||
not use this file except in compliance with the Licenses. You may
|
||||
obtain a copy of the Licenses at
|
||||
|
||||
http://www.opensource.org/licenses/ecl2.php
|
||||
http://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the Licenses are distributed on an "AS IS"
|
||||
BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
or implied. See the Licenses for the specific language governing
|
||||
permissions and limitations under the Licenses.
|
||||
*/
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
|
||||
@ -31,52 +31,41 @@ namespace MCGalaxy.Commands
|
||||
get { return new[] { new CommandPerm(LevelPermission.Operator, "The lowest rank that can send the news to everyone") }; }
|
||||
}
|
||||
|
||||
public override void Use(Player p, string message)
|
||||
{
|
||||
string newsFile = "text/news.txt";
|
||||
if (!File.Exists(newsFile))
|
||||
{
|
||||
CP437Writer.WriteAllText(newsFile, "News have not been created. Put News in '" + newsFile + "'.");
|
||||
return;
|
||||
const string newsFile = "text/news.txt";
|
||||
public override void Use(Player p, string message) {
|
||||
if (!File.Exists(newsFile)) {
|
||||
CP437Writer.WriteAllText(newsFile, "News have not been created. Put News in '" + newsFile + "'."); return;
|
||||
}
|
||||
|
||||
List<string> lines = CP437Reader.ReadAllLines(newsFile);
|
||||
if (message == "")
|
||||
{
|
||||
foreach (string t in lines)
|
||||
{
|
||||
Player.SendMessage(p, t);
|
||||
}
|
||||
if (message == "") {
|
||||
foreach (string line in lines)
|
||||
Player.SendMessage(p, line);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
string[] split = message.Split(' ');
|
||||
if (split[0] == "all") {
|
||||
if ((int)p.group.Permission < CommandOtherPerms.GetPerm(this)) {
|
||||
Player.SendMessage(p, "You must be at least " + Group.findPermInt(CommandOtherPerms.GetPerm(this)).name + " to send this to all players.");
|
||||
return;
|
||||
}
|
||||
for (int k = 0; k < lines.Count; k++) {
|
||||
Player.GlobalMessage(lines[k]);
|
||||
}
|
||||
return;
|
||||
|
||||
string[] args = message.Split(' ');
|
||||
if (args[0] == "all") {
|
||||
if (p != null && (int)p.group.Permission < CommandOtherPerms.GetPerm(this)) {
|
||||
Player.SendMessage(p, "You must be at least " + Group.findPermInt(CommandOtherPerms.GetPerm(this)).name + " to send this to all players.");
|
||||
return;
|
||||
}
|
||||
|
||||
Player player = PlayerInfo.Find(split[0]);
|
||||
if (player == null) { Player.SendMessage(p, "Could not find player \"" + split[0] + "\"!"); return; }
|
||||
foreach (string t in lines)
|
||||
{
|
||||
Player.SendMessage(player, t);
|
||||
}
|
||||
Player.SendMessage(p, "The News were successfully sent to " + player.name + ".");
|
||||
|
||||
foreach (string line in lines)
|
||||
Player.GlobalMessage(line);
|
||||
return;
|
||||
}
|
||||
|
||||
Player who = PlayerInfo.FindOrShowMatches(p, args[0]);
|
||||
if (who == null) return;
|
||||
foreach (string line in lines)
|
||||
Player.SendMessage(who, line);
|
||||
Player.SendMessage(p, "The News were successfully sent to " + who.name + ".");
|
||||
}
|
||||
public override void Help(Player p)
|
||||
{
|
||||
|
||||
public override void Help(Player p) {
|
||||
Player.SendMessage(p, "/news - Shows server news.");
|
||||
Player.SendMessage(p, "/news <player> - Sends the News to <player>.");
|
||||
Player.SendMessage(p, "/news all - Sends the News to everyone.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -37,7 +37,7 @@ namespace MCGalaxy.Commands
|
||||
|
||||
Player who = p;
|
||||
if (message != "") {
|
||||
who = PlayerInfo.FindOrShowMatches(message);
|
||||
who = PlayerInfo.FindOrShowMatches(p, message);
|
||||
if (who == null) return;
|
||||
if (p != null && p.group.Permission < who.group.Permission) {
|
||||
Player.SendMessage(p, "You cannot send /oprules to a higher or same ranked player."); return;
|
||||
|
@ -32,14 +32,10 @@ namespace MCGalaxy.Commands {
|
||||
string[] args = message.Split(' ');
|
||||
if (args.Length > 2) { Help(p); return; }
|
||||
if (args.Length == 1) { Player.SendMessage(p, "You did not specify the target player."); return; }
|
||||
Player source = PlayerInfo.Find(args[0]), target = PlayerInfo.Find(args[1]);
|
||||
|
||||
if ((source == null || !Player.CanSee(p, source)) && (target == null || !Player.CanSee(p, target))) {
|
||||
Player.SendMessage(p, "Neither of the players specified are online."); return;
|
||||
}
|
||||
if (source == null || !Player.CanSee(p, source)) { Player.SendMessage(p, "The source player is not online."); return; }
|
||||
if (target == null || !Player.CanSee(p, target)) { Player.SendMessage(p, "The target player is not online."); return; }
|
||||
Player source = PlayerInfo.FindOrShowMatches(p, args[0]);
|
||||
Player target = PlayerInfo.FindOrShowMatches(p, args[1]);
|
||||
|
||||
if (source == null || target == null) return;
|
||||
if (p.group.Permission < source.group.Permission) {
|
||||
Player.SendMessage(p, "You cannot force a player of higher rank to tp to another player."); return;
|
||||
}
|
||||
|
@ -56,9 +56,9 @@ namespace MCGalaxy.Commands {
|
||||
ReloadMap(p, who, true);
|
||||
}
|
||||
} else {
|
||||
Player who = PlayerInfo.Find(parts[0]);
|
||||
Player who = PlayerInfo.FindOrShowMatches(p, parts[0]);
|
||||
if (who == null) {
|
||||
Player.SendMessage(p, "Could not find player."); return;
|
||||
return;
|
||||
} else if (who.group.Permission > p.group.Permission && p != who) {
|
||||
Player.SendMessage(p, "Cannot reload the map of someone higher than you."); return;
|
||||
}
|
||||
|
@ -1,59 +1,49 @@
|
||||
/*
|
||||
Copyright 2011 MCForge
|
||||
|
||||
Dual-licensed under the Educational Community License, Version 2.0 and
|
||||
the GNU General Public License, Version 3 (the "Licenses"); you may
|
||||
not use this file except in compliance with the Licenses. You may
|
||||
obtain a copy of the Licenses at
|
||||
|
||||
http://www.opensource.org/licenses/ecl2.php
|
||||
http://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the Licenses are distributed on an "AS IS"
|
||||
BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
or implied. See the Licenses for the specific language governing
|
||||
permissions and limitations under the Licenses.
|
||||
*/
|
||||
Copyright 2011 MCForge
|
||||
|
||||
Dual-licensed under the Educational Community License, Version 2.0 and
|
||||
the GNU General Public License, Version 3 (the "Licenses"); you may
|
||||
not use this file except in compliance with the Licenses. You may
|
||||
obtain a copy of the Licenses at
|
||||
|
||||
http://www.opensource.org/licenses/ecl2.php
|
||||
http://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the Licenses are distributed on an "AS IS"
|
||||
BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
or implied. See the Licenses for the specific language governing
|
||||
permissions and limitations under the Licenses.
|
||||
*/
|
||||
namespace MCGalaxy.Commands
|
||||
{
|
||||
public sealed class CmdVoice : Command
|
||||
{
|
||||
public override string name { get { return "voice"; } }
|
||||
public override string shortcut { get { return ""; } }
|
||||
public override string type { get { return CommandTypes.Moderation; } }
|
||||
public override string type { get { return CommandTypes.Moderation; } }
|
||||
public override bool museumUsable { get { return true; } }
|
||||
public override LevelPermission defaultRank { get { return LevelPermission.Operator; } }
|
||||
public CmdVoice() { }
|
||||
|
||||
public override void Use(Player p, string message)
|
||||
{
|
||||
public override void Use(Player p, string message) {
|
||||
if (message == "") { Help(p); return; }
|
||||
Player who = PlayerInfo.Find(message);
|
||||
if (who != null)
|
||||
{
|
||||
if (who.voice)
|
||||
{
|
||||
who.voice = false;
|
||||
Player.SendMessage(p, "Removing voice status from " + who.color + who.DisplayName);
|
||||
who.SendMessage("Your voice status has been revoked.");
|
||||
who.voicestring = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
who.voice = true;
|
||||
Player.SendMessage(p, "Giving voice status to " + who.color + who.DisplayName);
|
||||
who.SendMessage("You have received voice status.");
|
||||
who.voicestring = "&f+";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Player.SendMessage(p, "There is no player online named \"" + message + "\"");
|
||||
Player who = PlayerInfo.FindOrShowMatches(p, message);
|
||||
if (who == null) return;
|
||||
|
||||
if (who.voice) {
|
||||
Player.SendMessage(p, "Removing voice status from " + who.color + who.DisplayName);
|
||||
who.SendMessage("Your voice status has been revoked.");
|
||||
who.voicestring = "";
|
||||
} else {
|
||||
Player.SendMessage(p, "Giving voice status to " + who.color + who.DisplayName);
|
||||
who.SendMessage("You have received voice status.");
|
||||
who.voicestring = "&f+";
|
||||
}
|
||||
who.voice = !who.voice;
|
||||
}
|
||||
public override void Help(Player p)
|
||||
{
|
||||
|
||||
public override void Help(Player p) {
|
||||
Player.SendMessage(p, "/voice <name> - Toggles voice status on or off for specified player.");
|
||||
}
|
||||
}
|
||||
|
@ -33,12 +33,8 @@ namespace MCGalaxy.Commands
|
||||
|
||||
if (Server.voteKickInProgress) { Player.SendMessage(p, "Please wait for the current vote to finish!"); return; }
|
||||
|
||||
Player who = PlayerInfo.Find(message);
|
||||
if (who == null)
|
||||
{
|
||||
Player.SendMessage(p, "Could not find player specified!");
|
||||
return;
|
||||
}
|
||||
Player who = PlayerInfo.FindOrShowMatches(p, message);
|
||||
if (who == null) return;
|
||||
|
||||
if (who.group.Permission >= p.group.Permission)
|
||||
{
|
||||
|
@ -1,101 +1,62 @@
|
||||
/*
|
||||
Copyright 2011 MCForge
|
||||
|
||||
Dual-licensed under the Educational Community License, Version 2.0 and
|
||||
the GNU General Public License, Version 3 (the "Licenses"); you may
|
||||
not use this file except in compliance with the Licenses. You may
|
||||
obtain a copy of the Licenses at
|
||||
|
||||
http://www.opensource.org/licenses/ecl2.php
|
||||
http://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the Licenses are distributed on an "AS IS"
|
||||
BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
or implied. See the Licenses for the specific language governing
|
||||
permissions and limitations under the Licenses.
|
||||
Copyright 2011 MCForge
|
||||
|
||||
Dual-licensed under the Educational Community License, Version 2.0 and
|
||||
the GNU General Public License, Version 3 (the "Licenses"); you may
|
||||
not use this file except in compliance with the Licenses. You may
|
||||
obtain a copy of the Licenses at
|
||||
|
||||
http://www.opensource.org/licenses/ecl2.php
|
||||
http://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the Licenses are distributed on an "AS IS"
|
||||
BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
or implied. See the Licenses for the specific language governing
|
||||
permissions and limitations under the Licenses.
|
||||
*/
|
||||
namespace MCGalaxy.Commands
|
||||
{
|
||||
public sealed class CmdWarn : Command
|
||||
{
|
||||
namespace MCGalaxy.Commands {
|
||||
|
||||
public sealed class CmdWarn : Command {
|
||||
|
||||
public override string name { get { return "warn"; } }
|
||||
public override string shortcut { get { return ""; } }
|
||||
public override string type { get { return CommandTypes.Moderation; } }
|
||||
public override string type { get { return CommandTypes.Moderation; } }
|
||||
public override bool museumUsable { get { return true; } }
|
||||
public override LevelPermission defaultRank { get { return LevelPermission.Builder; } }
|
||||
string reason;
|
||||
|
||||
public override void Use(Player p, string message)
|
||||
{
|
||||
string warnedby;
|
||||
static char[] trimChars = { ' ' };
|
||||
|
||||
public override void Use(Player p, string message) {
|
||||
if (message == "") { Help(p); return; }
|
||||
|
||||
Player who = PlayerInfo.Find(message.Split(' ')[0]);
|
||||
|
||||
// Make sure we have a valid player
|
||||
if (who == null)
|
||||
{
|
||||
Player.SendMessage(p, "Player not found!");
|
||||
return;
|
||||
}
|
||||
|
||||
// Don't warn yourself... derp
|
||||
if (who == p)
|
||||
{
|
||||
Player.SendMessage(p, "you can't warn yourself");
|
||||
return;
|
||||
}
|
||||
|
||||
// Check the caller's rank
|
||||
if (p != null && p.group.Permission <= who.group.Permission)
|
||||
{
|
||||
Player.SendMessage(p, "Cannot warn a player of equal or higher rank.");
|
||||
return;
|
||||
string[] args = message.Split(trimChars, 2);
|
||||
Player who = PlayerInfo.FindOrShowMatches(p, args[0]);
|
||||
|
||||
if (who == null) return;
|
||||
if (who == p) { Player.SendMessage(p, "you can't warn yourself"); return; }
|
||||
if (p != null && p.group.Permission <= who.group.Permission) {
|
||||
Player.SendMessage(p, "Cannot warn a player of equal or higher rank."); return;
|
||||
}
|
||||
|
||||
// We need a reason
|
||||
if (message.Split(' ').Length == 1)
|
||||
{
|
||||
// No reason was given
|
||||
reason = "you know why.";
|
||||
}
|
||||
else
|
||||
{
|
||||
reason = message.Substring(message.IndexOf(' ') + 1).Trim();
|
||||
}
|
||||
|
||||
warnedby = (p == null) ? "<CONSOLE>" : p.color + p.DisplayName;
|
||||
string reason = args.Length == 1 ? "you know why." : args[1];
|
||||
string warnedby = (p == null) ? "<CONSOLE>" : p.color + p.DisplayName;
|
||||
Player.GlobalMessage(warnedby + " %ewarned " + who.color + who.DisplayName + " %ebecause:");
|
||||
Player.GlobalMessage("&c" + reason);
|
||||
Server.IRC.Say(warnedby + " %ewarned " + who.color + who.DisplayName + " %efor: %c" + reason);
|
||||
Server.s.Log(warnedby + " warned " + who.name);
|
||||
|
||||
//Player.SendMessage(who, "Do it again ");
|
||||
if (who.warn == 0)
|
||||
{
|
||||
if (who.warn == 0) {
|
||||
Player.SendMessage(who, "Do it again twice and you will get kicked!");
|
||||
who.warn = 1;
|
||||
return;
|
||||
}
|
||||
if (who.warn == 1)
|
||||
{
|
||||
} else if (who.warn == 1) {
|
||||
Player.SendMessage(who, "Do it one more time and you will get kicked!");
|
||||
who.warn = 2;
|
||||
return;
|
||||
}
|
||||
if (who.warn == 2)
|
||||
{
|
||||
Player.GlobalMessage(who.color + who.DisplayName + " " + Server.DefaultColor + "was warn-kicked by " + warnedby);
|
||||
who.warn = 0;
|
||||
} else if (who.warn == 2) {
|
||||
Player.GlobalMessage(who.color + who.DisplayName + " " + "%Swas warn-kicked by " + warnedby);
|
||||
who.Kick("KICKED BECAUSE " + reason + "");
|
||||
return;
|
||||
}
|
||||
who.warn++;
|
||||
}
|
||||
public override void Help(Player p)
|
||||
{
|
||||
Player.SendMessage(p, "/warn <player> - Warns a player.");
|
||||
|
||||
public override void Help(Player p) {
|
||||
Player.SendMessage(p, "/warn <player> <reason> - Warns a player.");
|
||||
Player.SendMessage(p, "Player will get kicked after 3 warnings.");
|
||||
}
|
||||
}
|
||||
|
@ -31,8 +31,8 @@ namespace MCGalaxy.Commands {
|
||||
if (message == "") { Help(p); return; }
|
||||
string[] args = message.Split(' ');
|
||||
|
||||
Player who = PlayerInfo.Find(args[0]);
|
||||
if (who == null) { Player.SendMessage(p, "Could not find player."); return; }
|
||||
Player who = PlayerInfo.FindOrShowMatches(p, args[0]);
|
||||
if (who == null) return;
|
||||
if (p != null && who.group.Permission > p.group.Permission) {
|
||||
Player.SendMessage(p, "Cannot change the color of someone of greater rank"); return;
|
||||
}
|
||||
|
@ -29,15 +29,11 @@ namespace MCGalaxy.Commands
|
||||
|
||||
public override void Use(Player p, string message)
|
||||
{
|
||||
Player who = message == "" ? p : PlayerInfo.Find(message);
|
||||
if (who == null || !Player.CanSee(p, who)) {
|
||||
Player.SendMessage(p, "Cannot find player."); return;
|
||||
}
|
||||
Player who = message == "" ? p : PlayerInfo.FindOrShowMatches(p, message);
|
||||
if (who == null) return;
|
||||
|
||||
if (p != null && who.group.Permission > p.group.Permission)
|
||||
{
|
||||
Player.SendMessage(p, "Cannot toggle invincibility for someone of higher rank");
|
||||
return;
|
||||
if (p != null && who.group.Permission > p.group.Permission) {
|
||||
Player.SendMessage(p, "Cannot toggle invincibility for someone of higher rank");return;
|
||||
}
|
||||
|
||||
if (who.invincible)
|
||||
|
@ -45,13 +45,12 @@ namespace MCGalaxy.Commands
|
||||
return;
|
||||
}
|
||||
|
||||
Player who = PlayerInfo.Find(message);
|
||||
if (who == null || !Player.CanSee(p, who)) { Player.SendMessage(p, "There is no player \"" + message + "\"!"); return; }
|
||||
if (p.group.Permission < who.group.Permission)
|
||||
{
|
||||
Player.SendMessage(p, "You cannot summon someone ranked higher than you!");
|
||||
return;
|
||||
Player who = PlayerInfo.FindOrShowMatches(p, message);
|
||||
if (who == null) return;
|
||||
if (p.group.Permission < who.group.Permission) {
|
||||
Player.SendMessage(p, "You cannot summon someone ranked higher than you!"); return;
|
||||
}
|
||||
|
||||
if (p.level != who.level)
|
||||
{
|
||||
Player.SendMessage(p, who.DisplayName + " is in a different Level. Forcefetching has started!");
|
||||
|
@ -31,8 +31,8 @@ namespace MCGalaxy.Commands {
|
||||
if (message == "") { Help(p); return; }
|
||||
string[] args = message.Split(' ');
|
||||
|
||||
Player who = PlayerInfo.Find(args[0]);
|
||||
if (who == null) { Player.SendMessage(p, "Could not find player."); return; }
|
||||
Player who = PlayerInfo.FindOrShowMatches(p, args[0]);
|
||||
if (who == null) return;
|
||||
if (p != null && who.group.Permission > p.group.Permission) {
|
||||
Player.SendMessage(p, "Cannot change the title color of someone of greater rank"); return;
|
||||
}
|
||||
|
@ -32,8 +32,8 @@ namespace MCGalaxy.Commands {
|
||||
if (message == "") { Help(p); return; }
|
||||
string[] parts = message.Split(trimChars, 2);
|
||||
|
||||
Player who = PlayerInfo.Find(parts[0]);
|
||||
if (who == null) { Player.SendMessage(p, "Could not find player."); return; }
|
||||
Player who = PlayerInfo.FindOrShowMatches(p, parts[0]);
|
||||
if (who == null) return;
|
||||
if (p != null && who.group.Permission > p.group.Permission) {
|
||||
Player.SendMessage(p, "Cannot change the title of someone of greater rank"); return;
|
||||
}
|
||||
|
@ -83,8 +83,13 @@ namespace MCGalaxy {
|
||||
}
|
||||
|
||||
public static Player FindOrShowMatches(Player pl, string name, bool onlyCanSee = true) {
|
||||
int matches = 0;
|
||||
return FindOrShowMatches(pl, name, out matches, onlyCanSee);
|
||||
}
|
||||
|
||||
public static Player FindOrShowMatches(Player pl, string name, out int matches, bool onlyCanSee = true) {
|
||||
Player[] players = PlayerInfo.Online;
|
||||
Player match = null; int matches = 0;
|
||||
Player match = null; matches = 0;
|
||||
name = name.ToLower();
|
||||
StringBuilder matchNames = new StringBuilder();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user