Jump to content

Recommended Posts

Posted (edited)

nt9niPq.png
 

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 :

TyMkMkT.png

 

Code : Here

Edited by StinkyMadness
Added "Hide"
  • Like 8
  • Thanks 7
  • Sad 1
  • Upvote 4
Posted (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 by FrozenWarrior
  • Thanks 1
Posted
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 :dat:

Posted (edited)
4 minutes ago, FrozenWarrior said:

Yup that's true.

Just wanted to let you know :dat:


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 by StinkyMadness
  • 4 weeks later...
Posted
+   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?

Posted (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 by StinkyMadness
Posted
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.

Posted
+   public void ignored(Integer itemId)
+   {
+       if (_ignored.contains(itemId))
+           _ignored.remove(_ignored.indexOf(itemId));
+       else
+           _ignored.add(itemId);
+   }

Check this out.

Posted
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

Posted (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. :smile: 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 by Rootware
Posted
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. :smile: 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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



  • Posts

    • Lineage 2 Interlude Developer – Cliente + Datapack Hola, soy developer especializado en Lineage 2 Interlude con experiencia tanto en cliente como datapack/core. ✔ Desarrollo datapack (Java, scripts, quests, balance PvP/PvE) ✔ Fixes core / geodata / exploits ✔ Sistemas custom (events, Olympiad, instancias, mods PvP) ✔ Cliente: interface mods, system patches, .dat edits, UI personalizada ✔ Optimización y estabilidad de servidor ✔ Trabajo freelance o colaboración fija Si necesitáis soporte dev o mejoras para vuestro servidor Interlude, podéis contactarme por DM. Portfolio y ejemplos disponibles bajo petición.
    • THEY DON’T COME BACK FOR NO REASON. HERE’S WHY Our clients come from different countries and with very different tasks. But the strongest indicator of quality is simple — when a client comes back **for a second time**. This case is exactly that. The client returned with a request for a **German ID**. The requirement was clear: a document **in a male hand**, with a natural live scene and correct geographic context. What we did: ▪ accepted source files and data without unnecessary bureaucracy ▪ selected a **real street**, not a generic background ▪ built a print-ready mockup with correct scene logic ▪ sent it for approval ▪ after confirmation, delivered the **final file for printing** No templates. No “good enough”. Only solutions tailored to a specific task. Result: ▪ mockup approved on the first try ▪ client fully satisfied ▪ stays in touch We work **worldwide** — and that’s exactly why clients return. Contact us › TG: @mustang_service ( https:// t.me/ mustang_service ) › Channel: Mustang Service ( https:// t.me/ +6RAKokIn5ItmYjEx ) *All data is published with the client’s consent.* #redraw #verification #documents #case #ID
    • Lineage 2 Interlude Developer – Cliente + Datapack Hola, soy developer especializado en Lineage 2 Interlude con experiencia tanto en cliente como datapack/core. ✔ Desarrollo datapack (Java, scripts, quests, balance PvP/PvE) ✔ Fixes core / geodata / exploits ✔ Sistemas custom (events, Olympiad, instancias, mods PvP) ✔ Cliente: interface mods, system patches, .dat edits, UI personalizada ✔ Optimización y estabilidad de servidor ✔ Trabajo freelance o colaboración fija Si necesitáis soporte dev o mejoras para vuestro servidor Interlude, podéis contactarme por DM. Portfolio y ejemplos disponibles bajo petición.
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..