Jump to content
  • 0

Raid Manager


Question

Posted (edited)

when i spawn 93000 raid info Raid Manager

it says

i will show all epic bosses info's you need 

When i press on the Button -> Epics Info's <-

nothing happens nothing shows up. nothing pops up.

any fixes ?

 

 

 

L2Jfrozen pack

Edited by ozan

11 answers to this question

Recommended Posts

  • 0
Posted

probably something wrong with html's bypasses

 

any gs console error occured?

 

No Errors

 

 

NPC ID must be between: 1 - 65535.

 

i did not create this npc its official from frozen so but i will try ur idea 

  • 0
Posted

No Errors

 

 

 

i did not create this npc its official from frozen so but i will try ur idea 

Well then post the instance of the npc so we can see what's wrong. (model/actor/instance, there should be a java file name smth like L2RaidInfoManagerInstance)

  • 0
Posted (edited)
 

Well then post the instance of the npc so we can see what's wrong. (model/actor/instance, there should be a java file name smth like L2RaidInfoManagerInstance)

 

 

 

L2GrandBossInstance.java

 

 

/*
 * L2jFrozen Project - www.l2jfrozen.com 
 * 
 * This program is free software: you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later
 * version.
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 * details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * this program. If not, see <http://www.gnu.org/licenses/>.
 */
package com.l2jfrozen.gameserver.model.actor.instance;
 
import com.l2jfrozen.Config;
import com.l2jfrozen.gameserver.managers.GrandBossManager;
import com.l2jfrozen.gameserver.managers.RaidBossPointsManager;
import com.l2jfrozen.gameserver.model.L2Character;
import com.l2jfrozen.gameserver.model.L2Summon;
import com.l2jfrozen.gameserver.model.spawn.L2Spawn;
import com.l2jfrozen.gameserver.network.SystemMessageId;
import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage;
import com.l2jfrozen.gameserver.templates.L2NpcTemplate;
import com.l2jfrozen.gameserver.thread.ThreadPoolManager;
import com.l2jfrozen.util.random.Rnd;
 
/**
 * This class manages all Grand Bosses.
 * @version $Revision: 1.0.0.0 $ $Date: 2006/06/16 $
 */
public final class L2GrandBossInstance extends L2MonsterInstance
{
private static final int BOSS_MAINTENANCE_INTERVAL = 20000;
 
/**
* Constructor for L2GrandBossInstance. This represent all grandbosses.
* @param objectId ID of the instance
* @param template L2NpcTemplate of the instance
*/
public L2GrandBossInstance(final int objectId, final L2NpcTemplate template)
{
super(objectId, template);
}
 
@Override
protected int getMaintenanceInterval()
{
return BOSS_MAINTENANCE_INTERVAL;
}
 
@Override
public boolean doDie(final L2Character killer)
{
if (!super.doDie(killer))
return false;
 
L2PcInstance player = null;
 
if (killer instanceof L2PcInstance)
player = (L2PcInstance) killer;
else if (killer instanceof L2Summon)
player = ((L2Summon) killer).getOwner();
 
if (player != null)
{
SystemMessage msg = new SystemMessage(SystemMessageId.RAID_WAS_SUCCESSFUL);
broadcastPacket(msg);
msg = null;
if (player.getParty() != null)
{
for (final L2PcInstance member : player.getParty().getPartyMembers())
{
RaidBossPointsManager.addPoints(member, getNpcId(), (getLevel() / 2) + Rnd.get(-5, 5));
}
}
else
RaidBossPointsManager.addPoints(player, getNpcId(), (getLevel() / 2) + Rnd.get(-5, 5));
}
return true;
}
 
@Override
public void onSpawn()
{
super.onSpawn();
if (!this.getSpawn().is_customBossInstance())
GrandBossManager.getInstance().addBoss(this);
}
 
@Override
protected void manageMinions()
{
_minionList.spawnMinions();
_minionMaintainTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new Runnable()
{
@Override
public void run()
{
// Teleport raid boss home if it's too far from home location
final L2Spawn bossSpawn = getSpawn();
 
int rb_lock_range = Config.RBLOCKRAGE;
if (Config.RBS_SPECIFIC_LOCK_RAGE.get(bossSpawn.getNpcid()) != null)
{
rb_lock_range = Config.RBS_SPECIFIC_LOCK_RAGE.get(bossSpawn.getNpcid());
}
 
if (rb_lock_range >= 100 && !isInsideRadius(bossSpawn.getLocx(), bossSpawn.getLocy(), bossSpawn.getLocz(), rb_lock_range, true, false))
{
teleToLocation(bossSpawn.getLocx(), bossSpawn.getLocy(), bossSpawn.getLocz(), true);
// healFull(); // Prevents minor exploiting with it
}
 
_minionList.maintainMinions();
}
}, 60000, getMaintenanceInterval());
}
 
@Override
public boolean isRaid()
{
return true;
}
 
public void healFull()
{
super.setCurrentHp(super.getMaxHp());
super.setCurrentMp(super.getMaxMp());
}
}
Edited by SweeTs
  • 0
Posted (edited)

 

 
 

 

 

L2GrandBossInstance.java

/*
 * L2jFrozen Project - www.l2jfrozen.com 
 * 
 * This program is free software: you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later
 * version.
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 * details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * this program. If not, see <http://www.gnu.org/licenses/>.
 */
package com.l2jfrozen.gameserver.model.actor.instance;
 
import com.l2jfrozen.Config;
import com.l2jfrozen.gameserver.managers.GrandBossManager;
import com.l2jfrozen.gameserver.managers.RaidBossPointsManager;
import com.l2jfrozen.gameserver.model.L2Character;
import com.l2jfrozen.gameserver.model.L2Summon;
import com.l2jfrozen.gameserver.model.spawn.L2Spawn;
import com.l2jfrozen.gameserver.network.SystemMessageId;
import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage;
import com.l2jfrozen.gameserver.templates.L2NpcTemplate;
import com.l2jfrozen.gameserver.thread.ThreadPoolManager;
import com.l2jfrozen.util.random.Rnd;
 
/**
 * This class manages all Grand Bosses.
 * @version $Revision: 1.0.0.0 $ $Date: 2006/06/16 $
 */
public final class L2GrandBossInstance extends L2MonsterInstance
{
private static final int BOSS_MAINTENANCE_INTERVAL = 20000;
 
/**
* Constructor for L2GrandBossInstance. This represent all grandbosses.
* @param objectId ID of the instance
* @param template L2NpcTemplate of the instance
*/
public L2GrandBossInstance(final int objectId, final L2NpcTemplate template)
{
super(objectId, template);
}
 
@Override
protected int getMaintenanceInterval()
{
return BOSS_MAINTENANCE_INTERVAL;
}
 
@Override
public boolean doDie(final L2Character killer)
{
if (!super.doDie(killer))
return false;
 
L2PcInstance player = null;
 
if (killer instanceof L2PcInstance)
player = (L2PcInstance) killer;
else if (killer instanceof L2Summon)
player = ((L2Summon) killer).getOwner();
 
if (player != null)
{
SystemMessage msg = new SystemMessage(SystemMessageId.RAID_WAS_SUCCESSFUL);
broadcastPacket(msg);
msg = null;
if (player.getParty() != null)
{
for (final L2PcInstance member : player.getParty().getPartyMembers())
{
RaidBossPointsManager.addPoints(member, getNpcId(), (getLevel() / 2) + Rnd.get(-5, 5));
}
}
else
RaidBossPointsManager.addPoints(player, getNpcId(), (getLevel() / 2) + Rnd.get(-5, 5));
}
return true;
}
 
@Override
public void onSpawn()
{
super.onSpawn();
if (!this.getSpawn().is_customBossInstance())
GrandBossManager.getInstance().addBoss(this);
}
 
@Override
protected void manageMinions()
{
_minionList.spawnMinions();
_minionMaintainTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new Runnable()
{
@Override
public void run()
{
// Teleport raid boss home if it's too far from home location
final L2Spawn bossSpawn = getSpawn();
 
int rb_lock_range = Config.RBLOCKRAGE;
if (Config.RBS_SPECIFIC_LOCK_RAGE.get(bossSpawn.getNpcid()) != null)
{
rb_lock_range = Config.RBS_SPECIFIC_LOCK_RAGE.get(bossSpawn.getNpcid());
}
 
if (rb_lock_range >= 100 && !isInsideRadius(bossSpawn.getLocx(), bossSpawn.getLocy(), bossSpawn.getLocz(), rb_lock_range, true, false))
{
teleToLocation(bossSpawn.getLocx(), bossSpawn.getLocy(), bossSpawn.getLocz(), true);
// healFull(); // Prevents minor exploiting with it
}
 
_minionList.maintainMinions();
}
}, 60000, getMaintenanceInterval());
}
 
@Override
public boolean isRaid()
{
return true;
}
 
public void healFull()
{
super.setCurrentHp(super.getMaxHp());
super.setCurrentMp(super.getMaxMp());
}
}

I don't get this, it should extends L2NpcInstance no L2MonsterInstance normaly in the code we could see

@override

public onByPassFeedback    

 

but in this code i dont see anything like this.

Why you just dont google and find 1 grandboss manager? its really easy Npc.. this seem really wrong.. 

 

Well here an example 

public class L2GrandBossManagerInstance extends L2Npc
{
	private static final int[] BOSSES =
	{
		29001, 29006, 29014, 29019, 29020, 29022, 29028, 29045
	};
	
	public L2GrandBossManagerInstance(int objectId, L2NpcTemplate template)
	{
		super(objectId, template);
	}
	
	@Override
	public void onAction(L2PcInstance player)
	{
		if (!canTarget(player)) {
			return;
		}
		
		if (this != player.getTarget())
		{
			player.setTarget(this);
			
			player.sendPacket(new MyTargetSelected(getObjectId(), 0));
			
			player.sendPacket(new ValidateLocation(this));
		}
		else if (!canInteract(player))
		{
			player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this);
		}
		else
		{
			showHtmlWindow(player);
		}
		
		player.sendPacket(new ActionFailed());
	}
	
	private void showHtmlWindow(L2PcInstance activeChar)
	{
		showRbInfo(activeChar);
		
		activeChar.sendPacket(new ActionFailed());
	}
	
	private final void showRbInfo(L2PcInstance player)
	{
		NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
		TextBuilder tb = new TextBuilder();
		tb.append("<html><title>Chat</title><body><br>");
		tb.append("<br>");
    	tb.append("<font color=0174DF>Grand Boss Info:</font>");
    	tb.append("<center>");
    	tb.append("<img src=L2UI.SquareWhite width=280 height=1><br>");
    	tb.append("</center>");
    	tb.append("<br>");
    	tb.append("<center>");
    	tb.append("<table width = 280>");
		for(int boss : BOSSES )
		{
			String name = NpcTable.getInstance().getTemplate(boss).getName();
			long delay = GrandBossManager.getInstance().getStatsSet(boss).getLong("respawn_time");
			if (delay <= System.currentTimeMillis())
			{
				tb.append("<tr>");
				tb.append("<td><font color=\"FA5858\">" + name + "</color>:</td> " + "<td><font color=\"00BFFF\">Is Alive</color></td>"+"<br1>");
				tb.append("</tr>");
			}
			else
			{
				int hours = (int) ((delay - System.currentTimeMillis()) / 1000 / 60 / 60);
				int mins = (int) (((delay - (hours * 60 * 60 * 1000)) - System.currentTimeMillis()) / 1000 / 60);
				int seconts = (int) (((delay - ((hours * 60 * 60 * 1000) + (mins * 60 * 1000))) - System.currentTimeMillis()) / 1000);
				tb.append("<tr>");
				tb.append("<td><font color=\"FA5858\">" + name + "</color></td>" + "<td><font color=\"00BFFF\">" +" " + "Respawn in :</color></td>" + " " + "<td><font color=\"00BFFF\">" + hours + " : " + mins + " : " + seconts + "</color></td><br1>");
				tb.append("</tr>");
			}
		}
		tb.append("</table>");
		tb.append("</center>");
		tb.append("<br><center>");
    	tb.append("<br><img src=L2UI.SquareWhite width=280 height=1><br>");
    	tb.append("<td><button value=\"Back\" action=\"bypass -h npc_%objectId%_Chat_service/services.htm\" width=134 height=21 back=\"L2UI_ch3.BigButton3_over\" fore=\"L2UI_ch3.BigButton3\"></td>");
    	tb.append("</center>");
    	tb.append("</body></html>");
    	html.setHtml(tb.toString());
		html.replace("%objectId%", String.valueOf(getObjectId()));
		player.sendPacket(html);
	}
}

Try this and report. Also you can change the private static final int[] BOSSES =

into an int Array[] configuration and seperate them with ,  so you can add config of what bosses you want

and no need compile every time... 

Edited by AccessDenied
Guest
This topic is now closed to further replies.


  • Posts

    • With EA Sports FC 27 officially announced, many players are hoping to get their hands on a coveted Closed Beta code. The FC 27 beta gives fans an early opportunity to test new gameplay features, modes, and updates before the game's full release. Ultimate Team is expected to be one of the most anticipated modes, giving players an early look at the in-game economy and how valuable FIFA 27 coins may be at launch. While there's no guaranteed way to receive a beta invitation, there are several steps you can take to maximize your chances. These methods have helped many players receive beta codes in previous years, and they're still the best options heading into FC 27.     1. Enable EA Email Communications The first and most important step is to make sure EA can actually contact you. Log in to your EA account and head to Communication Preferences. Here, you'll find options related to emails about products, events, and promotions. Make sure to: • Turn on promotional emails. • Set email frequency to "Any Time" instead of monthly updates. • Save your changes. EA typically sends Closed Beta invitations via email, so if these settings are disabled, you could miss your chance entirely.   2. Add FC Games to Your Favorite Titles Under your EA account preferences, you'll find a section for favorite games. Add any football-related EA titles you play, including: • EA Sports FC 26 • EA Sports FC 27 (if available) • EA Play • Other EA football games This helps EA understand your interests and may improve your chances of being selected for football-related tests.   3. Select Your Preferred Platforms Another useful step is updating your preferred gaming platforms. Choose all the systems you actively use, such as: • PlayStation 5 • Xbox Series X|S • PC • Nintendo Switch 2 There's no official confirmation that selecting more platforms increases your odds, but it doesn't hurt to ensure EA knows where you can participate in the beta. Just remember: if you don't own a particular console, there's little point in selecting it.   4. Verify Your Email Address Double-check that the email address associated with your EA account is verified. An unverified email could prevent important messages from reaching you, including beta invitations. It only takes a few seconds to confirm, and it's one of the easiest things to overlook.   5. Link Your Gaming Accounts Make sure your EA account is connected to the platforms you play on. Common account links include: • PlayStation Network • Xbox Network • Steam • Epic Games • Nintendo Account Having your accounts linked ensures your profile is fully set up and ready if you're selected for the FC 27 beta.   6. Consider Joining EA's Playtesting Program If you're interested in testing games beyond FC 27, consider signing up for EA's playtesting program. EA occasionally invites players to participate in early tests for upcoming titles. While joining doesn't guarantee you'll receive an FC 27 beta code, it can improve your chances of being considered for future playtests. Players selected for EA playtests are usually notified via email, so keeping your communication settings enabled remains essential.     Is There a Guaranteed Way to Get an FC 27 Beta Code? Unfortunately, no. EA selects participants based on a variety of factors, and luck still plays a significant role. Even players who have received beta codes in previous years aren't guaranteed to get one again. That said, following the steps above gives you the best possible chance: 1. Enable EA email communications. 2. Set email frequency to "Any Time." 3. Add FC titles to your favorite games. 4. Select your active gaming platforms. 5. Verify your email address. 6. Link your platform accounts. 7. Join EA's playtesting program.   When Does the EA Sports FC 27 Closed Beta Begin? If selected, players may receive their invitations around July 31, so keep an eye on your inbox and check your spam folder regularly. The Closed Beta is scheduled to kick off on August 5 and will remain available until August 25. This gives invited participants nearly three weeks to explore the game and provide feedback to EA. Compared to past beta tests, this is a relatively lengthy testing period, suggesting that EA is placing a strong emphasis on collecting player impressions and identifying potential issues ahead of the official release. Below are the launch and closing times for major regions around the world: Region / Time Zone EA FC 27 Closed Beta Start Date & Times EA FC 27 Closed Beta End Date & Times Pacific Time (PT) 10:00 AM—August 5 10:00 AM—August 25 Central Time (CT) 12:00 PM—August 5 12:00 PM—August 25 Eastern Time (ET) 1:00 PM—August 5 1:00 PM—August 25 Brasilia Time (BRT) 2:00 PM—August 5 2:00 PM—August 25 British Summer Time (BST) 6:00 PM—August 5 6:00 PM—August 25 Central European Summer Time (CEST) 7:00 PM—August 5 7:00 PM—August 25 China Standard Time (CST) 1:00 AM—August 6 1:00 AM—August 26 Korean Standard Time (KST) 2:00 AM—August 6 2:00 AM—August 26 Japan Standard Time (JST) 2:00 AM—August 6 2:00 AM—August 26 Australian Eastern Time (AET) 3:00 AM—August 6 3:00 AM—August 26 New Zealand Standard Time (NZST) 5:00 AM—August 6 5:00 AM—August 26   Which Modes Are Included in the Closed Beta? EA is using the FC 27 Closed Beta to evaluate several of the game's most important experiences before launch. Participants may gain access to popular modes such as Ultimate Team, Career Mode, and Clubs, as well as The Grounds, a brand-new addition making its debut in FC 27. Because multiple game modes are being tested simultaneously, the extended beta period gives players ample time to try different features and report their findings.   Final Thoughts Getting an EA Sports FC 27 Closed Beta code isn't guaranteed, but spending a few minutes optimizing your EA account settings can make a big difference. Every year, thousands of players receive invitations, and many of them simply have their accounts properly configured and ready to go. If you're lucky enough to get a code, you'll be among the first players to experience FC 27's new gameplay changes and features before launch. Until then, keep an eye on your inbox, stay patient, and good luck—you might be kicking off your FC 27 journey sooner than expected.
    • If you need in L2off i can hook you up! many people know me here and the work i offer. Live example https://l2exalta.org
    • Almost 16 years, you never know when a random Korean finds this topic and shares it.
    • Update: Version 3.1.2: * Improved compaction: deleting even a few textures now always reduces the file (previously small deletions could still slightly grow some packages, such as fonts); Version 3.1.1: * Deleting textures now actually shrinks the package: on save it is automatically compacted, reclaiming the space of the deleted textures (format and encryption preserved); Version 3.1.0: * La2Tools now checks for updates on startup and lets you know when a newer version is available on the site; Version 3.0.9: * Fixed textures that appeared blank in some clients (their object carries an embedded shader the reader mis-parsed) — they now decode and display correctly; * ShaderCode is now editable: Texture Properties → Material → ShaderCode shows the texture's real HLSL shader (was a fixed placeholder before); edit it and Apply — works across client formats (Interlude-era through Essence 542); Version 3.0.8: * BMP now imports as a native format, like UnrealEd: 8-bit BMP becomes a P8 (paletted) texture with a real Engine.Palette, 24/32-bit becomes RGBA8, 16-bit becomes G16; * Compress to P8 — adaptive 256-color palette (median-cut quantization); P8 is also selectable as an import "Convert to" target; * Copy / Cut / Paste now works for P8 (paletted) textures; * Non-power-of-two textures are highlighted in red (tiles and table) with a tooltip; new "Fix texture size" menu item pads them to a power of two while keeping the displayed size; * Reads "broken" packages that were tampered to block editors (corrupted size fields) — the client still loads them and now so does La2Tools; * "Repair package" — shown only for a tampered package (its tab is marked red) and restores the corrupted size fields; * Added client license 30 support (reads and imports its textures); * Import dialog now auto-resizes to fit its content; Version 3.0.7: * Import: the file name is now parsed smartly — package.group.name automatically fills the Group and Name fields (the package prefix is ignored); * Import: live name validation with an inline hint and tooltip — OK is blocked until the name is valid (allows - + ' etc., forbids only characters illegal in file names); * Import: textures whose size is not a power of two are now auto-padded for ALL formats (DDS/TGA/BMP too, not only PNG/JPG/GIF) — padded to a power of two with UClamp/VClamp preserving the original display size; * Texture filter now has a clear (×) button; * Light theme: visible Chrome-style tab outlines; Version 3.0.6: * "Save as..." — toolbar button and tab-menu item: save a package under a new name to any folder, choosing the format (Old/New) and Lineage2Ver121 encryption; the tab switches to the saved file; * Tab right-click menu reworked: Save, Save as... and Settings on top; Copy path and Open in Explorer at the bottom; Version 3.0.5: * Animation grouping now follows AnimNext links instead of frame names — chains group correctly with any naming (mixed prefixes, non-sequential or 0-/1-based numbers); * GIF import: animation parameters (frame rate) and TotalFrameNum are now written only to the first frame, the rest keep just the AnimNext link — matches the game's own format; same fix applied to "Create animation"; Version 3.0.4: * Clipboard <-> Explorer: Ctrl+C in the browser then Ctrl+V in Explorer pastes the textures as files; copy files in Explorer then Ctrl+V in the browser imports them; * Rename a package right from Package settings (handles Lineage2Ver121 re-keying); * Hotkeys: F1 (About), F2 (rename), F5 (reload from disk, asks if unsaved), Delete, Enter (Properties), Ctrl+W (close tab); * The application icon now appears in the title bar of every dialog and sub-window; * Fixed flipped preview when importing TGA files;  Download (Installer) |  Download (Portable)
    • Hello! I am creating a new L2 Editor version with most bugs fixed and new features added. PM me for more info!
  • 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..