Advertisement
Guest User

Untitled

a guest
Jan 16th, 2016
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 31.67 KB | None | 0 0
  1. package ardi.model.players;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.BufferedWriter;
  5. import java.io.File;
  6. import java.io.FileNotFoundException;
  7. import java.io.FileReader;
  8. import java.io.FileWriter;
  9. import java.io.IOException;
  10.  
  11. import ardi.util.Misc;
  12.  
  13. public class PlayerSave {
  14.  
  15. /**
  16. * Tells us whether or not the player exists for the specified name.
  17. *
  18. * @param name
  19. * @return
  20. */
  21. public static boolean playerExists(String name) {
  22. File file = new File("./Data/characters/" + name + ".txt");
  23. return file.exists();
  24. }
  25.  
  26. /**
  27. * Tells use whether or not the specified name has the friend added.
  28. *
  29. * @param name
  30. * @param friend
  31. * @return
  32. */
  33. public static boolean isFriend(String name, String friend) {
  34. long nameLong = Misc.playerNameToInt64(friend);
  35. long[] friends = getFriends(name);
  36. if (friends != null && friends.length > 0) {
  37. for (int index = 0; index < friends.length; index++) {
  38. if (friends[index] == nameLong) {
  39. return true;
  40. }
  41. }
  42. }
  43. return false;
  44. }
  45.  
  46. /**
  47. * Returns a characters friends in the form of a long array.
  48. *
  49. * @param name
  50. * @return
  51. */
  52. public static long[] getFriends(String name) {
  53. String line = "";
  54. String token = "";
  55. String token2 = "";
  56. String[] token3 = new String[3];
  57. boolean end = false;
  58. int readMode = 0;
  59. BufferedReader file = null;
  60. boolean file1 = false;
  61. long[] readFriends = new long[200];
  62. long[] friends = null;
  63. int totalFriends = 0;
  64. try {
  65. file = new BufferedReader(new FileReader("./Data/characters/"
  66. + name + ".txt"));
  67. file1 = true;
  68. } catch (FileNotFoundException fileex1) {
  69. }
  70.  
  71. if (file1) {
  72. new File("./Data/characters/" + name + ".txt");
  73. } else {
  74. return null;
  75. }
  76. try {
  77. line = file.readLine();
  78. } catch (IOException ioexception) {
  79. return null;
  80. }
  81. while (end == false && line != null) {
  82. line = line.trim();
  83. int spot = line.indexOf("=");
  84. if (spot > -1) {
  85. token = line.substring(0, spot);
  86. token = token.trim();
  87. token2 = line.substring(spot + 1);
  88. token2 = token2.trim();
  89. token3 = token2.split("\t");
  90. switch (readMode) {
  91. case 0:
  92. if (token.equals("character-friend")) {
  93. readFriends[Integer.parseInt(token3[0])] = Long
  94. .parseLong(token3[1]);
  95. totalFriends++;
  96. }
  97. break;
  98. }
  99. } else {
  100. if (line.equals("[FRIENDS]")) {
  101. readMode = 0;
  102. } else if (line.equals("[EOF]")) {
  103. try {
  104. file.close();
  105. } catch (IOException ioexception) {
  106. }
  107. }
  108. }
  109. try {
  110. line = file.readLine();
  111. } catch (IOException ioexception1) {
  112. end = true;
  113. }
  114. }
  115. try {
  116. if (totalFriends > 0) {
  117. friends = new long[totalFriends];
  118. for (int index = 0; index < totalFriends; index++) {
  119. friends[index] = readFriends[index];
  120. }
  121. return friends;
  122. }
  123. file.close();
  124. } catch (IOException ioexception) {
  125. }
  126. return null;
  127. }
  128.  
  129. /**
  130. * Loading
  131. **/
  132. public static int loadGame(Client p, String playerName, String playerPass) {
  133. String line = "";
  134. String token = "";
  135. String token2 = "";
  136. String[] token3 = new String[3];
  137. boolean EndOfFile = false;
  138. int ReadMode = 0;
  139. BufferedReader characterfile = null;
  140. boolean File1 = false;
  141. try {
  142. characterfile = new BufferedReader(new FileReader(
  143. "./Data/characters/" + playerName + ".txt"));
  144. File1 = true;
  145. } catch (FileNotFoundException fileex1) {
  146. }
  147. if(playerExists(Misc.removeSpaces(playerName)) && !playerExists(playerName)) {
  148. p.disconnected = true;
  149. return 3;
  150. }
  151.  
  152. if (File1) {
  153. // new File ("./characters/"+playerName+".txt");
  154. } else {
  155. Misc.println(playerName + ": character file not found.");
  156. p.newPlayer = false;
  157. return 0;
  158. }
  159. try {
  160. line = characterfile.readLine();
  161. } catch (IOException ioexception) {
  162. Misc.println(playerName + ": error loading file.");
  163. return 3;
  164. }
  165. while (EndOfFile == false && line != null) {
  166. line = line.trim();
  167. int spot = line.indexOf("=");
  168. if (spot > -1) {
  169. token = line.substring(0, spot);
  170. token = token.trim();
  171. token2 = line.substring(spot + 1);
  172. token2 = token2.trim();
  173. token3 = token2.split("\t");
  174. switch (ReadMode) {
  175. case 1:
  176. if (token.equals("character-password")) {
  177. if (playerPass.equalsIgnoreCase(token2)
  178. || Misc.basicEncrypt(playerPass).equals(token2)) {
  179. playerPass = token2;
  180. } else {
  181. return 3;
  182. }
  183. }
  184. break;
  185. case 2:
  186. if (token.equals("character-height")) {
  187. p.heightLevel = Integer.parseInt(token2);
  188. } else if (token.equals("Agrith")) {
  189. p.Agrith = Boolean.parseBoolean(token2);
  190. } else if (token.equals("Flambeed")) {
  191. p.Flambeed = Boolean.parseBoolean(token2);
  192. } else if (token.equals("Karamel")) {
  193. p.Karamel = Boolean.parseBoolean(token2);
  194. } else if (token.equals("Dessourt")) {
  195. p.Dessourt = Boolean.parseBoolean(token2);
  196. } else if (token.equals("culin")) {
  197. p.Culin = Boolean.parseBoolean(token2);
  198. } else if (token.equals("character-posx")) {
  199. p.teleportToX = (Integer.parseInt(token2) <= 0 ? 3210
  200. : Integer.parseInt(token2));
  201. } else if (token.equals("character-posy")) {
  202. p.teleportToY = (Integer.parseInt(token2) <= 0 ? 3424
  203. : Integer.parseInt(token2));
  204. } else if (token.equals("character-rights")) {
  205. p.playerRights = Integer.parseInt(token2);
  206. } else if (token.equals("character-title")) {
  207. p.playerTitle = token2;
  208. } else if (token.equals("character-title-color")) {
  209. p.titleColor = Integer.parseInt(token2);
  210. } else if (token.equals("killed-players")) {
  211. p.lastKilledPlayers.add(token2);
  212. } else if (token.equals("run-energy")) {
  213. p.runEnergy = Integer.parseInt(token2);
  214. } else if (token.equals("connected-from")) {
  215. p.lastConnectedFrom.add(token2);
  216. } else if (token.equals("desert-treasure")) {
  217. p.desertT = Integer.parseInt(token2);
  218. } else if (token.equals("dt-kill")) {
  219. p.lastDtKill = Integer.parseInt(token2);
  220. } else if (token.equals("horror-from-deep")) {
  221. p.horrorFromDeep = Integer.parseInt(token2);
  222. } else if (token.equals("rfd-round")) {
  223. p.rfdRound = Integer.parseInt(token2);
  224. } else if (token.equals("vote-length")) {
  225. p.voteDelay = System.currentTimeMillis();
  226. p.voteLength = Integer.parseInt(token2);
  227. } else if (token.equals("votingPoints")) {
  228. p.votingPoints = Integer.parseInt(token2);
  229. } else if (token.equals("quest-points")) {
  230. p.questPoints = Integer.parseInt(token2);
  231. } else if (token.equals("cooks-assistant")) {
  232. p.cooksA = Integer.parseInt(token2);
  233. } else if (token.equals("startPack")) {
  234. p.startPack = Boolean.parseBoolean(token2);
  235. } else if (token.equals("petID")) {
  236. p.petID = Integer.parseInt(token2);
  237. } else if (token.equals("petSummoned")) {
  238. p.setPetSummoned(Boolean.parseBoolean(token2));
  239. } else if (token.equals("lastLoginDate")) {
  240. p.lastLoginDate = Integer.parseInt(token2);
  241. } else if (token.equals("setPin")) {
  242. p.setPin = Boolean.parseBoolean(token2);
  243. } else if (token.equals("hasBankpin")) {
  244. p.hasBankpin = Boolean.parseBoolean(token2);
  245. } else if (token.equals("pinRegisteredDeleteDay")) {
  246. p.pinDeleteDateRequested = Integer.parseInt(token2);
  247. } else if (token.equals("requestPinDelete")) {
  248. p.requestPinDelete = Boolean.parseBoolean(token2);
  249. } else if (token.equals("bankPin1")) {
  250. p.bankPin1 = Integer.parseInt(token2);
  251. } else if (token.equals("bankPin2")) {
  252. p.bankPin2 = Integer.parseInt(token2);
  253. } else if (token.equals("bankPin3")) {
  254. p.bankPin3 = Integer.parseInt(token2);
  255. } else if (token.equals("bankPin4")) {
  256. p.bankPin4 = Integer.parseInt(token2);
  257. } else if (token.equals("tutorial-progress")) {
  258. p.tutorial = Integer.parseInt(token2);
  259. } else if (token.equals("crystal-bow-shots")) {
  260. p.crystalBowArrowCount = Integer.parseInt(token2);
  261. } else if (token.equals("skull-timer")) {
  262. p.skullTimer = Integer.parseInt(token2);
  263. } else if (token.equals("magic-book")) {
  264. p.playerMagicBook = Integer.parseInt(token2);
  265. } else if (token.equals("brother-info")) {
  266. p.barrowsNpcs[Integer.parseInt(token3[0])][1] = Integer
  267. .parseInt(token3[1]);
  268. } else if (token.equals("special-amount")) {
  269. p.specAmount = Double.parseDouble(token2);
  270. } else if (token.equals("selected-coffin")) {
  271. p.randomCoffin = Integer.parseInt(token2);
  272. } else if (token.equals("barrows-killcount")) {
  273. p.pkPoints = Integer.parseInt(token2);
  274. /* PKing by Ardi */
  275. } else if (token.equals("pkp")) {
  276. p.pkp = Integer.parseInt(token2);
  277. } else if (token.equals("donP")) {
  278. p.donPoints = Integer.parseInt(token2);
  279. } else if (token.equals("xpLock")) {
  280. p.expLock = Boolean.parseBoolean(token2);
  281. } else if (line.startsWith("KC")) {
  282. p.KC = Integer.parseInt(token2);
  283. } else if (line.startsWith("DC")) {
  284. p.DC = Integer.parseInt(token2);
  285. /* END PKing by Ardi */
  286. } else if (token.equals("teleblock-length")) {
  287. p.teleBlockDelay = System.currentTimeMillis();
  288. p.teleBlockLength = Integer.parseInt(token2);
  289. } else if (token.equals("pc-points")) {
  290. p.pcPoints = Integer.parseInt(token2);
  291. /**
  292. * Valiant - Achievements
  293. */
  294. } else if (line.startsWith("crabsKilled")) {
  295. p.crabsKilled = Integer.parseInt(token2);
  296. } else if (line.startsWith("fireslit")) {
  297. p.fireslit = Integer.parseInt(token2);
  298. } else if (token.equals("mute-end")) {
  299. p.muteEnd = Long.parseLong(token2);
  300. } else if (token.equals("slayerTask")) {
  301. p.slayerTask = Integer.parseInt(token2);
  302. } else if (token.equals("slayerPoints")) {
  303. p.slayerPoints = Integer.parseInt(token2);
  304. } else if (token.equals("taskAmount")) {
  305. p.taskAmount = Integer.parseInt(token2);
  306. } else if (token.equals("magePoints")) {
  307. p.magePoints = Integer.parseInt(token2);
  308. } else if (token.equals("autoRet")) {
  309. p.autoRet = Integer.parseInt(token2);
  310. } else if (token.equals("barrowskillcount")) {
  311. p.barrowsKillCount = Integer.parseInt(token2);
  312. } else if (token.equals("flagged")) {
  313. p.accountFlagged = Boolean.parseBoolean(token2);
  314. } else if (token.equals("removedTask0")) {
  315. p.removedTasks[0] = Integer.parseInt(token2);
  316. } else if (token.equals("removedTask1")) {
  317. p.removedTasks[1] = Integer.parseInt(token2);
  318. } else if (token.equals("removedTask2")) {
  319. p.removedTasks[2] = Integer.parseInt(token2);
  320. } else if (token.equals("removedTask3")) {
  321. p.removedTasks[3] = Integer.parseInt(token2);
  322. } else if (token.equals("wave")) {
  323. p.waveId = Integer.parseInt(token2);
  324. } else if (token.equals("void")) {
  325. for (int j = 0; j < token3.length; j++) {
  326. p.voidStatus[j] = Integer.parseInt(token3[j]);
  327. }
  328. } else if (token.equals("gwkc")) {
  329. p.killCount = Integer.parseInt(token2);
  330. } else if (token.equals("fightMode")) {
  331. p.fightMode = Integer.parseInt(token2);
  332. }
  333. break;
  334. case 3:
  335. if (token.equals("character-equip")) {
  336. p.playerEquipment[Integer.parseInt(token3[0])] = Integer
  337. .parseInt(token3[1]);
  338. p.playerEquipmentN[Integer.parseInt(token3[0])] = Integer
  339. .parseInt(token3[2]);
  340. }
  341. break;
  342. case 4:
  343. if (token.equals("character-look")) {
  344. p.playerAppearance[Integer.parseInt(token3[0])] = Integer
  345. .parseInt(token3[1]);
  346. }
  347. break;
  348. case 5:
  349. if (token.equals("character-skill")) {
  350. p.playerLevel[Integer.parseInt(token3[0])] = Integer
  351. .parseInt(token3[1]);
  352. p.playerXP[Integer.parseInt(token3[0])] = Integer
  353. .parseInt(token3[2]);
  354. }
  355. break;
  356. case 6:
  357. if (token.equals("character-item")) {
  358. p.playerItems[Integer.parseInt(token3[0])] = Integer
  359. .parseInt(token3[1]);
  360. p.playerItemsN[Integer.parseInt(token3[0])] = Integer
  361. .parseInt(token3[2]);
  362. }
  363. break;
  364. case 7:
  365. if (token.equals("character-bank")) {
  366. p.bankItems[Integer.parseInt(token3[0])] = Integer
  367. .parseInt(token3[1]);
  368. p.bankItemsN[Integer.parseInt(token3[0])] = Integer
  369. .parseInt(token3[2]);
  370. }
  371. break;
  372. case 8:
  373. if (token.equals("character-friend")) {
  374. p.friends[Integer.parseInt(token3[0])] = Long
  375. .parseLong(token3[1]);
  376. }
  377. break;
  378. case 9:
  379. /*
  380. * if (token.equals("character-ignore")) {
  381. * ignores[Integer.parseInt(token3[0])] =
  382. * Long.parseLong(token3[1]); }
  383. */
  384. break;
  385. }
  386. } else {
  387. if (line.equals("[ACCOUNT]")) {
  388. ReadMode = 1;
  389. } else if (line.equals("[CHARACTER]")) {
  390. ReadMode = 2;
  391. } else if (line.equals("[EQUIPMENT]")) {
  392. ReadMode = 3;
  393. } else if (line.equals("[LOOK]")) {
  394. ReadMode = 4;
  395. } else if (line.equals("[SKILLS]")) {
  396. ReadMode = 5;
  397. } else if (line.equals("[ITEMS]")) {
  398. ReadMode = 6;
  399. } else if (line.equals("[BANK]")) {
  400. ReadMode = 7;
  401. } else if (line.equals("[FRIENDS]")) {
  402. ReadMode = 8;
  403. } else if (line.equals("[IGNORES]")) {
  404. ReadMode = 9;
  405. } else if (line.equals("[EOF]")) {
  406. try {
  407. characterfile.close();
  408. } catch (IOException ioexception) {
  409. }
  410. return 1;
  411. }
  412. }
  413. try {
  414. line = characterfile.readLine();
  415. } catch (IOException ioexception1) {
  416. EndOfFile = true;
  417. }
  418. }
  419. try {
  420. characterfile.close();
  421. } catch (IOException ioexception) {
  422. }
  423. return 13;
  424. }
  425.  
  426. /**
  427. * Saving
  428. **/
  429. public static boolean saveGame(Client p) {
  430. if (!p.saveFile || p.newPlayer || !p.saveCharacter) {
  431. // System.out.println("first");
  432. return false;
  433. }
  434. if (p.playerName == null || PlayerHandler.players[p.playerId] == null) {
  435. // System.out.println("second");
  436. return false;
  437. }
  438. p.playerName = p.playerName2;
  439. int tbTime = (int) (p.teleBlockDelay - System.currentTimeMillis() + p.teleBlockLength);
  440. if (tbTime > 300000 || tbTime < 0) {
  441. tbTime = 0;
  442. }
  443. int voteTime = (int)(p.voteDelay - System.currentTimeMillis() + p.voteLength);
  444. if(voteTime > 14400000 || voteTime < 0){
  445. voteTime = 0;
  446. }
  447.  
  448. BufferedWriter characterfile = null;
  449. try {
  450. characterfile = new BufferedWriter(new FileWriter(
  451. "./Data/characters/" + p.playerName + ".txt"));
  452.  
  453. /* ACCOUNT */
  454. characterfile.write("[ACCOUNT]", 0, 9);
  455. characterfile.newLine();
  456. characterfile.write("character-username = ", 0, 21);
  457. characterfile.write(p.playerName, 0, p.playerName.length());
  458. characterfile.newLine();
  459. characterfile.write("character-password = ", 0, 21);
  460. characterfile.write(p.playerPass, 0, p.playerPass.length());
  461. characterfile.newLine();
  462. characterfile.newLine();
  463.  
  464. /* CHARACTER */
  465. characterfile.write("[CHARACTER]", 0, 11);
  466. characterfile.newLine();
  467. characterfile.write("run-energy = ", 0, 13);
  468. characterfile.write(Integer.toString(p.runEnergy), 0, Integer.toString(p.runEnergy).length());
  469. characterfile.newLine();
  470. characterfile.write("character-height = ", 0, 19);
  471. characterfile.write(Integer.toString(p.heightLevel), 0, Integer
  472. .toString(p.heightLevel).length());
  473. characterfile.newLine();
  474. characterfile.write("character-posx = ", 0, 17);
  475. characterfile.write(Integer.toString(p.absX), 0,
  476. Integer.toString(p.absX).length());
  477. characterfile.newLine();
  478. characterfile.write("character-posy = ", 0, 17);
  479. characterfile.write(Integer.toString(p.absY), 0,
  480. Integer.toString(p.absY).length());
  481. characterfile.newLine();
  482. characterfile.write("character-rights = ", 0, 19);
  483. characterfile.write(Integer.toString(p.playerRights), 0, Integer
  484. .toString(p.playerRights).length());
  485. characterfile.newLine();
  486. characterfile.write("character-title = ", 0, 18);
  487. characterfile.write(p.playerTitle, 0, p.playerTitle.length());
  488. characterfile.newLine();
  489. characterfile.write("character-title-color = ", 0, 24);
  490. characterfile.write(Integer.toString(p.titleColor), 0, Integer
  491. .toString(p.titleColor).length());
  492. characterfile.newLine();
  493. for (int i = 0; i < p.lastConnectedFrom.size(); i++) {
  494. characterfile.write("connected-from = ", 0, 17);
  495. characterfile.write(p.lastConnectedFrom.get(i), 0,
  496. p.lastConnectedFrom.get(i).length());
  497. characterfile.newLine();
  498. }
  499. for (int j = 0; j < p.lastKilledPlayers.size(); j++) {
  500. characterfile.write("killed-players = ", 0, 17);
  501. characterfile.write(p.lastKilledPlayers.get(j), 0,
  502. p.lastKilledPlayers.get(j).length());
  503. characterfile.newLine();
  504. }
  505. for (int i = 0; i < p.removedTasks.length; i++) {
  506. characterfile.write("removedTask" + i + " = ", 0, 15);
  507. characterfile.write(Integer.toString(p.removedTasks[i]), 0,
  508. Integer.toString(p.removedTasks[i]).length());
  509. characterfile.newLine();
  510. }
  511. // start quests
  512. characterfile.write("desert-treasure = ", 0, 18);
  513. characterfile.write(Integer.toString(p.desertT), 0, Integer
  514. .toString(p.desertT).length());
  515. characterfile.newLine();
  516. characterfile.write("dt-kill = ", 0, 10);
  517. characterfile.write(Integer.toString(p.lastDtKill), 0, Integer
  518. .toString(p.lastDtKill).length());
  519. characterfile.newLine();
  520. characterfile.write("horror-from-deep = ", 0, 19);
  521. characterfile.write(Integer.toString(p.horrorFromDeep), 0, Integer
  522. .toString(p.horrorFromDeep).length());
  523. characterfile.newLine();
  524. characterfile.write("rfd-round = ", 0, 12);
  525. characterfile.write(Integer.toString(p.rfdRound), 0, Integer
  526. .toString(p.rfdRound).length());
  527. characterfile.newLine();
  528. characterfile.write("quest-points = ", 0, 15);
  529. characterfile.write(Integer.toString(p.questPoints), 0, Integer
  530. .toString(p.questPoints).length());
  531. characterfile.newLine();
  532. characterfile.write("cooks-assistant = ", 0, 18);
  533. characterfile.write(Integer.toString(p.cooksA), 0, Integer
  534. .toString(p.cooksA).length());
  535. characterfile.newLine();
  536. characterfile.write("lastLoginDate = ", 0, 16);
  537. characterfile.write(Integer.toString(p.lastLoginDate), 0, Integer
  538. .toString(p.lastLoginDate).length());
  539. characterfile.newLine();
  540. characterfile.write("startPack = ", 0, 12);
  541. characterfile.write(Boolean.toString(p.startPack), 0, Boolean
  542. .toString(p.startPack).length());
  543. characterfile.newLine();
  544. characterfile.write("setPin = ", 0, 9);
  545. characterfile.write(Boolean.toString(p.setPin), 0, Boolean
  546. .toString(p.setPin).length());
  547. characterfile.newLine();
  548. characterfile.write("bankPin1 = ", 0, 11);
  549. characterfile.write(Integer.toString(p.bankPin1), 0, Integer
  550. .toString(p.bankPin1).length());
  551. characterfile.newLine();
  552. characterfile.write("bankPin2 = ", 0, 11);
  553. characterfile.write(Integer.toString(p.bankPin2), 0, Integer
  554. .toString(p.bankPin2).length());
  555. characterfile.newLine();
  556. characterfile.write("bankPin3 = ", 0, 11);
  557. characterfile.write(Integer.toString(p.bankPin3), 0, Integer
  558. .toString(p.bankPin3).length());
  559. characterfile.newLine();
  560. characterfile.write("bankPin4 = ", 0, 11);
  561. characterfile.write(Integer.toString(p.bankPin4), 0, Integer
  562. .toString(p.bankPin4).length());
  563. characterfile.newLine();
  564. characterfile.write("hasBankpin = ", 0, 13);
  565. characterfile.write(Boolean.toString(p.hasBankpin), 0, Boolean
  566. .toString(p.hasBankpin).length());
  567. characterfile.newLine();
  568. characterfile.write("pinRegisteredDeleteDay = ", 0, 25);
  569. characterfile.write(Integer.toString(p.pinDeleteDateRequested), 0,
  570. Integer.toString(p.pinDeleteDateRequested).length());
  571. characterfile.newLine();
  572. characterfile.write("requestPinDelete = ", 0, 19);
  573. characterfile.write(Boolean.toString(p.requestPinDelete), 0,
  574. Boolean.toString(p.requestPinDelete).length());
  575. characterfile.newLine();
  576. characterfile.write("slayerPoints = ", 0, 14);
  577. characterfile.write(Integer.toString(p.slayerPoints), 0, Integer
  578. .toString(p.slayerPoints).length());
  579. characterfile.newLine();
  580. characterfile.write("crystal-bow-shots = ", 0, 20);
  581. characterfile.write(Integer.toString(p.crystalBowArrowCount), 0,
  582. Integer.toString(p.crystalBowArrowCount).length());
  583. characterfile.newLine();
  584. characterfile.write("skull-timer = ", 0, 14);
  585. characterfile.write(Integer.toString(p.skullTimer), 0, Integer
  586. .toString(p.skullTimer).length());
  587. characterfile.newLine();
  588. characterfile.write("magic-book = ", 0, 13);
  589. characterfile.write(Integer.toString(p.playerMagicBook), 0, Integer
  590. .toString(p.playerMagicBook).length());
  591. characterfile.newLine();
  592. for (int b = 0; b < p.barrowsNpcs.length; b++) {
  593. characterfile.write("brother-info = ", 0, 15);
  594. characterfile.write(Integer.toString(b), 0, Integer.toString(b)
  595. .length());
  596. characterfile.write(" ", 0, 1);
  597. characterfile.write(
  598. p.barrowsNpcs[b][1] <= 1 ? Integer.toString(0)
  599. : Integer.toString(p.barrowsNpcs[b][1]), 0,
  600. Integer.toString(p.barrowsNpcs[b][1]).length());
  601. characterfile.newLine();
  602. }
  603. characterfile.write("special-amount = ", 0, 17);
  604. characterfile.write(Double.toString(p.specAmount), 0, Double
  605. .toString(p.specAmount).length());
  606. characterfile.newLine();
  607. characterfile.write("Agrith = ", 0, 9);
  608. characterfile.write(Boolean.toString(p.Agrith), 0, Boolean.toString(p.Agrith).length());
  609. characterfile.newLine();
  610. characterfile.write("Flambeed = ", 0, 11);
  611. characterfile.write(Boolean.toString(p.Flambeed), 0, Boolean.toString(p.Flambeed).length());
  612. characterfile.newLine();
  613. characterfile.write("Karamel = ", 0, 10);
  614. characterfile.write(Boolean.toString(p.Karamel), 0, Boolean.toString(p.Karamel).length());
  615. characterfile.newLine();
  616. characterfile.write("Dessourt = ", 0, 11);
  617. characterfile.write(Boolean.toString(p.Dessourt), 0, Boolean.toString(p.Dessourt).length());
  618. characterfile.newLine();
  619. characterfile.write("culin = ", 0, 8);
  620. characterfile.write(Boolean.toString(p.Culin), 0, Boolean.toString(p.Culin).length());
  621. characterfile.newLine();
  622. characterfile.write("selected-coffin = ", 0, 18);
  623. characterfile.write(Integer.toString(p.randomCoffin), 0, Integer
  624. .toString(p.randomCoffin).length());
  625. characterfile.newLine();
  626. /* PKing by Ardi */
  627. characterfile.write("KC = ", 0, 4);
  628. characterfile.write(Integer.toString(p.KC), 0,
  629. Integer.toString(p.KC).length());
  630. characterfile.newLine();
  631. characterfile.write("DC = ", 0, 4);
  632. characterfile.write(Integer.toString(p.DC), 0,
  633. Integer.toString(p.DC).length());
  634. characterfile.newLine();
  635. characterfile.write("pkp = ", 0, 6);
  636. characterfile.write(Integer.toString(p.pkp), 0,
  637. Integer.toString(p.pkp).length());
  638. characterfile.newLine();
  639. characterfile.write("donP = ", 0, 6);
  640. characterfile.write(Integer.toString(p.donPoints), 0, Integer
  641. .toString(p.donPoints).length());
  642. characterfile.newLine();
  643. /* END PKing by Ardi */
  644. characterfile.write("xpLock = ", 0, 9);
  645. characterfile.write(Boolean.toString(p.expLock), 0, Boolean
  646. .toString(p.expLock).length());
  647. characterfile.newLine();
  648. characterfile.write("petSummoned = ", 0, 14);
  649. characterfile.write(Boolean.toString(p.getPetSummoned()), 0, Boolean.toString(p.getPetSummoned()).length());
  650. characterfile.newLine();
  651. characterfile.write("petID = ", 0, 8);
  652. characterfile.write(Integer.toString(p.petID), 0, Integer.toString(p.petID).length());
  653. characterfile.newLine();
  654. characterfile.write("barrows-killcount = ", 0, 20);
  655. characterfile.write(Integer.toString(p.barrowsKillCount), 0,
  656. Integer.toString(p.barrowsKillCount).length());
  657. characterfile.newLine();
  658. characterfile.write("vote-length = ", 0, 14);
  659. characterfile.write(Integer.toString(voteTime), 0, Integer.toString(voteTime).length());
  660. characterfile.newLine();
  661. characterfile.write("votingPoints = ", 0, 15);
  662. characterfile.write(Integer.toString(p.votingPoints), 0, Integer.toString(p.votingPoints).length());
  663. characterfile.newLine();
  664. characterfile.write("teleblock-length = ", 0, 19);
  665. characterfile.write(Integer.toString(tbTime), 0,
  666. Integer.toString(tbTime).length());
  667. characterfile.newLine();
  668. characterfile.write("pc-points = ", 0, 12);
  669. characterfile.write(Integer.toString(p.pcPoints), 0, Integer
  670. .toString(p.pcPoints).length());
  671. characterfile.newLine();
  672. characterfile.write("mute-end = ", 0, 11);
  673. characterfile.write(Long.toString(p.muteEnd), 0,
  674. Long.toString(p.muteEnd).length());
  675. characterfile.newLine();
  676. characterfile.write("slayerTask = ", 0, 13);
  677. characterfile.write(Integer.toString(p.slayerTask), 0, Integer
  678. .toString(p.slayerTask).length());
  679. characterfile.newLine();
  680. characterfile.write("taskAmount = ", 0, 13);
  681. characterfile.write(Integer.toString(p.taskAmount), 0, Integer
  682. .toString(p.taskAmount).length());
  683. characterfile.newLine();
  684. characterfile.write("magePoints = ", 0, 13);
  685. characterfile.write(Integer.toString(p.magePoints), 0, Integer
  686. .toString(p.magePoints).length());
  687. characterfile.newLine();
  688. characterfile.write("autoRet = ", 0, 10);
  689. characterfile.write(Integer.toString(p.autoRet), 0, Integer
  690. .toString(p.autoRet).length());
  691. characterfile.newLine();
  692. characterfile.write("barrowskillcount = ", 0, 19);
  693. characterfile.write(Integer.toString(p.barrowsKillCount), 0,
  694. Integer.toString(p.barrowsKillCount).length());
  695. characterfile.newLine();
  696. characterfile.write("flagged = ", 0, 10);
  697. characterfile.write(Boolean.toString(p.accountFlagged), 0, Boolean
  698. .toString(p.accountFlagged).length());
  699. characterfile.newLine();
  700. characterfile.write("wave = ", 0, 7);
  701. characterfile.write(Integer.toString(p.waveId), 0, Integer
  702. .toString(p.waveId).length());
  703. characterfile.newLine();
  704. characterfile.write("gwkc = ", 0, 7);
  705. characterfile.write(Integer.toString(p.killCount), 0, Integer
  706. .toString(p.killCount).length());
  707. characterfile.newLine();
  708. characterfile.write("fightMode = ", 0, 12);
  709. characterfile.write(Integer.toString(p.fightMode), 0, Integer
  710. .toString(p.fightMode).length());
  711. characterfile.newLine();
  712. characterfile.write("void = ", 0, 7);
  713. String toWrite = p.voidStatus[0] + "\t" + p.voidStatus[1] + "\t"
  714. + p.voidStatus[2] + "\t" + p.voidStatus[3] + "\t"
  715. + p.voidStatus[4];
  716. characterfile.write(toWrite);
  717. characterfile.newLine();
  718. characterfile.write("firesLit = ", 0, 11);
  719. characterfile.write(Integer.toString(p.fireslit), 0, Integer
  720. .toString(p.fireslit).length());
  721. characterfile.newLine();
  722. characterfile.write("crabsKilled = ", 0, 14);
  723. characterfile.write(Integer.toString(p.crabsKilled), 0, Integer
  724. .toString(p.crabsKilled).length());
  725. characterfile.newLine();
  726. characterfile.newLine();
  727.  
  728. /* EQUIPMENT */
  729. characterfile.write("[EQUIPMENT]", 0, 11);
  730. characterfile.newLine();
  731. for (int i = 0; i < p.playerEquipment.length; i++) {
  732. characterfile.write("character-equip = ", 0, 18);
  733. characterfile.write(Integer.toString(i), 0, Integer.toString(i)
  734. .length());
  735. characterfile.write(" ", 0, 1);
  736. characterfile.write(Integer.toString(p.playerEquipment[i]), 0,
  737. Integer.toString(p.playerEquipment[i]).length());
  738. characterfile.write(" ", 0, 1);
  739. characterfile.write(Integer.toString(p.playerEquipmentN[i]), 0,
  740. Integer.toString(p.playerEquipmentN[i]).length());
  741. characterfile.write(" ", 0, 1);
  742. characterfile.newLine();
  743. }
  744. characterfile.newLine();
  745.  
  746. /* LOOK */
  747. characterfile.write("[LOOK]", 0, 6);
  748. characterfile.newLine();
  749. for (int i = 0; i < p.playerAppearance.length; i++) {
  750. characterfile.write("character-look = ", 0, 17);
  751. characterfile.write(Integer.toString(i), 0, Integer.toString(i)
  752. .length());
  753. characterfile.write(" ", 0, 1);
  754. characterfile.write(Integer.toString(p.playerAppearance[i]), 0,
  755. Integer.toString(p.playerAppearance[i]).length());
  756. characterfile.newLine();
  757. }
  758. characterfile.newLine();
  759.  
  760. /* SKILLS */
  761. characterfile.write("[SKILLS]", 0, 8);
  762. characterfile.newLine();
  763. for (int i = 0; i < p.playerLevel.length; i++) {
  764. characterfile.write("character-skill = ", 0, 18);
  765. characterfile.write(Integer.toString(i), 0, Integer.toString(i)
  766. .length());
  767. characterfile.write(" ", 0, 1);
  768. characterfile.write(Integer.toString(p.playerLevel[i]), 0,
  769. Integer.toString(p.playerLevel[i]).length());
  770. characterfile.write(" ", 0, 1);
  771. characterfile.write(Integer.toString(p.playerXP[i]), 0, Integer
  772. .toString(p.playerXP[i]).length());
  773. characterfile.newLine();
  774. }
  775. characterfile.newLine();
  776.  
  777. /* ITEMS */
  778. characterfile.write("[ITEMS]", 0, 7);
  779. characterfile.newLine();
  780. for (int i = 0; i < p.playerItems.length; i++) {
  781. if (p.playerItems[i] > 0) {
  782. characterfile.write("character-item = ", 0, 17);
  783. characterfile.write(Integer.toString(i), 0, Integer
  784. .toString(i).length());
  785. characterfile.write(" ", 0, 1);
  786. characterfile.write(Integer.toString(p.playerItems[i]), 0,
  787. Integer.toString(p.playerItems[i]).length());
  788. characterfile.write(" ", 0, 1);
  789. characterfile.write(Integer.toString(p.playerItemsN[i]), 0,
  790. Integer.toString(p.playerItemsN[i]).length());
  791. characterfile.newLine();
  792. }
  793. }
  794. characterfile.newLine();
  795.  
  796. /* BANK */
  797. characterfile.write("[BANK]", 0, 6);
  798. characterfile.newLine();
  799. for (int i = 0; i < p.bankItems.length; i++) {
  800. if (p.bankItems[i] > 0) {
  801. characterfile.write("character-bank = ", 0, 17);
  802. characterfile.write(Integer.toString(i), 0, Integer
  803. .toString(i).length());
  804. characterfile.write(" ", 0, 1);
  805. characterfile.write(Integer.toString(p.bankItems[i]), 0,
  806. Integer.toString(p.bankItems[i]).length());
  807. characterfile.write(" ", 0, 1);
  808. characterfile.write(Integer.toString(p.bankItemsN[i]), 0,
  809. Integer.toString(p.bankItemsN[i]).length());
  810. characterfile.newLine();
  811. }
  812. }
  813. characterfile.newLine();
  814.  
  815. /* FRIENDS */
  816. characterfile.write("[FRIENDS]", 0, 9);
  817. characterfile.newLine();
  818. for (int i = 0; i < p.friends.length; i++) {
  819. if (p.friends[i] > 0) {
  820. characterfile.write("character-friend = ", 0, 19);
  821. characterfile.write(Integer.toString(i), 0, Integer
  822. .toString(i).length());
  823. characterfile.write(" ", 0, 1);
  824. characterfile.write("" + p.friends[i]);
  825. characterfile.newLine();
  826. }
  827. }
  828. characterfile.newLine();
  829.  
  830. /* IGNORES */
  831. /*
  832. * characterfile.write("[IGNORES]", 0, 9); characterfile.newLine();
  833. * for (int i = 0; i < ignores.length; i++) { if (ignores[i] > 0) {
  834. * characterfile.write("character-ignore = ", 0, 19);
  835. * characterfile.write(Integer.toString(i), 0,
  836. * Integer.toString(i).length()); characterfile.write(" ", 0, 1);
  837. * characterfile.write(Long.toString(ignores[i]), 0,
  838. * Long.toString(ignores[i]).length()); characterfile.newLine(); } }
  839. * characterfile.newLine();
  840. */
  841. /* EOF */
  842. characterfile.write("[EOF]", 0, 5);
  843. characterfile.newLine();
  844. characterfile.newLine();
  845. characterfile.close();
  846. } catch (IOException ioexception) {
  847. Misc.println(p.playerName + ": error writing file.");
  848. return false;
  849. }
  850. return true;
  851. }
  852.  
  853. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement