I've just created an attack base (based from cheezscape), and when i attack the other player, i get this in the client dialouge box
Code:
Exception in thread "Thread-4" java.lang.ArrayIndexOutOfBoundsException: 255
at client.method34(client.java:1472)
at client.method146(client.java:12009)
at client.method102(client.java:7871)
at client.method9(client.java:8743)
at Applet_Sub1.run(Applet_Sub1.java:126)
at client.run(client.java:4545)
at java.lang.Thread.run(Unknown Source)
My method:
Code:
public boolean Attack() {
int EnemyX = PlayerHandler.players[AttackingOn].absX;
int EnemyY = PlayerHandler.players[AttackingOn].absY;
int EnemyHP = PlayerHandler.players[AttackingOn].playerLevel[playerHitpoints];
int EnemyHPExp = PlayerHandler.players[AttackingOn].playerXP[playerHitpoints];
client p = (client) server.playerHandler.players[AttackingOn];
client AttackingOn2 = (client) server.playerHandler.players[AttackingOn];
faceNPC(32768+AttackingOn);
CheckBestBonus();
CalculateMaxHit();
int wepdelay = 0;
int hitDiff = misc.random(playerMaxHit);
int hitDiff2 = 0;
if (GoodDistance(EnemyX, EnemyY, absX, absY, 1) == true) {
if (LoopAttDelay <= 1) {
if (LoopHitDelay <= 1){
if (PlayerHandler.players[AttackingOn].IsDead == true) {
ResetAttack();
} else
actionAmount++;
setAnimation(GetWepAnim(playerEquipment[playerWeapon]));
if(playerMaxHit <= 0){
playerMaxHit = 1;
}
if(AttackingOn2.IsAttacking == false && misc.random(1) == 1) {
AttackingOn2.startAnimation(AttackingOn2.GetBlockAnim());
}
if(playerEquipment[playerWeapon] == -1) { //no weapons hands
LoopHitDelay = 6;
}
if(!UseBow){
if ((EnemyHP - hitDiff < 0)) {
hitDiff2 = EnemyHP;
GotKill = true;
ResetAttack();
} else
hitDiff2 = hitDiff;
}
PlayerHandler.players[AttackingOn].hitDiff = hitDiff2;
PlayerHandler.players[AttackingOn].hitUpdateRequired = true;
PlayerHandler.players[AttackingOn].updateRequired = true;
PlayerHandler.players[AttackingOn].appearanceUpdateRequired = true;
p.KillerId = playerId;
if(!UseBow){
double TotalExp = 0;
if (FightType != 3) {
TotalExp = (double)(500 * hitDiff2);
TotalExp = (double)(TotalExp * CombatExpRate);
addSkillXP((int)(TotalExp), SkillID);
} else {
TotalExp = (double)(500 * hitDiff2);
TotalExp = (double)(TotalExp * CombatExpRate);
addSkillXP((int)(TotalExp), playerAttack);
addSkillXP((int)(TotalExp), playerDefence);
addSkillXP((int)(TotalExp), playerStrength);
}
TotalExp = (double)(500 * hitDiff2);
TotalExp = (double)(TotalExp * CombatExpRate);
addSkillXP((int)(TotalExp), playerHitpoints);
}
actionTimer = 4;
}
}
}
return false;
}
No errors.