/**
* Private Messaging
**/
public void logIntoPM() {
setPrivateMessaging(2);
for(int i1 = 0; i1 < Config.MAX_PLAYERS; i1++) {
Player p = Server.playerHandler.players[i1];
if(p != null && p.isActive) {
Client o = (Client)p;
if(o != null) {
o.getPA().updatePM(c.playerId, 1);
}
}
}
boolean pmLoaded = false;
for(int i = 0; i < c.friends.length; i++) {
if(c.friends[i] != 0) {
for(int i2 = 1; i2 < Config.MAX_PLAYERS; i2++) {
Player p = Server.playerHandler.players[i2];
if (p != null && p.isActive && Misc.playerNameToInt64(p.playerName) == c.friends[i]) {
Client o = (Client)p;
if(o != null) {
if (c.playerRights >= 2 || p.privateChat == 0 || (p.privateChat == 1 && o.getPA().isInPM(Misc.playerNameToInt64(c.playerNa me)))) {
loadPM(c.friends[i], 1);
pmLoaded = true;
}
break;
}
}
}
if(!pmLoaded) {
loadPM(c.friends[i], 0);
}
pmLoaded = false;
}
for(int i1 = 1; i1 < Config.MAX_PLAYERS; i1++) {
Player p = Server.playerHandler.players[i1];
if(p != null && p.isActive) {
Client o = (Client)p;
if(o != null) {
o.getPA().updatePM(c.playerId, 1);
}
}
}
}
}
public void updatePM(int pID, int world) { // used for private chat updates
Player p = Server.playerHandler.players[pID];
if(p == null || p.playerName == null || p.playerName.equals("null")){
return;
}
Client o = (Client)p;
if(o == null) {
return;
}
long l = Misc.playerNameToInt64(Server.playerHandler.player s[pID].playerName);
if (p.privateChat == 0) {
for (int i = 0; i < c.friends.length; i++) {
if (c.friends[i] != 0) {
if (l == c.friends[i]) {
loadPM(l, world);
return;
}
}
}
} else if (p.privateChat == 1) {
for (int i = 0; i < c.friends.length; i++) {
if (c.friends[i] != 0) {
if (l == c.friends[i]) {
if (o.getPA().isInPM(Misc.playerNameToInt64(c.playerN ame))) {
loadPM(l, world);
return;
} else {
loadPM(l, 0);
return;
}
}
}
}
} else if (p.privateChat == 2) {
for (int i = 0; i < c.friends.length; i++) {
if (c.friends[i] != 0) {
if (l == c.friends[i] && c.playerRights < 2) {
loadPM(l, 0);
return;
}
}
}
}
}
public boolean isInPM(long l) {
for (int i = 0; i < c.friends.length; i++) {
if (c.friends[i] != 0) {
if (l == c.friends[i]) {
return true;
}
}
}
return false;
}