Added highscores

This commit is contained in:
dginovker
2019-06-20 11:02:00 -04:00
parent afad8ec4a3
commit a5e3e6e8f2
10 changed files with 1301 additions and 314 deletions
@@ -2337,6 +2337,17 @@ public class ItemAssistant {
return freeS;
}
public int getBankQuantitiy(int itemID)
{
for (int i = 0; i < c.bankItems.length; i++) {
if (c.bankItems[i] == itemID)
{
return c.bankItemsN[i];
}
}
return 0;
}
public void fromBank(int itemID, int fromSlot, int amount) {
if (amount > 0) {
if (c.bankItems[fromSlot] > 0) {
@@ -0,0 +1,60 @@
package redone.game.players;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import static redone.game.players.PlayerSave.loadPlayerInfo;
public class HighscoresHandler {
public ArrayList<Client> players = new ArrayList<>();
public HighscoresHandler() {
File dir = new File("./data/characters");
File[] directoryListing = dir.listFiles();
for (File child : directoryListing) {
Client player = new Client(null, -1);
player.playerName = child.getName().split("\\.")[0];
loadPlayerInfo(player, child.getName().split("\\.")[0], "", false);
players.add(player);
}
}
public String getRank(int i, String sortBy) {
switch (sortBy)
{
case "level":
players.sort(new totalLevelComparator());
return players.get(i).playerName + ": " + players.get(i).getPlayerAssistant().getTotalLevel();
case "gold":
players.sort(new totalGoldComparator());
return players.get(i).playerName + ": " + players.get(i).getPlayerAssistant().totalGold() + "gp";
default:
players.sort(new totalDmgComparator());
return players.get(i).playerName + ": " + players.get(i).totalDamageDealt;
}
}
private class totalLevelComparator implements Comparator<Client> {
@Override
public int compare(Client client, Client t1) {
return - client.getPlayerAssistant().getTotalLevel() + t1.getPlayerAssistant().getTotalLevel();
}
}
private class totalGoldComparator implements Comparator<Client> {
@Override
public int compare(Client client, Client t1) {
return - client.getPlayerAssistant().totalGold() + t1.getPlayerAssistant().totalGold();
}
}
private class totalDmgComparator implements Comparator<Client> {
@Override
public int compare(Client client, Client t1) {
return - client.totalDamageDealt + t1.totalDamageDealt;
}
}
}
@@ -2455,9 +2455,9 @@ public class PlayerAssistant {
}
}
public void levelUp(int skill) {
SkillHandler.resetSkills(player);
int totalLevel = getLevelForXP(player.playerXP[0])
public int getTotalLevel()
{
return getLevelForXP(player.playerXP[0])
+ getLevelForXP(player.playerXP[1])
+ getLevelForXP(player.playerXP[2])
+ getLevelForXP(player.playerXP[3])
@@ -2478,8 +2478,11 @@ public class PlayerAssistant {
+ getLevelForXP(player.playerXP[18])
+ getLevelForXP(player.playerXP[19])
+ getLevelForXP(player.playerXP[20]);
}
sendFrame126("Total Lvl: " + totalLevel, 3984);
public void levelUp(int skill) {
SkillHandler.resetSkills(player);
sendFrame126("Total Lvl: " + getTotalLevel(), 3984);
switch (skill) {
case 0:
sendFrame126("Congratulations, you just advanced an attack level!",
@@ -3328,4 +3331,7 @@ public class PlayerAssistant {
}
}
public int totalGold() {
return player.getItemAssistant().getBankQuantitiy(996) + player.getItemAssistant().getItemAmount(995);
}
}
@@ -14,8 +14,12 @@ public class PlayerSave {
/**
* Loading
**/
public static int loadGame(Client player, String playerName,
String playerPass) {
public static int loadGame(Client player, String playerName, String playerPass) {
return loadPlayerInfo(player, playerName, playerPass, true);
}
public static int loadPlayerInfo(Client player, String playerName, String playerPass, boolean doRealLogin)
{
String line = "";
String token = "";
String token2 = "";
@@ -55,287 +59,399 @@ public class PlayerSave {
token2 = token2.trim();
token3 = token2.split("\t");
switch (ReadMode) {
case 1:
if (token.equals("character-password")) {
if (playerPass.equalsIgnoreCase(token2)) {
playerPass = token2;
} else {
return 3;
case 1:
if (!doRealLogin)
break;
if (token.equals("character-password")) {
if (playerPass.equalsIgnoreCase(token2)) {
playerPass = token2;
} else {
return 3;
}
}
}
break;
case 2:
if (token.equals("character-height")) {
player.heightLevel = Integer.parseInt(token2);
} else if (token.equals("character-posx")) {
player.teleportToX = Integer.parseInt(token2) <= 0 ? player.lastX : Integer.parseInt(token2);
} else if (token.equals("character-posy")) {
player.teleportToY = Integer.parseInt(token2) <= 0 ? player.lastY : Integer.parseInt(token2);
} else if (token.equals("character-rights")) {
player.playerRights = Integer.parseInt(token2);
} else if (token.equals("blackMarks")) {
player.blackMarks = Integer.parseInt(token2);
} else if (token.equals("lostCannon")) {
player.lostCannon = Boolean.parseBoolean(token2);
} else if (token.equals("myBalls")) {
player.getCannon().myBalls = Integer.parseInt(token2);
} else if (token.equals("cannonX")) {
player.cannonX = Integer.parseInt(token2);
} else if (token.equals("cannonY")) {
player.cannonY = Integer.parseInt(token2);
} else if (token.equals("removedTask0")) {
player.removedTasks[0] = Integer.parseInt(token2);
} else if (token.equals("removedTask1")) {
player.removedTasks[1] = Integer.parseInt(token2);
} else if (token.equals("removedTask2")) {
player.removedTasks[2] = Integer.parseInt(token2);
} else if (token.equals("removedTask3")) {
player.removedTasks[3] = Integer.parseInt(token2);
} else if (token.equals("SlayerMaster")) {
player.SlayerMaster = Integer.parseInt(token2);
} else if (token.equals("slayerTask")) {
player.slayerTask = Integer.parseInt(token2);
} else if (token.equals("slayerPoints")) {
player.slayerPoints = Integer.parseInt(token2);
} else if (token.equals("taskAmount")) {
player.taskAmount = Integer.parseInt(token2);
} else if (token.equals("cw-games")) {
player.cwGames = Integer.parseInt(token2);
} else if (token.equals("crystal-bow-shots")) {
player.crystalBowArrowCount = Integer.parseInt(token2);
} else if (token.equals("randomActions")) {
player.randomActions = Integer.parseInt(token2);
} else if (token.equals("skull-timer")) {
player.skullTimer = Integer.parseInt(token2);
} else if (token.equals("recoilHits")) {
player.recoilHits = Integer.parseInt(token2);
} else if (token.equals("brightness")) {
player.brightness = Integer.parseInt(token2);
} else if (token.equals("spiritTree")) {
player.spiritTree = Boolean.parseBoolean(token2);
} else if (token.equals("npcCanAttack")) {
player.npcCanAttack = Boolean.parseBoolean(token2);
} else if (token.equals("rope")) {
player.rope = Boolean.parseBoolean(token2);
} else if (token.equals("rope2")) {
player.rope2 = Boolean.parseBoolean(token2);
} else if (token.equals("recievedMask")) {
player.recievedMask = Boolean.parseBoolean(token2);
} else if (token.equals("recievedReward")) {
player.recievedReward = Boolean.parseBoolean(token2);
} else if (token.equals("splitChat")) {
player.splitChat = Boolean.parseBoolean(token2);
} else if (token.equals("hasPaid")) {
player.hasPaid = Boolean.parseBoolean(token2);
} else if (token.equals("poison")) {
player.poison = Boolean.parseBoolean(token2);
} else if (token.equals("closeTutorialInterface")) {
player.closeTutorialInterface = Boolean
.parseBoolean(token2);
} else if (token.equals("canWalkTutorial")) {
player.canWalkTutorial = Boolean.parseBoolean(token2);
} else if (token.equals("needsNewTask")) {
player.needsNewTask = Boolean.parseBoolean(token2);
} else if (token.equals("isBotting")) {
player.isBotting = Boolean.parseBoolean(token2);
} else if (token.equals("musicOn")) {
player.musicOn = Boolean.parseBoolean(token2);
} else if (token.equals("barrowsNpcs")) {
player.barrowsNpcs[Integer.parseInt(token3[0])][1] = Integer.parseInt(token3[1]);
} else if (token.equals("summonId")) {
player.summonId = Integer.parseInt(token2);
} else if (token.equals("has-npc")) {
player.hasNpc = Boolean.parseBoolean(token2);
} else if (token.equals("barrowsKillCount")) {
player.barrowsKillCount = Integer.parseInt(token2);
} else if (token.equals("luthas")) {
player.luthas = Boolean.parseBoolean(token2);
} else if (token.equals("village")) {
player.village = Boolean.parseBoolean(token2);
} else if (token.equals("lastThieve")) {
player.lastThieve = Long.parseLong(token2);
} else if (token.equals("homeTele")) {
player.homeTele = Long.parseLong(token2);
} else if (token.equals("tutorial-progress")) {
player.tutorialProgress = Integer.parseInt(token2);
} else if (token.equals("strongHold")) {
player.strongHold = Boolean.parseBoolean(token2);
} else if (token.equals("filter")) {
player.filter = Boolean.parseBoolean(token2);
} else if (token.equals("ratdied2")) {
player.ratdied2 = Boolean.parseBoolean(token2);
} else if (token.equals("questStages")) {
player.questStages = Integer.parseInt(token2);
} else if (token.equals("cookAss")) {
player.cookAss = Integer.parseInt(token2);
} else if (token.equals("bananas")) {
player.bananas = Integer.parseInt(token2);
} else if (token.equals("sheepShear")) {
player.sheepShear = Integer.parseInt(token2);
} else if (token.equals("runeMist")) {
player.runeMist = Integer.parseInt(token2);
} else if (token.equals("dragonSlayerQuestStage")) {
player.dragonSlayerQuestStage = Integer.parseInt(token2);
} else if (token.equals("doricQuest")) {
player.doricQuest = Integer.parseInt(token2);
} else if (token.equals("pirateTreasure")) {
player.pirateTreasure = Integer.parseInt(token2);
} else if (token.equals("romeo-juliet")) {
player.romeojuliet = Integer.parseInt(token2);
} else if (token.equals("vampSlayer")) {
player.vampSlayer = Integer.parseInt(token2);
} else if (token.equals("gertCat")) {
player.gertCat = Integer.parseInt(token2);
} else if (token.equals("witchspot")) {
player.witchspot = Integer.parseInt(token2);
} else if (token.equals("restGhost")) {
player.restGhost = Integer.parseInt(token2);
} else if (token.equals("impsC")) {
player.impsC = Integer.parseInt(token2);
} else if (token.equals("knightS")) {
player.knightS = Integer.parseInt(token2);
} else if (token.equals("lastX")) {
player.lastX = Integer.parseInt(token2);
} else if (token.equals("lastY")) {
player.lastY = Integer.parseInt(token2);
} else if (token.equals("lastH")) {
player.lastH = Integer.parseInt(token2);
} else if (token.equals("hasStarter")) {
player.hasStarter = Boolean.parseBoolean(token2);
} else if (token.equals("thankedForDonation")) {
player.thankedForDonation = Integer.parseInt(token2);
} else if (token.equals("membership")) {
player.membership = Boolean.parseBoolean(token2);
} else if (token.equals("canSpeak")) {
player.canSpeak = Boolean.parseBoolean(token2);
} else if (token.equals("questPoints")) {
player.questPoints = Integer.parseInt(token2);
} else if (token.equals("magic-book")) {
player.playerMagicBook = Integer.parseInt(token2);
} else if (token.equals("special-amount")) {
player.specAmount = Double.parseDouble(token2);
} else if (token.equals("selected-coffin")) {
player.randomCoffin = Integer.parseInt(token2);
} else if (token.equals("isRunning")) {
player.isRunning2 = Boolean.parseBoolean(token2);
} else if (token.equals("character-energy")) {
player.playerEnergy = Integer.parseInt(token2);
} else if (token.equals("teleblock-length")) {
player.teleBlockDelay = System.currentTimeMillis();
player.teleBlockLength = Integer.parseInt(token2);
} else if (token.equals("lastYell")) {
player.lastYell = Long.parseLong(token2);
} else if (token.equals("pc-points")) {
player.pcPoints = Integer.parseInt(token2);
} else if (token.equals("magePoints")) {
player.magePoints = Integer.parseInt(token2);
} else if (token.equals("autoRet")) {
player.autoRet = Integer.parseInt(token2);
} else if (token.equals("flagged")) {
player.accountFlagged = Boolean.parseBoolean(token2);
} else if (token.equals("lastLoginDate")) {
player.lastLoginDate = Integer.parseInt(token2);
} else if (token.equals("hasBankpin")) {
player.hasBankpin = Boolean.parseBoolean(token2);
} else if (token.equals("setPin")) {
player.setPin = Boolean.parseBoolean(token2);
} else if (token.equals("pinRegisteredDeleteDay")) {
player.pinDeleteDateRequested = Integer.parseInt(token2);
} else if (token.equals("requestPinDelete")) {
player.requestPinDelete = Boolean.parseBoolean(token2);
} else if (token.equals("bankPin1")) {
player.bankPin1 = Integer.parseInt(token2);
} else if (token.equals("bankPin2")) {
player.bankPin2 = Integer.parseInt(token2);
} else if (token.equals("bankPin3")) {
player.bankPin3 = Integer.parseInt(token2);
} else if (token.equals("bankPin4")) {
player.bankPin4 = Integer.parseInt(token2);
} else if (token.equals("wave")) {
player.waveId = Integer.parseInt(token2);
} else if (token.equals("ptjob")) {
player.ptjob = Integer.parseInt(token2);
} else if (token.equals("creationAddress")) {
player.creationAddress = token2;
} else if (token.equals("music")) {
for (int j = 0; j < token3.length; j++) {
player.getPlayList().unlocked[j] = Boolean.parseBoolean(token3[j]);
break;
case 2:
switch (token) {
case "character-height":
player.heightLevel = Integer.parseInt(token2);
break;
case "character-posx":
player.teleportToX = Integer.parseInt(token2) <= 0 ? player.lastX : Integer.parseInt(token2);
break;
case "character-posy":
player.teleportToY = Integer.parseInt(token2) <= 0 ? player.lastY : Integer.parseInt(token2);
break;
case "character-rights":
player.playerRights = Integer.parseInt(token2);
break;
case "blackMarks":
player.blackMarks = Integer.parseInt(token2);
break;
case "lostCannon":
player.lostCannon = Boolean.parseBoolean(token2);
break;
case "myBalls":
player.getCannon().myBalls = Integer.parseInt(token2);
break;
case "cannonX":
player.cannonX = Integer.parseInt(token2);
break;
case "cannonY":
player.cannonY = Integer.parseInt(token2);
break;
case "removedTask0":
player.removedTasks[0] = Integer.parseInt(token2);
break;
case "removedTask1":
player.removedTasks[1] = Integer.parseInt(token2);
break;
case "removedTask2":
player.removedTasks[2] = Integer.parseInt(token2);
break;
case "removedTask3":
player.removedTasks[3] = Integer.parseInt(token2);
break;
case "SlayerMaster":
player.SlayerMaster = Integer.parseInt(token2);
break;
case "slayerTask":
player.slayerTask = Integer.parseInt(token2);
break;
case "slayerPoints":
player.slayerPoints = Integer.parseInt(token2);
break;
case "taskAmount":
player.taskAmount = Integer.parseInt(token2);
break;
case "cw-games":
player.cwGames = Integer.parseInt(token2);
break;
case "crystal-bow-shots":
player.crystalBowArrowCount = Integer.parseInt(token2);
break;
case "randomActions":
player.randomActions = Integer.parseInt(token2);
break;
case "skull-timer":
player.skullTimer = Integer.parseInt(token2);
break;
case "recoilHits":
player.recoilHits = Integer.parseInt(token2);
break;
case "brightness":
player.brightness = Integer.parseInt(token2);
break;
case "spiritTree":
player.spiritTree = Boolean.parseBoolean(token2);
break;
case "npcCanAttack":
player.npcCanAttack = Boolean.parseBoolean(token2);
break;
case "rope":
player.rope = Boolean.parseBoolean(token2);
break;
case "rope2":
player.rope2 = Boolean.parseBoolean(token2);
break;
case "recievedMask":
player.recievedMask = Boolean.parseBoolean(token2);
break;
case "recievedReward":
player.recievedReward = Boolean.parseBoolean(token2);
break;
case "splitChat":
player.splitChat = Boolean.parseBoolean(token2);
break;
case "hasPaid":
player.hasPaid = Boolean.parseBoolean(token2);
break;
case "poison":
player.poison = Boolean.parseBoolean(token2);
break;
case "closeTutorialInterface":
player.closeTutorialInterface = Boolean
.parseBoolean(token2);
break;
case "canWalkTutorial":
player.canWalkTutorial = Boolean.parseBoolean(token2);
break;
case "needsNewTask":
player.needsNewTask = Boolean.parseBoolean(token2);
break;
case "isBotting":
player.isBotting = Boolean.parseBoolean(token2);
break;
case "musicOn":
player.musicOn = Boolean.parseBoolean(token2);
break;
case "barrowsNpcs":
player.barrowsNpcs[Integer.parseInt(token3[0])][1] = Integer.parseInt(token3[1]);
break;
case "summonId":
player.summonId = Integer.parseInt(token2);
break;
case "has-npc":
player.hasNpc = Boolean.parseBoolean(token2);
break;
case "barrowsKillCount":
player.barrowsKillCount = Integer.parseInt(token2);
break;
case "luthas":
player.luthas = Boolean.parseBoolean(token2);
break;
case "village":
player.village = Boolean.parseBoolean(token2);
break;
case "lastThieve":
player.lastThieve = Long.parseLong(token2);
break;
case "homeTele":
player.homeTele = Long.parseLong(token2);
break;
case "tutorial-progress":
player.tutorialProgress = Integer.parseInt(token2);
break;
case "strongHold":
player.strongHold = Boolean.parseBoolean(token2);
break;
case "filter":
player.filter = Boolean.parseBoolean(token2);
break;
case "ratdied2":
player.ratdied2 = Boolean.parseBoolean(token2);
break;
case "questStages":
player.questStages = Integer.parseInt(token2);
break;
case "cookAss":
player.cookAss = Integer.parseInt(token2);
break;
case "bananas":
player.bananas = Integer.parseInt(token2);
break;
case "sheepShear":
player.sheepShear = Integer.parseInt(token2);
break;
case "runeMist":
player.runeMist = Integer.parseInt(token2);
break;
case "dragonSlayerQuestStage":
player.dragonSlayerQuestStage = Integer.parseInt(token2);
break;
case "doricQuest":
player.doricQuest = Integer.parseInt(token2);
break;
case "pirateTreasure":
player.pirateTreasure = Integer.parseInt(token2);
break;
case "romeo-juliet":
player.romeojuliet = Integer.parseInt(token2);
break;
case "vampSlayer":
player.vampSlayer = Integer.parseInt(token2);
break;
case "gertCat":
player.gertCat = Integer.parseInt(token2);
break;
case "witchspot":
player.witchspot = Integer.parseInt(token2);
break;
case "restGhost":
player.restGhost = Integer.parseInt(token2);
break;
case "impsC":
player.impsC = Integer.parseInt(token2);
break;
case "knightS":
player.knightS = Integer.parseInt(token2);
break;
case "lastX":
player.lastX = Integer.parseInt(token2);
break;
case "lastY":
player.lastY = Integer.parseInt(token2);
break;
case "lastH":
player.lastH = Integer.parseInt(token2);
break;
case "hasStarter":
player.hasStarter = Boolean.parseBoolean(token2);
break;
case "thankedForDonation":
player.thankedForDonation = Integer.parseInt(token2);
break;
case "membership":
player.membership = Boolean.parseBoolean(token2);
break;
case "canSpeak":
player.canSpeak = Boolean.parseBoolean(token2);
break;
case "questPoints":
player.questPoints = Integer.parseInt(token2);
break;
case "magic-book":
player.playerMagicBook = Integer.parseInt(token2);
break;
case "special-amount":
player.specAmount = Double.parseDouble(token2);
break;
case "selected-coffin":
player.randomCoffin = Integer.parseInt(token2);
break;
case "isRunning":
player.isRunning2 = Boolean.parseBoolean(token2);
break;
case "character-energy":
player.playerEnergy = Integer.parseInt(token2);
break;
case "teleblock-length":
player.teleBlockDelay = System.currentTimeMillis();
player.teleBlockLength = Integer.parseInt(token2);
break;
case "lastYell":
player.lastYell = Long.parseLong(token2);
break;
case "pc-points":
player.pcPoints = Integer.parseInt(token2);
break;
case "magePoints":
player.magePoints = Integer.parseInt(token2);
break;
case "autoRet":
player.autoRet = Integer.parseInt(token2);
break;
case "flagged":
player.accountFlagged = Boolean.parseBoolean(token2);
break;
case "lastLoginDate":
player.lastLoginDate = Integer.parseInt(token2);
break;
case "hasBankpin":
player.hasBankpin = Boolean.parseBoolean(token2);
break;
case "setPin":
player.setPin = Boolean.parseBoolean(token2);
break;
case "pinRegisteredDeleteDay":
player.pinDeleteDateRequested = Integer.parseInt(token2);
break;
case "requestPinDelete":
player.requestPinDelete = Boolean.parseBoolean(token2);
break;
case "bankPin1":
player.bankPin1 = Integer.parseInt(token2);
break;
case "bankPin2":
player.bankPin2 = Integer.parseInt(token2);
break;
case "bankPin3":
player.bankPin3 = Integer.parseInt(token2);
break;
case "bankPin4":
player.bankPin4 = Integer.parseInt(token2);
break;
case "wave":
player.waveId = Integer.parseInt(token2);
break;
case "ptjob":
player.ptjob = Integer.parseInt(token2);
break;
case "creationAddress":
player.creationAddress = token2;
break;
case "music":
for (int j = 0; j < token3.length; j++) {
player.getPlayList().unlocked[j] = Boolean.parseBoolean(token3[j]);
}
break;
case "void":
for (int j = 0; j < token3.length; j++) {
player.voidStatus[j] = Integer.parseInt(token3[j]);
}
break;
case "gwkc":
player.killCount = Integer.parseInt(token2);
break;
case "fightMode":
player.fightMode = Integer.parseInt(token2);
break;
}
} else if (token.equals("void")) {
for (int j = 0; j < token3.length; j++) {
player.voidStatus[j] = Integer.parseInt(token3[j]);
break;
case 3:
if (token.equals("character-equip")) {
player.playerEquipment[Integer.parseInt(token3[0])] = Integer.parseInt(token3[1]);
player.playerEquipmentN[Integer.parseInt(token3[0])] = Integer.parseInt(token3[2]);
}
} else if (token.equals("gwkc")) {
player.killCount = Integer.parseInt(token2);
} else if (token.equals("fightMode")) {
player.fightMode = Integer.parseInt(token2);
}
break;
case 3:
if (token.equals("character-equip")) {
player.playerEquipment[Integer.parseInt(token3[0])] = Integer.parseInt(token3[1]);
player.playerEquipmentN[Integer.parseInt(token3[0])] = Integer.parseInt(token3[2]);
}
break;
case 4:
if (token.equals("character-look")) {
player.playerAppearance[Integer.parseInt(token3[0])] = Integer .parseInt(token3[1]);
}
break;
case 5:
if (token.equals("character-skill")) {
player.playerLevel[Integer.parseInt(token3[0])] = Integer.parseInt(token3[1]);
player.playerXP[Integer.parseInt(token3[0])] = Integer.parseInt(token3[2]);
}
break;
case 6:
if (token.equals("character-item")) {
player.playerItems[Integer.parseInt(token3[0])] = Integer.parseInt(token3[1]);
player.playerItemsN[Integer.parseInt(token3[0])] = Integer .parseInt(token3[2]);
}
break;
case 7:
if (token.equals("character-bank")) {
player.bankItems[Integer.parseInt(token3[0])] = Integer.parseInt(token3[1]);
player.bankItemsN[Integer.parseInt(token3[0])] = Integer.parseInt(token3[2]);
}
break;
case 8:
if (token.equals("character-friend")) {
player.friends[Integer.parseInt(token3[0])] = Long.parseLong(token3[1]);
}
break;
case 9:
if (token.equals("character-ignore")) {
break;
case 4:
if (token.equals("character-look")) {
player.playerAppearance[Integer.parseInt(token3[0])] = Integer .parseInt(token3[1]);
}
break;
case 5:
if (token.equals("character-skill")) {
player.playerLevel[Integer.parseInt(token3[0])] = Integer.parseInt(token3[1]);
player.playerXP[Integer.parseInt(token3[0])] = Integer.parseInt(token3[2]);
}
break;
case 6:
if (token.equals("character-item")) {
player.playerItems[Integer.parseInt(token3[0])] = Integer.parseInt(token3[1]);
player.playerItemsN[Integer.parseInt(token3[0])] = Integer .parseInt(token3[2]);
}
break;
case 7:
if (token.equals("character-bank")) {
player.bankItems[Integer.parseInt(token3[0])] = Integer.parseInt(token3[1]);
player.bankItemsN[Integer.parseInt(token3[0])] = Integer.parseInt(token3[2]);
}
break;
case 8:
if (token.equals("character-friend")) {
player.friends[Integer.parseInt(token3[0])] = Long.parseLong(token3[1]);
}
break;
case 9:
if (token.equals("character-ignore")) {
player.ignores[Integer.parseInt(token3[0])] = Long.parseLong(token3[1]);
}
break;
}
break;
}
} else {
if (line.equals("[ACCOUNT]")) {
ReadMode = 1;
} else if (line.equals("[CHARACTER]")) {
ReadMode = 2;
} else if (line.equals("[EQUIPMENT]")) {
ReadMode = 3;
} else if (line.equals("[LOOK]")) {
ReadMode = 4;
} else if (line.equals("[SKILLS]")) {
ReadMode = 5;
} else if (line.equals("[ITEMS]")) {
ReadMode = 6;
} else if (line.equals("[BANK]")) {
ReadMode = 7;
} else if (line.equals("[FRIENDS]")) {
ReadMode = 8;
} else if (line.equals("[IGNORES]")) {
ReadMode = 9;
} else if (line.equals("[EOF]")) {
try {
characterfile.close();
} catch (IOException ioexception) {
}
return 1;
switch (line) {
case "[ACCOUNT]":
ReadMode = 1;
break;
case "[CHARACTER]":
ReadMode = 2;
break;
case "[EQUIPMENT]":
ReadMode = 3;
break;
case "[LOOK]":
ReadMode = 4;
break;
case "[SKILLS]":
ReadMode = 5;
break;
case "[ITEMS]":
ReadMode = 6;
break;
case "[BANK]":
ReadMode = 7;
break;
case "[FRIENDS]":
ReadMode = 8;
break;
case "[IGNORES]":
ReadMode = 9;
break;
case "[EOF]":
try {
characterfile.close();
} catch (IOException ignored) {
}
return 1;
}
}
try {
@@ -346,9 +462,12 @@ public class PlayerSave {
}
try {
characterfile.close();
} catch (IOException ioexception) {
} catch (IOException ignored) {
}
return 13;
if (doRealLogin)
return 13;
else
return 14;
}
/**
@@ -5,6 +5,7 @@ import redone.Constants;
import redone.game.items.ItemAssistant;
import redone.game.npcs.NpcHandler;
import redone.game.players.Client;
import redone.game.players.HighscoresHandler;
import redone.game.players.PlayerHandler;
import redone.net.packets.PacketType;
import redone.util.GameLogger;
@@ -52,30 +53,36 @@ public class Commands implements PacketType {
switch (playerCommand)
{
case "close_interface":
player.getPlayerAssistant().closeAllWindows();
break;
player.getPlayerAssistant().closeAllWindows();
break;
case "commands":
player.getActionSender().sendMessage("::players, ::highscores");
break;
player.getActionSender().sendMessage("::players, ::highscores");
break;
case "highscores":
HighscoresHandler hs = new HighscoresHandler();
String[] highscores = new String[]{
"@dre@Highscores",
"",
"Top 5 Highest total level:",
"1", "2", "3", "4", "5",
"Top 5 Total Level:",
hs.getRank(0, "level"), hs.getRank(1, "level"), hs.getRank(2, "level"), hs.getRank(3, "level"), hs.getRank(4, "level"),
"",
"Top 5 Highest coins stack:",
"1", "2", "3", "4", "5"
"Top 5 Wealthiest Players:",
hs.getRank(0, "gold"), hs.getRank(1, "gold"), hs.getRank(2, "gold"), hs.getRank(3, "gold"), hs.getRank(4, "gold"),
"",
"Top 5 Highest Total Damage:",
hs.getRank(0, "damage"), hs.getRank(1, "damage"), hs.getRank(2, "damage"), hs.getRank(3, "damage"), hs.getRank(4, "damage"),
};
player.getPlayerAssistant().sendFrame126("@dre@Highscores", 8144);
player.getPlayerAssistant().sendFrame126("", 8145);
player.getPlayerAssistant().sendFrame126("Top 5 Highest total level:", 8145);
player.getPlayerAssistant().sendFrame126("1", 8145);
player.getPlayerAssistant().sendFrame126("1", 8145);
player.getPlayerAssistant().sendFrame126("1", 8145);
player.getPlayerAssistant().sendFrame126("1", 8145);
player.getPlayerAssistant().sendFrame126("1", 8145);
break;
for (int i = 8144; i < 8195; i++) {
player.getPlayerAssistant().sendFrame126("", i);
}
for (int i = 8144; i < 8144 + highscores.length; i++) {
player.getPlayerAssistant().sendFrame126(highscores[i - 8144], i+3);
}
player.getPlayerAssistant().showInterface(8134);
break;
}