Thread: ArrayIndexOutOfBounds :(

Results 1 to 4 of 4
  1. #1 ArrayIndexOutOfBounds :( 
    Registered Member
    Join Date
    May 2012
    Posts
    518
    Thanks given
    43
    Thanks received
    13
    Rep Power
    14
    I have an ArrayIndexOutOfBounds error for my slayer .. can anyone fix it?
    [SPOIL][1/22/13 3:51 PM]: java.lang.ArrayIndexOutOfBoundsException: 12
    [1/22/13 3:51 PM]: at server.model.players.skills.Slayer.giveTask(Slayer .ja
    va:74)
    [1/22/13 3:51 PM]: at server.model.players.skills.Slayer.assignNewTask(S lay
    er.java:41)
    [1/22/13 3:51 PM]: at server.model.players.packets.ClickingButtons.proce ssP
    acket(ClickingButtons.java:904)
    [1/22/13 3:51 PM]: at server.model.players.PacketHandler.processPacket(P ack
    etHandler.java:138)
    [1/22/13 3:51 PM]: at server.model.players.Client.processQueuedPackets(C lie
    nt.java:1209)
    [1/22/13 3:51 PM]: at server.model.players.PlayerHandler.process(PlayerH and
    ler.java:137)
    [1/22/13 3:51 PM]: at server.Server$4.execute(Server.java:144)
    [1/22/13 3:51 PM]: at server.task.Task.run(Task.java:109)
    [1/22/13 3:51 PM]: at java.util.concurrent.Executors$RunnableAdapter.cal l(U
    nknown Source)
    [1/22/13 3:51 PM]: at java.util.concurrent.FutureTask$Sync.innerRunAndRe set
    (Unknown Source)
    [1/22/13 3:51 PM]: at java.util.concurrent.FutureTask.runAndReset(Unknow n S
    ource)
    [1/22/13 3:51 PM]: at java.util.concurrent.ScheduledThreadPoolExecutor$S che
    duledFutureTask.access$101(Unknown Source)
    [1/22/13 3:51 PM]: at java.util.concurrent.ScheduledThreadPoolExecutor$S che
    duledFutureTask.runPeriodic(Unknown Source)
    [1/22/13 3:51 PM]: at java.util.concurrent.ScheduledThreadPoolExecutor$S che
    duledFutureTask.run(Unknown Source)
    [1/22/13 3:51 PM]: at java.util.concurrent.ThreadPoolExecutor$Worker.run Tas
    k(Unknown Source)
    [1/22/13 3:51 PM]: at java.util.concurrent.ThreadPoolExecutor$Worker.run (Un
    known Source)
    [1/22/13 3:51 PM]: at java.lang.Thread.run(Unknown Source)[/SPOIL]

    here is my slayer.java
    [SPOIL]package server.model.players.skills;

    import server.Config;
    import server.Server;
    import server.model.players.Client;
    import server.util.Misc;

    /**
    * Slayer.java
    *
    * @author Russian
    **/

    public class Slayer {

    public static final int[] lowTasks = {1648, 1612, 117, 1265, 103, 78, 119, 18,101,1265,181};
    public static final int[] medTasks = {1643,1618,941,119,82,52,1612,117,1265,112,125,134 1};
    public static final int[] highTasks = {1624,1610,1613,1615,55,84,49,1618,941,82,2783,134 1};
    public static final int[][] slayerTasks = {{1648, 5}, {1612, 15}, {1643, 45}, {1618, 50}, {1624, 65}, {1610, 75}, {1613, 80}, {1615, 85}, {2783, 90}};

    public static void currentTask(Client c) {
    c.sendMessage("You have " + c.taskAmount + " " + Server.npcHandler.getNpcListName(c.slayerTask) + "'s left to kill.");
    c.sendMessage("You currently have " + c.slayerPoints + " slayer points.");
    c.getPA().removeAllWindows();
    }
    public static void assignNewTask(Client c) {
    c.getPA().removeAllWindows();
    if (Misc.random(4) == 0) {
    for (int[] slayerTask : slayerTasks) {
    if (slayerTask[1] <= c.playerLevel[c.playerSlayer]) {
    setTask(c, slayerTask[0], "a slayer");
    return;
    }
    }
    }
    if (c.playerLevel[c.playerSlayer] < 25) {
    giveTask(c, 1);
    } else if (c.playerLevel[c.playerSlayer] < 60) {
    giveTask(c, 2);
    } else {
    giveTask(c, 3);
    }
    }

    public static void assignEasierTask(Client c) {
    c.getPA().removeAllWindows();
    for (int highTask : highTasks) {
    if (highTask == c.slayerTask) {
    giveTask(c, 2);
    return;
    }
    }
    for (int medTask : medTasks) {
    if (medTask == c.slayerTask) {
    giveTask(c, 1);
    return;
    }
    }
    c.sendMessage("You already have an easy task... to kill " + c.taskAmount + " " + Server.npcHandler.getNpcListName(c.slayerTask) + ".");
    }

    public static void giveTask(Client c, int taskLevel) {
    int given = 0;
    String task = "an easy-level";
    switch (taskLevel) {
    case 1 :
    given = lowTasks[Misc.random2(lowTasks.length)];
    break;
    case 2 :
    given = medTasks[Misc.random2(medTasks.length)];
    task = "a medium-level";
    break;
    case 3 :
    given = highTasks[Misc.random2(highTasks.length)];
    task = "a hard-level";
    break;
    }
    if(CheckReq(c, given))
    setTask(c, given, task);
    else
    giveTask(c, taskLevel);
    }
    public static boolean CheckReq(Client c, int task) {
    int havetocheck = 0;
    int npc = 0;
    for(int i = 0; i < slayerTasks.length; i++) {
    if(task == slayerTasks[i][0]) {
    havetocheck = 1;
    npc = i;
    }
    }
    if(havetocheck == 1)
    if(c.playerLevel[c.playerSlayer] >= slayerTasks[npc][1])
    return true;
    else
    return false;
    return true;
    }
    public static void setTask(Client c, int given, String task) {
    if (given < 1) {
    return;
    }
    c.slayerTask = given;
    c.taskAmount = Misc.random(35) + 15;
    c.sendMessage("You have been assigned " + task + " task to kill " + c.taskAmount + " " + Server.npcHandler.getNpcListName(given) + ".");
    }

    public static void checkTask(Client c) {
    c.getPA().removeAllWindows();
    if (c.slayerTask < 1) {
    c.sendMessage("You don't have any task at this moment.");
    return;
    }
    String task = "a slayer";
    for (int lowTask : lowTasks) {
    if (lowTask == c.slayerTask) {
    task = "an easy-level";
    break;
    }
    }
    for (int medTask : medTasks) {
    if (medTask == c.slayerTask) {
    task = "a medium-level";
    break;
    }
    }
    for (int highTask : highTasks) {
    if (highTask == c.slayerTask) {
    task = "a high-level";
    break;
    }
    }
    c.sendMessage("You have " + task + " task to kill " + c.taskAmount + " " + Server.npcHandler.getNpcListName(c.slayerTask) + ".");
    }

    public static boolean slayerTask(Client c, int npcType) {
    if (c.slayerTask == npcType) {
    return true;
    }
    int[][][] multiTasks = {{{3223, 3224, 3225, 3226}, {6006}}, {{1880, 1881, 1882, 1883, 1884, 1885}, {1880}}, {{1964}, {1962}}};
    for (int[][] multiTask : multiTasks) {
    if (c.slayerTask == multiTask[1][0]) {
    for (int p = 0; p < multiTask[0].length; p++) {
    if (npcType == multiTask[0][p]) {
    return true;
    }
    }
    }
    }
    return false;
    }

    }[/SPOIL]

    and here is line 74-77:
    [SPOIL] given = highTasks[Misc.random2(highTasks.length)];
    task = "a hard-level";
    break;
    }[/SPOIL]
    please help (:
    OFFERING GOOD SERVICES!
    http://www.rune-server.org/market/vi...aces-more.html
    Spoiler for My Vouches:
    Quote Originally Posted by Collin2234 View Post
    Vouch! He did my webclient, great work and a nice guy! Thanks.
    Quote Originally Posted by Clevv View Post
    Vouch for this guy. He went first. Well trusted and a nice guy.
    Quote Originally Posted by x25xquinton View Post
    VOUCH- He basically made my summoning interface for me, summoning tab witchever. Payed and went smooth.
    Reply With Quote  
     

  2. #2  
    plz dont take my wizard mind bombs Women's Avatar
    Join Date
    Mar 2010
    Posts
    1,881
    Thanks given
    724
    Thanks received
    1,162
    Rep Power
    4763
    given = highTasks[Misc.random2(highTasks.length - 1)];

    loaep.
    Reply With Quote  
     

  3. Thankful user:


  4. #3  
    Registered Member
    Join Date
    May 2012
    Posts
    518
    Thanks given
    43
    Thanks received
    13
    Rep Power
    14
    Quote Originally Posted by Women View Post
    given = highTasks[Misc.random2(highTasks.length - 1)];

    loaep.
    I tried this, it compiled, and i think it worked. Thanked
    OFFERING GOOD SERVICES!
    http://www.rune-server.org/market/vi...aces-more.html
    Spoiler for My Vouches:
    Quote Originally Posted by Collin2234 View Post
    Vouch! He did my webclient, great work and a nice guy! Thanks.
    Quote Originally Posted by Clevv View Post
    Vouch for this guy. He went first. Well trusted and a nice guy.
    Quote Originally Posted by x25xquinton View Post
    VOUCH- He basically made my summoning interface for me, summoning tab witchever. Payed and went smooth.
    Reply With Quote  
     

  5. #4  
    Registered Member
    TheChosenOne's Avatar
    Join Date
    Jan 2013
    Posts
    967
    Thanks given
    47
    Thanks received
    161
    Rep Power
    366
    Then your Misc.random2(int) method should be wrong. Or you didn't recompile.
    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

Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •