Improve /maxspawns and /spawnrate logic
This commit is contained in:
parent
66b0f3899c
commit
5073714f43
1 changed files with 25 additions and 45 deletions
|
|
@ -395,7 +395,7 @@ namespace TShockAPI
|
||||||
add(new Command(Permissions.tppos, TPPos, "tppos")
|
add(new Command(Permissions.tppos, TPPos, "tppos")
|
||||||
{
|
{
|
||||||
AllowServer = false,
|
AllowServer = false,
|
||||||
HelpText = "Teleports you to another player or a coordinate."
|
HelpText = "Teleports you to tile coordinates."
|
||||||
});
|
});
|
||||||
add(new Command(Permissions.tpallow, TPAllow, "tpallow")
|
add(new Command(Permissions.tpallow, TPAllow, "tpallow")
|
||||||
{
|
{
|
||||||
|
|
@ -3075,74 +3075,54 @@ namespace TShockAPI
|
||||||
|
|
||||||
private static void MaxSpawns(CommandArgs args)
|
private static void MaxSpawns(CommandArgs args)
|
||||||
{
|
{
|
||||||
if (args.Parameters.Count != 1)
|
if (args.Parameters.Count == 0)
|
||||||
{
|
{
|
||||||
args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /maxspawns <maxspawns>");
|
args.Player.SendInfoMessage("Current maximum spawns: {0}", TShock.Config.DefaultMaximumSpawns);
|
||||||
args.Player.SendErrorMessage("Proper syntax: /maxspawns show");
|
|
||||||
args.Player.SendErrorMessage("Proper syntax: /maxspawns default");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args.Parameters[0] == "show")
|
if (String.Equals(args.Parameters[0], "default", StringComparison.CurrentCultureIgnoreCase))
|
||||||
{
|
{
|
||||||
args.Player.SendInfoMessage("Current maximum spawns is " + TShock.Config.DefaultMaximumSpawns + ".");
|
TShock.Config.DefaultMaximumSpawns = NPC.defaultMaxSpawns = 600;
|
||||||
return;
|
TSPlayer.All.SendInfoMessage("{0} changed the maximum spawns to 600.", args.Player.Name);
|
||||||
}
|
|
||||||
|
|
||||||
if(args.Parameters[0]=="default"){
|
|
||||||
TShock.Config.DefaultMaximumSpawns = 5;
|
|
||||||
NPC.defaultMaxSpawns = 5;
|
|
||||||
TSPlayer.All.SendInfoMessage(string.Format("{0} changed the maximum spawns to 5.", args.Player.Name));
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int amount = Convert.ToInt32(args.Parameters[0]);
|
int maxSpawns = -1;
|
||||||
int.TryParse(args.Parameters[0], out amount);
|
if (!int.TryParse(args.Parameters[0], out maxSpawns) || maxSpawns < 0 || maxSpawns > Main.maxNPCs)
|
||||||
NPC.defaultMaxSpawns = amount;
|
{
|
||||||
TShock.Config.DefaultMaximumSpawns = amount;
|
args.Player.SendWarningMessage("Invalid maximum spawns!");
|
||||||
TSPlayer.All.SendInfoMessage(string.Format("{0} changed the maximum spawns to {1}.", args.Player.Name, amount));
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
TShock.Config.DefaultMaximumSpawns = NPC.defaultMaxSpawns = maxSpawns;
|
||||||
|
TSPlayer.All.SendInfoMessage("{0} changed the maximum spawns to {1}.", args.Player.Name, maxSpawns);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void SpawnRate(CommandArgs args)
|
private static void SpawnRate(CommandArgs args)
|
||||||
{
|
{
|
||||||
if (args.Parameters.Count != 1)
|
if (args.Parameters.Count == 0)
|
||||||
{
|
{
|
||||||
args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /spawnrate <spawnrate>");
|
args.Player.SendInfoMessage("Current spawn rate: {0}", TShock.Config.DefaultSpawnRate);
|
||||||
args.Player.SendErrorMessage("/spawnrate show");
|
|
||||||
args.Player.SendErrorMessage("/spawnrate default");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args.Parameters[0] == "show")
|
if (String.Equals(args.Parameters[0], "default", StringComparison.CurrentCultureIgnoreCase))
|
||||||
{
|
{
|
||||||
args.Player.SendInfoMessage("Current spawn rate is " + TShock.Config.DefaultSpawnRate + ".");
|
TShock.Config.DefaultSpawnRate = NPC.defaultSpawnRate = 600;
|
||||||
|
TSPlayer.All.SendInfoMessage("{0} changed the spawn rate to 600.", args.Player.Name);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args.Parameters[0] == "default")
|
int spawnRate = -1;
|
||||||
|
if (!int.TryParse(args.Parameters[0], out spawnRate) || spawnRate < 0)
|
||||||
{
|
{
|
||||||
TShock.Config.DefaultSpawnRate = 600;
|
args.Player.SendWarningMessage("Invalid spawn rate!");
|
||||||
NPC.defaultSpawnRate = 600;
|
|
||||||
TSPlayer.All.SendInfoMessage(string.Format("{0} changed the spawn rate to 600.", args.Player.Name));
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int amount = -1;
|
TShock.Config.DefaultSpawnRate = NPC.defaultSpawnRate = spawnRate;
|
||||||
if (!int.TryParse(args.Parameters[0], out amount))
|
TSPlayer.All.SendInfoMessage("{0} changed the spawn rate to {1}.", args.Player.Name, spawnRate);
|
||||||
{
|
|
||||||
args.Player.SendWarningMessage(string.Format("Invalid spawnrate ({0})", args.Parameters[0]));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (amount < 0)
|
|
||||||
{
|
|
||||||
args.Player.SendWarningMessage("Spawnrate cannot be negative!");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
NPC.defaultSpawnRate = amount;
|
|
||||||
TShock.Config.DefaultSpawnRate = amount;
|
|
||||||
TSPlayer.All.SendInfoMessage(string.Format("{0} changed the spawn rate to {1}.", args.Player.Name, amount));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion Server Config Commands
|
#endregion Server Config Commands
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue