Guest User

Untitled

a guest
May 11th, 2018
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 33.25 KB | None | 0 0
  1. package server.model.players;
  2. import java.io.BufferedReader;
  3. import java.io.BufferedWriter;
  4. import java.io.File;
  5. import java.io.FileNotFoundException;
  6. import java.io.FileReader;
  7. import java.io.FileWriter;
  8. import java.io.IOException;
  9.  
  10. import server.Server;
  11. import server.util.Misc;
  12.  
  13. public class PlayerSave
  14. {
  15.  
  16.    
  17.    
  18.     /**
  19.     *Loading
  20.     **/
  21.     public static int loadGame(Client p, String playerName, String playerPass) {
  22.         String line = "";
  23.         String token = "";
  24.         String token2 = "";
  25.         String[] token3 = new String[3];
  26.         boolean EndOfFile = false;
  27.         int ReadMode = 0;
  28.         BufferedReader characterfile = null;
  29.         boolean File1 = false;
  30.        
  31.         try {
  32.             characterfile = new BufferedReader(new FileReader("./Data/characters/"+playerName+".txt"));
  33.             File1 = true;
  34.         } catch(FileNotFoundException fileex1) {
  35.         }
  36.        
  37.         if (File1) {
  38.             //new File ("./characters/"+playerName+".txt");
  39.         } else {
  40.             Misc.println(playerName+": character file not found.");
  41.             p.newPlayer = false;
  42.             return 0;
  43.         }
  44.         try {
  45.             line = characterfile.readLine();
  46.         } catch(IOException ioexception) {
  47.             Misc.println(playerName+": error loading file.");
  48.             return 3;
  49.         }
  50.         while(EndOfFile == false && line != null) {
  51.             line = line.trim();
  52.             int spot = line.indexOf("=");
  53.             if (spot > -1) {
  54.                 token = line.substring(0, spot);
  55.                 token = token.trim();
  56.                 token2 = line.substring(spot + 1);
  57.                 token2 = token2.trim();
  58.                 token3 = token2.split("\t");
  59.                 switch (ReadMode) {
  60.                 case 1:
  61.                      if (token.equals("character-password")) {
  62.                         if (playerPass.equalsIgnoreCase(token2) || Misc.basicEncrypt(playerPass).equals(token2)) {
  63.                             playerPass = token2;
  64.                         } else {
  65.                             return 3;
  66.                         }
  67.                     }
  68.                     break;
  69.                 case 2:
  70.                     if (token.equals("character-height")) {
  71.                         p.heightLevel = Integer.parseInt(token2);
  72.                     } else if (token.equals("character-posx")) {
  73.                         p.teleportToX = (Integer.parseInt(token2) <= 0 ? 3210 : Integer.parseInt(token2));
  74.                     } else if (token.equals("character-posy")) {
  75.                         p.teleportToY = (Integer.parseInt(token2) <= 0 ? 3424 : Integer.parseInt(token2));
  76.                     } else if (token.equals("character-rights")) {
  77.                         p.playerRights = Integer.parseInt(token2);
  78.                     } else if (token.equals("dungPoints")) {
  79.                         p.dungPoints = Integer.parseInt(token2);
  80.                                 } else if (token.equals("Used-Puremaster")) {
  81.                                     p.pure = Integer.parseInt(token2);
  82.                     } else if (token.equals("tutorial-progress")) {
  83.                         p.tutorial = Integer.parseInt(token2); 
  84.                     } else if (token.equals("skull-timer")) {
  85.                         p.skullTimer = Integer.parseInt(token2);
  86.                     } else if (token.equals("EP")) {
  87.                         p.earningPotential = Integer.parseInt(token2);
  88.                    } else if (token.equals("character-longsword")) {
  89.                         p.vlsLeft = Integer.parseInt(token2);
  90.                     } else if (token.equals("character-warhammer")) {
  91.                         p.statLeft = Integer.parseInt(token2);
  92.                     } else if (token.equals("character-spear")) {
  93.                         p.vSpearLeft = Integer.parseInt(token2);
  94.                     } else if (token.equals("character-chainbody")) {
  95.                         p.vTopLeft = Integer.parseInt(token2);
  96.                     } else if (token.equals("shopcollect")) {
  97.                         p.playerCollect = Integer.parseInt(token2);
  98.                     } else if (token.equals("character-chainskirt")) {
  99.                         p.vLegsLeft = Integer.parseInt(token2);
  100.                     } else if (token.equals("character-full helm")) {
  101.                         p.sHelmLeft = Integer.parseInt(token2);
  102.                     } else if (token.equals("character-platebody")) {
  103.                         p.sTopLeft = Integer.parseInt(token2);
  104.                     } else if (token.equals("character-platelegs")) {
  105.                         p.sLegsLeft = Integer.parseInt(token2);
  106.                     } else if (token.equals("character-hood")) {
  107.                         p.zHoodLeft = Integer.parseInt(token2);
  108.                     } else if (token.equals("character-staff")) {
  109.                         p.zStaffLeft = Integer.parseInt(token2);
  110.                     } else if (token.equals("character-robe top")) {
  111.                         p.zTopLeft = Integer.parseInt(token2);
  112.                     } else if (token.equals("character-robe bottom")) {
  113.                         p.zBottomLeft = Integer.parseInt(token2);
  114.                     } else if (token.equals("character-leather body")) {
  115.                         p.mBodyLeft = Integer.parseInt(token2);
  116.                     } else if (token.equals("character-chaps")) {
  117.                         p.mChapsLeft = Integer.parseInt(token2);
  118.                     } else if (token.equals("magic-book")) {
  119.                         p.playerMagicBook = Integer.parseInt(token2);
  120.                     } else if (token.equals("xpLock")) {
  121.                         p.xpLock = Boolean.parseBoolean(token2);
  122.                     } else if (token.equals("Jailed")) {
  123.                         p.Jail = Boolean.parseBoolean(token2);
  124.                     } else if (token.equals("Agrith")) {
  125.                         p.Agrith = Boolean.parseBoolean(token2);
  126.                     } else if (token.equals("degrade")) {
  127.                             p.degradeTime = Integer.parseInt(token2);
  128.                     } else if (token.equals("Flambeed")) {
  129.                         p.Flambeed = Boolean.parseBoolean(token2);
  130.                     } else if (token.equals("Karamel")) {
  131.                         p.Karamel = Boolean.parseBoolean(token2);
  132.                     } else if (token.equals("Dessourt")) {
  133.                         p.Dessourt = Boolean.parseBoolean(token2);
  134.                     } else if (token.equals("culin")) {
  135.                         p.Culin = Boolean.parseBoolean(token2);    
  136.                     } else if (token.equals("brother-info")) {
  137.                         p.barrowsNpcs[Integer.parseInt(token3[0])][1] = Integer.parseInt(token3[1]);
  138.                      } else if (token.equals("special-amount")) {
  139.                         p.specAmount = Double.parseDouble(token2); 
  140.                      } else if (token.equals("selected-coffin")) {
  141.                         p.randomCoffin = Integer.parseInt(token2); 
  142.                     } else if (token.equals("barrows-killcount")) {
  143.                         p.pkPoints = Integer.parseInt(token2);                         
  144.                     } else if (token.equals("teleblock-length")) {
  145.                         p.teleBlockDelay = System.currentTimeMillis();
  146.                         p.teleBlockLength = Integer.parseInt(token2);                          
  147.                     } else if (token.equals("pc-points")) {
  148.                         p.pcPoints = Integer.parseInt(token2); 
  149.                     } else if (token.equals("gwdelay")) {
  150.                         p.gwdelay = Integer.parseInt(token2);
  151.                     } else if (token.equals("summonSpec")) {
  152.                         p.summonSpec = Integer.parseInt(token2);
  153.                         } else if (token.equals("dungRest")) {
  154.                         p.dungRest = Integer.parseInt(token2);
  155.                     } else if (token.equals("Altar")) {
  156.                         p.altarPrayed = Integer.parseInt(token2);
  157.                     } else if (token.equals("Arma-KC")) {
  158.                         p.Arma = Integer.parseInt(token2); 
  159.                     } else if (token.equals("Band-KC")) {
  160.                         p.Band = Integer.parseInt(token2); 
  161.                     } else if (token.equals("Zammy-KC")) {
  162.                         p.Zammy = Integer.parseInt(token2);
  163.                     } else if (token.equals("Sara-KC")) {
  164.                         p.Sara = Integer.parseInt(token2); 
  165.                     } else if (token.equals("pk-points")) {
  166.                         p.pkPoints = Integer.parseInt(token2); 
  167.                     } else if (token.equals("isDonator")) {
  168.                         p.isDonator = Integer.parseInt(token2);
  169.                     } else if (token.equals("donatorChest")) {
  170.                         p.donatorChest = Integer.parseInt(token2);                     
  171.                     } else if (token.equals("slayerTask")) {
  172.                         p.slayerTask = Integer.parseInt(token2);                   
  173.                     } else if (token.equals("taskAmount")) {
  174.                         p.taskAmount = Integer.parseInt(token2);                   
  175.                     } else if (token.equals("magePoints")) {
  176.                         p.magePoints = Integer.parseInt(token2);
  177.                     } else if (line.startsWith("KC")) {
  178.                         p.KC = Integer.parseInt(token2);
  179.                     } else if (line.startsWith("DC")) {
  180.                         p.DC = Integer.parseInt(token2);
  181.                     } else if (line.startsWith("totalstored")) {
  182.                         p.totalstored = Integer.parseInt(token2);
  183.                     } else if (token.equals("autoRet")) {
  184.                         p.autoRet = Integer.parseInt(token2);
  185.                     } else if (token.equals("trade11")) {
  186.                         p.trade11 = Integer.parseInt(token2);
  187.                     } else if (token.equals("SpeDelay")) {
  188.                         p.SpecialDelay = Integer.parseInt(token2);
  189.                     } else if (token.equals("barrowskillcount")) {
  190.                         p.barrowsKillCount = Integer.parseInt(token2);
  191.                     } else if (token.equals("flagged")) {
  192.                         p.accountFlagged = Boolean.parseBoolean(token2);
  193.                     } else if (token.equals("Rules")) {
  194.                         p.readRules = Boolean.parseBoolean(token2);
  195.                                             } else if (token.equals("isShopping")) {
  196.                         p.isShopping = Boolean.parseBoolean(token2);
  197.                             } else if (token.equals("SPoints")) {
  198.                         p.SPoints = Integer.parseInt(token2);
  199.                     } else if (token.equals("wave")) {
  200.                         p.waveId = Integer.parseInt(token2);
  201. } else if (token.equals("dfs-charges")) {
  202.                         p.dfsCount = Integer.parseInt(token2);
  203.                     } else if (token.equals("lastsummon")) {
  204.                         p.lastsummon = Integer.parseInt(token2);
  205.  
  206.                     } else if (token.equals("summoningnpcid")) {
  207.                         p.summoningnpcid = Integer.parseInt(token2);
  208.  
  209.                     } else if (token.equals("void")) {
  210.                         for (int j = 0; j < token3.length; j++) {
  211.                             p.voidStatus[j] = Integer.parseInt(token3[j]);                     
  212.                         }
  213.                     } else if (token.equals("fightMode")) {
  214.                         p.fightMode = Integer.parseInt(token2);
  215.                    
  216.                     } else if (token.equals("Black-marks")) {
  217.                         p.BlackMarks = Integer.parseInt(token2);
  218.                     }
  219.                     break;
  220.                 case 3:
  221.                     if (token.equals("character-equip")) {
  222.                         p.playerEquipment[Integer.parseInt(token3[0])] = Integer.parseInt(token3[1]);
  223.                         p.playerEquipmentN[Integer.parseInt(token3[0])] = Integer.parseInt(token3[2]);
  224.                     }
  225.                     break;
  226.                 case 4:
  227.                     if (token.equals("character-look")) {
  228.                         p.playerAppearance[Integer.parseInt(token3[0])] = Integer.parseInt(token3[1]);
  229.                     }
  230.                     break;
  231.                 case 5:
  232.                     if (token.equals("character-skill")) {
  233.                         p.playerLevel[Integer.parseInt(token3[0])] = Integer.parseInt(token3[1]);
  234.                         p.playerXP[Integer.parseInt(token3[0])] = Integer.parseInt(token3[2]);
  235.                     }
  236.                     break;
  237.                 case 6:
  238.                     if (token.equals("character-item")) {
  239.                         p.playerItems[Integer.parseInt(token3[0])] = Integer.parseInt(token3[1]);
  240.                         p.playerItemsN[Integer.parseInt(token3[0])] = Integer.parseInt(token3[2]);
  241.                     }
  242.                     break;
  243.                 case 7:
  244.                     if (token.equals("character-bank")) {
  245.                         p.bankItems[Integer.parseInt(token3[0])] = Integer.parseInt(token3[1]);
  246.                         p.bankItemsN[Integer.parseInt(token3[0])] = Integer.parseInt(token3[2]);
  247.                     }
  248.                     break;
  249.                 case 8:
  250.                      if (token.equals("character-friend")) {
  251.                         p.friends[Integer.parseInt(token3[0])] = Long.parseLong(token3[1]);
  252.                     }
  253.                     break;
  254.                 case 9:
  255.                     /* if (token.equals("character-ignore")) {
  256.                         ignores[Integer.parseInt(token3[0])] = Long.parseLong(token3[1]);
  257.                     } */
  258.                     break;
  259.                 case 20:
  260.                     if (token.equals("stored")) {
  261.                         p.storeditems[Integer.parseInt(token3[0])] = Integer.parseInt(token3[1]);
  262.                     }
  263.                     break;
  264.  
  265.                 case 21:
  266.                      if (token.equals("occupy")) {
  267.                         p.occupied[Integer.parseInt(token3[0])] = Boolean.parseBoolean(token3[1]);
  268.                     }
  269.                     break;
  270.                 case 10:
  271.         if (token.equals("character-shop")) {
  272.             p.playerShop[Integer.parseInt(token3[0])] = Integer.parseInt(token3[1]);
  273.             p.playerShopP[Integer.parseInt(token3[0])] = Integer.parseInt(token3[2]);
  274.             p.playerShopN[Integer.parseInt(token3[0])] = Integer.parseInt(token3[3]);
  275.         }
  276.     break;
  277.                 }
  278.             } else {
  279.                 if (line.equals("[ACCOUNT]")) {     ReadMode = 1;
  280.                 } else if (line.equals("[CHARACTER]")) {    ReadMode = 2;
  281.                 } else if (line.equals("[EQUIPMENT]")) {    ReadMode = 3;
  282.                 } else if (line.equals("[LOOK]")) {     ReadMode = 4;
  283.                 } else if (line.equals("[SKILLS]")) {       ReadMode = 5;
  284.                 } else if (line.equals("[ITEMS]")) {        ReadMode = 6;
  285.                 } else if (line.equals("[BANK]")) {     ReadMode = 7;
  286.                 } else if (line.equals("[FRIENDS]")) {      ReadMode = 8;
  287.                 } else if (line.equals("[IGNORES]")) {      ReadMode = 9;
  288. } else if (line.equals("[STORED]")) {       ReadMode = 20;
  289. } else if (line.equals("[OCCUPY]")) {       ReadMode = 21;
  290. } else if (line.equals("[SHOP]")) {     ReadMode = 10;
  291.                 } else if (line.equals("[EOF]")) {      try { characterfile.close(); } catch(IOException ioexception) { } return 1;
  292.                 }
  293.             }
  294.             try {
  295.                 line = characterfile.readLine();
  296.             } catch(IOException ioexception1) { EndOfFile = true; }
  297.         }
  298.         try { characterfile.close(); } catch(IOException ioexception) { }
  299.         return 13;
  300.     }
  301.    
  302.    
  303.    
  304.    
  305.     /**
  306.     *Saving
  307.     **/
  308.     public static boolean saveGame(Client p) {
  309.         if(!p.saveFile || p.newPlayer || !p.saveCharacter) {
  310.             //System.out.println("first");
  311.             return false;
  312.         }
  313.         if(p.playerName == null || Server.playerHandler.players[p.playerId] == null) {
  314.             //System.out.println("second");
  315.             return false;
  316.         }
  317.         p.playerName = p.playerName2;
  318.         int tbTime = (int)(p.teleBlockDelay - System.currentTimeMillis() + p.teleBlockLength);
  319.         if(tbTime > 300000 || tbTime < 0){
  320.             tbTime = 0;
  321.         }
  322.        
  323.         BufferedWriter characterfile = null;
  324.         try {
  325.             characterfile = new BufferedWriter(new FileWriter("./Data/characters/"+p.playerName+".txt"));
  326.            
  327.             /*ACCOUNT*/
  328.             characterfile.write("[ACCOUNT]", 0, 9);
  329.             characterfile.newLine();
  330.             characterfile.write("character-username = ", 0, 21);
  331.             characterfile.write(p.playerName, 0, p.playerName.length());
  332.             characterfile.newLine();
  333.             characterfile.write("character-password = ", 0, 21);
  334.             characterfile.write(p.playerPass, 0, p.playerPass.length());
  335.             characterfile.newLine();
  336.             characterfile.newLine();
  337.             characterfile.write("KC = ", 0, 4);
  338.             characterfile.write(Integer.toString(p.KC), 0, Integer.toString(p.KC).length());
  339.             characterfile.newLine();
  340.             characterfile.write("DC = ", 0, 4);
  341.             characterfile.write(Integer.toString(p.DC), 0, Integer.toString(p.DC).length());
  342.             characterfile.newLine();
  343.            
  344.             /*CHARACTER*/
  345.             characterfile.write("[CHARACTER]", 0, 11);
  346.             characterfile.newLine();
  347.             characterfile.write("character-height = ", 0, 19);
  348.             characterfile.write(Integer.toString(p.heightLevel), 0, Integer.toString(p.heightLevel).length());
  349.             characterfile.newLine();
  350.  
  351.             characterfile.write("character-posx = ", 0, 17);
  352.             characterfile.write(Integer.toString(p.absX), 0, Integer.toString(p.absX).length());
  353.             characterfile.newLine();
  354.             characterfile.write("character-posy = ", 0, 17);
  355.             characterfile.write(Integer.toString(p.absY), 0, Integer.toString(p.absY).length());
  356.             characterfile.newLine();
  357.             characterfile.write("character-rights = ", 0, 19);
  358.             characterfile.write(Integer.toString(p.playerRights), 0, Integer.toString(p.playerRights).length());
  359.             characterfile.newLine();
  360.             characterfile.write("shopcollect = ", 0, 14);
  361.             characterfile.write(Integer.toString(p.playerCollect), 0, Integer.toString(p.playerCollect).length());
  362.             characterfile.newLine();
  363.             characterfile.write("dungPoints = ", 0, 12);
  364.             characterfile.write(Integer.toString(p.dungPoints), 0, Integer.toString(p.dungPoints).length());
  365.             characterfile.newLine();
  366.             characterfile.write("crystal-bow-shots = ", 0, 20);
  367.             characterfile.write(Integer.toString(p.crystalBowArrowCount), 0, Integer.toString(p.crystalBowArrowCount).length());
  368.             characterfile.newLine();
  369.             characterfile.write("VLS-hits = ", 0, 11);
  370.             characterfile.write(Integer.toString(p.degradeTime), 0, Integer.toString(p.degradeTime).length());
  371.             /*characterfile.newLine();
  372.             characterfile.write("dungPoints = ", 0, 20);
  373.             characterfile.write(Integer.toString(p.dungPoints), 0, Integer.toString(p.dungPoints).length());*/
  374.             characterfile.newLine();
  375.             characterfile.write("skull-timer = ", 0, 14);
  376.             characterfile.write(Integer.toString(p.skullTimer), 0, Integer.toString(p.skullTimer).length());
  377.             characterfile.newLine();
  378.             characterfile.write("EP = ", 0, 5);
  379.             characterfile.write(Integer.toString(p.earningPotential), 0, Integer.toString(p.earningPotential).length());
  380.             characterfile.newLine();
  381.                  characterfile.write("character-longsword = ", 0, 22);
  382.                   characterfile.write(Integer.toString(p.vlsLeft), 0, Integer.toString(p.vlsLeft).length());
  383.                   characterfile.newLine();
  384.                   characterfile.write("character-warhammer = ", 0, 22);
  385.                   characterfile.write(Integer.toString(p.statLeft), 0, Integer.toString(p.statLeft).length());
  386.                   characterfile.newLine();
  387.                   characterfile.write("character-spear = ", 0, 18);
  388.                   characterfile.write(Integer.toString(p.vSpearLeft), 0, Integer.toString(p.vSpearLeft).length());
  389.                   characterfile.newLine();
  390.                   characterfile.write("character-chainbody = ", 0, 22);
  391.                   characterfile.write(Integer.toString(p.vTopLeft), 0, Integer.toString(p.vTopLeft).length());
  392.                   characterfile.newLine();
  393.                   characterfile.write("character-chainskirt = ", 0, 23);
  394.                   characterfile.write(Integer.toString(p.vLegsLeft), 0, Integer.toString(p.vLegsLeft).length());
  395.                   characterfile.newLine();
  396.                   characterfile.write("character-full helm = ", 0, 22);
  397.                   characterfile.write(Integer.toString(p.sHelmLeft), 0, Integer.toString(p.sHelmLeft).length());
  398.                   characterfile.newLine();
  399.                   characterfile.write("character-platebody = ", 0, 22);
  400.                   characterfile.write(Integer.toString(p.sTopLeft), 0, Integer.toString(p.sTopLeft).length());
  401.                   characterfile.newLine();
  402.                   characterfile.write("character-platelegs = ", 0, 22);
  403.                   characterfile.write(Integer.toString(p.sLegsLeft), 0, Integer.toString(p.sLegsLeft).length());
  404.                   characterfile.newLine();
  405.                   characterfile.write("character-hood = ", 0, 17);
  406.                   characterfile.write(Integer.toString(p.zHoodLeft), 0, Integer.toString(p.zHoodLeft).length());
  407.                   characterfile.newLine();
  408.                   characterfile.write("character-staff = ", 0, 18);
  409.                   characterfile.write(Integer.toString(p.zStaffLeft), 0, Integer.toString(p.zStaffLeft).length());
  410.                   characterfile.newLine();
  411.                   characterfile.write("character-robe top = ", 0, 21);
  412.                   characterfile.write(Integer.toString(p.zTopLeft), 0, Integer.toString(p.zTopLeft).length());
  413.                   characterfile.newLine();
  414.                   characterfile.write("character-robe bottom = ", 0, 24);
  415.                   characterfile.write(Integer.toString(p.zBottomLeft), 0, Integer.toString(p.zBottomLeft).length());
  416.                   characterfile.newLine();
  417.                   characterfile.write("character-leather body = ", 0, 25);
  418.                   characterfile.write(Integer.toString(p.mBodyLeft), 0, Integer.toString(p.mBodyLeft).length());
  419.                   characterfile.newLine();
  420.                   characterfile.write("character-chaps = ", 0, 18);
  421.                   characterfile.write(Integer.toString(p.mChapsLeft), 0, Integer.toString(p.mChapsLeft).length());
  422.                   characterfile.newLine();
  423.             characterfile.write("magic-book = ", 0, 13);
  424.             characterfile.write(Integer.toString(p.playerMagicBook), 0, Integer.toString(p.playerMagicBook).length());
  425.             characterfile.newLine();
  426.             for (int b = 0; b < p.barrowsNpcs.length; b++) {
  427.                 characterfile.write("brother-info = ", 0, 15);
  428.                 characterfile.write(Integer.toString(b), 0, Integer.toString(b).length());
  429.                 characterfile.write("   ", 0, 1);
  430.                 characterfile.write(p.barrowsNpcs[b][1] <= 1 ? Integer.toString(0) : Integer.toString(p.barrowsNpcs[b][1]), 0, Integer.toString(p.barrowsNpcs[b][1]).length());
  431.                 characterfile.newLine();
  432.             }  
  433.             characterfile.write("special-amount = ", 0, 17);
  434.             characterfile.write(Double.toString(p.specAmount), 0, Double.toString(p.specAmount).length());
  435.             characterfile.newLine();
  436.             characterfile.write("selected-coffin = ", 0, 18);
  437.             characterfile.write(Integer.toString(p.randomCoffin), 0, Integer.toString(p.randomCoffin).length());
  438.             characterfile.newLine();
  439.             characterfile.write("barrows-killcount = ", 0, 20);
  440.             characterfile.write(Integer.toString(p.barrowsKillCount), 0, Integer.toString(p.barrowsKillCount).length());
  441.             characterfile.newLine();
  442.             characterfile.write("teleblock-length = ", 0, 19);
  443.             characterfile.write(Integer.toString(tbTime), 0, Integer.toString(tbTime).length());
  444.             characterfile.newLine();
  445.             characterfile.write("pc-points = ", 0, 12);
  446.             characterfile.write(Integer.toString(p.pcPoints), 0, Integer.toString(p.pcPoints).length());
  447.             characterfile.newLine();
  448.             characterfile.write("gwdelay = ", 0, 10);
  449.             characterfile.write(Integer.toString(p.gwdelay), 0, Integer.toString(p.gwdelay).length());
  450.             characterfile.newLine();
  451.             characterfile.write("summonSpec = ", 0, 10);
  452.             characterfile.write(Integer.toString(p.summonSpec), 0, Integer.toString(p.summonSpec).length());
  453.             characterfile.newLine();
  454.             characterfile.write("dungRest = ", 0, 10);
  455.             characterfile.write(Integer.toString(p.dungRest), 0, Integer.toString(p.dungRest).length());
  456.             characterfile.newLine();
  457.             characterfile.write("Altar = ", 0, 8);
  458.             characterfile.write(Integer.toString(p.altarPrayed), 0, Integer.toString(p.altarPrayed).length());
  459.             characterfile.newLine();
  460.             characterfile.write("Arma-KC = ", 0, 10);
  461.             characterfile.write(Integer.toString(p.Arma), 0, Integer.toString(p.Arma).length());
  462.             characterfile.newLine();
  463.             characterfile.write("Band-KC = ", 0, 10);
  464.             characterfile.write(Integer.toString(p.Band), 0, Integer.toString(p.Band).length());
  465.             characterfile.newLine();
  466.             characterfile.write("Zammy-KC = ", 0, 11);
  467.             characterfile.write(Integer.toString(p.Zammy), 0, Integer.toString(p.Zammy).length());
  468.             characterfile.newLine();
  469.             characterfile.write("Sara-KC = ", 0, 10);
  470.             characterfile.write(Integer.toString(p.Sara), 0, Integer.toString(p.Sara).length());
  471.             characterfile.newLine();
  472.             characterfile.newLine();
  473.             characterfile.write("pk-points = ", 0, 12);
  474.             characterfile.write(Integer.toString(p.pkPoints), 0, Integer.toString(p.pkPoints).length());
  475.             characterfile.newLine();
  476.             characterfile.newLine();
  477.             characterfile.write("isDonator = ", 0, 12);
  478.             characterfile.write(Integer.toString(p.isDonator), 0, Integer.toString(p.isDonator).length());
  479.             characterfile.newLine();
  480.             characterfile.write("donatorChest = ", 0, 15);
  481.             characterfile.write(Integer.toString(p.donatorChest), 0, Integer.toString(p.donatorChest).length());
  482.             characterfile.newLine();
  483.             characterfile.write("slayerTask = ", 0, 13);
  484.             characterfile.write(Integer.toString(p.slayerTask), 0, Integer.toString(p.slayerTask).length());
  485.             characterfile.newLine();
  486.             characterfile.write("xpLock = ", 0, 9);
  487.             characterfile.write(Boolean.toString(p.xpLock), 0, Boolean.toString(p.xpLock).length());
  488.             characterfile.newLine();
  489.             characterfile.write("Agrith = ", 0, 9);
  490.             characterfile.write(Boolean.toString(p.Agrith), 0, Boolean.toString(p.Agrith).length());
  491.             characterfile.newLine();
  492.             characterfile.write("Flambeed = ", 0, 11);
  493.             characterfile.write(Boolean.toString(p.Flambeed), 0, Boolean.toString(p.Flambeed).length());
  494.             characterfile.newLine();
  495.             characterfile.write("Karamel = ", 0, 10);
  496.             characterfile.write(Boolean.toString(p.Karamel), 0, Boolean.toString(p.Karamel).length());
  497.             characterfile.newLine();
  498.             characterfile.write("Dessourt = ", 0, 11);
  499.             characterfile.write(Boolean.toString(p.Dessourt), 0, Boolean.toString(p.Dessourt).length());
  500.             characterfile.newLine();
  501.             characterfile.write("culin = ", 0, 8);
  502.             characterfile.write(Boolean.toString(p.Culin), 0, Boolean.toString(p.Culin).length());
  503.             characterfile.newLine();
  504.             characterfile.write("taskAmount = ", 0, 13);
  505.             characterfile.write(Integer.toString(p.taskAmount), 0, Integer.toString(p.taskAmount).length());
  506.             characterfile.newLine();
  507.             characterfile.write("magePoints = ", 0, 13);
  508.             characterfile.write(Integer.toString(p.magePoints), 0, Integer.toString(p.magePoints).length());
  509.             characterfile.newLine();
  510.             characterfile.write("KC = ", 0, 4);
  511.             characterfile.write(Integer.toString(p.KC), 0, Integer.toString(p.KC).length());
  512.             characterfile.newLine();
  513.             characterfile.write("DC = ", 0, 4);
  514.             characterfile.write(Integer.toString(p.DC), 0, Integer.toString(p.DC).length());
  515.             characterfile.newLine();
  516.             characterfile.write("totalstored = ", 0, 14);
  517.             characterfile.write(Integer.toString(p.totalstored), 0, Integer.toString(p.totalstored).length());
  518.             characterfile.newLine();
  519.             characterfile.write("autoRet = ", 0, 10);
  520.             characterfile.write(Integer.toString(p.autoRet), 0, Integer.toString(p.autoRet).length());
  521.             characterfile.newLine();
  522.             characterfile.write("trade11 = ", 0, 10);
  523.             characterfile.write(Integer.toString(p.trade11), 0, Integer.toString(p.trade11).length());
  524.             characterfile.newLine();
  525.             characterfile.write("SpeDelay = ", 0, 11);
  526.             characterfile.write(Long.toString(p.SpecialDelay), 0, Long.toString(p.SpecialDelay).length());
  527.             characterfile.newLine();
  528.             characterfile.write("barrowskillcount = ", 0, 19);
  529.             characterfile.write(Integer.toString(p.barrowsKillCount), 0, Integer.toString(p.barrowsKillCount).length());
  530.             characterfile.newLine();
  531.             characterfile.write("flagged = ", 0, 10);
  532.             characterfile.write(Boolean.toString(p.accountFlagged), 0, Boolean.toString(p.accountFlagged).length());
  533.             characterfile.newLine();
  534.             characterfile.write("Rules = ", 0, 8);
  535.             characterfile.write(Boolean.toString(p.readRules), 0, Boolean.toString(p.readRules).length());
  536.             characterfile.newLine();
  537.             characterfile.write("shopping = ", 0, 11);
  538.             characterfile.write(Boolean.toString(p.isShopping), 0, Boolean.toString(p.isShopping).length());
  539.             characterfile.newLine();
  540.             characterfile.write("Jailed = ", 0, 9);
  541.             characterfile.write(Boolean.toString(p.Jail), 0, Boolean.toString(p.Jail).length());
  542.             characterfile.newLine();
  543.             characterfile.write("wave = ", 0, 7);
  544.             characterfile.write(Integer.toString(p.waveId), 0, Integer.toString(p.waveId).length());
  545.             characterfile.newLine();
  546.             characterfile.write("dfs-charges = ", 0, 14);
  547.             characterfile.write(Integer.toString(p.dfsCount), 0, Integer.toString(p.dfsCount).length());
  548.             characterfile.newLine();
  549.             characterfile.write("lastsummon = ", 0, 13);
  550.             characterfile.write(Integer.toString(p.lastsummon), 0, Integer.toString(p.lastsummon).length());
  551.             characterfile.newLine();
  552.             characterfile.write("summoningnpcid = ", 0, 17);
  553.             characterfile.write(Integer.toString(p.summoningnpcid), 0, Integer.toString(p.summoningnpcid).length());
  554.             characterfile.newLine();
  555.             characterfile.write("fightMode = ", 0, 12);
  556.             characterfile.write(Integer.toString(p.fightMode), 0, Integer.toString(p.fightMode).length());
  557.             characterfile.newLine();
  558.             characterfile.write("SPoints = ", 0, 10);
  559.             characterfile.write(Integer.toString(p.SPoints), 0, Integer.toString(p.SPoints).length());
  560.             characterfile.newLine();
  561.             characterfile.write("dungPoints = ", 0, 12);
  562.             characterfile.write(Integer.toString(p.dungPoints), 0, Integer.toString(p.dungPoints).length());
  563.             characterfile.newLine();
  564.             characterfile.write("Black-marks = ", 0, 12);
  565.             characterfile.write(Integer.toString(p.BlackMarks), 0, Integer.toString(p.BlackMarks).length());
  566.             characterfile.newLine();
  567.             characterfile.write("void = ", 0, 7);
  568.             String toWrite = p.voidStatus[0] + "\t" + p.voidStatus[1] + "\t" + p.voidStatus[2] + "\t" + p.voidStatus[3] + "\t" + p.voidStatus[4];
  569.             characterfile.write(toWrite);
  570.             characterfile.newLine();
  571.             characterfile.newLine();
  572.            
  573.             /*EQUIPMENT*/
  574.             characterfile.write("[EQUIPMENT]", 0, 11);
  575.             characterfile.newLine();
  576.             for (int i = 0; i < p.playerEquipment.length; i++) {
  577.                 characterfile.write("character-equip = ", 0, 18);
  578.                 characterfile.write(Integer.toString(i), 0, Integer.toString(i).length());
  579.                 characterfile.write("   ", 0, 1);
  580.                 characterfile.write(Integer.toString(p.playerEquipment[i]), 0, Integer.toString(p.playerEquipment[i]).length());
  581.                 characterfile.write("   ", 0, 1);
  582.                 characterfile.write(Integer.toString(p.playerEquipmentN[i]), 0, Integer.toString(p.playerEquipmentN[i]).length());
  583.                 characterfile.write("   ", 0, 1);
  584.                 characterfile.newLine();
  585.             }
  586.             characterfile.newLine();
  587.            
  588.             /*LOOK*/
  589.             characterfile.write("[LOOK]", 0, 6);
  590.             characterfile.newLine();
  591.             for (int i = 0; i < p.playerAppearance.length; i++) {
  592.                 characterfile.write("character-look = ", 0, 17);
  593.                 characterfile.write(Integer.toString(i), 0, Integer.toString(i).length());
  594.                 characterfile.write("   ", 0, 1);
  595.                 characterfile.write(Integer.toString(p.playerAppearance[i]), 0, Integer.toString(p.playerAppearance[i]).length());
  596.                 characterfile.newLine();
  597.             }
  598.             characterfile.newLine();
  599.            
  600.             /*SKILLS*/
  601.             characterfile.write("[SKILLS]", 0, 8);
  602.             characterfile.newLine();
  603.             for (int i = 0; i < p.playerLevel.length; i++) {
  604.                 characterfile.write("character-skill = ", 0, 18);
  605.                 characterfile.write(Integer.toString(i), 0, Integer.toString(i).length());
  606.                 characterfile.write("   ", 0, 1);
  607.                 characterfile.write(Integer.toString(p.playerLevel[i]), 0, Integer.toString(p.playerLevel[i]).length());
  608.                 characterfile.write("   ", 0, 1);
  609.                 characterfile.write(Integer.toString(p.playerXP[i]), 0, Integer.toString(p.playerXP[i]).length());
  610.                 characterfile.newLine();
  611.             }
  612.             characterfile.newLine();
  613.            
  614.             /*ITEMS*/
  615.             characterfile.write("[ITEMS]", 0, 7);
  616.             characterfile.newLine();
  617.             for (int i = 0; i < p.playerItems.length; i++) {
  618.                 if (p.playerItems[i] > 0) {
  619.                     characterfile.write("character-item = ", 0, 17);
  620.                     characterfile.write(Integer.toString(i), 0, Integer.toString(i).length());
  621.                     characterfile.write("   ", 0, 1);
  622.                     characterfile.write(Integer.toString(p.playerItems[i]), 0, Integer.toString(p.playerItems[i]).length());
  623.                     characterfile.write("   ", 0, 1);
  624.                     characterfile.write(Integer.toString(p.playerItemsN[i]), 0, Integer.toString(p.playerItemsN[i]).length());
  625.                     characterfile.newLine();
  626.                 }
  627.             }
  628.             characterfile.newLine();
  629.            
  630.         /*BANK*/
  631.             characterfile.write("[BANK]", 0, 6);
  632.             characterfile.newLine();
  633.             for (int i = 0; i < p.bankItems.length; i++) {
  634.                 if (p.bankItems[i] > 0) {
  635.                     characterfile.write("character-bank = ", 0, 17);
  636.                     characterfile.write(Integer.toString(i), 0, Integer.toString(i).length());
  637.                     characterfile.write("   ", 0, 1);
  638.                     characterfile.write(Integer.toString(p.bankItems[i]), 0, Integer.toString(p.bankItems[i]).length());
  639.                     characterfile.write("   ", 0, 1);
  640.                     characterfile.write(Integer.toString(p.bankItemsN[i]), 0, Integer.toString(p.bankItemsN[i]).length());
  641.                     characterfile.newLine();
  642.                 }
  643.             }
  644.             characterfile.newLine();
  645.            
  646.         /*FRIENDS*/
  647.             characterfile.write("[FRIENDS]", 0, 9);
  648.             characterfile.newLine();
  649.             for (int i = 0; i < p.friends.length; i++) {
  650.                 if (p.friends[i] > 0) {
  651.                     characterfile.write("character-friend = ", 0, 19);
  652.                     characterfile.write(Integer.toString(i), 0, Integer.toString(i).length());
  653.                     characterfile.write("   ", 0, 1);
  654.                     characterfile.write("" + p.friends[i]);
  655.                     characterfile.newLine();
  656.                 }
  657.             }
  658.             characterfile.newLine();
  659.            
  660.         /*Storeditems*/
  661.             characterfile.write("[STORED]", 0, 8);
  662.             characterfile.newLine();
  663. for (int i = 0; i < p.storeditems.length; i++) {
  664.                     characterfile.write("stored = ", 0, 9);
  665.                     characterfile.write(Integer.toString(i), 0, Integer.toString(i).length());
  666.                     characterfile.write("   ", 0, 1);
  667. characterfile.write(Integer.toString(p.storeditems[i]), 0, Integer.toString(p.storeditems[i]).length());
  668.                     characterfile.newLine();
  669.             }
  670. characterfile.newLine();
  671.  
  672. /*Storeditems*/
  673.             characterfile.write("[OCCUPY]", 0, 8);
  674.             characterfile.newLine();
  675. for (int i = 0; i < p.occupied.length; i++) {
  676.                     characterfile.write("occupy = ", 0, 9);
  677.                     characterfile.write(Integer.toString(i), 0, Integer.toString(i).length());
  678.                     characterfile.write("   ", 0, 1);
  679. characterfile.write(Boolean.toString(p.occupied[i]), 0, Boolean.toString(p.occupied[i]).length());
  680.                     characterfile.newLine();
  681.             }
  682. characterfile.newLine();
  683.  
  684.  
  685.         /*SHOP*/
  686.             characterfile.write("[SHOP]", 0, 6);
  687.             characterfile.newLine();
  688.             for (int i = 0; i < p.playerShop.length; i++) {
  689.                 if (p.playerShop[i] > 0) {
  690.                     characterfile.write("character-shop = ", 0, 17);
  691.                     characterfile.write(Integer.toString(i), 0, Integer.toString(i).length());
  692.                     characterfile.write("   ", 0, 1);
  693.                     characterfile.write(Integer.toString(p.playerShop[i]), 0, Integer.toString(p.playerShop[i]).length());
  694.                     characterfile.write("   ", 0, 1);
  695.                     characterfile.write(Integer.toString(p.playerShopP[i]), 0, Integer.toString(p.playerShopP[i]).length());
  696.                     characterfile.write("   ", 0, 1);
  697.                     characterfile.write(Integer.toString(p.playerShopN[i]), 0, Integer.toString(p.playerShopN[i]).length());
  698.                     characterfile.newLine();
  699.                 }
  700.             }
  701.             characterfile.newLine();
  702.  
  703.            
  704.            
  705.         /*IGNORES*/
  706.             /*characterfile.write("[IGNORES]", 0, 9);
  707.             characterfile.newLine();
  708.             for (int i = 0; i < ignores.length; i++) {
  709.                 if (ignores[i] > 0) {
  710.                     characterfile.write("character-ignore = ", 0, 19);
  711.                     characterfile.write(Integer.toString(i), 0, Integer.toString(i).length());
  712.                     characterfile.write("   ", 0, 1);
  713.                     characterfile.write(Long.toString(ignores[i]), 0, Long.toString(ignores[i]).length());
  714.                     characterfile.newLine();
  715.                 }
  716.             }
  717.             characterfile.newLine();*/
  718.         /*EOF*/
  719.             characterfile.write("[EOF]", 0, 5);
  720.             characterfile.newLine();
  721.             characterfile.newLine();
  722.             characterfile.close();
  723.         } catch(IOException ioexception) {
  724.             Misc.println(p.playerName+": error writing file.");
  725.             return false;
  726.         }
  727.         return true;
  728.     }  
  729.    
  730.  
  731. }
Add Comment
Please, Sign In to add comment