Jump to content
  • 0

Raidboss Status Community


0flee

Question

Hello, how i can fix this method for raidbosses to be visible on alt+b?
In game it display just first raidboss status.
https://ibb.co/5K3bRhy
Code it's here 
 

else if (command.equals("_bbsraidstatus"))
		{
			//@formatter:off
			int[] BOSSES =
			{
				29001, // Queen Ant
				29006, // Core
				29014, // Orfen
				29068, // Antharas
				29020, // Baium
				//29022, // Zaken
				29028, // Valakas
				29118  // Beleth
			};
			//@formatter:on
			SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
			final StringBuilder replyMSG = new StringBuilder("<html><body><center>");
			replyMSG.append("<img src=\"L2UI_CH3.herotower_deco\" width=258 height=32><br>");
			replyMSG.append("<font color=\"LEVEL\">Grand Boss Status & Respawn Time:</font><br><br><br>");
			for (int boss : BOSSES)
			{
				String name = NpcData.getInstance().getTemplate(boss).getName();
				StatSet stats = GrandBossManager.getInstance().getStatSet(boss);
				long delay = 0;
				if (stats == null)
				{
					replyMSG.append("Stats for GrandBoss " + boss + " not found!<br>");
					continue;
				}
				delay = stats.getLong("respawn_time");
				long currentTime = System.currentTimeMillis();
				if (delay <= currentTime)
				{
					replyMSG.append("" + name + " is <font color=\"00FF00\">Alive</font><br>");
				}
				else
				{
					replyMSG.append("(" + name + ") is <font color=\"FF0000\">Dead</font> <font color=\"FF9900\">( " + sdf.format(new Date(delay)) + " )</font><br>");
				}
				replyMSG.append("<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32>");
				replyMSG.append("</center></body></html>");
			}
			
			CommunityBoardHandler.separateAndSend(replyMSG.toString(), player);
			return true;
		}

I need help. Greetings!

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

First of all drop this 

 

//@formatter:off
int[] BOSSES =
{
	29001, // Queen Ant
	29006, // Core
	29014, // Orfen
	29068, // Antharas
	29020, // Baium
	//29022, // Zaken
	29028, // Valakas
	29118  // Beleth
};
//@formatter:on

 

and make it outside the method as a static field and convert it to 

 

Java 7

 

private static final List<Integer> BOSSES = Arrays.asList(1, 2, 3);

 

Java 11+

 

private static final List<Integer> BOSSES = List.of(1, 2, 3);

 

Now regarding your problem, this:

 

replyMSG.append("</center></body></html>");

 

shouldn't exist in for cause it terminate the html. It should be outside for. Basic html structure. 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...