c.getItems().addItem(SUPER_RARE[Misc.random(SUPER_RARE.length)-1], 1);
|
Im trying to make this:
Load a random item out of this:Code:for (int id1 = 0; id1 < SUPER_RARE.length; id1++) c.getItems().addItem(SUPER_RARE[id1], 1); c.sendMessage("You now received a super rare."); return;
But it only gives me the id: 1036?Code:public final int[] SUPER_RARE = {1036,1038,1040,1042,1054,1044};
Can someone explain what I'm doing wrong please?
c.getItems().addItem(SUPER_RARE[Misc.random(SUPER_RARE.length)-1], 1);
gives me this every now and then:
line 43:Code:java.lang.ArrayIndexOutOfBoundsException: -1 [2012-07-11 06:18]: at server.model.players.DonatorBox.fetchItem(DonatorBox. java:43) [2012-07-11 06:18]: at server.model.players.DonatorBox.getPrice(DonatorBox.j ava:24) [2012-07-11 06:18]: at server.model.players.ActionHandler.firstClickObject(A ctionHandler.java:67) [2012-07-11 06:18]: at server.model.players.packets.ClickObject.processPacke t(ClickObject.java:219) [2012-07-11 06:18]: at server.model.players.PacketHandler.processPacket(Pack etHandler.java:100) [2012-07-11 06:18]: at server.model.players.Client.processQueuedPackets(Clie nt.java:1563) [2012-07-11 06:18]: at server.model.players.PlayerHandler.process(PlayerHand ler.java:172) [2012-07-11 06:18]: at server.Server.main(Server.java:147)
Code:c.getItems().addItem(RARE[Misc.random(RARE.length)-1], 1);
for (int id1 = 0; id1 < SUPER_RARE.length; id1++) {
c.getItems().addItem(SUPER_RARE[id1], 1);
c.sendMessage("You now received a super rare.");
}
c.getItems().addItem(RARE[Misc.random(RARE.length-1)], 1);
+ thisCode:public final int[] SUPER_RARE = {1036,1038,1040,1042,1054,1044};
Code:public int superRare() { return SUPER_RARE[ (int) (SUPER_RARE.math.random())]; }Code:c.getItems().addItem(superRare(), 1);
^ was typed up in quick reply, adjust it if I missed anything.
« Previous Thread | Next Thread » |
Thread Information |
Users Browsing this ThreadThere are currently 1 users browsing this thread. (0 members and 1 guests) |