anyone? comon someone help plz
|
I have found this glitch and I tried to fix it myself but it doesn't work. I don't know if it has to do with the apply dead method or something else.
The problem is that when you talk to kolodion he teleports you into the mage arena. Inside if you die by a guthix, zammy or any wizard you get a pkpoint. This is not happening on any other npc's just the ones inside mage arena. I also made it so if you die more than once it will not give you the pk points to stop pk point farming but this also had no effect inside the arena. If you can help i will thank and rep+.
Thanks in advance,
Spoiler for my source:
anyone? comon someone help plz
Just remove it from the game.. It's not like anyone uses that mini-game but if you want to fix it then just post your applydead method here and I can take a look at it.
my applydead
Code:public void applyDead() { c.respawnTimer = 10; c.isDead = false; 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) { if(!(c.npcIndex > 0) && c.inPits == false){ } if (c.killerId != c.playerId) o.sendMessage("You have defeated "+Misc.optimizeText(c.playerName)+"!"); if(c.inWild() && !c.inDuelArena() || !c.inMageArena()){ o.pkPoints++; 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."); } c.playerKilled = c.playerId; if(o.duelStatus == 5) { o.duelStatus++; } } } c.poisonDamage = 0; 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; } public void resetDamageDone() { for (int i = 0; i < PlayerHandler.players.length; i++) { if (PlayerHandler.players[i] != null) { PlayerHandler.players[i].damageTaken[c.playerId] = 0; } } }
Replace your method with this. If you get any errors let me know. This will stop you from receving pk when when dieing by monsters, duel arena and pking.
Code:public void applyDead() { c.respawnTimer = 15; c.isDead = false; 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) { if(!(c.npcIndex > 0) && c.inPits == false){ } if (c.killerId != c.playerId) o.sendMessage("You have defeated "+Misc.optimizeText(c.playerName)+"!"); c.playerKilled = c.playerId; if(o.duelStatus == 5) { o.duelStatus++; } } } c.faceUpdate(0); EventManager.getSingleton().addEvent(new Event() { public void execute(EventContainer b) { c.npcIndex = 0; c.playerIndex = 0; b.stop(); } }, 2500); 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; }
[QUOTE=banter;2859064]Replace your method with this. If you get any errors let me know. This will stop you from receving pk when when dieing by monsters, duel arena and pking.
umm i want it to give pk points by pking and i fixed it so it doesn't give pk points by dying by monsters but in the arena it still gives points when when wizard kills you for some reason.
thank you for helping
Then go to ur player.java and declare the int pkpoints do it in your playersave and add the method and then remove the minigame.
« Previous Thread | Next Thread » |
Thread Information |
Users Browsing this ThreadThere are currently 1 users browsing this thread. (0 members and 1 guests) |