diff --git a/09HDscape-server/src/org/crandor/game/events/GlobalEventManager.java b/09HDscape-server/src/org/crandor/game/events/GlobalEventManager.java index ca44cbe29..4db9c276a 100644 --- a/09HDscape-server/src/org/crandor/game/events/GlobalEventManager.java +++ b/09HDscape-server/src/org/crandor/game/events/GlobalEventManager.java @@ -92,18 +92,12 @@ public class GlobalEventManager implements CallBack { } public GlobalEventManager save() { - if (GameWorld.getDatabaseManager().update("server", "DELETE FROM `globalevents` WHERE worldid='" + GameWorld.getSettings().getWorldId() + "'") < 0) - return this; - Iterator> iterator = EVENTS.entrySet().iterator(); while(iterator.hasNext()) { Map.Entry entry = iterator.next(); - - if (entry.getValue() <= 0) - continue; - + StringBuilder query = new StringBuilder(); query.append("INSERT INTO `globalevents` "); @@ -116,6 +110,9 @@ public class GlobalEventManager implements CallBack { query.append(")"); + query.append(" ON DUPLICATE KEY UPDATE "); + query.append("eventTime='" + entry.getValue() + "'"); + GameWorld.getDatabaseManager().update("server", query.toString()); }