mirror of
https://github.com/ClassiCube/MCGalaxy.git
synced 2025-09-08 06:37:04 -04:00
Allow configuring warning/error colour
This commit is contained in:
parent
edc8d50c1d
commit
03c024d942
@ -26,6 +26,7 @@ namespace MCGalaxy.Gui {
|
||||
chat_ParseColor(ServerConfig.IRCColor, chat_btnIRC);
|
||||
chat_ParseColor(ServerConfig.HelpSyntaxColor, chat_btnSyntax);
|
||||
chat_ParseColor(ServerConfig.HelpDescriptionColor, chat_btnDesc);
|
||||
chat_ParseColor(ServerConfig.WarningErrorColor, chat_btnWarn);
|
||||
|
||||
chat_txtConsole.Text = ServerConfig.ConsoleName;
|
||||
chat_chkFilter.Checked = ServerConfig.ProfanityFiltering;
|
||||
@ -47,6 +48,7 @@ namespace MCGalaxy.Gui {
|
||||
ServerConfig.IRCColor = Colors.Parse(chat_btnIRC.Text);
|
||||
ServerConfig.HelpSyntaxColor = Colors.Parse(chat_btnSyntax.Text);
|
||||
ServerConfig.HelpDescriptionColor = Colors.Parse(chat_btnDesc.Text);
|
||||
ServerConfig.WarningErrorColor = Colors.Parse(chat_btnWarn.Text);
|
||||
|
||||
ServerConfig.ConsoleName = chat_txtConsole.Text;
|
||||
ServerConfig.ProfanityFiltering = chat_chkFilter.Checked;
|
||||
@ -82,6 +84,10 @@ namespace MCGalaxy.Gui {
|
||||
void chat_btnDesc_Click(object sender, EventArgs e) {
|
||||
chat_ShowColorDialog(chat_btnDesc, "Help description color");
|
||||
}
|
||||
|
||||
void chat_btnWarn_Click(object sender, EventArgs e) {
|
||||
chat_ShowColorDialog(chat_btnWarn, "Warning / error color");
|
||||
}
|
||||
|
||||
|
||||
void chat_ParseColor(string value, Button target) {
|
||||
|
61
GUI/PropertyWindow/PropertyWindow.Designer.cs
generated
61
GUI/PropertyWindow/PropertyWindow.Designer.cs
generated
@ -47,7 +47,6 @@ namespace MCGalaxy.Gui
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.pageChat = new System.Windows.Forms.TabPage();
|
||||
this.chat_chkFilter = new System.Windows.Forms.CheckBox();
|
||||
this.chat_grpTab = new System.Windows.Forms.GroupBox();
|
||||
this.chat_cbTabRank = new System.Windows.Forms.CheckBox();
|
||||
this.chat_cbTabLevel = new System.Windows.Forms.CheckBox();
|
||||
@ -64,9 +63,12 @@ namespace MCGalaxy.Gui
|
||||
this.chat_lblDemote = new System.Windows.Forms.Label();
|
||||
this.chat_txtDemote = new System.Windows.Forms.TextBox();
|
||||
this.chat_grpOther = new System.Windows.Forms.GroupBox();
|
||||
this.chat_chkFilter = new System.Windows.Forms.CheckBox();
|
||||
this.chat_lblConsole = new System.Windows.Forms.Label();
|
||||
this.chat_txtConsole = new System.Windows.Forms.TextBox();
|
||||
this.chat_grpColors = new System.Windows.Forms.GroupBox();
|
||||
this.chat_lblWarn = new System.Windows.Forms.Label();
|
||||
this.chat_btnWarn = new System.Windows.Forms.Button();
|
||||
this.chat_lblDefault = new System.Windows.Forms.Label();
|
||||
this.chat_btnDefault = new System.Windows.Forms.Button();
|
||||
this.chat_lblIRC = new System.Windows.Forms.Label();
|
||||
@ -547,7 +549,6 @@ namespace MCGalaxy.Gui
|
||||
// pageChat
|
||||
//
|
||||
this.pageChat.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.pageChat.Controls.Add(this.chat_chkFilter);
|
||||
this.pageChat.Controls.Add(this.chat_grpTab);
|
||||
this.pageChat.Controls.Add(this.chat_grpMessages);
|
||||
this.pageChat.Controls.Add(this.chat_grpOther);
|
||||
@ -559,22 +560,12 @@ namespace MCGalaxy.Gui
|
||||
this.pageChat.TabIndex = 10;
|
||||
this.pageChat.Text = "Chat";
|
||||
//
|
||||
// chat_chkFilter
|
||||
//
|
||||
this.chat_chkFilter.AutoSize = true;
|
||||
this.chat_chkFilter.Location = new System.Drawing.Point(80, 380);
|
||||
this.chat_chkFilter.Name = "chat_chkFilter";
|
||||
this.chat_chkFilter.Size = new System.Drawing.Size(96, 17);
|
||||
this.chat_chkFilter.TabIndex = 31;
|
||||
this.chat_chkFilter.Text = "Profanity Filter";
|
||||
this.chat_chkFilter.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// chat_grpTab
|
||||
//
|
||||
this.chat_grpTab.Controls.Add(this.chat_cbTabRank);
|
||||
this.chat_grpTab.Controls.Add(this.chat_cbTabLevel);
|
||||
this.chat_grpTab.Controls.Add(this.chat_cbTabBots);
|
||||
this.chat_grpTab.Location = new System.Drawing.Point(235, 59);
|
||||
this.chat_grpTab.Location = new System.Drawing.Point(235, 88);
|
||||
this.chat_grpTab.Name = "chat_grpTab";
|
||||
this.chat_grpTab.Size = new System.Drawing.Size(256, 92);
|
||||
this.chat_grpTab.TabIndex = 3;
|
||||
@ -623,7 +614,7 @@ namespace MCGalaxy.Gui
|
||||
this.chat_grpMessages.Controls.Add(this.chat_txtPromote);
|
||||
this.chat_grpMessages.Controls.Add(this.chat_lblDemote);
|
||||
this.chat_grpMessages.Controls.Add(this.chat_txtDemote);
|
||||
this.chat_grpMessages.Location = new System.Drawing.Point(8, 157);
|
||||
this.chat_grpMessages.Location = new System.Drawing.Point(8, 186);
|
||||
this.chat_grpMessages.Name = "chat_grpMessages";
|
||||
this.chat_grpMessages.Size = new System.Drawing.Size(483, 180);
|
||||
this.chat_grpMessages.TabIndex = 2;
|
||||
@ -718,15 +709,26 @@ namespace MCGalaxy.Gui
|
||||
//
|
||||
// chat_grpOther
|
||||
//
|
||||
this.chat_grpOther.Controls.Add(this.chat_chkFilter);
|
||||
this.chat_grpOther.Controls.Add(this.chat_lblConsole);
|
||||
this.chat_grpOther.Controls.Add(this.chat_txtConsole);
|
||||
this.chat_grpOther.Location = new System.Drawing.Point(235, 6);
|
||||
this.chat_grpOther.Name = "chat_grpOther";
|
||||
this.chat_grpOther.Size = new System.Drawing.Size(256, 47);
|
||||
this.chat_grpOther.Size = new System.Drawing.Size(256, 76);
|
||||
this.chat_grpOther.TabIndex = 1;
|
||||
this.chat_grpOther.TabStop = false;
|
||||
this.chat_grpOther.Text = "Other";
|
||||
//
|
||||
// chat_chkFilter
|
||||
//
|
||||
this.chat_chkFilter.AutoSize = true;
|
||||
this.chat_chkFilter.Location = new System.Drawing.Point(6, 49);
|
||||
this.chat_chkFilter.Name = "chat_chkFilter";
|
||||
this.chat_chkFilter.Size = new System.Drawing.Size(96, 17);
|
||||
this.chat_chkFilter.TabIndex = 31;
|
||||
this.chat_chkFilter.Text = "Profanity Filter";
|
||||
this.chat_chkFilter.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// chat_lblConsole
|
||||
//
|
||||
this.chat_lblConsole.AutoSize = true;
|
||||
@ -738,13 +740,15 @@ namespace MCGalaxy.Gui
|
||||
//
|
||||
// chat_txtConsole
|
||||
//
|
||||
this.chat_txtConsole.Location = new System.Drawing.Point(105, 17);
|
||||
this.chat_txtConsole.Location = new System.Drawing.Point(89, 17);
|
||||
this.chat_txtConsole.Name = "chat_txtConsole";
|
||||
this.chat_txtConsole.Size = new System.Drawing.Size(145, 21);
|
||||
this.chat_txtConsole.Size = new System.Drawing.Size(161, 21);
|
||||
this.chat_txtConsole.TabIndex = 3;
|
||||
//
|
||||
// chat_grpColors
|
||||
//
|
||||
this.chat_grpColors.Controls.Add(this.chat_lblWarn);
|
||||
this.chat_grpColors.Controls.Add(this.chat_btnWarn);
|
||||
this.chat_grpColors.Controls.Add(this.chat_lblDefault);
|
||||
this.chat_grpColors.Controls.Add(this.chat_btnDefault);
|
||||
this.chat_grpColors.Controls.Add(this.chat_lblIRC);
|
||||
@ -755,11 +759,29 @@ namespace MCGalaxy.Gui
|
||||
this.chat_grpColors.Controls.Add(this.chat_btnDesc);
|
||||
this.chat_grpColors.Location = new System.Drawing.Point(8, 6);
|
||||
this.chat_grpColors.Name = "chat_grpColors";
|
||||
this.chat_grpColors.Size = new System.Drawing.Size(221, 145);
|
||||
this.chat_grpColors.Size = new System.Drawing.Size(221, 174);
|
||||
this.chat_grpColors.TabIndex = 0;
|
||||
this.chat_grpColors.TabStop = false;
|
||||
this.chat_grpColors.Text = "Colors";
|
||||
//
|
||||
// chat_lblWarn
|
||||
//
|
||||
this.chat_lblWarn.AutoSize = true;
|
||||
this.chat_lblWarn.Location = new System.Drawing.Point(20, 141);
|
||||
this.chat_lblWarn.Name = "chat_lblWarn";
|
||||
this.chat_lblWarn.Size = new System.Drawing.Size(88, 13);
|
||||
this.chat_lblWarn.TabIndex = 35;
|
||||
this.chat_lblWarn.Text = "Warnings/errors:";
|
||||
//
|
||||
// chat_btnWarn
|
||||
//
|
||||
this.chat_btnWarn.Location = new System.Drawing.Point(113, 136);
|
||||
this.chat_btnWarn.Name = "chat_btnWarn";
|
||||
this.chat_btnWarn.Size = new System.Drawing.Size(95, 23);
|
||||
this.chat_btnWarn.TabIndex = 34;
|
||||
this.toolTip.SetToolTip(this.chat_btnWarn, "The color of warning/error messages produced by commands");
|
||||
this.chat_btnWarn.Click += new System.EventHandler(this.chat_btnWarn_Click);
|
||||
//
|
||||
// chat_lblDefault
|
||||
//
|
||||
this.chat_lblDefault.AutoSize = true;
|
||||
@ -4893,7 +4915,6 @@ namespace MCGalaxy.Gui
|
||||
this.Load += new System.EventHandler(this.PropertyWindow_Load);
|
||||
this.Disposed += new System.EventHandler(this.PropertyWindow_Unload);
|
||||
this.pageChat.ResumeLayout(false);
|
||||
this.pageChat.PerformLayout();
|
||||
this.chat_grpTab.ResumeLayout(false);
|
||||
this.chat_grpTab.PerformLayout();
|
||||
this.chat_grpMessages.ResumeLayout(false);
|
||||
@ -5047,6 +5068,8 @@ namespace MCGalaxy.Gui
|
||||
((System.ComponentModel.ISupportInitialize)(this.sec_numBlocksSecs)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
}
|
||||
private System.Windows.Forms.Button chat_btnWarn;
|
||||
private System.Windows.Forms.Label chat_lblWarn;
|
||||
private System.Windows.Forms.Label tw_lblMode;
|
||||
private System.Windows.Forms.ComboBox tw_cmbDiff;
|
||||
private System.Windows.Forms.ComboBox tw_cmbMode;
|
||||
|
@ -185,6 +185,7 @@ namespace MCGalaxy {
|
||||
if (col == 'H') { col = ServerConfig.HelpDescriptionColor[1]; return true; }
|
||||
if (col == 'T') { col = ServerConfig.HelpSyntaxColor[1]; return true; }
|
||||
if (col == 'I') { col = ServerConfig.IRCColor[1]; return true; }
|
||||
if (col == 'W') { col = ServerConfig.WarningErrorColor[1]; return true; }
|
||||
return IsDefined(col);
|
||||
}
|
||||
|
||||
|
@ -541,11 +541,11 @@ namespace MCGalaxy.Commands.CPE {
|
||||
if (!CommandParser.GetBlock(p, value, out block)) return Block.Invalid;
|
||||
|
||||
if (block >= Block.Extended) {
|
||||
Player.Message(p, "&cCustom blocks cannot be used as fallback blocks.");
|
||||
Player.Message(p, "%WCustom blocks cannot be used as fallback blocks.");
|
||||
return Block.Invalid;
|
||||
}
|
||||
if (Block.IsPhysicsType(block)) {
|
||||
Player.Message(p, "&cPhysics block cannot be used as fallback blocks.");
|
||||
Player.Message(p, "%WPhysics block cannot be used as fallback blocks.");
|
||||
return Block.Invalid;
|
||||
}
|
||||
return (BlockRaw)block;
|
||||
@ -572,13 +572,13 @@ namespace MCGalaxy.Commands.CPE {
|
||||
|
||||
static void MessageNoBlock(Player p, BlockID block, bool global, string cmd) {
|
||||
string scope = global ? "global" : "level";
|
||||
Player.Message(p, "&cThere is no {1} custom block with the id \"{0}\".", Block.ToRaw(block), scope);
|
||||
Player.Message(p, "%WThere is no {1} custom block with the id \"{0}\".", Block.ToRaw(block), scope);
|
||||
Player.Message(p, "Type %T{0} list %Sto see a list of {1} custom blocks.", cmd, scope);
|
||||
}
|
||||
|
||||
static void MessageAlreadyBlock(Player p, BlockID block, bool global, string cmd) {
|
||||
string scope = global ? "global" : "level";
|
||||
Player.Message(p, "&cThere is already a {1} custom block with the id \"{0}\".", Block.ToRaw(block), scope);
|
||||
Player.Message(p, "%WThere is already a {1} custom block with the id \"{0}\".", Block.ToRaw(block), scope);
|
||||
Player.Message(p, "Type %T{0} list %Sto see a list of {1} custom blocks.", cmd, scope);
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,7 @@ namespace MCGalaxy.Commands.Eco {
|
||||
if (IsCreateCommand(args[0])) {
|
||||
args = args[1].Split(awardArgs, 2);
|
||||
if (args.Length == 1) {
|
||||
Player.Message(p, "&cUse a : to separate the award name from its description.");
|
||||
Player.Message(p, "%WUse a : to separate the award name from its description.");
|
||||
Help(p); return;
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,7 @@ namespace MCGalaxy.Commands.Eco {
|
||||
if (item == null) { Help(p); return; }
|
||||
|
||||
if (!item.Enabled) {
|
||||
Player.Message(p, "&cThe {0} item is not currently buyable.", item.Name); return;
|
||||
Player.Message(p, "%WThe {0} item is not currently buyable.", item.Name); return;
|
||||
}
|
||||
if (p.Rank < item.PurchaseRank) {
|
||||
Formatter.MessageNeedMinPerm(p, "+ can purchase a " + item.Name, item.PurchaseRank); return;
|
||||
|
@ -58,7 +58,7 @@ namespace MCGalaxy.Commands.Eco {
|
||||
|
||||
static bool ReachedMax(Player p, int current, int amount) {
|
||||
if (current + amount > 16777215) {
|
||||
Player.Message(p, "&cPlayers cannot have over &316,777,215 &3" + ServerConfig.Currency); return true;
|
||||
Player.Message(p, "%WPlayers cannot have over &316,777,215 &3" + ServerConfig.Currency); return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -57,10 +57,10 @@ namespace MCGalaxy.Commands.Eco {
|
||||
|
||||
static bool IsLegalPayment(Player p, int payer, int receiver, int amount) {
|
||||
if (receiver + amount > 16777215) {
|
||||
Player.Message(p, "&cPlayers cannot have over &f16777215 &3" + ServerConfig.Currency); return false;
|
||||
Player.Message(p, "%WPlayers cannot have over &f16777215 &3" + ServerConfig.Currency); return false;
|
||||
}
|
||||
if (payer < amount) {
|
||||
Player.Message(p, "&cYou don't have enough &3" + ServerConfig.Currency); return false;
|
||||
Player.Message(p, "%WYou don't have enough &3" + ServerConfig.Currency); return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -40,7 +40,7 @@ namespace MCGalaxy.Commands.Eco {
|
||||
if (item == null) { Help(p); return; }
|
||||
|
||||
if (!item.Enabled) {
|
||||
Player.Message(p, "&cThe " + item.ShopName + " item is not currently buyable."); return;
|
||||
Player.Message(p, "%WThe " + item.ShopName + " item is not currently buyable."); return;
|
||||
}
|
||||
item.OnStoreCommand(p);
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ namespace MCGalaxy.Commands.Eco {
|
||||
int matches = 1;
|
||||
Player who = PlayerInfo.FindMatches(p, data.TargetName, out matches);
|
||||
if (matches > 1) return;
|
||||
if (p != null && p == who) { Player.Message(p, "&cYou can't take &3" + ServerConfig.Currency + "&c from yourself"); return; }
|
||||
if (p != null && p == who) { Player.Message(p, "%WYou can't take &3" + ServerConfig.Currency + "%W from yourself"); return; }
|
||||
|
||||
int money = 0;
|
||||
if (who == null) {
|
||||
|
@ -76,7 +76,7 @@ namespace MCGalaxy.Commands.Fun {
|
||||
string prop = args[1], value = args[2];
|
||||
if (prop.CaselessEq("spawn")) {
|
||||
if (gameCfg.Mode == TWGameMode.FFA) {
|
||||
Player.Message(p, "&cCannot set spawns in Free For All mode"); return;
|
||||
Player.Message(p, "%WCannot set spawns in Free For All mode"); return;
|
||||
}
|
||||
|
||||
if (value.CaselessEq("red")) {
|
||||
|
@ -57,7 +57,7 @@ namespace MCGalaxy.Commands.Info {
|
||||
p.level.BlockDB.FindChangesAt(x, y, z,
|
||||
entry => OutputEntry(p, ref foundAny, names, entry));
|
||||
} else {
|
||||
Player.Message(p, "&cUnable to accquire read lock on BlockDB after 30 seconds, aborting.");
|
||||
Player.Message(p, "%WUnable to accquire read lock on BlockDB after 30 seconds, aborting.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -40,7 +40,7 @@ namespace MCGalaxy.Commands.Info {
|
||||
|
||||
TopStat stat = FindTopStat(args[1]);
|
||||
if (stat == null) {
|
||||
Player.Message(p, "&cUnrecognised type \"{0}\".", args[1]); return;
|
||||
Player.Message(p, "%WUnrecognised type \"{0}\".", args[1]); return;
|
||||
}
|
||||
|
||||
if (args.Length > 2) {
|
||||
|
@ -71,7 +71,7 @@ namespace MCGalaxy.Commands.Maintenance {
|
||||
Player.Message(p, "%T/BlockDB enable [map]");
|
||||
Player.Message(p, "%HEnables %Hrecording block changes to the BlockDB for [map]");
|
||||
Player.Message(p, "%HIf no map name is given, uses your current map.");
|
||||
Player.Message(p, "&cUse these commands with great caution!");
|
||||
Player.Message(p, "%WUse these commands with great caution!");
|
||||
}
|
||||
}
|
||||
}
|
@ -41,7 +41,7 @@ namespace MCGalaxy.Commands.Maintenance {
|
||||
if (args[0] == null) return;
|
||||
Player who = PlayerInfo.FindExact(args[0]);
|
||||
if (args.Length == 1) {
|
||||
Player.Message(p, "&cYou must specify a type to modify.");
|
||||
Player.Message(p, "%WYou must specify a type to modify.");
|
||||
MessageValidTypes(p); return;
|
||||
}
|
||||
|
||||
@ -103,7 +103,7 @@ namespace MCGalaxy.Commands.Maintenance {
|
||||
SetColor(p, args, PlayerData.ColumnTColor, who,
|
||||
v => who.titlecolor = v);
|
||||
} else {
|
||||
Player.Message(p, "&cInvalid type");
|
||||
Player.Message(p, "%WInvalid type");
|
||||
MessageValidTypes(p);
|
||||
}
|
||||
}
|
||||
|
@ -90,7 +90,7 @@ namespace MCGalaxy.Commands.Moderation {
|
||||
if (op.found) {
|
||||
Player.Message(p, "Now highlighting past &b{0} %Sfor {1}",
|
||||
delta.Shorten(true), PlayerInfo.GetColoredName(p, who));
|
||||
Player.Message(p, "&cUse /reload to un-highlight");
|
||||
Player.Message(p, "%WUse /reload to un-highlight");
|
||||
} else {
|
||||
Player.Message(p, "No changes found by {1} %Sin the past &b{0}",
|
||||
delta.Shorten(true), PlayerInfo.GetColoredName(p, who));
|
||||
@ -111,7 +111,7 @@ namespace MCGalaxy.Commands.Moderation {
|
||||
Player.Message(p, "%T/Highlight area [player] <timespan>");
|
||||
Player.Message(p, "%HOnly highlights in the specified region.");
|
||||
Player.Message(p, "%H If <timespan> is not given, highlights for last 30 minutes");
|
||||
Player.Message(p, "&c/Highlight cannot be disabled, use /reload to un-highlight");
|
||||
Player.Message(p, "%W/Highlight cannot be disabled, use /reload to un-highlight");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -45,7 +45,7 @@ namespace MCGalaxy.Commands.Moderation {
|
||||
}
|
||||
|
||||
if (HttpUtil.IsPrivateIP(ip)) {
|
||||
Player.Message(p, "&cPlayer has an internal IP, cannot trace"); return;
|
||||
Player.Message(p, "%WPlayer has an internal IP, cannot trace"); return;
|
||||
}
|
||||
|
||||
string country = null;
|
||||
|
@ -49,12 +49,12 @@ namespace MCGalaxy.Commands.Moderation {
|
||||
}
|
||||
|
||||
void VerifyPassword(Player p, string message) {
|
||||
if (!p.adminpen) { Player.Message(p, "You are &calready verified."); return; }
|
||||
if (!p.adminpen) { Player.Message(p, "%WYou are already verified."); return; }
|
||||
if (p.passtries >= 3) { p.Kick("Did you really think you could keep on guessing?"); return; }
|
||||
|
||||
if (message.IndexOf(' ') >= 0) { Player.Message(p, "Your password must be &cone %Sword!"); return; }
|
||||
if (message.IndexOf(' ') >= 0) { Player.Message(p, "Your password must be %Wone %Sword!"); return; }
|
||||
if (!PasswordHasher.Exists(p.name)) {
|
||||
Player.Message(p, "You have not &cset a password, %Suse &a/setpass [Password] &cto set one!"); return;
|
||||
Player.Message(p, "You have not %Wset a password, %Suse %T/SetPass [Password] %Wto set one!"); return;
|
||||
}
|
||||
|
||||
if (PasswordHasher.MatchesPass(p.name, message)) {
|
||||
@ -62,15 +62,15 @@ namespace MCGalaxy.Commands.Moderation {
|
||||
p.adminpen = false;
|
||||
} else {
|
||||
p.passtries++;
|
||||
Player.Message(p, "&cWrong Password. %SRemember your password is &ccase sensitive.");
|
||||
Player.Message(p, "%WWrong Password. %SRemember your password is %Wcase sensitive.");
|
||||
Player.Message(p, "Forgot your password? %SContact the owner so they can reset it.");
|
||||
}
|
||||
}
|
||||
|
||||
void SetPassword(Player p, string message) {
|
||||
if (p.adminpen && PasswordHasher.Exists(p.name)) {
|
||||
Player.Message(p, "&cYou already have a password set. %SYou &ccannot change %Sit unless &cyou verify it with &a/pass [Password]. " +
|
||||
"%SIf you have &cforgotten %Syour password, contact &c" + ServerConfig.OwnerName + " %Sand they can &creset it!");
|
||||
Player.Message(p, "%WcYou already have a password set. %SYou %Wcannot change %Sit unless %Wyou verify it with &a/pass [Password]. " +
|
||||
"%SIf you have %Wforgotten %Syour password, contact %W" + ServerConfig.OwnerName + " %Sand they can %Wreset it!");
|
||||
return;
|
||||
}
|
||||
if (message.IndexOf(' ') >= 0) { Player.Message(p, "Your password must be one word!"); return; }
|
||||
@ -85,7 +85,7 @@ namespace MCGalaxy.Commands.Moderation {
|
||||
Player who = PlayerInfo.FindMatches(p, message);
|
||||
if (who == null) return;
|
||||
if (p != null && p.adminpen) {
|
||||
Player.Message(p, "&cYou must first verify with %T/Pass [Password]"); return;
|
||||
Player.Message(p, "%WYou must first verify with %T/Pass [Password]"); return;
|
||||
}
|
||||
|
||||
string owner = ServerConfig.OwnerName;
|
||||
@ -107,7 +107,7 @@ namespace MCGalaxy.Commands.Moderation {
|
||||
Player.Message(p, "%T/Pass reset [Player] %H- Resets the password for that player");
|
||||
Player.Message(p, "%H Note: Can only be used by console and the server owner.");
|
||||
Player.Message(p, "%T/Pass set [Password] %H- Sets your password to [password]");
|
||||
Player.Message(p, "%H Note: &cDo NOT set this as your Minecraft password!");
|
||||
Player.Message(p, "%H Note: %WDo NOT set this as your Minecraft password!");
|
||||
Player.Message(p, "%T/Pass [Password]");
|
||||
Player.Message(p, "%HIf you are an admin, use this command to verify your login.");
|
||||
Player.Message(p, "%H You will need to be verified to be able to use commands.");
|
||||
|
@ -36,7 +36,7 @@ namespace MCGalaxy.Commands.Moderation {
|
||||
|
||||
List<Player> candidates = GetPatrolCandidates(p);
|
||||
if (candidates.Count == 0) {
|
||||
Player.Message(p, "&cNo players to patrol.");
|
||||
Player.Message(p, "%WNo players to patrol.");
|
||||
} else {
|
||||
Player target = candidates[new Random().Next(candidates.Count)];
|
||||
target.LastPatrol = DateTime.UtcNow;
|
||||
|
@ -153,7 +153,7 @@ namespace MCGalaxy.Commands.Moderation {
|
||||
|
||||
ItemPerms checkPerms = CommandExtraPerms.Find(name, 1);
|
||||
if (reports.Count >= 5) {
|
||||
Player.Message(p, "{0} &calready has 5 reports! Please wait until an {1} &chas reviewed these reports first!",
|
||||
Player.Message(p, "{0} %Walready has 5 reports! Please wait until an {1} %Whas reviewed these reports first!",
|
||||
PlayerInfo.GetColoredName(p, target), checkPerms.Describe());
|
||||
return;
|
||||
}
|
||||
|
@ -53,11 +53,11 @@ namespace MCGalaxy.Commands.Moderation {
|
||||
if (!CommandParser.GetTimespan(p, args[2], ref duration, "temp rank for", "h")) return;
|
||||
|
||||
if (Server.tempRanks.Contains(target)) {
|
||||
Player.Message(p, "&cThe player already has a temporary rank assigned!"); return;
|
||||
Player.Message(p, "%WThe player already has a temporary rank assigned!"); return;
|
||||
}
|
||||
|
||||
if (p != null && p.name.CaselessEq(target)) {
|
||||
Player.Message(p, "&cYou cannot assign yourself a temporary rank."); return;
|
||||
Player.Message(p, "%WYou cannot assign yourself a temporary rank."); return;
|
||||
}
|
||||
|
||||
Group curRank = PlayerInfo.GetGroup(target);
|
||||
@ -73,7 +73,7 @@ namespace MCGalaxy.Commands.Moderation {
|
||||
static void Delete(Player p, string target) {
|
||||
string line = Server.tempRanks.FindData(target);
|
||||
if (line == null) {
|
||||
Player.Message(p, "{0}&c has not been assigned a temp rank.",
|
||||
Player.Message(p, "{0} %Whas not been assigned a temp rank.",
|
||||
PlayerInfo.GetColoredName(p, target));
|
||||
return;
|
||||
}
|
||||
@ -96,7 +96,7 @@ namespace MCGalaxy.Commands.Moderation {
|
||||
static void Info(Player p, string target) {
|
||||
string data = Server.tempRanks.FindData(target);
|
||||
if (data == null) {
|
||||
Player.Message(p, "{0}&c has not been assigned a temp rank.",
|
||||
Player.Message(p, "{0} %Whas not been assigned a temp rank.",
|
||||
PlayerInfo.GetColoredName(p, target));
|
||||
} else {
|
||||
PrintTempRankInfo(p, target, data);
|
||||
@ -106,7 +106,7 @@ namespace MCGalaxy.Commands.Moderation {
|
||||
static void List(Player p) {
|
||||
List<string> lines = Server.tempRanks.AllLines();
|
||||
if (lines.Count == 0) {
|
||||
Player.Message(p, "&cThere are no players with a temporary rank assigned.");
|
||||
Player.Message(p, "%WThere are no players with a temporary rank assigned.");
|
||||
} else {
|
||||
Player.Message(p, "&ePlayers with a temporary rank assigned:");
|
||||
foreach (string line in lines) {
|
||||
|
@ -37,7 +37,7 @@ namespace MCGalaxy.Commands.Scripting {
|
||||
}
|
||||
|
||||
string error = IScripting.Load(path);
|
||||
if (error != null) { Player.Message(p, error); return; }
|
||||
if (error != null) { Player.Message(p, "%W" + error); return; }
|
||||
Player.Message(p, "Command was successfully loaded.");
|
||||
}
|
||||
|
||||
|
@ -48,7 +48,7 @@ namespace MCGalaxy.Commands.Scripting {
|
||||
if (engine.Compile(path, dstPath)) {
|
||||
Player.Message(p, "Command compiled successfully.");
|
||||
} else {
|
||||
Player.Message(p, "Compilation error. See " + IScripting.ErrorPath + " for more information.");
|
||||
Player.Message(p, "%WCompilation error. See " + IScripting.ErrorPath + " for more information.");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -76,7 +76,7 @@ namespace MCGalaxy.Commands.Scripting {
|
||||
if (Plugin.Load(name, false)) {
|
||||
Player.Message(p, "Plugin loaded successfully.");
|
||||
} else {
|
||||
Player.Message(p, "Error loading plugin. See error logs for more information.");
|
||||
Player.Message(p, "%WError loading plugin. See error logs for more information.");
|
||||
}
|
||||
} else {
|
||||
Player.Message(p, "File &9{0} %Snot found.", path);
|
||||
@ -98,7 +98,7 @@ namespace MCGalaxy.Commands.Scripting {
|
||||
if (Plugin.Unload(plugin, false)) {
|
||||
Player.Message(p, "Plugin unloaded successfully.");
|
||||
} else {
|
||||
Player.Message(p, "Error unloading plugin. See error logs for more information.");
|
||||
Player.Message(p, "%WError unloading plugin. See error logs for more information.");
|
||||
}
|
||||
} else {
|
||||
Player.Message(p, "Loaded plugins: " + Plugin.all.Join(pl => pl.name));
|
||||
|
@ -37,7 +37,7 @@ namespace MCGalaxy.Commands.World {
|
||||
Player pScope = scope == Block.Props ? null : p;
|
||||
BlockID block = Block.Parse(pScope, args[1]);
|
||||
if (block == Block.Invalid) {
|
||||
Player.Message(p, "&cThere is no block \"{0}\".", args[1]); return;
|
||||
Player.Message(p, "%WThere is no block \"{0}\".", args[1]); return;
|
||||
}
|
||||
|
||||
string prop = args[2].ToLower();
|
||||
@ -58,7 +58,7 @@ namespace MCGalaxy.Commands.World {
|
||||
return p.level.Props;
|
||||
}
|
||||
|
||||
Player.Message(p, "&cScope must be: core/global, or level");
|
||||
Player.Message(p, "%WScope must be: core/global, or level");
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -240,7 +240,7 @@ namespace MCGalaxy.Commands.World {
|
||||
Player.Message(p, "%HSets the block that this block is changed into, when no longer exposed to sunlight");
|
||||
Player.Message(p, "%HLeave block blank to remove this behaviour.");
|
||||
} else {
|
||||
Player.Message(p, "&cUnrecognised property \"{0}\"", message);
|
||||
Player.Message(p, "%WUnrecognised property \"{0}\"", message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -49,7 +49,7 @@ namespace MCGalaxy.Commands.World {
|
||||
try {
|
||||
LevelActions.CopyLevel(src, dst);
|
||||
} catch (IOException) {
|
||||
Player.Message(p, "Level &c" + dst + " %Salready exists!"); return;
|
||||
Player.Message(p, "Level %W" + dst + " %Salready exists!"); return;
|
||||
}
|
||||
|
||||
Level ignored;
|
||||
|
@ -41,12 +41,12 @@ namespace MCGalaxy.Commands.World {
|
||||
}
|
||||
|
||||
string formats = IMapImporter.Formats.Join(imp => imp.Extension);
|
||||
Player.Message(p, "&cNo {0} file with that name was found in /extra/import folder.", formats);
|
||||
Player.Message(p, "%WNo {0} file with that name was found in /extra/import folder.", formats);
|
||||
}
|
||||
|
||||
void Import(Player p, string path, string name, IMapImporter importer) {
|
||||
if (LevelInfo.MapExists(name)) {
|
||||
Player.Message(p, "&cMap {0} already exists. Try renaming the file to something else before importing.", name);
|
||||
Player.Message(p, "%WMap {0} already exists. Try renaming the file to something else before importing.", name);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
|
@ -89,12 +89,12 @@ namespace MCGalaxy.Commands.World {
|
||||
|
||||
internal static bool CheckMapAxis(Player p, string input, string type, ref ushort len) {
|
||||
if (!CommandParser.GetUShort(p, input, type, ref len)) return false;
|
||||
if (len == 0) { Player.Message(p, "&c{0} cannot be 0.", type); return false; }
|
||||
if (len > 16384) { Player.Message(p, "&c{0} must be 16384 or less.", type); return false; }
|
||||
if (len == 0) { Player.Message(p, "%W{0} cannot be 0.", type); return false; }
|
||||
if (len > 16384) { Player.Message(p, "%W{0} must be 16384 or less.", type); return false; }
|
||||
|
||||
if ((len % 16) != 0) {
|
||||
Player.Message(p, "&cMap {0} of {1} blocks is not divisible by 16!", type, len);
|
||||
Player.Message(p, "&cAs such, you may see rendering artifacts on some clients.");
|
||||
Player.Message(p, "%WMap {0} of {1} blocks is not divisible by 16!", type, len);
|
||||
Player.Message(p, "%WAs such, you may see rendering artifacts on some clients.");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -138,7 +138,7 @@ namespace MCGalaxy.Commands.World {
|
||||
if (opt == null) {
|
||||
Player.MessageLines(p, mapHelp);
|
||||
} else if (DisallowedMapOption(opt.Name)) {
|
||||
Player.Message(p, "&cYou cannot change that map option via /os map."); return;
|
||||
Player.Message(p, "%WYou cannot change that map option via /os map."); return;
|
||||
} else {
|
||||
opt.SetFunc(p, p.level, value);
|
||||
Level.SaveSettings(p.level);
|
||||
|
@ -51,12 +51,12 @@ namespace MCGalaxy.Commands.World {
|
||||
|
||||
bool confirmed = args.Length > 4 && args[4].CaselessEq("confirm");
|
||||
if (!confirmed && (x < lvl.Width || y < lvl.Height || z < lvl.Length)) {
|
||||
Player.Message(p, "New level dimensions are smaller than the current dimensions, &cyou will lose blocks%S.");
|
||||
Player.Message(p, "New level dimensions are smaller than the current dimensions, %Wyou will lose blocks%S.");
|
||||
return false;
|
||||
}
|
||||
|
||||
Level newLvl = ResizeLevel(lvl, x, y, z);
|
||||
if (newLvl == null) { Player.Message(p, "&cError resizing map."); return false; }
|
||||
if (newLvl == null) { Player.Message(p, "%WError resizing map."); return false; }
|
||||
LevelActions.Replace(lvl, newLvl);
|
||||
return true;
|
||||
}
|
||||
|
@ -54,7 +54,7 @@ namespace MCGalaxy.Commands.Building {
|
||||
} else if (op == "cubed") {
|
||||
Player.Message(p, "&aResult&f: Cube of {0} = {1}", n1, n1 * n1 * n1);
|
||||
} else {
|
||||
Player.Message(p, "&cOnly supported operators are: +, -, *, /, sqrt, square, or cubed");
|
||||
Player.Message(p, "%WOnly supported operators are: +, -, *, /, sqrt, square, or cubed");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -140,7 +140,7 @@ namespace MCGalaxy.Commands.Building {
|
||||
float ratio = Math.Min(resizedWidth / (float)width, resizedHeight / (float)height);
|
||||
resizedWidth = (int)(width * ratio); resizedHeight = (int)(height * ratio);
|
||||
|
||||
Player.Message(p, "&cImage is too large ({0}x{1}), resizing to ({2}x{3})",
|
||||
Player.Message(p, "%WImage is too large ({0}x{1}), resizing to ({2}x{3})",
|
||||
width, height, resizedWidth, resizedHeight);
|
||||
width = resizedWidth; height = resizedHeight;
|
||||
}
|
||||
|
@ -48,13 +48,13 @@ namespace MCGalaxy.Commands.Building {
|
||||
Player.Message(p, "Redo performed.");
|
||||
return;
|
||||
}
|
||||
Player.Message(p, "No %T/Undo %Sor %T/Undo [seconds] %Scalls were " +
|
||||
Player.Message(p, "No %T/Undo %Sor %T/Undo [timespan] %Scalls were " +
|
||||
"found in the last 200 draw operations.");
|
||||
}
|
||||
|
||||
public override void Help(Player p) {
|
||||
Player.Message(p, "%T/Redo");
|
||||
Player.Message(p, "%HRedoes the last %T/Undo %Hor %T/Undo [seconds] %Hyou performed.");
|
||||
Player.Message(p, "%HRedoes last %T/Undo %Hor %T/Undo [timespan] %Hyou performed");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ namespace MCGalaxy.Commands.Building {
|
||||
UndoDrawOpEntry[] entries = p.DrawOps.Items;
|
||||
if (entries.Length == 0) {
|
||||
Player.Message(p, "You have no draw operations to undo.");
|
||||
Player.Message(p, "Try using %T/Undo [seconds] %Sinstead.");
|
||||
Player.Message(p, "Try using %T/Undo [timespan] %Sinstead.");
|
||||
return;
|
||||
}
|
||||
|
||||
@ -69,14 +69,14 @@ namespace MCGalaxy.Commands.Building {
|
||||
}
|
||||
|
||||
Player.Message(p, "Unable to undo any draw operations, as all of the " +
|
||||
"past 50 draw operations are %T/Undo %Sor %T/Undo [seconds].");
|
||||
Player.Message(p, "Try using %T/Undo [seconds] %Sinstead.");
|
||||
"past 50 draw operations are %T/Undo %Sor %T/Undo [timespan]");
|
||||
Player.Message(p, "Try using %T/Undo [timespan] %Sinstead");
|
||||
}
|
||||
|
||||
void UndoPhysics(Player p, TimeSpan delta) {
|
||||
if (!CheckExtraPerm(p, 1)) return;
|
||||
if (p != null && !p.group.CanExecute("Physics")) {
|
||||
Player.Message(p, "You can only undo physics if you can use %T/Physics."); return;
|
||||
Player.Message(p, "%WYou can only undo physics if you can use %T/Physics"); return;
|
||||
}
|
||||
|
||||
CmdPhysics.SetPhysics(p.level, 0);
|
||||
@ -133,7 +133,7 @@ namespace MCGalaxy.Commands.Building {
|
||||
Player.Message(p, "%HUndoes your blockchanges in the past [timespan]");
|
||||
if (p == null || p.group.MaxUndo == -1 || p.group.MaxUndo == int.MaxValue)
|
||||
Player.Message(p, "%H if <timespan> is all, &cundoes for 68 years");
|
||||
Player.Message(p, "%T/Undo physics [seconds] %H- Undoes physics on current map");
|
||||
Player.Message(p, "%T/Undo physics [timespan] %H- Undoes physics on current map");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ namespace MCGalaxy.Commands.Misc {
|
||||
if (message.Length == 0) { Help(p); return; }
|
||||
|
||||
if (p.hackrank) {
|
||||
Player.Message(p, "&cYou have already hacked a rank!"); return;
|
||||
Player.Message(p, "%WYou have already hacked a rank!"); return;
|
||||
}
|
||||
|
||||
Group grp = Matcher.FindRanks(p, message);
|
||||
|
@ -79,7 +79,7 @@ namespace MCGalaxy.Commands.Misc {
|
||||
|
||||
public override void Use(Player p, string message) {
|
||||
if (message.Length > 0) {
|
||||
Player.Message(p, "&cIncorrect syntax. Abuse detected.");
|
||||
Player.Message(p, "%WIncorrect syntax. Abuse detected.");
|
||||
Thread.Sleep(3000);
|
||||
}
|
||||
|
||||
|
@ -68,7 +68,7 @@ namespace MCGalaxy.Core {
|
||||
p.ClearBlockchange();
|
||||
}
|
||||
if (!level.Config.UseBlockDB) {
|
||||
Player.Message(p, "BlockDB is disabled here, &cyou will not be able to /undo or /redo");
|
||||
Player.Message(p, "BlockDB is disabled here, %Wyou will not be able to /undo or /redo");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -84,7 +84,7 @@ namespace MCGalaxy.DB {
|
||||
try {
|
||||
dumper.DumpTable(table);
|
||||
} catch (Exception ex) {
|
||||
Logger.LogError(ex);
|
||||
Logger.LogError("Error dumping BlockDB table " + table, ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -115,7 +115,7 @@ namespace MCGalaxy.Eco {
|
||||
// Must always provide an argument.
|
||||
if (args.Length < 2) { OnStoreCommand(p); return; }
|
||||
if (p.money < Price) {
|
||||
Player.Message(p, "&cYou don't have enough &3{1} &cto buy a {0}.", Name, ServerConfig.Currency); return;
|
||||
Player.Message(p, "%WYou don't have enough &3{1} %Wto buy a {0}.", Name, ServerConfig.Currency); return;
|
||||
}
|
||||
DoPurchase(p, message, args);
|
||||
}
|
||||
|
@ -76,27 +76,23 @@ namespace MCGalaxy.Eco {
|
||||
protected internal override void OnBuyCommand(Player p, string message, string[] args) {
|
||||
if (args.Length < 3) { OnStoreCommand(p); return; }
|
||||
LevelPreset preset = FindPreset(args[1]);
|
||||
if (preset == null) { Player.Message(p, "&cThat isn't a level preset"); return; }
|
||||
if (preset == null) { Player.Message(p, "%WThat isn't a level preset"); return; }
|
||||
|
||||
if (p.money < preset.price) {
|
||||
Player.Message(p, "&cYou don't have enough &3" + ServerConfig.Currency + "&c to buy that map"); return;
|
||||
Player.Message(p, "%Wdon't have enough &3" + ServerConfig.Currency + "%W to buy that map"); return;
|
||||
}
|
||||
string name = p.name + "_" + args[2];
|
||||
|
||||
try {
|
||||
Command.Find("NewLvl").Use(null, name + " " + preset.x + " " + preset.y + " " + preset.z + " " + preset.type);
|
||||
Player.Message(p, "&aCreating level: '&f" + name + "&a' . . .");
|
||||
Command.Find("NewLvl").Use(null, name + " " + preset.x + " " + preset.y + " " + preset.z + " " + preset.type);
|
||||
Player.Message(p, "&aCreating level: '&f" + name + "&a' . . .");
|
||||
|
||||
CmdLoad.LoadLevel(null, name);
|
||||
Level level = LevelInfo.FindExact(name);
|
||||
CmdOverseer.SetPerms(p, level);
|
||||
Level.SaveSettings(level);
|
||||
PlayerActions.ChangeMap(p, name);
|
||||
CmdLoad.LoadLevel(null, name);
|
||||
Level level = LevelInfo.FindExact(name);
|
||||
CmdOverseer.SetPerms(p, level);
|
||||
Level.SaveSettings(level);
|
||||
PlayerActions.ChangeMap(p, name);
|
||||
|
||||
Player.Message(p, "&aSuccessfully created your map: '&f" + name + "&a'");
|
||||
} catch {
|
||||
Player.Message(p, "&cSomething went wrong, Money untouched"); return;
|
||||
}
|
||||
Player.Message(p, "&aSuccessfully created your map: '&f" + name + "&a'");
|
||||
Economy.MakePurchase(p, preset.price, "%3Map: %f" + preset.name);
|
||||
}
|
||||
|
||||
@ -116,14 +112,14 @@ namespace MCGalaxy.Eco {
|
||||
}
|
||||
|
||||
void AddPreset(Player p, string[] args, LevelPreset preset) {
|
||||
if (preset != null) { Player.Message(p, "&cThat preset level already exists"); return; }
|
||||
if (preset != null) { Player.Message(p, "%WThat preset level already exists"); return; }
|
||||
|
||||
preset = new LevelPreset();
|
||||
preset.name = args[2];
|
||||
if (OkayAxis(args[3]) && OkayAxis(args[4]) && OkayAxis(args[5])) {
|
||||
preset.x = args[3]; preset.y = args[4]; preset.z = args[5];
|
||||
} else {
|
||||
Player.Message(p, "&cDimension must be a power of 2"); return;
|
||||
Player.Message(p, "%WDimension must be a power of 2"); return;
|
||||
}
|
||||
|
||||
if (!MapGen.IsRecognisedTheme(args[6])) {
|
||||
@ -141,19 +137,19 @@ namespace MCGalaxy.Eco {
|
||||
}
|
||||
|
||||
void RemovePreset(Player p, string[] args, LevelPreset preset) {
|
||||
if (preset == null) { Player.Message(p, "&cThat preset level doesn't exist"); return; }
|
||||
if (preset == null) { Player.Message(p, "%WThat preset level doesn't exist"); return; }
|
||||
Presets.Remove(preset);
|
||||
Player.Message(p, "&aSuccessfully removed preset: &f" + preset.name);
|
||||
}
|
||||
|
||||
void EditPreset(Player p, string[] args, LevelPreset preset) {
|
||||
if (preset == null) { Player.Message(p, "&cThat preset level doesn't exist"); return; }
|
||||
if (preset == null) { Player.Message(p, "%WThat preset level doesn't exist"); return; }
|
||||
|
||||
if (args[3] == "name" || args[3] == "title") {
|
||||
preset.name = args[4];
|
||||
Player.Message(p, "&aSuccessfully changed preset name to &f" + preset.name);
|
||||
} else if (args[3] == "x" || args[3] == "y" || args[3] == "z") {
|
||||
if (!OkayAxis(args[4])) { Player.Message(p, "&cDimension was wrong, it must be a power of 2"); return; }
|
||||
if (!OkayAxis(args[4])) { Player.Message(p, "%WDimension was wrong, it must be a power of 2"); return; }
|
||||
|
||||
if (args[3] == "x") preset.x = args[4];
|
||||
if (args[3] == "y") preset.y = args[4];
|
||||
|
@ -38,10 +38,10 @@ namespace MCGalaxy.Eco {
|
||||
|
||||
string msg = message.SplitSpaces(2)[1]; // keep spaces this way
|
||||
if (msg == PlayerDB.GetLoginMessage(p)) {
|
||||
Player.Message(p, "&cYou already have that login message."); return;
|
||||
Player.Message(p, "%WYou already have that login message."); return;
|
||||
}
|
||||
if (msg.Length > NetUtils.StringSize) {
|
||||
Player.Message(p, "&cLogin message must be 64 characters or less."); return;
|
||||
Player.Message(p, "%WLogin message must be 64 characters or less."); return;
|
||||
}
|
||||
Command.Find("LoginMessage").Use(p, "-own " + msg);
|
||||
Economy.MakePurchase(p, Price, "%3LoginMessage: %f" + msg);
|
||||
@ -66,10 +66,10 @@ namespace MCGalaxy.Eco {
|
||||
|
||||
string msg = message.SplitSpaces(2)[1]; // keep spaces this way
|
||||
if (msg == PlayerDB.GetLogoutMessage(p)) {
|
||||
Player.Message(p, "&cYou already have that logout message."); return;
|
||||
Player.Message(p, "%WYou already have that logout message."); return;
|
||||
}
|
||||
if (msg.Length > NetUtils.StringSize) {
|
||||
Player.Message(p, "&cLogin message must be 64 characters or less."); return;
|
||||
Player.Message(p, "%WLogin message must be 64 characters or less."); return;
|
||||
}
|
||||
Command.Find("LogoutMessage").Use(p, "-own " + msg);
|
||||
Economy.MakePurchase(p, Price, "%3LogoutMessage: %f" + msg);
|
||||
|
@ -36,10 +36,10 @@ namespace MCGalaxy.Eco {
|
||||
|
||||
string title = message.SplitSpaces(2)[1]; // keep spaces this way
|
||||
if (title == p.title) {
|
||||
Player.Message(p, "&cYou already have that title."); return;
|
||||
Player.Message(p, "%WYou already have that title."); return;
|
||||
}
|
||||
if (title.Length >= 20) {
|
||||
Player.Message(p, "&cTitles must be under 20 characters."); return;
|
||||
Player.Message(p, "%WTitles must be under 20 characters."); return;
|
||||
}
|
||||
|
||||
Command.Find("Title").Use(p, "-own " + title);
|
||||
@ -64,10 +64,10 @@ namespace MCGalaxy.Eco {
|
||||
|
||||
string nick = message.SplitSpaces(2)[1]; // keep spaces this way
|
||||
if (nick == p.DisplayName) {
|
||||
Player.Message(p, "&cYou already have that nickname."); return;
|
||||
Player.Message(p, "%WYou already have that nickname."); return;
|
||||
}
|
||||
if (nick.Length >= 30) {
|
||||
Player.Message(p, "&cNicknames must be under 30 characters."); return;
|
||||
Player.Message(p, "%WNicknames must be under 30 characters."); return;
|
||||
}
|
||||
|
||||
Command.Find("Nick").Use(p, "-own " + nick);
|
||||
@ -89,7 +89,7 @@ namespace MCGalaxy.Eco {
|
||||
string colName = Colors.Name(color);
|
||||
|
||||
if (color == p.titlecolor) {
|
||||
Player.Message(p, "&cYou already have a " + color + colName + "&c titlecolor"); return;
|
||||
Player.Message(p, "%WYour title color is already " + color + colName); return;
|
||||
}
|
||||
|
||||
Command.Find("TColor").Use(p, "-own " + colName);
|
||||
@ -111,7 +111,7 @@ namespace MCGalaxy.Eco {
|
||||
string colName = Colors.Name(color);
|
||||
|
||||
if (color == p.color) {
|
||||
Player.Message(p, "&cYou already have a " + color + colName + "&c color"); return;
|
||||
Player.Message(p, "%WYour color is already " + color + colName); return;
|
||||
}
|
||||
|
||||
Command.Find("Color").Use(p, "-own " + colName);
|
||||
|
@ -81,15 +81,15 @@ namespace MCGalaxy.Eco {
|
||||
|
||||
protected internal override void OnBuyCommand(Player p, string message, string[] args) {
|
||||
if (args.Length >= 2) {
|
||||
Player.Message(p, "&cYou cannot provide a rank name, use &a/buy rank &cto buy the NEXT rank."); return;
|
||||
Player.Message(p, "%WYou cannot provide a rank name, use %T/Buy rank %Wto buy the NEXT rank."); return;
|
||||
}
|
||||
|
||||
RankEntry nextRank = NextRank(p);
|
||||
if (nextRank == null) {
|
||||
Player.Message(p, "&cYou are already at or past the max buyable rank"); return;
|
||||
Player.Message(p, "%WYou are already at or past the max buyable rank"); return;
|
||||
}
|
||||
if (p.money < nextRank.Price) {
|
||||
Player.Message(p, "&cYou don't have enough &3" + ServerConfig.Currency + "&c to buy the next rank"); return;
|
||||
Player.Message(p, "%WYou don't have enough &3" + ServerConfig.Currency + " %Wto buy the next rank"); return;
|
||||
}
|
||||
|
||||
string rankName = Group.Find(nextRank.Perm).Name; // TODO: What if null reference happens here
|
||||
@ -102,7 +102,7 @@ namespace MCGalaxy.Eco {
|
||||
if (args[1].CaselessEq("price")) {
|
||||
Group grp = Matcher.FindRanks(p, args[2]);
|
||||
if (grp == null) return;
|
||||
if (p != null && p.Rank < grp.Permission) { Player.Message(p, "&cCannot set price of a rank higher than yours."); return; }
|
||||
if (p != null && p.Rank < grp.Permission) { Player.Message(p, "%WCannot set price of a rank higher than yours."); return; }
|
||||
|
||||
int cost = 0;
|
||||
if (!CommandParser.GetInt(p, args[3], "Price", ref cost, 0)) return;
|
||||
@ -111,12 +111,12 @@ namespace MCGalaxy.Eco {
|
||||
} else if (Command.IsDeleteCommand(args[1])) {
|
||||
Group grp = Matcher.FindRanks(p, args[2]);
|
||||
if (grp == null) return;
|
||||
if (p != null && p.Rank < grp.Permission) { Player.Message(p, "&cCannot remove a rank higher than yours."); return; }
|
||||
if (p != null && p.Rank < grp.Permission) { Player.Message(p, "%WCannot remove a rank higher than yours."); return; }
|
||||
|
||||
if (Remove(grp.Permission)) {
|
||||
Player.Message(p, "&aMade rank {0} &ano longer buyable", grp.ColoredName);
|
||||
} else {
|
||||
Player.Message(p, "&cThat rank was not buyable to begin with.");
|
||||
Player.Message(p, "%WThat rank was not buyable to begin with.");
|
||||
}
|
||||
} else {
|
||||
OnSetupCommandHelp(p);
|
||||
@ -134,7 +134,7 @@ namespace MCGalaxy.Eco {
|
||||
protected internal override void OnStoreOverview(Player p) {
|
||||
RankEntry next = NextRank(p);
|
||||
if (next == null) {
|
||||
Player.Message(p, "&6Rankup %S- &cno further ranks to buy.");
|
||||
Player.Message(p, "&6Rankup %S- %Wno further ranks to buy.");
|
||||
} else {
|
||||
Player.Message(p, "&6Rankup to {0} %S- &a{1} %S{2}",
|
||||
Group.GetColoredName(next.Perm), next.Price, ServerConfig.Currency);
|
||||
@ -144,12 +144,12 @@ namespace MCGalaxy.Eco {
|
||||
protected internal override void OnStoreCommand(Player p) {
|
||||
Player.Message(p, "%T/Buy rankup");
|
||||
if (Ranks.Count == 0) {
|
||||
Player.Message(p, "&cNo ranks have been setup be buyable. See %T/eco help rank"); return;
|
||||
Player.Message(p, "%WNo ranks have been setup be buyable. See %T/eco help rank"); return;
|
||||
}
|
||||
|
||||
LevelPermission maxRank = Ranks[Ranks.Count - 1].Perm;
|
||||
Player.Message(p, "&fThe highest buyable rank is: {0}", Group.GetColoredName(maxRank));
|
||||
Player.Message(p, "&cYou can only buy ranks one at a time, in sequential order.");
|
||||
Player.Message(p, "%WYou can only buy ranks one at a time, in sequential order.");
|
||||
|
||||
foreach (RankEntry rank in Ranks) {
|
||||
Player.Message(p, "&6{0} %S- &a{1} %S{2}",
|
||||
|
@ -32,7 +32,7 @@ namespace MCGalaxy.Eco {
|
||||
|
||||
protected internal override void OnBuyCommand(Player p, string message, string[] args) {
|
||||
if (p.money < Price) {
|
||||
Player.Message(p, "&cYou don't have enough &3" + ServerConfig.Currency + "&c to buy a " + Name + "."); return;
|
||||
Player.Message(p, "%WYou don't have enough &3" + ServerConfig.Currency + "%W to buy a " + Name + "."); return;
|
||||
}
|
||||
if (!ZSGame.Instance.Running || !ZSGame.Instance.RoundInProgress) {
|
||||
Player.Message(p, "You can only buy an revive potion " +
|
||||
@ -56,7 +56,7 @@ namespace MCGalaxy.Eco {
|
||||
Player.Message(p, "You cannot buy any more revive potions."); return;
|
||||
}
|
||||
if (data.TimeInfected.AddSeconds(ZSGame.Config.ReviveTooSlow) < DateTime.UtcNow) {
|
||||
Player.Message(p, "&cYou can only revive within the first {0} seconds after you were infected.",
|
||||
Player.Message(p, "%WYou can only revive within the first {0} seconds after you were infected.",
|
||||
ZSGame.Config.ReviveTooSlow); return;
|
||||
}
|
||||
|
||||
@ -79,7 +79,7 @@ namespace MCGalaxy.Eco {
|
||||
Player.Message(p, "%T/Buy " + Name);
|
||||
OutputItemInfo(p);
|
||||
|
||||
Player.Message(p, "Lets you rejoin the humans - &cnot guaranteed to always work");
|
||||
Player.Message(p, "Lets you rejoin the humans - %Wnot guaranteed to always work");
|
||||
Player.Message(p, " Cannot be used in the last &a" + time + " %Sseconds of a round.");
|
||||
Player.Message(p, " Can only be used within &a" + expiry + " %Sseconds after being infected.");
|
||||
Player.Message(p, " Can only buy &a" + potions + " %Srevive potions per round.");
|
||||
|
@ -39,7 +39,7 @@ namespace MCGalaxy.Eco {
|
||||
if (args.Length >= 2 && !CommandParser.GetInt(p, args[1], group, ref count, 0, 10)) return;
|
||||
|
||||
if (p.money < Price * count) {
|
||||
Player.Message(p, "&cYou don't have enough &3{2} &cto buy {1} {0}.",
|
||||
Player.Message(p, "%WYou don't have enough &3{2} %Wto buy {1} {0}.",
|
||||
Name, count * 10, ServerConfig.Currency); return;
|
||||
}
|
||||
|
||||
@ -131,7 +131,7 @@ namespace MCGalaxy.Eco {
|
||||
|
||||
protected internal override void OnBuyCommand(Player p, string message, string[] args) {
|
||||
if (p.money < Price) {
|
||||
Player.Message(p, "&cYou don't have enough &3{1} &cto buy a {0}.", Name, ServerConfig.Currency); return;
|
||||
Player.Message(p, "%WYou don't have enough &3{1} %Wto buy a {0}.", Name, ServerConfig.Currency); return;
|
||||
}
|
||||
if (!ZSGame.Instance.Running || !ZSGame.Instance.RoundInProgress) {
|
||||
Player.Message(p, "You can only buy an invisiblity potion " +
|
||||
@ -174,7 +174,7 @@ namespace MCGalaxy.Eco {
|
||||
Player.Message(p, "%T/Buy " + Name);
|
||||
OutputItemInfo(p);
|
||||
|
||||
Player.Message(p, "Makes you invisibile to {0} - &cyou can still {1}",
|
||||
Player.Message(p, "Makes you invisible to {0} - %Wyou can still {1}",
|
||||
ForHumans ? "zombies" : "humans",
|
||||
ForHumans ? "be infected" : "infect humans");
|
||||
Player.Message(p, "Lasts for " + Duration + " seconds before you reappear.");
|
||||
|
@ -53,7 +53,7 @@ namespace MCGalaxy.Games {
|
||||
DateTime now = DateTime.UtcNow;
|
||||
if (now < last) return;
|
||||
|
||||
Player.Message(p, "&4Do not {0} &c- ops have been warned.", action);
|
||||
Player.Message(p, "&4Do not {0} %W- ops have been warned.", action);
|
||||
Chat.MessageFromOps(p, "λNICK &4appears to be " + action + "ing");
|
||||
Logger.Log(LogType.SuspiciousActivity, "{0} appears to be {1}ing", p.name, action);
|
||||
last = now.AddSeconds(5);
|
||||
|
@ -80,7 +80,7 @@ namespace MCGalaxy.Games {
|
||||
End();
|
||||
} catch (Exception ex) {
|
||||
Logger.LogError("Error in game " + GameName, ex);
|
||||
Chat.MessageGlobal("&c" + GameName + " disabled due to an error.");
|
||||
Chat.MessageGlobal("%W" + GameName + " disabled due to an error.");
|
||||
|
||||
try { End(); }
|
||||
catch (Exception ex2) { Logger.LogError(ex2); }
|
||||
@ -133,7 +133,7 @@ namespace MCGalaxy.Games {
|
||||
|
||||
List<Player> players = GetPlayers();
|
||||
if (players.Count >= 2) return players;
|
||||
Map.Message("&cNeed 2 or more non-ref players to start a round.");
|
||||
Map.Message("%WNeed 2 or more non-ref players to start a round.");
|
||||
}
|
||||
}
|
||||
|
||||
@ -148,7 +148,7 @@ namespace MCGalaxy.Games {
|
||||
LastMap = Map.MapName;
|
||||
|
||||
if (!SetMap(map)) {
|
||||
Map.Message("&cFailed to change map to " + map);
|
||||
Map.Message("%WFailed to change map to " + map);
|
||||
Map.Message("Continuing " + GameName + " on the same map");
|
||||
} else {
|
||||
TransferPlayers(LastMap);
|
||||
|
@ -39,7 +39,7 @@ namespace MCGalaxy.Games {
|
||||
protected override void DoRound() {
|
||||
backupNum = Map.Backup(true);
|
||||
if (backupNum <= 0) {
|
||||
Map.Message("&cBacking up Level for TNT Wars failed, stopping game");
|
||||
Map.Message("%WBacking up Level for TNT Wars failed, stopping game");
|
||||
EndGame();
|
||||
return;
|
||||
}
|
||||
|
@ -232,12 +232,12 @@ namespace MCGalaxy.Games {
|
||||
}
|
||||
|
||||
string action = data.PillarFined ? "kicked" : "fined 10 " + ServerConfig.Currency;
|
||||
Player.Message(p, "You are pillaring! &cStop before you are " + action + "!");
|
||||
Player.Message(p, "You are pillaring! %WStop before you are " + action + "!");
|
||||
} else if (data.BlocksStacked == 4) {
|
||||
if (!data.PillarFined) {
|
||||
Chat.MessageFromOps(p, " &cWarning: λNICK %Sis pillaring!");
|
||||
Command.Find("Take").Use(null, p.name + " 10 Auto fine for pillaring");
|
||||
Player.Message(p, " &cThe next time you pillar, you will be &4kicked&c.");
|
||||
Player.Message(p, " %WThe next time you pillar, you will be &4kicked!");
|
||||
} else {
|
||||
ModAction action = new ModAction(p.name, null, ModActionType.Kicked, "Auto kick for pillaring");
|
||||
OnModActionEvent.Call(action);
|
||||
|
@ -46,8 +46,8 @@ namespace MCGalaxy.Generator {
|
||||
return true;
|
||||
} catch (Exception ex) {
|
||||
Logger.LogError("Error downloading image", ex);
|
||||
Player.Message(p, "&cFailed to download the image from the given url.");
|
||||
Player.Message(p, "&cThe url may need to end with its extension (such as .jpg).");
|
||||
Player.Message(p, "%WFailed to download the image from the given url.");
|
||||
Player.Message(p, "%WThe url may need to end with its extension (such as .jpg).");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -64,8 +64,8 @@ namespace MCGalaxy.Generator {
|
||||
Logger.LogError("Error reading bitmap", ex);
|
||||
if (bmp != null) bmp.Dispose();
|
||||
|
||||
Player.Message(p, "&cThere was an error reading the downloaded image.");
|
||||
Player.Message(p, "&cThe url may need to end with its extension (such as .jpg).");
|
||||
Player.Message(p, "%WThere was an error reading the downloaded image.");
|
||||
Player.Message(p, "%WThe url may need to end with its extension (such as .jpg).");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -277,7 +277,7 @@ namespace MCGalaxy {
|
||||
if (!IsVisit) {
|
||||
p.AllowBuild = allowed;
|
||||
} else if (!allowed) {
|
||||
Player.Message(p, "&cNo longer allowed to visit %S{0}", ColoredName);
|
||||
Player.Message(p, "%WNo longer allowed to visit %S{0}", ColoredName);
|
||||
PlayerActions.ChangeMap(p, Server.mainLevel);
|
||||
}
|
||||
}
|
||||
|
@ -235,7 +235,7 @@ namespace MCGalaxy {
|
||||
} catch (Exception ex) {
|
||||
success = false;
|
||||
PlayerActions.ChangeMap(this, Server.mainLevel);
|
||||
SendMessage("There was an error sending the map data, you have been sent to the main level.");
|
||||
SendMessage("%WThere was an error sending the map, you have been sent to the main level.");
|
||||
Logger.LogError(ex);
|
||||
} finally {
|
||||
Server.DoGC();
|
||||
|
@ -58,7 +58,7 @@ namespace MCGalaxy {
|
||||
bool deletingBlock = !painting && !placing;
|
||||
|
||||
if (ServerConfig.verifyadmins && adminpen) {
|
||||
SendMessage("&cYou must first verify with %T/Pass [Password]");
|
||||
SendMessage("%WYou must first verify with %T/Pass [Password]");
|
||||
RevertBlock(x, y, z); return;
|
||||
}
|
||||
|
||||
@ -524,7 +524,7 @@ namespace MCGalaxy {
|
||||
}
|
||||
|
||||
if (text.CaselessContains("^detail.user=")) {
|
||||
SendMessage("&cYou cannot use WoM detail strings in a chat message.");
|
||||
SendMessage("%WYou cannot use WoM detail strings in a chat message.");
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -631,7 +631,7 @@ namespace MCGalaxy {
|
||||
thread.IsBackground = true;
|
||||
thread.Start();
|
||||
} catch (Exception e) {
|
||||
Logger.LogError(e); SendMessage("Command failed.");
|
||||
Logger.LogError(e); SendMessage("%WCommand failed.");
|
||||
}
|
||||
}
|
||||
|
||||
@ -644,7 +644,7 @@ namespace MCGalaxy {
|
||||
SendMessage("You cannot use any commands while jailed."); return false;
|
||||
}
|
||||
if (ServerConfig.verifyadmins && adminpen && !(cmd == "pass" || cmd == "setpass")) {
|
||||
SendMessage("&cYou must verify first with %T/Pass [Password]"); return false;
|
||||
SendMessage("%WYou must verify first with %T/Pass [Password]"); return false;
|
||||
}
|
||||
|
||||
TimeSpan delta = cmdUnblocked - DateTime.UtcNow;
|
||||
@ -722,7 +722,7 @@ namespace MCGalaxy {
|
||||
command.Use(this, message);
|
||||
} catch (Exception e) {
|
||||
Logger.LogError(e);
|
||||
Player.Message(this, "An error occured when using the command!");
|
||||
Player.Message(this, "%WAn error occured when using the command!");
|
||||
Player.Message(this, e.GetType() + ": " + e.Message);
|
||||
return false;
|
||||
}
|
||||
|
@ -128,15 +128,15 @@ namespace MCGalaxy {
|
||||
}
|
||||
|
||||
if (ServerConfig.AgreeToRulesOnEntry && Rank == LevelPermission.Guest && !Server.agreed.Contains(name)) {
|
||||
SendMessage("&9You must read the &c/Rules&9 and &c/Agree&9 to them before you can build and use commands!");
|
||||
SendMessage("&9You must read the &c/Rules &9and &c/Agree &9to them before you can build and use commands!");
|
||||
agreed = false;
|
||||
}
|
||||
|
||||
if (ServerConfig.verifyadmins && Rank >= ServerConfig.VerifyAdminsRank) {
|
||||
if (!Directory.Exists("extra/passwords") || !File.Exists("extra/passwords/" + name + ".dat"))
|
||||
SendMessage("&cPlease set your admin verification password with %T/SetPass [Password]!");
|
||||
SendMessage("%WPlease set your admin verification password with %T/SetPass [Password]!");
|
||||
else
|
||||
SendMessage("&cPlease complete admin verification with %T/Pass [Password]!");
|
||||
SendMessage("%Wcomplete admin verification with %T/Pass [Password]!");
|
||||
}
|
||||
|
||||
if (group.CanExecute("Inbox") && Database.TableExists("Inbox" + name)) {
|
||||
@ -231,12 +231,12 @@ namespace MCGalaxy {
|
||||
void CheckState() {
|
||||
if (Server.muted.Contains(name)) {
|
||||
muted = true;
|
||||
Chat.MessageFrom(this, "λNICK &cis still muted from previously.");
|
||||
Chat.MessageFrom(this, "λNICK %Wis still muted from previously.");
|
||||
}
|
||||
|
||||
if (Server.frozen.Contains(name)) {
|
||||
frozen = true;
|
||||
Chat.MessageFrom(this, "λNICK &cis still frozen from previously.");
|
||||
Chat.MessageFrom(this, "λNICK %Wis still frozen from previously.");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -45,7 +45,7 @@ namespace MCGalaxy {
|
||||
return false;
|
||||
|
||||
TimeSpan oldestDelta = DateTime.UtcNow - blockLog[0];
|
||||
Chat.MessageFromOps(p, "λNICK &cwas kicked for suspected griefing.");
|
||||
Chat.MessageFromOps(p, "λNICK %Wwas kicked for suspected griefing.");
|
||||
|
||||
Logger.Log(LogType.SuspiciousActivity,
|
||||
"{0} was kicked for block spam ({1} blocks in {2} seconds)",
|
||||
|
@ -142,7 +142,7 @@ namespace MCGalaxy {
|
||||
|
||||
// To make life easier, we reload settings now, to maker it less likely to need restart
|
||||
Command.Find("Server").Use(null, "reload"); // Reload, as console
|
||||
Player.Message(p, "Server restored" + (errors > 0 ? " with errors. May be a partial restore" : "") + ". Restart is reccommended, though not required.");
|
||||
Player.Message(p, "Server restored" + (errors > 0 ? " with errors. May be a partial restore" : "") + ". Restart is recommended, though not required.");
|
||||
}
|
||||
|
||||
static void ExtractItem(ZipPackagePart item, ref int errors) {
|
||||
|
@ -213,6 +213,8 @@ namespace MCGalaxy {
|
||||
public static string HelpSyntaxColor = "&a";
|
||||
[ConfigColor("help-desc-color", "Colors", "&e")]
|
||||
public static string HelpDescriptionColor = "&e";
|
||||
[ConfigColor("warning-error-color", "Colors", "&c")]
|
||||
public static string WarningErrorColor = "&c";
|
||||
|
||||
[ConfigBool("cheapmessage", "Other", true)]
|
||||
public static bool ShowInvincibleMessage = true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user