Thread: server cmd exception

Results 1 to 4 of 4
  1. #1 server cmd exception 
    Registered Member
    Join Date
    Apr 2012
    Posts
    853
    Thanks given
    94
    Thanks received
    33
    Rep Power
    0
    i get this exception
    [5/5/12 5:56 AM]: java.lang.ArrayIndexOutOfBoundsException: 1163
    [5/5/12 5:56 AM]: at server.model.players.CombatAssistant.delayedHit(Co mba
    tAssistant.java:599)
    [5/5/12 5:56 AM]: at server.model.players.Client.process(Client.java:16 55)

    [5/5/12 5:56 AM]: at server.model.players.PlayerHandler.process(PlayerH and
    ler.java:176)
    [5/5/12 5:56 AM]: at server.Server.main(Server.java:210)
    my delayedhit method

    Code:
    	public void delayedHit(int i) { // npc hit delay
    		if (Server.npcHandler.npcs[i] != null) {
    			if (Server.npcHandler.npcs[i].isDead) {
    				c.npcIndex = 0;
    				return;
    			}
    			Server.npcHandler.npcs[i].facePlayer(c.playerId);
    			
    			if (Server.npcHandler.npcs[i].underAttackBy > 0 && Server.npcHandler.getsPulled(i)) {
    				Server.npcHandler.npcs[i].killerId = c.playerId;			
    			} else if (Server.npcHandler.npcs[i].underAttackBy < 0 && !Server.npcHandler.getsPulled(i)) {
    				Server.npcHandler.npcs[i].killerId = c.playerId;
    			}
    			c.lastNpcAttacked = i;
    			if(c.projectileStage == 0 && !c.usingMagic && !c.castingMagic) { // melee hit damage
    				if (!c.usingClaws)
    					applyNpcMeleeDamage(i, 1, Misc.random(calculateMeleeMaxHit()));
    				if(c.doubleHit && !c.usingClaws) {
    					applyNpcMeleeDamage(i, 2, Misc.random(calculateMeleeMaxHit()));
    				}
    				if(c.doubleHit && c.usingClaws) {
    					c.delayedDamage = c.clawDamage;
    					c.delayedDamage2 = c.clawDamage/2;
    					applyNpcMeleeDamage(i, 1, c.clawDamage);
    					applyNpcMeleeDamage(i, 2, c.clawDamage/2);
    				}				
    			}
    
    			if(!c.castingMagic && c.projectileStage > 0) { // range hit damage
    				int damage = Misc.random(rangeMaxHit());
    				int damage2 = -1;
    				if (c.lastWeaponUsed == 11235 || c.lastWeaponUsed == 14481 || c.lastWeaponUsed == 14482 || c.bowSpecShot == 1)
    					damage2 = Misc.random(rangeMaxHit());
    				boolean ignoreDef = false;
    				if (Misc.random(5) == 1 && c.lastArrowUsed == 9243 && c.playerEquipment[c.playerWeapon] == 9185 && c.playerEquipment[c.playerWeapon] == 18357) {
    					ignoreDef = true;
    					Server.npcHandler.npcs[i].gfx0(758);
    				}
    
    				
    				if(Misc.random(Server.npcHandler.npcs[i].defence) > Misc.random(10+calculateRangeAttack()) && !ignoreDef) {
    					damage = 0;
    				} else if (Server.npcHandler.npcs[i].npcType == 2881 || Server.npcHandler.npcs[i].npcType == 2883 || Server.npcHandler.npcs[i].npcType == 3340 && !ignoreDef) {
    					damage = 0;
    				}
    				
    				if (Misc.random(5) == 1 && c.lastArrowUsed == 9242 && damage > 0 && c.playerEquipment[c.playerWeapon] == 9185) {
    					Server.npcHandler.npcs[i].gfx0(754);
    					damage = Server.npcHandler.npcs[i].HP/5;
    					//c.handleHitMask(c.playerLevel[3]/10);
    					c.dealDamage(c.playerLevel[3]/10);
    					c.gfx0(754);					
    				}
    				
    				if (Misc.random(4) == 1 && c.lastArrowUsed == 9242 && damage > 0 && c.playerEquipment[c.playerWeapon] == 18357) {
    					Server.npcHandler.npcs[i].gfx0(754);
    					damage = Server.npcHandler.npcs[i].HP/5;
    					//c.handleHitMask(c.playerLevel[3]/10);
    					c.dealDamage(c.playerLevel[3]/10);
    					c.gfx0(754);					
    				}
    
    				if (c.lastWeaponUsed == 11235 || c.bowSpecShot == 1) {
    					if (Misc.random(Server.npcHandler.npcs[i].defence) > Misc.random(10+calculateRangeAttack()))
    						damage2 = 0;
    				}
    				if (c.dbowSpec) {
    					Server.npcHandler.npcs[i].gfx100(1100);
                                            if(c.dbowDelay == 4)
    					if (damage < 8)
    						damage = 8;
                                            else if(c.dbowDelay == 1)
    					if (damage2 < 8)
    						damage2 = 8;
    					c.dbowSpec = false;
    				}
    				if (damage > 0 && Misc.random(5) == 1 && c.lastArrowUsed == 9244 && c.playerEquipment[c.playerWeapon] == 9185) {
    					damage *= 1.45;
    					Server.npcHandler.npcs[i].gfx0(756);
    				}
    				
    				if (damage > 0 && Misc.random(4) == 1 && c.lastArrowUsed == 9244 && c.playerEquipment[c.playerWeapon] == 18357) {
    					damage *= 1.45;
    					Server.npcHandler.npcs[i].gfx0(756);
    				}
    
    				if (Server.npcHandler.npcs[i].HP - damage < 0) { 
    					damage = Server.npcHandler.npcs[i].HP;
    				}
    				if (Server.npcHandler.npcs[i].HP - damage <= 0 && damage2 > 0) {
    					damage2 = 0;
    				}
    				if(c.fightMode == 3) {
    					c.getPA().addSkillXP((damage*Config.RANGE_EXP_RATE/3), 4); 
    					c.getPA().addSkillXP((damage*Config.RANGE_EXP_RATE/3), 1);				
    					c.getPA().addSkillXP((damage*Config.RANGE_EXP_RATE/3), 3);
    					c.getPA().refreshSkill(1);
    					c.getPA().refreshSkill(3);
    					c.getPA().refreshSkill(4);
    				} else {
    					c.getPA().addSkillXP((damage*Config.RANGE_EXP_RATE), 4); 
    					c.getPA().addSkillXP((damage*Config.RANGE_EXP_RATE/3), 3);
    					c.getPA().refreshSkill(3);
    					c.getPA().refreshSkill(4);
    				}
    				if (damage > 0) {
    					if (Server.npcHandler.npcs[i].npcType >= 6142 && Server.npcHandler.npcs[i].npcType <= 6145) {
    						c.pcDamage += damage;					
    					}				
    				}
    				boolean dropArrows = true;
    						
    				for(int noArrowId : c.NO_ARROW_DROP) {
    					if(c.lastWeaponUsed == noArrowId) {
    						dropArrows = false;
    						break;
    					}
    				}
    				if(dropArrows) {
    					c.getItems().dropArrowNpc();	
    				}
    				//o.CIcon = 1; 
    				Server.npcHandler.npcs[i].hitDiff = damage;
    				Server.npcHandler.npcs[i].underAttack = true;
    				Server.npcHandler.npcs[i].CIcon = 1;
    				Server.npcHandler.npcs[i].HP -= damage;
    				Server.npcHandler.npcs[i].hitUpdateRequired = true;
    				
    				if (damage2 > -1) {
    					Server.npcHandler.npcs[i].hitDiff2 = damage2;
    					Server.npcHandler.npcs[i].CIcon = 1;
    					Server.npcHandler.npcs[i].HP -= damage2;
    					c.totalDamageDealt += damage2;	
    					Server.npcHandler.npcs[i].hitUpdateRequired = true;
    				}
    				if (c.killingNpcIndex != c.oldNpcIndex) {
    					c.totalDamageDealt = 0;				
    				}
    				c.killingNpcIndex = c.oldNpcIndex;
    				c.totalDamageDealt += damage;
    				Server.npcHandler.npcs[i].hitUpdateRequired = true;
    				if (damage2 > -1)
    					Server.npcHandler.npcs[i].hitUpdateRequired2 = true;
    				Server.npcHandler.npcs[i].updateRequired = true;
    
    			} else if (c.projectileStage > 0) { // magic hit damage
    				int damage = Misc.random(finalMagicDamage(c));
    				Client o = (Client) Server.playerHandler.players[i];
    	
    				if(godSpells()) {
    					if(System.currentTimeMillis() - c.godSpellDelay < Config.GOD_SPELL_CHARGE) {
    						damage += Misc.random(10);
    					}
    				}
    				boolean magicFailed = false;
    				Server.npcHandler.npcs[i].CIcon = 2;
    				//c.npcIndex = 0;
    				int bonusAttack = getBonusAttack(i);
    				if (Misc.random(Server.npcHandler.npcs[i].defence) > 10+ Misc.random(mageAtk()) + bonusAttack) {
    					damage = 0;
    					magicFailed = true;
    				} else if (Server.npcHandler.npcs[i].npcType == 2881 || Server.npcHandler.npcs[i].npcType == 2882) {
    					damage = 0;
    					magicFailed = true;
    				}
    				
    				if (Server.npcHandler.npcs[i].HP - damage < 0) { 
    					damage = Server.npcHandler.npcs[i].HP;
    				}
    				
    				c.getPA().addSkillXP((c.MAGIC_SPELLS[c.oldSpellId][7] + damage*Config.MAGIC_EXP_RATE), 6); 
    				c.getPA().addSkillXP((c.MAGIC_SPELLS[c.oldSpellId][7] + damage*Config.MAGIC_EXP_RATE/3), 3);
    				c.getPA().refreshSkill(3);
    				c.getPA().refreshSkill(6);
    				if (damage > 0) {
    					if (Server.npcHandler.npcs[i].npcType >= 6142 && Server.npcHandler.npcs[i].npcType <= 6145) {
    						c.pcDamage += damage;					
    					}				
    				}
    				if(getEndGfxHeight() == 100 && !magicFailed){ // end GFX
    					Server.npcHandler.npcs[i].gfx100(c.MAGIC_SPELLS[c.oldSpellId][5]);
    				} else if (!magicFailed){
    					Server.npcHandler.npcs[i].gfx0(c.MAGIC_SPELLS[c.oldSpellId][5]);
    				}
    				
    				if(magicFailed) {	
    					Server.npcHandler.npcs[i].gfx100(85);
    				}			
    				if(!magicFailed) {
    					int freezeDelay = getFreezeTime();//freeze 
    					if(freezeDelay > 0 && Server.npcHandler.npcs[i].freezeTimer == 0) {
    						Server.npcHandler.npcs[i].freezeTimer = freezeDelay;
    						Server.npcHandler.npcs[i].barrageorb = 1;
    					}
    					switch(c.MAGIC_SPELLS[c.oldSpellId][0]) { 
    						case 12871:
    							if (Server.npcHandler.npcs[i].barrageorb == 1) {
    								Server.npcHandler.npcs[i].barrageorb = 0;
    							}
    						break;
    
    						case 12891:			
    							if (Server.npcHandler.npcs[i].barrageorb != 1) {
    								Server.npcHandler.npcs[i].gfx50(1677);
    							}
    							if (Server.npcHandler.npcs[i].barrageorb == 1) {
    								Server.npcHandler.npcs[i].barrageorb = 0;
    							}
    						break;
    						case 12901:
    						case 12919: // blood spells
    						case 12911:
    						case 12929:
    						int heal = Misc.random(damage / 2);
    						if(c.playerLevel[3] + heal >= c.getPA().getLevelForXP(c.playerXP[3])) {
    							c.playerLevel[3] = c.getPA().getLevelForXP(c.playerXP[3]);
    						} else {
    							c.playerLevel[3] += heal;
    						}
    						c.getPA().refreshSkill(3);
    						break;
    					}
    
    				}
    				Server.npcHandler.npcs[i].underAttack = true;
    				if(finalMagicDamage(c) != 0) {
    					Server.npcHandler.npcs[i].hitDiff = damage;
    					Server.npcHandler.npcs[i].HP -= damage;
    					Server.npcHandler.npcs[i].hitUpdateRequired = true;
    					c.totalDamageDealt += damage;
    				}
    				c.killingNpcIndex = c.oldNpcIndex;			
    				Server.npcHandler.npcs[i].updateRequired = true;
    				c.usingMagic = false;
    				c.castingMagic = false;
    				c.oldSpellId = 0;
    			}
    		}
    	
    		if(c.bowSpecShot <= 0) {
    			c.oldNpcIndex = 0;
    			c.projectileStage = 0;
    			c.doubleHit = false;
    			c.lastWeaponUsed = 0;
    			c.bowSpecShot = 0;
    		}
    		if(c.bowSpecShot >= 2) {
    			c.bowSpecShot = 0;
    			//c.attackTimer = getAttackDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    		}
    		if(c.bowSpecShot == 1) {
    			fireProjectileNpc();
    			c.hitDelay = 2;
    			c.bowSpecShot = 0;
    		}
    	}
    pi/dspk

    higlighted line 1163
    if(!c.usingMagic) {
    c.startAnimation(getWepAnim(c.getItems().getItemNa me(c.playerEquipment[c.playerWeapon]).toLowerCase()));
    c.mageFollow = false;
    } else {
    c.startAnimation(c.MAGIC_SPELLS[c.spellId][2]);
    c.mageFollow = true;

    c.followId = c.playerIndex;
    }
    Server.playerHandler.players[i].underAttackBy = c.playerId;
    Server.playerHandler.players[i].logoutDelay = System.currentTimeMillis();
    Server.playerHandler.players[i].singleCombatDelay = System.currentTimeMillis();
    Server.playerHandler.players[i].killerId = c.playerId;
    c.lastArrowUsed = 0;
    c.rangeItemUsed = 0;
    if(!usingBow && !c.usingMagic && !usingOtherRangeWeapons) { // melee hit delay
    c.followId = Server.playerHandler.players[c.playerIndex].playerId;
    c.getPA().followPlayer();
    c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquip ment[c.playerWeapon]).toLowerCase());
    c.delayedDamage = Misc.random(calculateMeleeMaxHit());
    c.projectileStage = 0;
    c.oldPlayerIndex = i;
    }
    Reply With Quote  
     

  2. #2  
    Registered Member
    craig903's Avatar
    Join Date
    Sep 2007
    Age
    30
    Posts
    1,357
    Thanks given
    14
    Thanks received
    92
    Rep Power
    238
    Highlight the line please. Its rather hard to determine which line it actually is.
    Visit Rune Miracle Here
    Reply With Quote  
     

  3. #3  
    Fuckin PRO

    Damien's Avatar
    Join Date
    Feb 2008
    Age
    32
    Posts
    2,658
    Thanks given
    928
    Thanks received
    82
    Rep Power
    369
    Fixing your magic following...
    I thought there was better way to do this with magic following...
    Reply With Quote  
     

  4. #4  
    Registered Member
    craig903's Avatar
    Join Date
    Sep 2007
    Age
    30
    Posts
    1,357
    Thanks given
    14
    Thanks received
    92
    Rep Power
    238
    Quote Originally Posted by helpMe View Post
    i did it here it is anyways

    No it couldn't off been there. You must of edited your source before highlighting the line. Like line you posted is changing the value of a boolean. The line we are looking for is something that is accessing an array. The line below the one you highlighted might be the problem.
    Visit Rune Miracle Here
    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. null pointer cmd Exception.
    By helpMe in forum Help
    Replies: 8
    Last Post: 05-09-2012, 05:45 PM
  2. CMD Exception.
    By helpMe in forum Help
    Replies: 8
    Last Post: 04-13-2012, 11:51 PM
  3. Error in cmd (exception)
    By ________ in forum Help
    Replies: 0
    Last Post: 12-20-2011, 07:08 AM
  4. 614 server exception
    By rade134 in forum Help
    Replies: 15
    Last Post: 09-11-2010, 04:28 PM
  5. My Server CMD
    By atrix676 in forum Help
    Replies: 9
    Last Post: 06-06-2009, 06:16 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
  •