StinkyMadness Posted June 11, 2019 Posted June 11, 2019 (edited) Hello, cheaters. - Nothing really new or unique, an simple panel that create list with pages for the droplist of Monster/Raidboss. - Simple addon : Player can choose to avoid specific item from the droplist. - Code not include part of "item.getIcon()" you can find many shared ways to get icon for each item. Preview : Code : Here Edited July 7, 2021 by StinkyMadness Added "Hide" 8 7 1 4 Quote
FrozenWarrior Posted June 11, 2019 Posted June 11, 2019 (edited) Good work Stinky this is very nice and clean! Drop rate of bosses seem to change based on normal drop rate tho and not boss drop rate. PS : Would love if there was quantity included but I still like it! Thank you! Edited June 11, 2019 by FrozenWarrior 1 Quote
StinkyMadness Posted June 11, 2019 Author Posted June 11, 2019 (edited) Quantity it’s 1 String everyone can add it I guess. Also about raidboss you right, but not a big deal to fix it :P Edited June 11, 2019 by StinkyMadness Quote
FrozenWarrior Posted June 11, 2019 Posted June 11, 2019 38 minutes ago, StinkyMadness said: Quantity it’s 1 String everyone can add it I guess. Also about raidboss you right, but not a big deal to fix it :P Yup that's true. Just wanted to let you know Quote
StinkyMadness Posted June 11, 2019 Author Posted June 11, 2019 (edited) 4 minutes ago, FrozenWarrior said: Yup that's true. Just wanted to let you know Your update :P -double chance = (drop.getItemId() == 57 ? drop.getChance() * Config.RATE_DROP_ADENA : drop.getChance() * Config.RATE_DROP_ITEMS) / 10000; +double chance = (npc.isType("RaidBoss") || npc.isType("GrandBoss") ? drop.getChance() * Config.RATE_DROP_ITEMS_BY_RAID : drop.getItemId() == 57 ? drop.getChance() * Config.RATE_DROP_ADENA : drop.getChance() * Config.RATE_DROP_ITEMS) / 10000; Edited June 11, 2019 by StinkyMadness Quote
xDreyar Posted July 5, 2019 Posted July 5, 2019 how do i use this so that i can see that inside the l2 game, and does it work on classic nc soft? Quote
V-Ray Posted July 6, 2019 Posted July 6, 2019 + public void ignored(Integer itemId) + { + if (_ignored.contains(itemId)) + _ignored.remove(itemId); + else + _ignored.add(itemId); + } Integer as parameter and why this? Is there some null check or so? Quote
StinkyMadness Posted July 6, 2019 Author Posted July 6, 2019 (edited) On 7/6/2019 at 12:44 PM, V-Ray said: ... Integer as parameter and why this? Is there some null check or so? null check for what, how can be null when you select the item ID from existing list? There are too way to remove an element from ArrayList. 1. By using remove() methods : ArrayList provides two overloaded remove() method. a. remove(int index) : Accept index of object to be removed. b. remove(Obejct obj) : Accept object to be removed. Edited August 28, 2019 by StinkyMadness Quote
Tryskell Posted July 6, 2019 Posted July 6, 2019 11 hours ago, V-Ray said: + public void ignored(Integer itemId) + { + if (_ignored.contains(itemId)) + _ignored.remove(itemId); + else + _ignored.add(itemId); + } Integer as parameter and why this? Is there some null check or so? Java remove(int) drops by the index, not the stored value. If you .remove(636) on a Java List, you delete the 636th element of your List, going IOOBE if your List hasn't enough elements. To delete the integer 636 stored into your list, you have to pass it as Integer object. Quote
Rootware Posted July 6, 2019 Posted July 6, 2019 + public void ignored(Integer itemId) + { + if (_ignored.contains(itemId)) + _ignored.remove(_ignored.indexOf(itemId)); + else + _ignored.add(itemId); + } Check this out. Quote
StinkyMadness Posted July 6, 2019 Author Posted July 6, 2019 16 minutes ago, Rootware said: Check this out. + public void ignored(int itemId) + { + if (_ignored.contains(itemId)) + _ignored.remove(Integer.valueOf(itemId)); + else + _ignored.add(itemId); + } You mean :P as my sensei told me Quote
Rootware Posted July 6, 2019 Posted July 6, 2019 (edited) @StinkyMadness you don't understood one little thing. ArrayList in Java as Integer means index of array. You tries get index by itemId. Need get array index by object first and after remove the object by taken index. If i'm not mistaken i sent you the same code in Skype. I don't see the better way. https://stackoverflow.com/questions/8520808/how-to-remove-specific-object-from-arraylist-in-java public class Test { private static List<Integer> _ignored = new ArrayList<>(); public static void main(String[] args) { for (int i = 0; i < 10; i++) ignored(57); } public static void ignored(int itemId) { if (_ignored.contains(itemId)) System.out.println("Try to remove " + _ignored.remove(_ignored.indexOf(itemId))); else { _ignored.add(itemId); System.out.println("Try to add " + itemId); } } } Edited July 6, 2019 by Rootware Quote
Tryskell Posted July 6, 2019 Posted July 6, 2019 11 minutes ago, Rootware said: @StinkyMadness you don't understood one little thing. ArrayList in Java as Integer means index of array. You tries get index by itemId. Need get array index by object first and after remove the object by taken index. If i'm not mistaken i sent you the same code in Skype. I don't see the better way. https://stackoverflow.com/questions/8520808/how-to-remove-specific-object-from-arraylist-in-java public class Test { private static List<Integer> _ignored = new ArrayList<>(); public static void main(String[] args) { for (int i = 0; i < 10; i++) ignored(57); } public static void ignored(int itemId) { if (_ignored.contains(itemId)) System.out.println("Try to remove " + _ignored.remove(_ignored.indexOf(itemId))); else { _ignored.add(itemId); System.out.println("Try to add " + itemId); } } } remove(Integer.valueOf( is normally more correct. Quote
Rootware Posted July 6, 2019 Posted July 6, 2019 @Tryskell my example works correct. I get index first and after remove object from ArrayList by him index. What's wrong? All follows Eclipse documentation. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.