Merge pull request #871 from Enerdy/general-devel
Update deprecated SendData code, a few log methods, add command specifier to possibly everything
This commit is contained in:
commit
b3d00fa8f5
4 changed files with 298 additions and 282 deletions
File diff suppressed because it is too large
Load diff
|
|
@ -1261,7 +1261,7 @@ namespace TShockAPI
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Log.Error(ex.ToString());
|
TShock.Log.Error(ex.ToString());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1469,7 +1469,7 @@ namespace TShockAPI
|
||||||
TShock.CharacterDB.InsertPlayerData(args.Player);
|
TShock.CharacterDB.InsertPlayerData(args.Player);
|
||||||
}
|
}
|
||||||
args.Player.SendMessage("Authenticated as " + args.Player.Name + " successfully.", Color.LimeGreen);
|
args.Player.SendMessage("Authenticated as " + args.Player.Name + " successfully.", Color.LimeGreen);
|
||||||
Log.ConsoleInfo(args.Player.Name + " authenticated successfully as user " + args.Player.Name + ".");
|
TShock.Log.ConsoleInfo(args.Player.Name + " authenticated successfully as user " + args.Player.Name + ".");
|
||||||
Hooks.PlayerHooks.OnPlayerPostLogin(args.Player);
|
Hooks.PlayerHooks.OnPlayerPostLogin(args.Player);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -1547,7 +1547,7 @@ namespace TShockAPI
|
||||||
TShock.CharacterDB.InsertPlayerData(args.Player);
|
TShock.CharacterDB.InsertPlayerData(args.Player);
|
||||||
}
|
}
|
||||||
args.Player.SendMessage("Authenticated as " + args.Player.Name + " successfully.", Color.LimeGreen);
|
args.Player.SendMessage("Authenticated as " + args.Player.Name + " successfully.", Color.LimeGreen);
|
||||||
Log.ConsoleInfo(args.Player.Name + " authenticated successfully as user " + args.Player.Name + ".");
|
TShock.Log.ConsoleInfo(args.Player.Name + " authenticated successfully as user " + args.Player.Name + ".");
|
||||||
TShock.Users.SetUserUUID(user, args.Player.UUID);
|
TShock.Users.SetUserUUID(user, args.Player.UUID);
|
||||||
Hooks.PlayerHooks.OnPlayerPostLogin(args.Player);
|
Hooks.PlayerHooks.OnPlayerPostLogin(args.Player);
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -2239,27 +2239,23 @@ namespace TShockAPI
|
||||||
{
|
{
|
||||||
if (args.Player.IgnoreActionsForCheating != "none")
|
if (args.Player.IgnoreActionsForCheating != "none")
|
||||||
{
|
{
|
||||||
args.Player.SendMessage("Disabled for cheating: " + args.Player.IgnoreActionsForCheating,
|
args.Player.SendErrorMessage("Disabled for cheating: " + args.Player.IgnoreActionsForCheating);
|
||||||
Color.Red);
|
|
||||||
}
|
}
|
||||||
else if (args.Player.IgnoreActionsForDisabledArmor != "none")
|
else if (args.Player.IgnoreActionsForDisabledArmor != "none")
|
||||||
{
|
{
|
||||||
args.Player.SendMessage(
|
args.Player.SendErrorMessage("Disabled for banned armor: " + args.Player.IgnoreActionsForDisabledArmor);
|
||||||
"Disabled for banned armor: " + args.Player.IgnoreActionsForDisabledArmor, Color.Red);
|
|
||||||
}
|
}
|
||||||
else if (args.Player.IgnoreActionsForInventory != "none")
|
else if (args.Player.IgnoreActionsForInventory != "none")
|
||||||
{
|
{
|
||||||
args.Player.SendMessage(
|
args.Player.SendErrorMessage("Disabled for Server Side Inventory: " + args.Player.IgnoreActionsForInventory);
|
||||||
"Disabled for Server Side Inventory: " + args.Player.IgnoreActionsForInventory,
|
|
||||||
Color.Red);
|
|
||||||
}
|
}
|
||||||
else if (TShock.Config.RequireLogin && !args.Player.IsLoggedIn)
|
else if (TShock.Config.RequireLogin && !args.Player.IsLoggedIn)
|
||||||
{
|
{
|
||||||
args.Player.SendMessage("Please /register or /login to play!", Color.Red);
|
args.Player.SendErrorMessage("Please /register or /login to play!");
|
||||||
}
|
}
|
||||||
else if (args.Player.IgnoreActionsForClearingTrashCan)
|
else if (args.Player.IgnoreActionsForClearingTrashCan)
|
||||||
{
|
{
|
||||||
args.Player.SendMessage("You need to rejoin to ensure your trash can is cleared!", Color.Red);
|
args.Player.SendErrorMessage("You need to rejoin to ensure your trash can is cleared!");
|
||||||
}
|
}
|
||||||
var lastTileX = args.Player.LastNetPosition.X;
|
var lastTileX = args.Player.LastNetPosition.X;
|
||||||
var lastTileY = args.Player.LastNetPosition.Y - 48;
|
var lastTileY = args.Player.LastNetPosition.Y - 48;
|
||||||
|
|
@ -2299,9 +2295,8 @@ namespace TShockAPI
|
||||||
{
|
{
|
||||||
control[5] = false;
|
control[5] = false;
|
||||||
args.Player.Disable("Using banned item");
|
args.Player.Disable("Using banned item");
|
||||||
args.Player.SendMessage(
|
args.Player.SendErrorMessage("You cannot use {0} on this server. Your actions are being ignored.",
|
||||||
string.Format("You cannot use {0} on this server. Your actions are being ignored.",
|
args.TPlayer.inventory[item].name);
|
||||||
args.TPlayer.inventory[item].name), Color.Red);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args.TPlayer.inventory[item].name == "Mana Crystal" && args.Player.TPlayer.statManaMax <= 180)
|
if (args.TPlayer.inventory[item].name == "Mana Crystal" && args.Player.TPlayer.statManaMax <= 180)
|
||||||
|
|
@ -2579,7 +2574,7 @@ namespace TShockAPI
|
||||||
if (dmg > 20000) //Abnormal values have the potential to cause infinite loops in the server.
|
if (dmg > 20000) //Abnormal values have the potential to cause infinite loops in the server.
|
||||||
{
|
{
|
||||||
TShock.Utils.ForceKick(args.Player, "Crash Exploit Attempt", true);
|
TShock.Utils.ForceKick(args.Player, "Crash Exploit Attempt", true);
|
||||||
Log.ConsoleError("Death Exploit Attempt: Damage {0}", dmg);
|
TShock.Log.ConsoleError("Death Exploit Attempt: Damage {0}", dmg);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2970,7 +2965,7 @@ namespace TShockAPI
|
||||||
|
|
||||||
if (!args.Player.Group.HasPermission(Permissions.movenpc))
|
if (!args.Player.Group.HasPermission(Permissions.movenpc))
|
||||||
{
|
{
|
||||||
args.Player.SendMessage("You do not have permission to relocate NPCs.", Color.Red);
|
args.Player.SendErrorMessage("You do not have permission to relocate NPCs.");
|
||||||
args.Player.SendData(PacketTypes.UpdateNPCHome, "", id, Main.npc[id].homeTileX, Main.npc[id].homeTileY,
|
args.Player.SendData(PacketTypes.UpdateNPCHome, "", id, Main.npc[id].homeTileX, Main.npc[id].homeTileY,
|
||||||
Convert.ToByte(Main.npc[id].homeless));
|
Convert.ToByte(Main.npc[id].homeless));
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -2978,7 +2973,7 @@ namespace TShockAPI
|
||||||
|
|
||||||
if (TShock.CheckTilePermission(args.Player, x, y))
|
if (TShock.CheckTilePermission(args.Player, x, y))
|
||||||
{
|
{
|
||||||
args.Player.SendMessage( "You do not have access to modify this area.", Color.Red);
|
args.Player.SendErrorMessage( "You do not have access to modify this area.");
|
||||||
args.Player.SendData(PacketTypes.UpdateNPCHome, "", id, Main.npc[id].homeTileX, Main.npc[id].homeTileY,
|
args.Player.SendData(PacketTypes.UpdateNPCHome, "", id, Main.npc[id].homeTileX, Main.npc[id].homeTileY,
|
||||||
Convert.ToByte(Main.npc[id].homeless));
|
Convert.ToByte(Main.npc[id].homeless));
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -3099,7 +3094,7 @@ namespace TShockAPI
|
||||||
if ((Main.ServerSideCharacter) && (DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond - args.Player.LoginMS < TShock.ServerSideCharacterConfig.LogonDiscardThreshold))
|
if ((Main.ServerSideCharacter) && (DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond - args.Player.LoginMS < TShock.ServerSideCharacterConfig.LogonDiscardThreshold))
|
||||||
{
|
{
|
||||||
//Player is probably trying to sneak items onto the server in their hands!!!
|
//Player is probably trying to sneak items onto the server in their hands!!!
|
||||||
Log.ConsoleInfo(string.Format("Player {0} tried to sneak {1} onto the server!", args.Player.Name, item.name));
|
TShock.Log.ConsoleInfo("Player {0} tried to sneak {1} onto the server!", args.Player.Name, item.name);
|
||||||
args.Player.SendData(PacketTypes.ItemDrop, "", id);
|
args.Player.SendData(PacketTypes.ItemDrop, "", id);
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
|
@ -3382,12 +3377,12 @@ namespace TShockAPI
|
||||||
}
|
}
|
||||||
if (spawnboss && !args.Player.Group.HasPermission(Permissions.summonboss))
|
if (spawnboss && !args.Player.Group.HasPermission(Permissions.summonboss))
|
||||||
{
|
{
|
||||||
args.Player.SendMessage("You don't have permission to summon a boss.", Color.Red);
|
args.Player.SendErrorMessage("You don't have permission to summon a boss.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (invasion && !args.Player.Group.HasPermission(Permissions.startinvasion))
|
if (invasion && !args.Player.Group.HasPermission(Permissions.startinvasion))
|
||||||
{
|
{
|
||||||
args.Player.SendMessage("You don't have permission to start an invasion.", Color.Red);
|
args.Player.SendErrorMessage("You don't have permission to start an invasion.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (!spawnboss && !invasion)
|
if (!spawnboss && !invasion)
|
||||||
|
|
|
||||||
|
|
@ -372,28 +372,28 @@ namespace TShockAPI
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Saves the player's inventory to SSI
|
/// Saves the player's inventory to SSI
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>bool - True/false if it saved successfully</returns>
|
/// <returns>bool - True/false if it saved successfully</returns>
|
||||||
public bool SaveServerCharacter()
|
public bool SaveServerCharacter()
|
||||||
{
|
{
|
||||||
if (!Main.ServerSideCharacter)
|
if (!Main.ServerSideCharacter)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
PlayerData.CopyCharacter(this);
|
PlayerData.CopyCharacter(this);
|
||||||
TShock.CharacterDB.InsertPlayerData(this);
|
TShock.CharacterDB.InsertPlayerData(this);
|
||||||
return true;
|
return true;
|
||||||
} catch (Exception e)
|
}
|
||||||
{
|
catch (Exception e)
|
||||||
Log.Error(e.Message);
|
{
|
||||||
return false;
|
TShock.Log.Error(e.Message);
|
||||||
}
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Sends the players server side character to client
|
/// Sends the players server side character to client
|
||||||
|
|
@ -412,7 +412,7 @@ namespace TShockAPI
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Log.Error(e.Message);
|
TShock.Log.Error(e.Message);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -707,7 +707,7 @@ namespace TShockAPI
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Log.Error(ex.ToString());
|
TShock.Log.Error(ex.ToString());
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -836,11 +836,11 @@ namespace TShockAPI
|
||||||
{
|
{
|
||||||
if (displayConsole)
|
if (displayConsole)
|
||||||
{
|
{
|
||||||
Log.ConsoleInfo(string.Format("Player {0} has been disabled for {1}.", Name, reason));
|
TShock.Log.ConsoleInfo("Player {0} has been disabled for {1}.", Name, reason);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Log.Info("Player {0} has been disabled for {1}.", Name, reason);
|
TShock.Log.Info("Player {0} has been disabled for {1}.", Name, reason);
|
||||||
}
|
}
|
||||||
LastDisableNotification = DateTime.UtcNow;
|
LastDisableNotification = DateTime.UtcNow;
|
||||||
}
|
}
|
||||||
|
|
@ -857,7 +857,7 @@ namespace TShockAPI
|
||||||
var time2 = (int) time;
|
var time2 = (int) time;
|
||||||
var launch = DateTime.UtcNow;
|
var launch = DateTime.UtcNow;
|
||||||
var startname = Name;
|
var startname = Name;
|
||||||
SendMessage("You are now being annoyed.", Color.Red);
|
SendInfoMessage("You are now being annoyed.");
|
||||||
while ((DateTime.UtcNow - launch).TotalSeconds < time2 && startname == Name)
|
while ((DateTime.UtcNow - launch).TotalSeconds < time2 && startname == Name)
|
||||||
{
|
{
|
||||||
SendData(PacketTypes.NpcSpecial, number: Index, number2: 2f);
|
SendData(PacketTypes.NpcSpecial, number: Index, number2: 2f);
|
||||||
|
|
|
||||||
|
|
@ -250,7 +250,7 @@ namespace TShockAPI
|
||||||
if (Config.EnableGeoIP && File.Exists(geoippath))
|
if (Config.EnableGeoIP && File.Exists(geoippath))
|
||||||
Geo = new GeoIPCountry(geoippath);
|
Geo = new GeoIPCountry(geoippath);
|
||||||
|
|
||||||
Log.ConsoleInfo(string.Format("TShock {0} ({1}) now running.", Version, VersionCodename));
|
Log.ConsoleInfo("TShock {0} ({1}) now running.", Version, VersionCodename);
|
||||||
|
|
||||||
ServerApi.Hooks.GamePostInitialize.Register(this, OnPostInit);
|
ServerApi.Hooks.GamePostInitialize.Register(this, OnPostInit);
|
||||||
ServerApi.Hooks.GameUpdate.Register(this, OnUpdate);
|
ServerApi.Hooks.GameUpdate.Register(this, OnUpdate);
|
||||||
|
|
@ -596,8 +596,8 @@ namespace TShockAPI
|
||||||
var r = new Random((int) DateTime.Now.ToBinary());
|
var r = new Random((int) DateTime.Now.ToBinary());
|
||||||
AuthToken = r.Next(100000, 10000000);
|
AuthToken = r.Next(100000, 10000000);
|
||||||
Console.ForegroundColor = ConsoleColor.Yellow;
|
Console.ForegroundColor = ConsoleColor.Yellow;
|
||||||
Console.WriteLine("TShock Notice: To become SuperAdmin, join the game and type /auth " + AuthToken);
|
Console.WriteLine("TShock Notice: To become SuperAdmin, join the game and type {0}auth {1}", Commands.Specifier, AuthToken);
|
||||||
Console.WriteLine("This token will display until disabled by verification. (/auth-verify)");
|
Console.WriteLine("This token will display until disabled by verification. ({0}auth-verify)", Commands.Specifier);
|
||||||
Console.ForegroundColor = ConsoleColor.Gray;
|
Console.ForegroundColor = ConsoleColor.Gray;
|
||||||
FileTools.CreateFile(Path.Combine(SavePath, "authcode.txt"));
|
FileTools.CreateFile(Path.Combine(SavePath, "authcode.txt"));
|
||||||
using (var tw = new StreamWriter(Path.Combine(SavePath, "authcode.txt")))
|
using (var tw = new StreamWriter(Path.Combine(SavePath, "authcode.txt")))
|
||||||
|
|
@ -614,8 +614,8 @@ namespace TShockAPI
|
||||||
Console.ForegroundColor = ConsoleColor.Yellow;
|
Console.ForegroundColor = ConsoleColor.Yellow;
|
||||||
Console.WriteLine(
|
Console.WriteLine(
|
||||||
"TShock Notice: authcode.txt is still present, and the AuthToken located in that file will be used.");
|
"TShock Notice: authcode.txt is still present, and the AuthToken located in that file will be used.");
|
||||||
Console.WriteLine("To become superadmin, join the game and type /auth " + AuthToken);
|
Console.WriteLine("To become superadmin, join the game and type {0}auth {1}", Commands.Specifier, AuthToken);
|
||||||
Console.WriteLine("This token will display until disabled by verification. (/auth-verify)");
|
Console.WriteLine("This token will display until disabled by verification. ({0}auth-verify)", Commands.Specifier);
|
||||||
Console.ForegroundColor = ConsoleColor.Gray;
|
Console.ForegroundColor = ConsoleColor.Gray;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -829,7 +829,7 @@ namespace TShockAPI
|
||||||
player.SetBuff(36, 120); //Broken Armor
|
player.SetBuff(36, 120); //Broken Armor
|
||||||
check = "Remove armor/accessory " + item.name;
|
check = "Remove armor/accessory " + item.name;
|
||||||
|
|
||||||
player.SendErrorMessage(string.Format("You are wearing banned equipment. {0}", check));
|
player.SendErrorMessage("You are wearing banned equipment. {0}", check);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1015,7 +1015,7 @@ namespace TShockAPI
|
||||||
{
|
{
|
||||||
if (!tsplr.SilentKickInProgress && tsplr.State >= 3)
|
if (!tsplr.SilentKickInProgress && tsplr.State >= 3)
|
||||||
Utils.Broadcast(tsplr.Name + " has left.", Color.Yellow);
|
Utils.Broadcast(tsplr.Name + " has left.", Color.Yellow);
|
||||||
Log.Info(string.Format("{0} disconnected.", tsplr.Name));
|
Log.Info("{0} disconnected.", tsplr.Name);
|
||||||
|
|
||||||
if (tsplr.IsLoggedIn && !tsplr.IgnoreActionsForClearingTrashCan && Main.ServerSideCharacter && (!tsplr.Dead || tsplr.TPlayer.difficulty != 2))
|
if (tsplr.IsLoggedIn && !tsplr.IgnoreActionsForClearingTrashCan && Main.ServerSideCharacter && (!tsplr.Dead || tsplr.TPlayer.difficulty != 2))
|
||||||
{
|
{
|
||||||
|
|
@ -1114,7 +1114,7 @@ namespace TShockAPI
|
||||||
tsplr.SendMessage(msg, tsplr.Group.R, tsplr.Group.G, tsplr.Group.B);
|
tsplr.SendMessage(msg, tsplr.Group.R, tsplr.Group.G, tsplr.Group.B);
|
||||||
|
|
||||||
TSPlayer.Server.SendMessage(msg, tsplr.Group.R, tsplr.Group.G, tsplr.Group.B);
|
TSPlayer.Server.SendMessage(msg, tsplr.Group.R, tsplr.Group.G, tsplr.Group.B);
|
||||||
Log.Info(string.Format("Broadcast: {0}", msg));
|
Log.Info("Broadcast: {0}", msg);
|
||||||
args.Handled = true;
|
args.Handled = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1140,7 +1140,7 @@ namespace TShockAPI
|
||||||
WorldGen.genRand = new Random();
|
WorldGen.genRand = new Random();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args.Command.StartsWith("playing") || args.Command.StartsWith("/playing"))
|
if (args.Command.StartsWith("playing") || args.Command.StartsWith("{0}playing".SFormat(Commands.Specifier)))
|
||||||
{
|
{
|
||||||
int count = 0;
|
int count = 0;
|
||||||
foreach (TSPlayer player in Players)
|
foreach (TSPlayer player in Players)
|
||||||
|
|
@ -1148,18 +1148,18 @@ namespace TShockAPI
|
||||||
if (player != null && player.Active)
|
if (player != null && player.Active)
|
||||||
{
|
{
|
||||||
count++;
|
count++;
|
||||||
TSPlayer.Server.SendInfoMessage(string.Format("{0} ({1}) [{2}] <{3}>", player.Name, player.IP,
|
TSPlayer.Server.SendInfoMessage("{0} ({1}) [{2}] <{3}>", player.Name, player.IP,
|
||||||
player.Group.Name, player.UserAccountName));
|
player.Group.Name, player.UserAccountName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TSPlayer.Server.SendInfoMessage(string.Format("{0} players connected.", count));
|
TSPlayer.Server.SendInfoMessage("{0} players connected.", count);
|
||||||
}
|
}
|
||||||
else if (args.Command == "autosave")
|
else if (args.Command == "autosave")
|
||||||
{
|
{
|
||||||
Main.autoSave = Config.AutoSave = !Config.AutoSave;
|
Main.autoSave = Config.AutoSave = !Config.AutoSave;
|
||||||
Log.ConsoleInfo("AutoSave " + (Config.AutoSave ? "Enabled" : "Disabled"));
|
Log.ConsoleInfo("AutoSave " + (Config.AutoSave ? "Enabled" : "Disabled"));
|
||||||
}
|
}
|
||||||
else if (args.Command.StartsWith("/"))
|
else if (args.Command.StartsWith(Commands.Specifier))
|
||||||
{
|
{
|
||||||
Commands.HandleCommand(TSPlayer.Server, args.Command);
|
Commands.HandleCommand(TSPlayer.Server, args.Command);
|
||||||
}
|
}
|
||||||
|
|
@ -1219,16 +1219,16 @@ namespace TShockAPI
|
||||||
|
|
||||||
if (Config.EnableGeoIP && TShock.Geo != null)
|
if (Config.EnableGeoIP && TShock.Geo != null)
|
||||||
{
|
{
|
||||||
Log.Info(string.Format("{0} ({1}) from '{2}' group from '{3}' joined. ({4}/{5})", player.Name, player.IP,
|
Log.Info("{0} ({1}) from '{2}' group from '{3}' joined. ({4}/{5})", player.Name, player.IP,
|
||||||
player.Group.Name, player.Country, TShock.Utils.ActivePlayers(),
|
player.Group.Name, player.Country, TShock.Utils.ActivePlayers(),
|
||||||
TShock.Config.MaxSlots));
|
TShock.Config.MaxSlots);
|
||||||
if (!player.SilentJoinInProgress)
|
if (!player.SilentJoinInProgress)
|
||||||
Utils.Broadcast(string.Format("{0} ({1}) has joined.", player.Name, player.Country), Color.Yellow);
|
Utils.Broadcast(string.Format("{0} ({1}) has joined.", player.Name, player.Country), Color.Yellow);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Log.Info(string.Format("{0} ({1}) from '{2}' group joined. ({3}/{4})", player.Name, player.IP,
|
Log.Info("{0} ({1}) from '{2}' group joined. ({3}/{4})", player.Name, player.IP,
|
||||||
player.Group.Name, TShock.Utils.ActivePlayers(), TShock.Config.MaxSlots));
|
player.Group.Name, TShock.Utils.ActivePlayers(), TShock.Config.MaxSlots);
|
||||||
if (!player.SilentJoinInProgress)
|
if (!player.SilentJoinInProgress)
|
||||||
Utils.Broadcast(player.Name + " has joined.", Color.Yellow);
|
Utils.Broadcast(player.Name + " has joined.", Color.Yellow);
|
||||||
}
|
}
|
||||||
|
|
@ -1250,14 +1250,13 @@ namespace TShockAPI
|
||||||
{
|
{
|
||||||
if (Main.ServerSideCharacter)
|
if (Main.ServerSideCharacter)
|
||||||
{
|
{
|
||||||
player.SendMessage(
|
player.SendErrorMessage(
|
||||||
player.IgnoreActionsForInventory = "Server side characters is enabled! Please /register or /login to play!",
|
player.IgnoreActionsForInventory = "Server side characters is enabled! Please {0}register or {0}login to play!", Commands.Specifier);
|
||||||
Color.Red);
|
|
||||||
player.LoginHarassed = true;
|
player.LoginHarassed = true;
|
||||||
}
|
}
|
||||||
else if (Config.RequireLogin)
|
else if (Config.RequireLogin)
|
||||||
{
|
{
|
||||||
player.SendMessage("Please /register or /login to play!", Color.Red);
|
player.SendErrorMessage("Please {0}register or {0}login to play!", Commands.Specifier);
|
||||||
player.LoginHarassed = true;
|
player.LoginHarassed = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1267,7 +1266,7 @@ namespace TShockAPI
|
||||||
if (Config.RememberLeavePos && (RememberedPos.GetLeavePos(player.Name, player.IP) != Vector2.Zero) && !player.LoginHarassed)
|
if (Config.RememberLeavePos && (RememberedPos.GetLeavePos(player.Name, player.IP) != Vector2.Zero) && !player.LoginHarassed)
|
||||||
{
|
{
|
||||||
player.RPPending = 3;
|
player.RPPending = 3;
|
||||||
player.SendMessage("You will be teleported to your last known location...", Color.Red);
|
player.SendInfoMessage("You will be teleported to your last known location...");
|
||||||
}
|
}
|
||||||
|
|
||||||
args.Handled = true;
|
args.Handled = true;
|
||||||
|
|
@ -1579,7 +1578,7 @@ namespace TShockAPI
|
||||||
|
|
||||||
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.BPm) > 2000)
|
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.BPm) > 2000)
|
||||||
{
|
{
|
||||||
player.SendMessage("You do not have permission to build!", Color.Red);
|
player.SendErrorMessage("You do not have permission to build!");
|
||||||
player.BPm = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
|
player.BPm = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -1593,7 +1592,7 @@ namespace TShockAPI
|
||||||
|
|
||||||
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.BPm) > 2000)
|
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.BPm) > 2000)
|
||||||
{
|
{
|
||||||
player.SendMessage("You do not have permission to build!", Color.Red);
|
player.SendErrorMessage("You do not have permission to build!");
|
||||||
player.BPm = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
|
player.BPm = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -1604,7 +1603,7 @@ namespace TShockAPI
|
||||||
{
|
{
|
||||||
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.RPm) > 2000)
|
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.RPm) > 2000)
|
||||||
{
|
{
|
||||||
player.SendMessage("This region is protected from changes.", Color.Red);
|
player.SendErrorMessage("This region is protected from changes.");
|
||||||
player.RPm = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
|
player.RPm = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -1616,7 +1615,7 @@ namespace TShockAPI
|
||||||
{
|
{
|
||||||
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.WPm) > 2000)
|
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.WPm) > 2000)
|
||||||
{
|
{
|
||||||
player.SendMessage("The world is protected from changes.", Color.Red);
|
player.SendErrorMessage("The world is protected from changes.");
|
||||||
player.WPm = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
|
player.WPm = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -1631,7 +1630,7 @@ namespace TShockAPI
|
||||||
{
|
{
|
||||||
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.SPm) > 2000)
|
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.SPm) > 2000)
|
||||||
{
|
{
|
||||||
player.SendMessage("Spawn is protected from changes.", Color.Red);
|
player.SendErrorMessage("Spawn is protected from changes.");
|
||||||
player.SPm = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
|
player.SPm = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -1648,7 +1647,7 @@ namespace TShockAPI
|
||||||
{
|
{
|
||||||
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.BPm) > 2000)
|
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.BPm) > 2000)
|
||||||
{
|
{
|
||||||
player.SendMessage("You do not have permission to build!", Color.Red);
|
player.SendErrorMessage("You do not have permission to build!");
|
||||||
player.BPm = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
|
player.BPm = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -1659,7 +1658,7 @@ namespace TShockAPI
|
||||||
{
|
{
|
||||||
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.RPm) > 2000)
|
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.RPm) > 2000)
|
||||||
{
|
{
|
||||||
player.SendMessage("This region is protected from changes.", Color.Red);
|
player.SendErrorMessage("This region is protected from changes.");
|
||||||
player.RPm = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
|
player.RPm = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -1671,7 +1670,7 @@ namespace TShockAPI
|
||||||
{
|
{
|
||||||
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.WPm) > 2000)
|
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.WPm) > 2000)
|
||||||
{
|
{
|
||||||
player.SendMessage("The world is protected from changes.", Color.Red);
|
player.SendErrorMessage("The world is protected from changes.");
|
||||||
player.WPm = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
|
player.WPm = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -1686,7 +1685,7 @@ namespace TShockAPI
|
||||||
{
|
{
|
||||||
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.SPm) > 1000)
|
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.SPm) > 1000)
|
||||||
{
|
{
|
||||||
player.SendMessage("Spawn is protected from changes.", Color.Red);
|
player.SendErrorMessage("Spawn is protected from changes.");
|
||||||
player.SPm = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
|
player.SPm = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue