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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...