Jump to content

Question

Posted

How i can set L2Npc.Java for add %playername& to add this in texts?

I have edited this method 

public void showChatWindow(L2PcInstance player, String filename)
	{
		// Send a Server->Client NpcHtmlMessage containing the text of the L2NpcInstance to the L2PcInstance
		final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
		html.setFile(player.getHtmlPrefix(), filename);
		html.replace("%objectId%", String.valueOf(getObjectId()));
		html.replace("%exp%", String.valueOf((Config.RATE_XP)));
		html.replace("%sp%", String.valueOf((Config.RATE_SP)));
		html.replace("%drop%", String.valueOf((Config.RATE_DEATH_DROP_AMOUNT_MULTIPLIER)));
		html.replace("%type%", String.valueOf(player.isPremium() ? "Premium" : "Normal"));
		player.sendPacket(html);
		
		// Send a Server->Client ActionFailed to the L2PcInstance in order to avoid that the client wait another packet
		player.sendPacket(ActionFailed.STATIC_PACKET);
	}

and in game html says %exp% not the exp rate

 

 

Recommended Posts

  • 0
Posted

if a player is premium the html what will appear in %type% ? i guess "Premium" right? if not "Normal" right?

 

why dont you take examples of existings things you have there?

Just read what you got.

 

You got a line 

html.replace("%type%", String.valueOf(player.isPremium() ? "Premium" : "Normal"));

just read it.

 

html.replace("%type%", String.valueOf(player.isPremium() ? "Premium" : "Normal"));

 

 

  • 0
Posted
<html>
<body>
<title>Welcome %npcname%</title>
<center>

<table width=300 height=10 bgcolor=000000>
<tr>
<td fixwidth=230 height=15 align=center>
Rates Info
</font>
</td>
<td fixwidth=2></td>
</tr>
</table>
<img src="L2UI.SquareWhite" width="290" height="1">
<br>
<td><center><font color="FFFFFF">Details</font></center></td>
<br>
<table width=299 bgcolor=000000>
	<tr><td width=140><font name="hs9">Service</font></td><td width=80><font name="hs9">Value</font></td></tr>
</table>
<table width=299>
	<tr>
		<td width=140><font name=hs9 color=ffcc00>- Exp Rate</font></td>
		<td width=80><font name=hs9 color=66ff66>%exp%</font></td>
	</tr>
</table>
<table width=299 bgcolor=000000>
	<tr>
		<td width=140><font name=hs9 color=ffcc00>- Sp Rate</font></td>
		<td width=80><font name=hs9 color=66ff66>%sp%</font></td>
	</tr>
</table>
<table width=299>
	<tr>
		<td width=140><font name=hs9 color=ffcc00>- Drop Rate</font></td>
		<td width=80><font name=hs9 color=66ff66>%drop%</font></td>
	</tr>
</table>
<table width=299 bgcolor=000000>
	<tr>
		<td width=140><font name=hs9 color=ffcc00>- Raid Rate</font></td>
		<td width=80><font name=hs9 color=66ff66>%raid_drop%</font></td>
	</tr>
</table>
<table width=299>
	<tr>
		<td width=140><font name=hs9 color=ffcc00>- Chat</font></td>
		<td width=80><font name=hs9 color=66ff66>%chat%</font></td>
	</tr>
</table>
<br>
<table width=299>
	<tr>
		<td><center><font color="FFFFFF">Rune rate</font></center></td>
	</tr>
</table>
<br>
<table width=299 bgcolor=000000>
	<tr>
		<td width=140><font name=hs9 color=ff00ff>Rate of xp</font></td>
		<td width=80><font name=hs9 color=66ff66>%bonusExp%</font></td>
	</tr>
</table>
<table width=299 bgcolor=000000>
	<tr>
		<td width=140><font name=hs9 color=ff00ff>Rate of drop</font></td>
		<td width=80><font name=hs9 color=66ff66>%bonusDrop%</font></td>
	</tr>
</table>


<br><br><br><br>
<img src="L2UI.SquareWhite" width=300 height=1>
</font>
</td>
<td fixwidth=3></td>
</tr>
</table>
<img src="L2UI.SquareWhite" width="300" height="1">	

</center>
</body>
</html>

 

  • 0
Posted

Make sure the npc instance type is default, L2Npc. If it's a custom instance, it won't work, as it is using Overriden showChatWindow, in 99% of cases.

 

Also.. Why you add useless brackets?! String.valueOf((Config.RATE_SP)) why you added the Config inside the bracket? WHY?! Remove one bracket for our sake.

 

With player.getName() you get the name, obviously. String.valueOf won't be necessary.

  • 0
Posted (edited)

Well, i remove 

String.valueOf((Config.RATE_SP)) 

and i leave just 

html.replace("%exp%");

and the npc it is L2NPC, not L2Merchant

Edited by InFocus
  • 0
Posted (edited)
12 minutes ago, InFocus said:

Well, i remove 


String.valueOf((Config.RATE_SP)) 

and i leave just 


html.replace("%exp%");

and the npc it is L2NPC, not L2Merchant

Not what SweeTs said.. He said remove the bracket.. only ("%exp%") how the code will read your rates? 

http://lmgtfy.com/?q=what+bracket+means

Edited by 'Baggos'
  • 0
Posted
2 hours ago, SweeTs said:

String.valueOf((Config.RATE_SP)) why you added the Config inside the bracket?

Let me highlight as your understanding is so damn low.

 

Yellow - Config

Pale red - bracket(s)

 

Now, you should understand. If not, waste 10min and try to manage or ask someone.

 

 

2 hours ago, InFocus said:

String.valueOf((Config.RATE_SP))

 

Here we go again, double bracket - its pointless. I will not even mention what you did here.

 

 

1 hour ago, InFocus said:

Give me 1 exemple, then i will understand this too

Ok, here you go.

 

String.valueOf((((((((((((Config.RATE_SP))))))))))))

=>

String.valueOf(Config.RATE_SP)

 

The real question is, WHY SO MUCH BRACKETS.

 

funny-captions-because-i-can.jpg

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

    • 🔥 L2Pride Interlude by DVP is NOW LIVE! 🔥 📅 Opened on June 10, 2026 at 21:00 GMT+2 ⚔️ The server is currently in the Tier 1 stage, giving everyone a fair chance to gear up and compete. 🔓 Tier 2 Items will be unlocked on June 27, 2026! ✅ Active players ✅ Stable server ✅ Competitive PvP ✅ Growing community Whether you're a solo player, clan leader, or PvP enthusiast, now is the perfect time to join and prepare for the next stage of progression. See you in-game, warriors! ⚔️ WEB: www.l2pride.ddns.net DISCORD: https://discord.gg/JVdpESC5Ry
    • Stock updates constantly. Only top items are posted on the forum. For current availability and ordering, message us on Telegram.   G2G Business 🇪🇺 EU Fully verified seller's account.   Revolut Business 🇪🇺 EU | Multi-currency IBAN, Virtual & physical cards, Instant SEPA transfers, ₿ Crypto exchange & settlements.   SumUp Business 🇬🇧 GB | POS, 1 physical card, 2 virtual cards. Payouts time: 1 day even on weekends and bank holidays, Multi-user access.   Vivid Business | Merchant POS, DE IBAN, up to 50 IBANs, SEPA Instant, unlimited transfers, up to 25 virtual and 3 physical cards.
    • 🔎 Find us: 👉🏼 Website: L2Dexter.eu 👉🏼 Discord: discord.gg/dttX9FE23W 👉🏼 Facebook: facebook.com/L2Dexter
    • G Support: https://t.me/buyingproxysup | Channel: https://t.me/buyingproxycom Discord support: #buyingproxy | Server: Join the BuyingProxy Discord Server!  Create your free account here
    • REAL PHOTOS ALWAYS «BREAK» ▪ Think a high-quality photo should be perfect? Think again. In real shots, something is almost always “off”: ▪ Noise in the shadows — especially noticeable in low light ▪ Local overexposures on highlights and glossy surfaces ▪ Loss of fine details in the brightest and darkest areas ▪ Overall “dirt” and unevenness that no editor can fully remove ▪  It’s exactly these imperfections that make the frame look alive. Algorithms already know well: a sterile clean image without these “flaws” is almost always a fake. Reality is never perfect. A fake tries to be.  Want photos that look genuinely “broken,” like they were taken on a real phone? Write to us — we’ll make even the flaws work in your favor. › TG: @mustang_service_ms ( https:// t.me/ mustang_service_ms ) › Channel: Mustang Service ( https:// t.me/ +JPpJCETg-xM1NjNl ) #documents #drawing #photoshop #verication #fake
  • 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..