Got this error.
Stream.java
Code:
public void createFrame(int id) {
if (currentOffset + 2 >= buffer.length)
return;
try {
buffer[currentOffset++] = (byte) (id + packetEncryption
.getNextKey());
} catch (Exception e) {
e.printStackTrace();
}
}
Client.java
Code:
public void logout() {
try {
killMyNPCs();
resetfollowers();
savegame(true);
outStream.createFrame(109);
//logoutButton = true;
if(playerRights <= 1) {
server.connectedList.remove(connectedFrom);
}
} catch (Exception Ex_) {
}
}
Playerhandler.java
Code:
for (int i = 0; i < maxPlayers; i++) {
if (players[i] == null)
continue;
if (!players[i].isActive || (players[i].playerName == null))
continue;
if ((players[i].disconnected)) {// && (players[i].logoutButton) || (players[i].waited)
if (players[i].savefile == true) {
if (saveGame(players[i])) {
System.out.println("Game saved for player "
+ players[i].playerName);
} else {
System.out.println("Could not save for "
+ players[i].playerName);
}
;
} else {
System.out.println("Did not save for "
+ players[i].playerName);
}
removePlayer(players[i]);
players[i] = null;
} else {
if (!players[i].initialized) {
players[i].initialize();
players[i].initialized = true;
} else {
players[i].update();
}
}
}
if (updateRunning && !updateAnnounced) {
updateAnnounced = true;
}
if (updateRunning
&& (System.currentTimeMillis() - updateStartTime > (updateSeconds * 1000))) {
kickAllPlayers = true;
server.ShutDown = true;
}
// post processing
for (int i = 0; i < maxPlayers; i++) {
if ((players[i] == null) || !players[i].isActive)
continue;
players[i].clearUpdateFlags();
}
} catch (Exception e) {
misc.println(e.getMessage());
}
}
public void removePlayer(Player plr) {
if (plr == null)
return;
if (plr.Privatechat != 2) { // PM System
for (int i = 1; i < maxPlayers; i++) {
if ((players[i] == null) || (players[i].isActive == false)
|| (players[i].playerName == null))
continue;
players[i].pmupdate(plr.playerId, 0);
}
}
// anything can be done here like unlinking this player structure from
// any of the other existing structures
saveGame(plr);
plr.destruct();
}
public boolean saveGame(Player plr) {
client saving = (client) plr;
if (saving == null)
return false;
saving.logout();
return true;
}
The red lines are the line's givin in the error.
It has something to do with saving and loggin in&out.
But cant figure out myself. I hope someone can solve this problem.