Thread: Will pay for help [317] Fatal Exception

Results 1 to 4 of 4
  1. #1 Will pay for help [317] Fatal Exception 
    Apple Computers
    Bridget7298's Avatar
    Join Date
    Aug 2007
    Age
    29
    Posts
    1,085
    Thanks given
    99
    Thanks received
    48
    Rep Power
    231
    Problem:
    Code:
    java.lang.ArrayIndexOutOfBoundsException: 21
            at client.saveStats(client.java:1100)
            at client.packetProcess(client.java:4041)
            at client.packetSending(client.java:4029)
            at PlayerHandler.process(PlayerHandler.java:121)
            at server.main(server.java:35)
    Danz PK Server [fatal] - exception
    Game saved for player schtek
    ClientHandler: schtek disconnected.

    Line: 1100
    Code:
    public void saveStats() {
    int Attacklvl = getLevelForXP(playerXP[0]); 
    int Strengthlvl = getLevelForXP(playerXP[2]);
    int Defencelvl = getLevelForXP(playerXP[1]);
    int Hitpointslvl = getLevelForXP(playerXP[3]);
    int Prayerlvl = getLevelForXP(playerXP[5]);
    int Magiclvl = getLevelForXP(playerXP[6]);
    int Rangelvl = getLevelForXP(playerXP[4]);
    int Runecraftlvl = getLevelForXP(playerXP[20]);
    int Herblorelvl = getLevelForXP(playerXP[15]);
    int Agilitylvl = getLevelForXP(playerXP[16]);
    int Craftinglvl = getLevelForXP(playerXP[12]);
    int Fletchinglvl = getLevelForXP(playerXP[9]);
    int Slayerlvl = getLevelForXP(playerXP[18]);
    int Mininglvl = getLevelForXP(playerXP[14]);
    int Smithinglvl = getLevelForXP(playerXP[13]);
    int Fishinglvl = getLevelForXP(playerXP[10]);
    int Cookinglvl = getLevelForXP(playerXP[7]);
    int Firemakinglvl = getLevelForXP(playerXP[11]);
    int Woodcuttinglvl = getLevelForXP(playerXP[8]);
    int Farminglvl = getLevelForXP(playerXP[19]);
    int Attackxp = playerXP[0]; 
    int Strengthxp = playerXP[2];
    int Defencexp = playerXP[1];
    int Hitpointsxp = playerXP[3];
    int Prayerxp = playerXP[5];
    int Magicxp = playerXP[6];
    int Rangexp = playerXP[4];
    int Runecraftxp = playerXP[20];
    int Herblorexp = playerXP[15];
    int Agilityxp = playerXP[16];
    int Craftingxp = playerXP[12];
    int Fletchingxp = playerXP[9];
    int Slayerxp = playerXP[18];
    int Miningxp = playerXP[14];
    int Smithingxp = playerXP[13];
    int Fishingxp = playerXP[10];
    int Cookingxp = playerXP[7];
    int Firemakingxp = playerXP[11];
    int Woodcuttingxp = playerXP[8];
    int Farmingxp = playerXP[19];
    	PrintStream MyOutput = null;
    	try {
           	        MyOutput = new PrintStream(new FileOutputStream("./savedgames/" + playerName + ".dat"));
      	 } catch (IOException e) {
         }
    	if (MyOutput != null) {
    	for(int i=0;i<25;i++) {
                 	//MyOutput.print(statName[i] + " - " + playerLevel[i]  + " - " + playerXP[i] + "\n");
                 	 }
          		 MyOutput.close();
         	} else {
         	}
    	}


    Line: 4041
    Code:
    //healing check
    		if (healing[0] > 0) {
    			healing();
    		}

    Line: 4029
    Code:
    if (IsDead == true && NewHP <= 1)	{
    			youdied();
    			playerLevel[3] = 10;
    			setSkillLevel(playerHitpoints, 10, playerXP[playerHitpoints]);
    		}

    Line: 121 PlayerHandler:
    Code:
    while(players[i].packetSending());
    			players[i].postProcessing();
    
    			players[i].getNextPlayerMovement();

    Line: 35 server.java:
    Code:
    playerHandler.process();			// updates all player related stuff
    Reply With Quote  
     

  2. #2  
    Registered Member
    Whired's Avatar
    Join Date
    Aug 2007
    Posts
    2,126
    Thanks given
    238
    Thanks received
    500
    Rep Power
    822
    What's the code for client.saveStats()
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  3. #3  
    Registered Member
    Join Date
    Apr 2011
    Posts
    279
    Thanks given
    5
    Thanks received
    20
    Rep Power
    3
    Quote Originally Posted by Violent Danz View Post
    Code:
    java.lang.ArrayIndexOutOfBoundsException: 21
            at client.saveStats(client.java:1100)
            at client.packetProcess(client.java:4041)
            at client.packetSending(client.java:4029)
            at PlayerHandler.process(PlayerHandler.java:121)
            at server.main(server.java:35)
    Danz PK Server [fatal] - exception
    Game saved for player schtek
    ClientHandler: schtek disconnected.
    What were you previously adding, and above question?
    Reply With Quote  
     

  4. #4  
    Registered Member
    Whired's Avatar
    Join Date
    Aug 2007
    Posts
    2,126
    Thanks given
    238
    Thanks received
    500
    Rep Power
    822
    You're only saving 21 stats, even though your code is trying to save 25.

    Code:
    if (MyOutput != null) {
    	for(int i=0;i<21;i++) {
                 	//MyOutput.print(statName[i] + " - " + playerLevel[i]  + " - " + playerXP[i] + "\n");
                 	 }
          		 MyOutput.close();
         	} else {
         	}
    A better way to do this whole thing would be:
    Code:
    if (MyOutput != null) {
    	for(int i=0;i<statName.length;i++) {
                 	//MyOutput.print(statName[i] + " - " + playerLevel[i]  + " - " + playerXP[i] + "\n");
                 	 }
          		 MyOutput.close();
         	} else {
         	}
    As far as I can tell, your code isn't utilizing any of
    Code:
    int Attacklvl = getLevelForXP(playerXP[0]); 
    int Strengthlvl = getLevelForXP(playerXP[2]);
    int Defencelvl = getLevelForXP(playerXP[1]);
    int Hitpointslvl = getLevelForXP(playerXP[3]);
    int Prayerlvl = getLevelForXP(playerXP[5]);
    int Magiclvl = getLevelForXP(playerXP[6]);
    int Rangelvl = getLevelForXP(playerXP[4]);
    int Runecraftlvl = getLevelForXP(playerXP[20]);
    int Herblorelvl = getLevelForXP(playerXP[15]);
    int Agilitylvl = getLevelForXP(playerXP[16]);
    int Craftinglvl = getLevelForXP(playerXP[12]);
    int Fletchinglvl = getLevelForXP(playerXP[9]);
    int Slayerlvl = getLevelForXP(playerXP[18]);
    int Mininglvl = getLevelForXP(playerXP[14]);
    int Smithinglvl = getLevelForXP(playerXP[13]);
    int Fishinglvl = getLevelForXP(playerXP[10]);
    int Cookinglvl = getLevelForXP(playerXP[7]);
    int Firemakinglvl = getLevelForXP(playerXP[11]);
    int Woodcuttinglvl = getLevelForXP(playerXP[8]);
    int Farminglvl = getLevelForXP(playerXP[19]);
    int Attackxp = playerXP[0]; 
    int Strengthxp = playerXP[2];
    int Defencexp = playerXP[1];
    int Hitpointsxp = playerXP[3];
    int Prayerxp = playerXP[5];
    int Magicxp = playerXP[6];
    int Rangexp = playerXP[4];
    int Runecraftxp = playerXP[20];
    int Herblorexp = playerXP[15];
    int Agilityxp = playerXP[16];
    int Craftingxp = playerXP[12];
    int Fletchingxp = playerXP[9];
    int Slayerxp = playerXP[18];
    int Miningxp = playerXP[14];
    int Smithingxp = playerXP[13];
    int Fishingxp = playerXP[10];
    int Cookingxp = playerXP[7];
    int Firemakingxp = playerXP[11];
    int Woodcuttingxp = playerXP[8];
    int Farmingxp = playerXP[19];

    Not sure what's up with all that >.<
    [Only registered and activated users can see links. ]
    Reply With Quote  
     


Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. Fatal-Pkz
    By MrClassic in forum Advertise
    Replies: 7
    Last Post: 01-02-2011, 02:30 PM
  2. Fatal Exception
    By Chris SS in forum Help
    Replies: 19
    Last Post: 11-11-2010, 11:30 PM
  3. Fatal Pkz[317]
    By jochem in forum Advertise
    Replies: 30
    Last Post: 08-26-2010, 08:22 PM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •