|
|
@ -5234,6 +5234,12 @@ public class PlayerCharacter extends AbstractCharacter { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if(!this.timestamps.containsKey("nextReload")){ |
|
|
|
|
|
|
|
this.timestamps.put("nextReload",System.currentTimeMillis() + 5000L); |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
if(this.timestamps.get("nextReload") > System.currentTimeMillis()) |
|
|
|
|
|
|
|
updateLoadedPlayers(this); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
} catch (Exception e) { |
|
|
|
Logger.error(e); |
|
|
|
Logger.error(e); |
|
|
@ -5245,23 +5251,6 @@ public class PlayerCharacter extends AbstractCharacter { |
|
|
|
Logger.error("UPDATE ISSUE: " + e); |
|
|
|
Logger.error("UPDATE ISSUE: " + e); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void updateBoxStatus(boolean newValue) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.isBoxed = newValue; // Update the isBoxed status
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(this.isBoxed) { |
|
|
|
|
|
|
|
if(!this.title.equals(CharacterTitle.PVE)){ |
|
|
|
|
|
|
|
this.title = CharacterTitle.PVE; |
|
|
|
|
|
|
|
this.getClientConnection().forceDisconnect(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
if(!this.title.equals(CharacterTitle.NONE)){ |
|
|
|
|
|
|
|
this.title = CharacterTitle.NONE; |
|
|
|
|
|
|
|
this.getClientConnection().forceDisconnect(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
public static void unboxPlayer(PlayerCharacter player) { |
|
|
|
public static void unboxPlayer(PlayerCharacter player) { |
|
|
|
String machineID = player.getClientConnection().machineID; |
|
|
|
String machineID = player.getClientConnection().machineID; |
|
|
|
ArrayList<PlayerCharacter> sameMachine = new ArrayList<>(); |
|
|
|
ArrayList<PlayerCharacter> sameMachine = new ArrayList<>(); |
|
|
@ -5273,13 +5262,24 @@ public class PlayerCharacter extends AbstractCharacter { |
|
|
|
for (PlayerCharacter pc : sameMachine) { |
|
|
|
for (PlayerCharacter pc : sameMachine) { |
|
|
|
if(pc.equals(player)) |
|
|
|
if(pc.equals(player)) |
|
|
|
continue; |
|
|
|
continue; |
|
|
|
//pc.isBoxed = true;
|
|
|
|
|
|
|
|
//pc.updateBoxStatus(true);
|
|
|
|
|
|
|
|
pc.isBoxed = true; |
|
|
|
pc.isBoxed = true; |
|
|
|
} |
|
|
|
} |
|
|
|
//player.updateBoxStatus(false);
|
|
|
|
|
|
|
|
player.isBoxed = false; |
|
|
|
player.isBoxed = false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static void updateLoadedPlayers(PlayerCharacter pc){ |
|
|
|
|
|
|
|
HashSet<AbstractWorldObject> inRange = WorldGrid.getObjectsInRangePartial(pc.loc,MBServerStatics.CHARACTER_LOAD_RANGE,MBServerStatics.MASK_PLAYER); |
|
|
|
|
|
|
|
for(AbstractWorldObject awo : inRange){ |
|
|
|
|
|
|
|
if(pc.loadedObjects.contains(awo)) |
|
|
|
|
|
|
|
continue; |
|
|
|
|
|
|
|
PlayerCharacter toLoad = (PlayerCharacter)awo; |
|
|
|
|
|
|
|
if(toLoad.hidden > pc.seeInvis) |
|
|
|
|
|
|
|
continue; |
|
|
|
|
|
|
|
LoadCharacterMsg lcm = new LoadCharacterMsg(toLoad, PlayerCharacter.hideNonAscii()); |
|
|
|
|
|
|
|
pc.getClientConnection().sendMsg(lcm); |
|
|
|
|
|
|
|
pc.loadedObjects.add(toLoad); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
public static boolean checkIfBoxed(PlayerCharacter player){ |
|
|
|
public static boolean checkIfBoxed(PlayerCharacter player){ |
|
|
|
if(ConfigManager.MB_WORLD_BOXLIMIT.getValue().equals("false")) { |
|
|
|
if(ConfigManager.MB_WORLD_BOXLIMIT.getValue().equals("false")) { |
|
|
|
return false; |
|
|
|
return false; |
|
|
|