some bug fixes + updated engine with networking fixes

This commit is contained in:
Light2
2013-12-28 19:16:51 +01:00
parent c3cf8713bf
commit acf78858a6
14 changed files with 72 additions and 40 deletions
+19 -17
View File
@@ -50,6 +50,7 @@ import resources.common.ObjControllerOpcodes;
import resources.common.Opcodes;
import resources.common.RGB;
import resources.common.SpawnPoint;
import resources.datatables.PlayerFlags;
import resources.objects.Buff;
import resources.objects.building.BuildingObject;
import resources.objects.cell.CellObject;
@@ -85,34 +86,30 @@ public class PlayerService implements INetworkDispatch {
public PlayerService(final NGECore core) {
this.core = core;
scheduler.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
ServerTimeMessage time = new ServerTimeMessage(System.currentTimeMillis() / 1000);
IoBuffer packet = time.serialize();
synchronized(core.getActiveConnectionsMap()) {
for(Client c : core.getActiveConnectionsMap().values()) {
if(c.getParent() != null) {
c.getSession().write(packet);
}
}
}
}
}, 0, 30, TimeUnit.SECONDS);
}
public void postZoneIn(final CreatureObject creature) {
scheduler.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
ServerTimeMessage time = new ServerTimeMessage(core.getGalacticTime() / 1000);
IoBuffer packet = time.serialize();
creature.getClient().getSession().write(packet);
}
}, 0, 45, TimeUnit.SECONDS);
scheduler.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
PlayerObject player = (PlayerObject) creature.getSlottedObject("ghost");
player.setTotalPlayTime(player.getTotalPlayTime() + 30);
player.setTotalPlayTime((int) (player.getTotalPlayTime() + ((System.currentTimeMillis() - player.getLastPlayTimeUpdate()) / 1000)));
player.setLastPlayTimeUpdate(System.currentTimeMillis());
core.collectionService.checkExplorationRegions(creature);
@@ -148,6 +145,11 @@ public class PlayerService implements INetworkDispatch {
}, 0, 1000, TimeUnit.MILLISECONDS);
PlayerObject ghost = (PlayerObject) creature.getSlottedObject("ghost");
if (ghost.isSet(PlayerFlags.LD)) {
ghost.toggleFlag(PlayerFlags.LD);
}
}