Hello guys, I'm getting error when a player dies but I have no idea what to do with it
Code:
[8/13/14 1:26 PM]: java.lang.NullPointerException
[8/13/14 1:26 PM]: at server.model.players.PlayerAssistant.applyDead(PlayerAssistant.java:915)
[8/13/14 1:26 PM]: at server.model.players.Client.process(Client.java:622)
[8/13/14 1:26 PM]: at server.model.players.PlayerHandler.process(PlayerHandler.java:137)
[8/13/14 1:26 PM]: at server.Server.main(Server.java:156)
This is apply dead
Code:
public void applyDead() {
int weapon = c.playerEquipment[c.playerWeapon];
c.respawnTimer = 15;
c.isDead = false;
c.getTradeAndDuel().stakedItems.clear();
if(c.duelStatus != 6) {
//c.killerId = c.getCombat().getKillerId(c.playerId);
c.killerId = findKiller();
Client o = (Client) Server.playerHandler.players[c.killerId];
if(o != null) {
c.DC++;
o.KC++;
if (c.killerId != c.playerId)
if(!PlayerKilling.hostOnList(o, c.connectedFrom)) {
PlayerKilling.addHostToList(o, c.connectedFrom);
o.pkPoints++;
if (weapon == CastleWars.SARA_BANNER || weapon == CastleWars.ZAMMY_BANNER) {
c.getItems().removeItem(weapon, 3);
c.getItems().deleteItem2(weapon, 1);
CastleWars.dropFlag(c, weapon);
}
o.sendMessage("You have received a point, you now have "+o.pkPoints+" pk points.");
} else {
o.sendMessage("You have recently defeated "+c.playerName+", you don't receive any pk points.");
}
if(o.duelStatus == 5) {
o.duelStatus++;
}
if (Server.playerHandler.players[c.killerId].connectedFrom == Server.playerHandler.players[c.playerKilled].connectedFrom) {
c.faceUpdate(0);
c.npcIndex = 0;
c.playerIndex = 0;
c.stopMovement();
if(c.duelStatus <= 4) {
if (CastleWars.isInCw(c)) {
c.cwDeaths += 1;
o.cwKills += 1;
}
c.getTradeAndDuel().stakedItems.clear();
c.sendMessage("Oh dear you are dead!");
} else if (!c.inPits && !c.inFightCaves()) {
c.getItems().resetKeepItems();
} else if(c.duelStatus != 6) {
c.getTradeAndDuel().stakedItems.clear();
c.sendMessage("You have lost the duel!!!");
}
resetDamageDone();
c.lastVeng = 0;
c.vengOn = false;
resetFollowers();
c.attackTimer = 10;
removeAllWindows();
// sendFrame126("PkP: "+c.pkPoints+" K: "+c.kills+" D: "+c.deaths+"", 663); demise sendframe
c.tradeResetNeeded = true;
return;
}
if (Server.playerHandler.players[c.killerId].connectedFrom.equals(Server.playerHandler.players[c.playerKilled].connectedFrom)) {
o.sendMessage("Multiple IP detected, PK point reward removed.");
c.faceUpdate(0);
c.npcIndex = 0;
c.playerIndex = 0;
c.stopMovement();
if(c.duelStatus <= 4) {
c.sendMessage(Config.DEATH_MESSAGE);
} else if(c.duelStatus != 6) {
c.sendMessage("You have lost the duel!");
}
resetDamageDone();
c.lastVeng = 0;
c.vengOn = false;
resetFollowers();
c.attackTimer = 10;
removeAllWindows();
//sendFrame126("PkP: "+c.pkPoints+" K: "+c.kills+" D: "+c.deaths+"", 663); demise sendframe
c.tradeResetNeeded = true;
return;
}
}
}
c.faceUpdate(0);
c.npcIndex = 0;
c.playerIndex = 0;
c.stopMovement();
if(c.duelStatus <= 4) {
c.sendMessage("Oh dear you are dead!");
} else if(c.duelStatus != 6) {
c.sendMessage("You have lost the duel!");
}
resetDamageDone();
c.specAmount = 10;
c.getItems().addSpecialBar(c.playerEquipment[c.playerWeapon]);
c.lastVeng = 0;
c.vengOn = false;
resetFollowers();
c.attackTimer = 10;
removeAllWindows();
c.tradeResetNeeded = true;
}
The red line is line 915, help me please as soon as possible.