Thread: Error Special attack

Results 1 to 4 of 4
  1. #1 Error Special attack 
    Registered Member
    Optimum's Avatar
    Join Date
    Apr 2012
    Posts
    3,570
    Thanks given
    871
    Thanks received
    1,745
    Rep Power
    5000
    when i spec some monsters i get this error

    Code:
    [25/08/13 15:11]: java.lang.ArrayIndexOutOfBoundsException: 2178
    [25/08/13 15:11]: 	at server.engine.entity.players.combat.CombatAssistant.activateSpecial(CombatAssistant.java:2814)
    [25/08/13 15:11]: 	at server.engine.entity.players.combat.CombatAssistant.attackNpc(CombatAssistant.java:257)
    [25/08/13 15:11]: 	at server.engine.entity.players.Client.process(Client.java:908)
    [25/08/13 15:11]: 	at server.engine.entity.players.PlayerHandler.process(PlayerHandler.java:180)
    [25/08/13 15:11]: 	at server.core.Server.main(Server.java:160)
    Activate special-
    Code:
    public void activateSpecial(int weapon, int i){
    		if(Server.npcHandler.npcs[i] == null && c.npcIndex > 0) {
    			return;
    		}
    		if (!c.usingSpecial) {
    		    c.doubleHit = false;
    		    return;
    		}
    		if(Server.playerHandler.players[i] == null && c.playerIndex > 0) {
    			return;
    		}
    		c.doubleHit = false;
    		c.specEffect = 0;
    		c.projectileStage = 0;
    		c.specMaxHitIncrease = 2;
    		if(c.npcIndex > 0) {
    			c.oldNpcIndex = i;
    		} else if (c.playerIndex > 0){
    			c.oldPlayerIndex = i;
    			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;
    		}
    		switch(weapon) {
    			
    			case 1305: // dragon long
    			c.gfx100(248);
    			c.startAnimation(1058);
    			c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    			c.specAccuracy = 1.10;
    			c.specDamage = 1.20;
    			break;
    
    					case 15241: // hand cannon spec!!
    c.usingBow = true;
    c.rangeItemUsed = c.playerEquipment[c.playerArrows];
    c.getItems().deleteArrow();	
    c.lastWeaponUsed = weapon;
    c.startAnimation(12175);
    c.specAccuracy = 8.5;
    c.specDamage = 2.25;
    c.hitDelay = 5;
    c.attackTimer-= 7;
    c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    if (c.fightMode == 2)
    if (c.playerIndex > 0)
    fireProjectilePlayer();
    else if (c.npcIndex > 0)
    fireProjectileNpc();
    break;
    
    			case 1215: // dragon daggers
    			case 1231:
    			case 5680:
    			case 5698:
    			c.gfx100(252);
    			c.startAnimation(1062);
    			c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    			c.doubleHit = true;
    			c.specAccuracy = 1.30;
    			c.specDamage = 1.05;
    			break;
    
    			case 13905: // Vesta spear
    			c.startAnimation(10499);
    			c.gfx0(1835);
                                c.specAccuracy = 1.25;
                                c.specEffect = 6;
                                c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    			break;
    
    			case 13899: // Vesta LongSword
    			c.startAnimation(10502);
    			c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase()+1);
    			c.specDamage = 1.15;
    			c.specAccuracy = 1.70;
    			break;
    			case 13902: // Statius
    			c.startAnimation(10505);
    			c.gfx0(1840);
    			c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase()+1);
    			c.specDamage = 1.35;
    			c.specAccuracy = 2.25;
    			break;
    			
    			case 11730:
    			c.gfx100(1224);
    			c.startAnimation(811);
    			c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    			c.doubleHit = true;
    			c.ssSpec = true;
    			c.specAccuracy = 1.30;
    			break;
    
    	
    			//all damage will be s
    			case 14484:
    				c.gfx0(1950);
    			c.startAnimation(10961);
    			c.specAccuracy = 1000.0;
    			c.clawDamage = 0;
    			
                if (c.playerIndex > 0) {
                	Client o = (Client) Server.playerHandler.players[c.playerIndex];
                	if (Misc.random(calculateMeleeAttack()) > Misc.random(o.getCombat().calculateMeleeDefence())) {
                		c.clawDamage = Misc.random(calculateMeleeMaxHit() + Misc.random(4));
                	}
                	c.clawIndex = c.playerIndex;
                	c.clawType = 1;
                } else if (c.npcIndex > 0) {
                	NPC n = Server.npcHandler.npcs[c.npcIndex];
                	if (Misc.random(calculateMeleeAttack()) > Misc.random(n.defence)) {
                		c.clawDamage = Misc.random(calculateMeleeMaxHit() + Misc.random(2));
                	}
                	c.clawIndex = c.npcIndex;
                	c.clawType = 2;
                }
    			c.doubleHit = true;
    			c.usingClaws = true;
    			c.specEffect = 5;
    			c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    			break;
    			
    			case 4151: // whip
    			if(Server.npcHandler.npcs[i] != null) {
    				Server.npcHandler.npcs[i].gfx100(341);
    			}
    			c.specAccuracy = 1.10;
    			c.startAnimation(1658);
    			c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    			break;
    			
    			case 11694: // ags
    			c.startAnimation(7074);
    			c.specDamage = 1.25;
    			c.specAccuracy = 1.85;
    			c.gfx0(1222);
    			c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    			break;
    				
    			case 19780: // korasi sword
    				c.gfx0(1247);
    				c.startAnimation(4000);
    				if (c.playerIndex > 0) {
    					Client opp = (Client) Server.playerHandler.players[c.playerIndex];
    					if (opp != null)
    						opp.gfx0(1248);
    				} else if (c.npcIndex > 0) {
    					NPC opp = Server.npcHandler.npcs[c.npcIndex];
    					if (opp != null)
    						opp.gfx0(1248);
    				}
    				c.specAccuracy = 5.00;
    				c.specDamage = 2.00;
    				c.ssSpec = true;
    				c.hitDelay = getHitDelay(c.getItems()
    						.getItemName(c.playerEquipment[c.playerWeapon])
    						.toLowerCase());
    				break;
    			
    			
    			case 11700:
    				c.startAnimation(4302);		
    				c.gfx0(1221);
    				c.specAccuracy = 1.25;
    				c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    				c.specEffect = 2;
    			break;
    			
    			case 11696:
    				c.startAnimation(4301);
    				c.gfx0(1223);
    				c.specDamage = 1.10;
    				c.specAccuracy = 1.5;
    				c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    				c.specEffect = 3;
    			break;
    			
    			case 11698:
    				c.startAnimation(4303);
    				c.gfx0(1220);
    				c.specAccuracy = 1.25;
    				c.specEffect = 4;
    				c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    			break;
    			
    			case 1249:
    				c.startAnimation(405);
    				c.gfx100(253);
    				if (c.playerIndex > 0) {
    					Client o = (Client)Server.playerHandler.players[i];
    					o.getPA().getSpeared(c.absX, c.absY);
    				}	
    			break;
    			
    			case 3204: // d hally
    			c.gfx100(282);
    			c.startAnimation(1203);
    			c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    			if(Server.npcHandler.npcs[i] != null && c.npcIndex > 0) {
    				if(!c.goodDistance(c.getX(), c.getY(), Server.npcHandler.npcs[i].getX(), Server.npcHandler.npcs[i].getY(), 1)){
    					c.doubleHit = true;
    				}
    			}
    			if(Server.playerHandler.players[i] != null && c.playerIndex > 0) {
    				if(!c.goodDistance(c.getX(), c.getY(), Server.playerHandler.players[i].getX(),Server.playerHandler.players[i].getY(), 1)){
    					c.doubleHit = true;
    					c.delayedDamage2 = Misc.random(calculateMeleeMaxHit());
    				}
    			}
    			break;
    			
    			case 4153: // maul
    			c.startAnimation(1667);
    			c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    			/*if (c.playerIndex > 0)
    				gmaulPlayer(i);
    			else
    				gmaulNpc(i);*/
    			c.gfx100(337);
    			break;
    			
    			case 4587: // dscimmy
    			c.gfx100(347);
    			c.specEffect = 1;
    			c.startAnimation(1872);
    			c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    			break;
    			
    			case 19784: // korasi sword
    				Random r = new Random();
    				c.startAnimation(4000);
    				c.gfx0(1247);
    	        	final double multiplier = r.nextDouble() + 0.5;
    	            if (c.playerIndex > 0) {
    	            	final Client o = (Client) PlayerHandler.players[c.playerIndex];
    	    			EventManager.getSingleton().addEvent(new Event() {
    	    				int timer = 1;
    	    				public void execute(EventContainer c) {
    	    					if(c == null)
    	    						c.stop();
    	    					switch(timer) {
    		    					case 1:
    		    						o.gfx0(1248);
    		    					break;
    		    					case 0:
    		    		            	pvpMageDamage((int) (calculateMeleeMaxHit() * multiplier));
    		        					c.stop();
    		    					break;
    	    					}
    	    					timer--;
    	    				}
    	    			}, 600);
    	            	c.attackTimer = 5;
    	            } else if (c.npcIndex > 0) {
    	            	final NPC n = NPCHandler.npcs[c.npcIndex];
    	    			EventManager.getSingleton().addEvent(new Event() {
    	    				int timer = 1;
    	    				public void execute(EventContainer c) {
    	    					if(c == null)
    	    						c.stop();
    	    					switch(timer) {
    		    					case 1:
    		    						n.gfx0(1248);
    		    					break;
    		    					case 0:
    		    		            	npcMageDamage((int) (calculateMeleeMaxHit() * multiplier));
    		        					c.stop();
    		    					break;
    	    					}
    	    					timer--;
    	    				}
    	    			}, 600);
    	            	c.attackTimer = 5;
    	            }
    			break;
    			
    			case 1434: // mace
    			c.startAnimation(1060);
    			c.gfx100(251);
    			c.specMaxHitIncrease = 3;
    			c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase())+1;
    			c.specDamage = 1.35;
    			c.specAccuracy = 1.15;
    			break;
    			
    			case 859: // magic long
    			c.usingBow = true;
    			c.bowSpecShot = 3;
    			c.rangeItemUsed = c.playerEquipment[c.playerArrows];
    			c.getItems().deleteArrow();	
    			c.lastWeaponUsed = weapon;
    			c.startAnimation(426);
    			c.gfx100(250);	
    			c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    			c.projectileStage = 1;
    			if (c.fightMode == 2)
    				c.attackTimer--;
    			break;
    			
    			case 861: // magic short	
    			c.usingBow = true;			
    			c.bowSpecShot = 1;
    			c.rangeItemUsed = c.playerEquipment[c.playerArrows];
    			c.getItems().deleteArrow();	
    			c.lastWeaponUsed = weapon;
    			c.startAnimation(1074);
    			c.hitDelay = 3;
    			c.projectileStage = 1;
    			c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    			if (c.fightMode == 2)
    				c.attackTimer--;
    			if (c.playerIndex > 0)
    				fireProjectilePlayer();
    			else if (c.npcIndex > 0)
    				fireProjectileNpc();	
    			break;
    			
    			case 11235: // dark bow	
    			c.usingBow = true;
    			c.dbowSpec = true;
    			c.rangeItemUsed = c.playerEquipment[c.playerArrows];
    			c.getItems().deleteArrow();
    			c.getItems().deleteArrow();
    			c.lastWeaponUsed = weapon;
    			c.hitDelay = 3;
    			c.startAnimation(426);
    			c.projectileStage = 1;
    			c.gfx100(getRangeStartGFX());
    			c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    			if (c.fightMode == 2)
    				c.attackTimer--;
    			if (c.playerIndex > 0)
    				fireProjectilePlayer();
    			else if (c.npcIndex > 0)
    				fireProjectileNpc();
    			c.specAccuracy = 1.75;
    			c.specDamage = 1.50;
    			break;
    		}
    		if (!c.usingSpecial) {
    		    c.doubleHit = false;
    		    return;
    		}
    		c.delayedDamage = Misc.random(calculateMeleeMaxHit());
    		c.delayedDamage2 = Misc.random(calculateMeleeMaxHit());
    		c.usingSpecial = false;
    		c.getItems().updateSpecialBar();
    	}

    Quote Originally Posted by DownGrade View Post
    Don't let these no life creeps get to you, its always the same on here. They'd rather spend hours upon hours in the rune-server spam section then getting laid! ha ha!Its honestly pathetic i haven't seen so many lowlifes in my life its actually insane i wish that this section would just vanish its probably the only way to get these people out of the community...
    PLEASE BE AWARE OF IMPOSTERS MY DISCORD ID: 362240000760348683
    Reply With Quote  
     

  2. #2  
    Registered Member

    Join Date
    Mar 2011
    Posts
    1,226
    Thanks given
    245
    Thanks received
    475
    Rep Power
    294
    Quite obvious what the error says...

    Code:
    Server.playerHandler.players[i]
    Code:
    java.lang.ArrayIndexOutOfBoundsException: 2178
    Reply With Quote  
     

  3. #3  
    Registered Member
    Optimum's Avatar
    Join Date
    Apr 2012
    Posts
    3,570
    Thanks given
    871
    Thanks received
    1,745
    Rep Power
    5000
    Quote Originally Posted by TheLife View Post
    Quite obvious what the error says...

    Code:
    Server.playerHandler.players[i]
    Code:
    java.lang.ArrayIndexOutOfBoundsException: 2178
    help me then haha? its some monsters it happens with so what could the problem be?

    Quote Originally Posted by DownGrade View Post
    Don't let these no life creeps get to you, its always the same on here. They'd rather spend hours upon hours in the rune-server spam section then getting laid! ha ha!Its honestly pathetic i haven't seen so many lowlifes in my life its actually insane i wish that this section would just vanish its probably the only way to get these people out of the community...
    PLEASE BE AWARE OF IMPOSTERS MY DISCORD ID: 362240000760348683
    Reply With Quote  
     

  4. #4  
    Registered Member

    Join Date
    Mar 2011
    Posts
    1,226
    Thanks given
    245
    Thanks received
    475
    Rep Power
    294
    Replace it with this:
    Code:
    		if(c.playerIndex > 0 && Server.playerHandler.players[i] == null) {
    			return;
    		}
    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. Replies: 5
    Last Post: 01-28-2013, 02:53 AM
  2. Special attack error
    By Olem in forum Help
    Replies: 4
    Last Post: 05-09-2012, 01:20 AM
  3. special attack errors [Paying]
    By Your tits trololololol in forum Help
    Replies: 3
    Last Post: 02-19-2012, 01:43 AM
  4. Special Attack Error
    By Faris in forum Help
    Replies: 5
    Last Post: 08-02-2011, 04:33 PM
  5. Special attack error.
    By Mergim in forum Help
    Replies: 3
    Last Post: 12-27-2009, 10:29 AM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •