mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-03 00:31:51 +00:00
1041 lines
39 KiB
Java
1041 lines
39 KiB
Java
package redone.game.players;
|
|
|
|
import java.io.BufferedReader;
|
|
import java.io.BufferedWriter;
|
|
import java.io.FileNotFoundException;
|
|
import java.io.FileReader;
|
|
import java.io.FileWriter;
|
|
import java.io.IOException;
|
|
|
|
import redone.util.Misc;
|
|
|
|
public class PlayerSave {
|
|
|
|
/**
|
|
* Loading
|
|
**/
|
|
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 = "";
|
|
String[] token3 = new String[3];
|
|
boolean EndOfFile = false;
|
|
int ReadMode = 0;
|
|
BufferedReader characterfile = null;
|
|
boolean File1 = false;
|
|
|
|
try {
|
|
characterfile = new BufferedReader(new FileReader(
|
|
"./data/characters/" + playerName + ".txt"));
|
|
File1 = true;
|
|
} catch (FileNotFoundException fileex1) {
|
|
}
|
|
|
|
if (File1) {
|
|
// new File ("./characters/"+playerName+".txt");
|
|
} else {
|
|
Misc.println(playerName + ": character file not found.");
|
|
player.newPlayer = false;
|
|
return 0;
|
|
}
|
|
try {
|
|
line = characterfile.readLine();
|
|
} catch (IOException ioexception) {
|
|
Misc.println(playerName + ": error loading file.");
|
|
return 3;
|
|
}
|
|
while (EndOfFile == false && line != null) {
|
|
line = line.trim();
|
|
int spot = line.indexOf("=");
|
|
if (spot > -1) {
|
|
token = line.substring(0, spot);
|
|
token = token.trim();
|
|
token2 = line.substring(spot + 1);
|
|
token2 = token2.trim();
|
|
token3 = token2.split("\t");
|
|
switch (ReadMode) {
|
|
case 1:
|
|
if (!doRealLogin)
|
|
break;
|
|
if (token.equals("character-password")) {
|
|
if (playerPass.equalsIgnoreCase(token2)) {
|
|
playerPass = token2;
|
|
} else {
|
|
return 3;
|
|
}
|
|
}
|
|
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 "randomToggle":
|
|
player.randomToggle = 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;
|
|
}
|
|
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")) {
|
|
player.ignores[Integer.parseInt(token3[0])] = Long.parseLong(token3[1]);
|
|
}
|
|
break;
|
|
}
|
|
} else {
|
|
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 {
|
|
line = characterfile.readLine();
|
|
} catch (IOException ioexception1) {
|
|
EndOfFile = true;
|
|
}
|
|
}
|
|
try {
|
|
characterfile.close();
|
|
} catch (IOException ignored) {
|
|
}
|
|
if (doRealLogin)
|
|
return 13;
|
|
else
|
|
return 14;
|
|
}
|
|
|
|
/**
|
|
* Saving
|
|
**/
|
|
public static boolean saveGame(Client player) {
|
|
if (!player.saveFile || player.newPlayer || !player.saveCharacter) {
|
|
// System.out.println("first");
|
|
return false;
|
|
}
|
|
if (player.playerName == null
|
|
|| PlayerHandler.players[player.playerId] == null) {
|
|
// System.out.println("second");
|
|
return false;
|
|
}
|
|
player.playerName = player.playerName2;
|
|
int tbTime = (int) (player.teleBlockDelay - System.currentTimeMillis() + player.teleBlockLength);
|
|
if (tbTime > 300000 || tbTime < 0) {
|
|
tbTime = 0;
|
|
}
|
|
|
|
BufferedWriter characterfile = null;
|
|
try {
|
|
characterfile = new BufferedWriter(new FileWriter(
|
|
"./data/characters/" + player.playerName + ".txt"));
|
|
|
|
/* ACCOUNT */
|
|
characterfile.write("[ACCOUNT]", 0, 9);
|
|
characterfile.newLine();
|
|
characterfile.write("character-username = ", 0, 21);
|
|
characterfile.write(player.playerName, 0,
|
|
player.playerName.length());
|
|
characterfile.newLine();
|
|
if (player.playerRights == 0) {
|
|
characterfile.write("character-password = ", 0, 21);
|
|
characterfile.write(player.playerPass, 0,
|
|
player.playerPass.length());
|
|
characterfile.newLine();
|
|
}
|
|
characterfile.newLine();
|
|
|
|
/* CHARACTER */
|
|
characterfile.write("[CHARACTER]", 0, 11);
|
|
characterfile.newLine();
|
|
characterfile.write("character-height = ", 0, 19);
|
|
characterfile.write(Integer.toString(player.heightLevel), 0,
|
|
Integer.toString(player.heightLevel).length());
|
|
characterfile.newLine();
|
|
characterfile.write("character-posx = ", 0, 17);
|
|
characterfile.write(Integer.toString(player.absX), 0, Integer
|
|
.toString(player.absX).length());
|
|
characterfile.newLine();
|
|
characterfile.write("character-posy = ", 0, 17);
|
|
characterfile.write(Integer.toString(player.absY), 0, Integer
|
|
.toString(player.absY).length());
|
|
characterfile.newLine();
|
|
characterfile.write("character-rights = ", 0, 19);
|
|
characterfile.write(Integer.toString(player.playerRights), 0,Integer.toString(player.playerRights).length());
|
|
characterfile.newLine();
|
|
characterfile.write("hasStarter = ", 0, 13);
|
|
characterfile.write(Boolean.toString(player.hasStarter), 0, Boolean
|
|
.toString(player.hasStarter).length());
|
|
characterfile.newLine();
|
|
characterfile.write("bankPin1 = ", 0, 11);
|
|
characterfile.write(Integer.toString(player.bankPin1), 0, Integer
|
|
.toString(player.bankPin1).length());
|
|
characterfile.newLine();
|
|
characterfile.write("bankPin2 = ", 0, 11);
|
|
characterfile.write(Integer.toString(player.bankPin2), 0, Integer
|
|
.toString(player.bankPin2).length());
|
|
characterfile.newLine();
|
|
characterfile.write("bankPin3 = ", 0, 11);
|
|
characterfile.write(Integer.toString(player.bankPin3), 0, Integer
|
|
.toString(player.bankPin3).length());
|
|
characterfile.newLine();
|
|
characterfile.write("bankPin4 = ", 0, 11);
|
|
characterfile.write(Integer.toString(player.bankPin4), 0, Integer
|
|
.toString(player.bankPin4).length());
|
|
characterfile.newLine();
|
|
characterfile.write("hasBankpin = ", 0, 13);
|
|
characterfile.write(Boolean.toString(player.hasBankpin), 0, Boolean
|
|
.toString(player.hasBankpin).length());
|
|
characterfile.newLine();
|
|
characterfile.write("pinRegisteredDeleteDay = ", 0, 25);
|
|
characterfile.write(
|
|
Integer.toString(player.pinDeleteDateRequested), 0, Integer
|
|
.toString(player.pinDeleteDateRequested).length());
|
|
characterfile.newLine();
|
|
characterfile.write("requestPinDelete = ", 0, 19);
|
|
characterfile.write(Boolean.toString(player.requestPinDelete), 0,
|
|
Boolean.toString(player.requestPinDelete).length());
|
|
characterfile.newLine();
|
|
characterfile.write("lastLoginDate = ", 0, 16);
|
|
characterfile.write(Integer.toString(player.lastLoginDate), 0,
|
|
Integer.toString(player.lastLoginDate).length());
|
|
characterfile.newLine();
|
|
characterfile.write("setPin = ", 0, 9);
|
|
characterfile.write(Boolean.toString(player.setPin), 0, Boolean
|
|
.toString(player.setPin).length());
|
|
characterfile.newLine();
|
|
characterfile.write("hasPaid = ", 0, 10);
|
|
characterfile.write(Boolean.toString(player.hasPaid), 0, Boolean
|
|
.toString(player.hasPaid).length());
|
|
characterfile.newLine();
|
|
characterfile.write("lostCannon = ", 0, 13);
|
|
characterfile.write(Boolean.toString(player.lostCannon), 0, Boolean.toString(player.lostCannon).length());
|
|
characterfile.newLine();
|
|
characterfile.write("cannonX = ", 0, 10);
|
|
characterfile.write(Integer.toString(player.cannonX), 0, Integer.toString(player.cannonY).length());
|
|
characterfile.newLine();
|
|
characterfile.write("cannonY = ", 0, 10);
|
|
characterfile.write(Integer.toString(player.cannonY), 0, Integer.toString(player.cannonY).length());
|
|
characterfile.newLine();
|
|
characterfile.write("myBalls = ", 0, 10);
|
|
characterfile.write(Integer.toString(player.getCannon().myBalls), 0, Integer.toString(player.getCannon().myBalls).length());
|
|
characterfile.newLine();
|
|
characterfile.write("poison = ", 0, 9);
|
|
characterfile.write(Boolean.toString(player.poison), 0, Boolean
|
|
.toString(player.poison).length());
|
|
characterfile.newLine();
|
|
characterfile.write("spiritTree = ", 0, 13);
|
|
characterfile.write(Boolean.toString(player.spiritTree), 0, Boolean
|
|
.toString(player.spiritTree).length());
|
|
characterfile.newLine();
|
|
characterfile.write("npcCanAttack = ", 0, 15);
|
|
characterfile.write(Boolean.toString(player.npcCanAttack), 0, Boolean
|
|
.toString(player.npcCanAttack).length());
|
|
characterfile.newLine();
|
|
characterfile.write("rope = ", 0, 7);
|
|
characterfile.write(Boolean.toString(player.rope), 0, Boolean
|
|
.toString(player.rope).length());
|
|
characterfile.newLine();
|
|
characterfile.write("rope2 = ", 0, 8);
|
|
characterfile.write(Boolean.toString(player.rope2), 0, Boolean
|
|
.toString(player.rope2).length());
|
|
characterfile.newLine();
|
|
characterfile.write("recievedMask = ", 0, 15);
|
|
characterfile.write(Boolean.toString(player.recievedMask), 0, Boolean
|
|
.toString(player.recievedMask).length());
|
|
characterfile.newLine();
|
|
characterfile.write("recievedReward = ", 0, 17);
|
|
characterfile.write(Boolean.toString(player.recievedReward), 0, Boolean
|
|
.toString(player.recievedReward).length());
|
|
characterfile.newLine();
|
|
characterfile.write("isBotting = ", 0, 12);
|
|
characterfile.write(Boolean.toString(player.isBotting), 0,
|
|
Boolean.toString(player.isBotting).length());
|
|
characterfile.newLine();
|
|
characterfile.write("brightness = ", 0, 13);
|
|
characterfile.write(Integer.toString(player.brightness), 0, Integer
|
|
.toString(player.brightness).length());
|
|
characterfile.newLine();
|
|
characterfile.write("closeTutorialInterface = ", 0, 25);
|
|
characterfile.write(
|
|
Boolean.toString(player.closeTutorialInterface), 0, Boolean
|
|
.toString(player.closeTutorialInterface).length());
|
|
characterfile.newLine();
|
|
characterfile.write("canWalkTutorial = ", 0, 18);
|
|
characterfile.write(Boolean.toString(player.canWalkTutorial), 0,
|
|
Boolean.toString(player.canWalkTutorial).length());
|
|
characterfile.newLine();
|
|
characterfile.write("village = ", 0, 10);
|
|
characterfile.write(Boolean.toString(player.village), 0, Boolean
|
|
.toString(player.village).length());
|
|
characterfile.newLine();
|
|
characterfile.write("lastThieve = ", 0, 13);
|
|
characterfile.write(Long.toString(player.lastThieve), 0, Long.toString(player.lastThieve).length());
|
|
characterfile.newLine();
|
|
characterfile.write("homeTele = ", 0, 11);
|
|
characterfile.write(Long.toString(player.homeTele), 0, Long.toString(player.homeTele).length());
|
|
characterfile.newLine();
|
|
characterfile.write("strongHold = ", 0, 13);
|
|
characterfile.write(Boolean.toString(player.strongHold), 0, Boolean
|
|
.toString(player.strongHold).length());
|
|
characterfile.newLine();
|
|
characterfile.write("character-energy = ", 0, 19);
|
|
characterfile.write(Integer.toString(player.playerEnergy), 0,
|
|
Integer.toString(player.playerEnergy).length());
|
|
characterfile.newLine();
|
|
characterfile.write("crystal-bow-shots = ", 0, 20);
|
|
characterfile.write(Integer.toString(player.crystalBowArrowCount),
|
|
0, Integer.toString(player.crystalBowArrowCount).length());
|
|
characterfile.newLine();
|
|
characterfile.write("splitChat = ", 0, 12);
|
|
characterfile.write(Boolean.toString(player.splitChat), 0, Boolean
|
|
.toString(player.splitChat).length());
|
|
characterfile.newLine();
|
|
characterfile.write("canSpeak = ", 0, 11);
|
|
characterfile.write(Boolean.toString(player.canSpeak), 0, Boolean
|
|
.toString(player.canSpeak).length());
|
|
characterfile.newLine();
|
|
for (int b = 0; b < player.barrowsNpcs.length; b++) {
|
|
characterfile.write("barrowsNpcs = ", 0, 14);
|
|
characterfile.write(Integer.toString(b), 0, Integer.toString(b).length());
|
|
characterfile.write(" ", 0, 1);
|
|
characterfile.write(player.barrowsNpcs[b][1] <= 1 ? Integer.toString(0) : Integer.toString(player.barrowsNpcs[b][1]), 0, Integer.toString(player.barrowsNpcs[b][1]).length());
|
|
characterfile.newLine();
|
|
}
|
|
characterfile.write("questStages = ", 0, 14);
|
|
characterfile.write(Integer.toString(player.questStages), 0,
|
|
Integer.toString(player.questStages).length());
|
|
characterfile.newLine();
|
|
characterfile.write("SlayerMaster = ", 0, 15);
|
|
characterfile.write(Integer.toString(player.SlayerMaster), 0,
|
|
Integer.toString(player.SlayerMaster).length());
|
|
characterfile.newLine();
|
|
characterfile.write("music = ", 0, 8);
|
|
String music = "";
|
|
for (boolean element : player.getPlayList().unlocked) {
|
|
music += element + "\t";
|
|
}
|
|
characterfile.write(music);
|
|
characterfile.newLine();
|
|
characterfile.write("randomActions = ", 0, 16);
|
|
characterfile.write(Integer.toString(player.randomActions), 0,
|
|
Integer.toString(player.randomActions).length());
|
|
characterfile.newLine();
|
|
characterfile.write("blackMarks = ", 0, 13);
|
|
characterfile.write(Integer.toString(player.blackMarks), 0, Integer
|
|
.toString(player.blackMarks).length());
|
|
characterfile.newLine();
|
|
characterfile.write("tutorial-progress = ", 0, 20);
|
|
characterfile.write(Integer.toString(player.tutorialProgress), 0,
|
|
Integer.toString(player.tutorialProgress).length());
|
|
characterfile.newLine();
|
|
characterfile.write("skull-timer = ", 0, 14);
|
|
characterfile.write(Integer.toString(player.skullTimer), 0, Integer
|
|
.toString(player.skullTimer).length());
|
|
characterfile.newLine();
|
|
characterfile.write("recoilHits = ", 0, 13);
|
|
characterfile.write(Integer.toString(player.recoilHits), 0, Integer
|
|
.toString(player.recoilHits).length());
|
|
characterfile.newLine();
|
|
characterfile.write("lastX = ", 0, 8);
|
|
characterfile.write(Integer.toString(player.lastX), 0, Integer
|
|
.toString(player.lastX).length());
|
|
characterfile.newLine();
|
|
characterfile.write("lastY = ", 0, 8);
|
|
characterfile.write(Integer.toString(player.lastY), 0, Integer
|
|
.toString(player.lastY).length());
|
|
characterfile.newLine();
|
|
characterfile.write("lastH = ", 0, 8);
|
|
characterfile.write(Integer.toString(player.lastH), 0, Integer
|
|
.toString(player.lastH).length());
|
|
characterfile.newLine();
|
|
for (int i = 0; i < player.removedTasks.length; i++) {
|
|
characterfile.write("removedTask" + i + " = ", 0, 15);
|
|
characterfile.write(Integer.toString(player.removedTasks[i]),
|
|
0, Integer.toString(player.removedTasks[i]).length());
|
|
characterfile.newLine();
|
|
}
|
|
characterfile.write("creationAddress = ", 0, 18);
|
|
characterfile.write(player.creationAddress, 0,
|
|
player.creationAddress.length());
|
|
characterfile.newLine();
|
|
characterfile.write("has-npc = ", 0, 10);
|
|
characterfile.write(Boolean.toString(player.hasNpc), 0, Boolean
|
|
.toString(player.hasNpc).length());
|
|
characterfile.newLine();
|
|
characterfile.write("summonId = ", 0, 11);
|
|
characterfile.write(Integer.toString(player.summonId), 0, Integer
|
|
.toString(player.summonId).length());
|
|
characterfile.newLine();
|
|
characterfile.write("thankedForDonation = ", 0, 21);
|
|
characterfile.write(Integer.toString(player.thankedForDonation), 0,
|
|
Integer.toString(player.thankedForDonation).length());
|
|
characterfile.newLine();
|
|
characterfile.write("membership = ", 0, 13);
|
|
characterfile.write(Boolean.toString(player.membership), 0, Boolean
|
|
.toString(player.membership).length());
|
|
characterfile.newLine();
|
|
characterfile.write("questPoints = ", 0, 14);
|
|
characterfile.write(Integer.toString(player.questPoints), 0,
|
|
Integer.toString(player.questPoints).length());
|
|
characterfile.newLine();
|
|
characterfile.write("bananas = ", 0, 10);
|
|
characterfile.write(Integer.toString(player.bananas), 0, Integer
|
|
.toString(player.bananas).length());
|
|
characterfile.newLine();
|
|
characterfile.write("magic-book = ", 0, 13);
|
|
characterfile.write(Integer.toString(player.playerMagicBook), 0,
|
|
Integer.toString(player.playerMagicBook).length());
|
|
characterfile.newLine();
|
|
characterfile.write("special-amount = ", 0, 17);
|
|
characterfile.write(Double.toString(player.specAmount), 0, Double
|
|
.toString(player.specAmount).length());
|
|
characterfile.newLine();
|
|
characterfile.write("musicOn = ", 0, 10);
|
|
characterfile.write(Boolean.toString(player.musicOn), 0, Boolean
|
|
.toString(player.musicOn).length());
|
|
characterfile.newLine();
|
|
characterfile.write("needsNewTask = ", 0, 15);
|
|
characterfile.write(Boolean.toString(player.needsNewTask), 0,
|
|
Boolean.toString(player.needsNewTask).length());
|
|
characterfile.newLine();
|
|
characterfile.write("luthas = ", 0, 9);
|
|
characterfile.write(Boolean.toString(player.luthas), 0, Boolean
|
|
.toString(player.luthas).length());
|
|
characterfile.newLine();
|
|
characterfile.write("selected-coffin = ", 0, 18);
|
|
characterfile.write(Integer.toString(player.randomCoffin), 0,
|
|
Integer.toString(player.randomCoffin).length());
|
|
characterfile.newLine();
|
|
characterfile.write("runeMist = ", 0, 11);
|
|
characterfile.write(Integer.toString(player.runeMist), 0, Integer
|
|
.toString(player.runeMist).length());
|
|
characterfile.newLine();
|
|
characterfile.write("cookAss = ", 0, 10);
|
|
characterfile.write(Integer.toString(player.cookAss), 0, Integer
|
|
.toString(player.cookAss).length());
|
|
characterfile.newLine();
|
|
characterfile.write("pirateTreasure = ", 0, 17);
|
|
characterfile.write(Integer.toString(player.pirateTreasure), 0,
|
|
Integer.toString(player.pirateTreasure).length());
|
|
characterfile.newLine();
|
|
characterfile.write("ptjob = ", 0, 8);
|
|
characterfile.write(Integer.toString(player.ptjob), 0, Integer
|
|
.toString(player.ptjob).length());
|
|
characterfile.newLine();
|
|
characterfile.write("doricQuest = ", 0, 13);
|
|
characterfile.write(Integer.toString(player.doricQuest), 0, Integer
|
|
.toString(player.doricQuest).length());
|
|
characterfile.newLine();
|
|
characterfile.write("dragonSlayerQuestStage = ", 0, 25);
|
|
characterfile.write(
|
|
Integer.toString(player.dragonSlayerQuestStage), 0, Integer
|
|
.toString(player.dragonSlayerQuestStage).length());
|
|
characterfile.newLine();
|
|
characterfile.write("impsC = ", 0, 8);
|
|
characterfile.write(Integer.toString(player.impsC), 0, Integer
|
|
.toString(player.impsC).length());
|
|
characterfile.newLine();
|
|
characterfile.write("knightS = ", 0, 10);
|
|
characterfile.write(Integer.toString(player.knightS), 0, Integer.toString(player.knightS).length());
|
|
characterfile.newLine();
|
|
characterfile.write("sheepShear = ", 0, 13);
|
|
characterfile.write(Integer.toString(player.sheepShear), 0, Integer
|
|
.toString(player.sheepShear).length());
|
|
characterfile.newLine();
|
|
characterfile.write("romeo-juliet = ", 0, 15);
|
|
characterfile.write(Integer.toString(player.romeojuliet), 0,
|
|
Integer.toString(player.romeojuliet).length());
|
|
characterfile.newLine();
|
|
characterfile.write("gertCat = ", 0, 10);
|
|
characterfile.write(Integer.toString(player.gertCat), 0, Integer
|
|
.toString(player.gertCat).length());
|
|
characterfile.newLine();
|
|
characterfile.write("cw-games = ", 0, 11);
|
|
characterfile.write(Integer.toString(player.cwGames), 0, Integer
|
|
.toString(player.cwGames).length());
|
|
characterfile.newLine();
|
|
characterfile.write("witchspot = ", 0, 12);
|
|
characterfile.write(Integer.toString(player.witchspot), 0, Integer
|
|
.toString(player.witchspot).length());
|
|
characterfile.newLine();
|
|
characterfile.write("restGhost = ", 0, 12);
|
|
characterfile.write(Integer.toString(player.restGhost), 0, Integer
|
|
.toString(player.restGhost).length());
|
|
characterfile.newLine();
|
|
characterfile.write("vampSlayer = ", 0, 13);
|
|
characterfile.write(Integer.toString(player.vampSlayer), 0, Integer
|
|
.toString(player.vampSlayer).length());
|
|
characterfile.newLine();
|
|
characterfile.write("RatDied2 = ", 0, 11);
|
|
characterfile.write(Boolean.toString(player.ratdied2), 0, Boolean
|
|
.toString(player.ratdied2).length());
|
|
characterfile.newLine();
|
|
characterfile.write("randomToggle = ", 0, 15);
|
|
characterfile.write(Boolean.toString(player.randomToggle), 0, Boolean
|
|
.toString(player.randomToggle).length());
|
|
characterfile.newLine();
|
|
characterfile.write("teleblock-length = ", 0, 19);
|
|
characterfile.write(Integer.toString(tbTime), 0,
|
|
Integer.toString(tbTime).length());
|
|
characterfile.newLine();
|
|
characterfile.write("pc-points = ", 0, 12);
|
|
characterfile.write(Integer.toString(player.pcPoints), 0, Integer
|
|
.toString(player.pcPoints).length());
|
|
characterfile.newLine();
|
|
characterfile.write("lastYell = ", 0, 11);
|
|
characterfile.write(Long.toString(player.lastYell), 0, Long.toString(player.lastYell).length());
|
|
characterfile.newLine();
|
|
characterfile.write("slayerTask = ", 0, 13);
|
|
characterfile.write(Integer.toString(player.slayerTask), 0, Integer
|
|
.toString(player.slayerTask).length());
|
|
characterfile.newLine();
|
|
characterfile.write("taskAmount = ", 0, 13);
|
|
characterfile.write(Integer.toString(player.taskAmount), 0, Integer
|
|
.toString(player.taskAmount).length());
|
|
characterfile.newLine();
|
|
characterfile.write("magePoints = ", 0, 13);
|
|
characterfile.write(Integer.toString(player.magePoints), 0, Integer
|
|
.toString(player.magePoints).length());
|
|
characterfile.newLine();
|
|
characterfile.write("autoRet = ", 0, 10);
|
|
characterfile.write(Integer.toString(player.autoRet), 0, Integer
|
|
.toString(player.autoRet).length());
|
|
characterfile.newLine();
|
|
characterfile.write("barrowsKillCount = ", 0, 19);
|
|
characterfile.write(Integer.toString(player.barrowsKillCount), 0,
|
|
Integer.toString(player.barrowsKillCount).length());
|
|
characterfile.newLine();
|
|
characterfile.write("slayerPoints = ", 0, 15);
|
|
characterfile.write(Integer.toString(player.slayerPoints), 0,
|
|
Integer.toString(player.slayerPoints).length());
|
|
characterfile.newLine();
|
|
characterfile.write("flagged = ", 0, 10);
|
|
characterfile.write(Boolean.toString(player.accountFlagged), 0,
|
|
Boolean.toString(player.accountFlagged).length());
|
|
characterfile.newLine();
|
|
characterfile.write("wave = ", 0, 7);
|
|
characterfile.write(Integer.toString(player.waveId), 0, Integer
|
|
.toString(player.waveId).length());
|
|
characterfile.newLine();
|
|
characterfile.write("gwkc = ", 0, 7);
|
|
characterfile.write(Integer.toString(player.killCount), 0, Integer
|
|
.toString(player.killCount).length());
|
|
characterfile.newLine();
|
|
characterfile.write("isRunning = ", 0, 12);
|
|
characterfile.write(Boolean.toString(player.isRunning2), 0, Boolean
|
|
.toString(player.isRunning2).length());
|
|
characterfile.newLine();
|
|
characterfile.write("fightMode = ", 0, 12);
|
|
characterfile.write(Integer.toString(player.fightMode), 0, Integer
|
|
.toString(player.fightMode).length());
|
|
characterfile.newLine();
|
|
characterfile.write("void = ", 0, 7);
|
|
String toWrite = player.voidStatus[0] + "\t" + player.voidStatus[1]
|
|
+ "\t" + player.voidStatus[2] + "\t" + player.voidStatus[3]
|
|
+ "\t" + player.voidStatus[4];
|
|
characterfile.write(toWrite);
|
|
characterfile.newLine();
|
|
characterfile.newLine();
|
|
|
|
/* EQUIPMENT */
|
|
characterfile.write("[EQUIPMENT]", 0, 11);
|
|
characterfile.newLine();
|
|
for (int i = 0; i < player.playerEquipment.length; i++) {
|
|
characterfile.write("character-equip = ", 0, 18);
|
|
characterfile.write(Integer.toString(i), 0, Integer.toString(i)
|
|
.length());
|
|
characterfile.write(" ", 0, 1);
|
|
characterfile.write(
|
|
Integer.toString(player.playerEquipment[i]), 0, Integer
|
|
.toString(player.playerEquipment[i]).length());
|
|
characterfile.write(" ", 0, 1);
|
|
characterfile.write(
|
|
Integer.toString(player.playerEquipmentN[i]), 0,
|
|
Integer.toString(player.playerEquipmentN[i]).length());
|
|
characterfile.write(" ", 0, 1);
|
|
characterfile.newLine();
|
|
}
|
|
characterfile.newLine();
|
|
|
|
/* LOOK */
|
|
characterfile.write("[LOOK]", 0, 6);
|
|
characterfile.newLine();
|
|
for (int i = 0; i < player.playerAppearance.length; i++) {
|
|
characterfile.write("character-look = ", 0, 17);
|
|
characterfile.write(Integer.toString(i), 0, Integer.toString(i)
|
|
.length());
|
|
characterfile.write(" ", 0, 1);
|
|
characterfile.write(
|
|
Integer.toString(player.playerAppearance[i]), 0,
|
|
Integer.toString(player.playerAppearance[i]).length());
|
|
characterfile.newLine();
|
|
}
|
|
characterfile.newLine();
|
|
|
|
/* SKILLS */
|
|
characterfile.write("[SKILLS]", 0, 8);
|
|
characterfile.newLine();
|
|
for (int i = 0; i < player.playerLevel.length; i++) {
|
|
characterfile.write("character-skill = ", 0, 18);
|
|
characterfile.write(Integer.toString(i), 0, Integer.toString(i)
|
|
.length());
|
|
characterfile.write(" ", 0, 1);
|
|
characterfile.write(Integer.toString(player.playerLevel[i]), 0,
|
|
Integer.toString(player.playerLevel[i]).length());
|
|
characterfile.write(" ", 0, 1);
|
|
characterfile.write(Integer.toString(player.playerXP[i]), 0,
|
|
Integer.toString(player.playerXP[i]).length());
|
|
characterfile.newLine();
|
|
}
|
|
characterfile.newLine();
|
|
|
|
/* ITEMS */
|
|
characterfile.write("[ITEMS]", 0, 7);
|
|
characterfile.newLine();
|
|
for (int i = 0; i < player.playerItems.length; i++) {
|
|
if (player.playerItems[i] > 0) {
|
|
characterfile.write("character-item = ", 0, 17);
|
|
characterfile.write(Integer.toString(i), 0, Integer
|
|
.toString(i).length());
|
|
characterfile.write(" ", 0, 1);
|
|
characterfile.write(
|
|
Integer.toString(player.playerItems[i]), 0, Integer
|
|
.toString(player.playerItems[i]).length());
|
|
characterfile.write(" ", 0, 1);
|
|
characterfile.write(
|
|
Integer.toString(player.playerItemsN[i]), 0,
|
|
Integer.toString(player.playerItemsN[i]).length());
|
|
characterfile.newLine();
|
|
}
|
|
}
|
|
characterfile.newLine();
|
|
|
|
/* BANK */
|
|
characterfile.write("[BANK]", 0, 6);
|
|
characterfile.newLine();
|
|
for (int i = 0; i < player.bankItems.length; i++) {
|
|
if (player.bankItems[i] > 0) {
|
|
characterfile.write("character-bank = ", 0, 17);
|
|
characterfile.write(Integer.toString(i), 0, Integer
|
|
.toString(i).length());
|
|
characterfile.write(" ", 0, 1);
|
|
characterfile.write(Integer.toString(player.bankItems[i]),
|
|
0, Integer.toString(player.bankItems[i]).length());
|
|
characterfile.write(" ", 0, 1);
|
|
characterfile.write(Integer.toString(player.bankItemsN[i]),
|
|
0, Integer.toString(player.bankItemsN[i]).length());
|
|
characterfile.newLine();
|
|
}
|
|
}
|
|
characterfile.newLine();
|
|
|
|
/* FRIENDS */
|
|
characterfile.write("[FRIENDS]", 0, 9);
|
|
characterfile.newLine();
|
|
for (int i = 0; i < player.friends.length; i++) {
|
|
if (player.friends[i] > 0) {
|
|
characterfile.write("character-friend = ", 0, 19);
|
|
characterfile.write(Integer.toString(i), 0, Integer
|
|
.toString(i).length());
|
|
characterfile.write(" ", 0, 1);
|
|
characterfile.write("" + player.friends[i]);
|
|
characterfile.newLine();
|
|
}
|
|
}
|
|
characterfile.newLine();
|
|
|
|
characterfile.write("[IGNORES]", 0, 9);
|
|
characterfile.newLine();
|
|
for (int i = 0; i < player.ignores.length; i++) {
|
|
if (player.ignores[i] > 0) {
|
|
characterfile.write("character-ignore = ", 0, 19);
|
|
characterfile.write(Integer.toString(i), 0, Integer.toString(i).length());
|
|
characterfile.write(" ", 0, 1);
|
|
characterfile.write(Long.toString(player.ignores[i]), 0, Long.toString(player.ignores[i]).length());
|
|
characterfile.newLine();
|
|
}
|
|
}
|
|
characterfile.newLine();
|
|
|
|
/* EOF */
|
|
characterfile.write("[EOF]", 0, 5);
|
|
characterfile.newLine();
|
|
characterfile.newLine();
|
|
characterfile.close();
|
|
} catch (IOException ioexception) {
|
|
Misc.println(player.playerName + ": error writing file.");
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
}
|