mirror of
https://github.com/ProjectSWGCore/Holocore.git
synced 2026-10-07 22:13:40 -04:00
Fixed null pointer exception in ConnectionService if player logged out before zoning in
This commit is contained in:
@@ -162,17 +162,11 @@ public class ConnectionService extends Service {
|
||||
}
|
||||
|
||||
private void logOut(Player p) {
|
||||
PlayerObject playerObject = p.getPlayerObject();
|
||||
int currentTime = playerObject.getPlayTime();
|
||||
int startTime = playerObject.getStartPlayTime();
|
||||
int deltaTime = (int) ((System.currentTimeMillis()) - startTime);
|
||||
int newTotalTime = currentTime + (int) TimeUnit.MILLISECONDS.toSeconds(deltaTime);
|
||||
|
||||
playerObject.setPlayTime(newTotalTime);
|
||||
|
||||
updatePlayTime(p);
|
||||
if (p.getPlayerState() != PlayerState.LOGGED_OUT)
|
||||
System.out.println("[" + p.getUsername() +"] Logged out " + p.getCharacterName());
|
||||
p.getPlayerObject().setFlagBitmask(PlayerFlags.LD);
|
||||
if (p.getPlayerObject() != null)
|
||||
p.getPlayerObject().setFlagBitmask(PlayerFlags.LD);
|
||||
p.setPlayerState(PlayerState.LOGGED_OUT);
|
||||
disappearPlayers.add(p);
|
||||
updateService.schedule(disappearRunnable, (long) DISAPPEAR_THRESHOLD, TimeUnit.MILLISECONDS);
|
||||
@@ -188,4 +182,16 @@ public class ConnectionService extends Service {
|
||||
new CloseConnectionIntent(player.getConnectionId(), player.getNetworkId(), reason).broadcast();
|
||||
}
|
||||
|
||||
private void updatePlayTime(Player p) {
|
||||
PlayerObject playerObject = p.getPlayerObject();
|
||||
if (playerObject == null)
|
||||
return;
|
||||
|
||||
int currentTime = playerObject.getPlayTime();
|
||||
int startTime = playerObject.getStartPlayTime();
|
||||
int deltaTime = (int) ((System.currentTimeMillis()) - startTime);
|
||||
int newTotalTime = currentTime + (int) TimeUnit.MILLISECONDS.toSeconds(deltaTime);
|
||||
playerObject.setPlayTime(newTotalTime);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user