Jump to content
  • 0

Raidboss Status Community


Question

Posted

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!

3 answers to this question

Recommended Posts

  • 0
Posted

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. 

Guest
This topic is now closed to further replies.
×
×
  • Create New...