Fix /ls start/end erroring on fresh servers

This commit is contained in:
UnknownShadow200 2018-03-31 21:31:40 +11:00
parent 6a05bf10a3
commit 7a1cdbc4ed
2 changed files with 10 additions and 5 deletions

View File

@ -60,7 +60,7 @@ namespace MCGalaxy.Commands.Fun {
} }
void HandleStart(Player p, string[] args) { void HandleStart(Player p, string[] args) {
if (!CheckExtraPerm(p, 2)) return; if (!CheckExtraPerm(p, 1)) return;
string map = args.Length > 1 ? args[1] : ""; string map = args.Length > 1 ? args[1] : "";
switch (Server.lava.Start(map)) { switch (Server.lava.Start(map)) {
@ -73,7 +73,7 @@ namespace MCGalaxy.Commands.Fun {
} }
void HandleStop(Player p, string[] args) { void HandleStop(Player p, string[] args) {
if (!CheckExtraPerm(p, 2)) return; if (!CheckExtraPerm(p, 1)) return;
switch (Server.lava.Stop()) { switch (Server.lava.Stop()) {
case 0: Chat.MessageGlobal("Lava Survival has ended! We hope you had fun!"); return; case 0: Chat.MessageGlobal("Lava Survival has ended! We hope you had fun!"); return;
@ -83,7 +83,7 @@ namespace MCGalaxy.Commands.Fun {
} }
void HandleEnd(Player p, string[] args) { void HandleEnd(Player p, string[] args) {
if (!CheckExtraPerm(p, 2)) return; if (!CheckExtraPerm(p, 1)) return;
if (!Server.lava.active) { Player.Message(p, "There isn't an active Lava Survival game."); return; } if (!Server.lava.active) { Player.Message(p, "There isn't an active Lava Survival game."); return; }
if (Server.lava.roundActive) Server.lava.EndRound(); if (Server.lava.roundActive) Server.lava.EndRound();

View File

@ -105,8 +105,9 @@ namespace MCGalaxy.DB {
} catch { } catch {
data.TotalTime = row[ColumnTimeSpent].ToString().ParseDBTime(); data.TotalTime = row[ColumnTimeSpent].ToString().ParseDBTime();
} }
data.FirstLogin = DateTime.Parse(row[ColumnFirstLogin].ToString());
data.LastLogin = DateTime.Parse(row[ColumnLastLogin].ToString()); data.FirstLogin = ParseDate(row[ColumnFirstLogin]);
data.LastLogin = ParseDate(row[ColumnLastLogin]);
data.Title = row[ColumnTitle].ToString().Trim(); data.Title = row[ColumnTitle].ToString().Trim();
data.Title.Cp437ToUnicodeInPlace(); data.Title.Cp437ToUnicodeInPlace();
@ -128,6 +129,10 @@ namespace MCGalaxy.DB {
return data; return data;
} }
static DateTime ParseDate(object value) {
if (value is DateTime) return (DateTime)value;
return DateTime.Parse(value.ToString());
}
internal static long ParseLong(string value) { internal static long ParseLong(string value) {
return (value.Length == 0 || value.CaselessEq("null")) ? 0 : long.Parse(value); return (value.Length == 0 || value.CaselessEq("null")) ? 0 : long.Parse(value);