Jump to content

Recommended Posts

Posted

Hello Maxcheaters ;),

 

Today I've finally achieved what I couldn't do before (I didn't have very good knowledge on how to compile e.t.c)...I've made my Npc's dialogue say my character's name and I thought I'd share :D!

 

Here you go:

 

Description:


I really wanted my server NPC to come 'closer' to the players so , I wanted to make them say the player name on their dialogue, here's a pic of what we're gonna do:

npcsaycharname.jpg

 

Let's start:


Copy this code:

 

if (npcId == yournpcid)
html.setFile("data/html/(path)/(filename).htm");
html.replace("%objectId%", String.valueOf(getObjectId()));
player.sendPacket(html);

 

Then, open up Eclipse and go to : L2_Gameserver/java/net/sf/l2j/gameserver/model/actor/L2Npc.java

open it, press Ctrl+F and find this : // Send a Server->Client NpcHtmlMessage containing the text of the L2NpcInstance to the L2PcInstance

 

Make sure that what you've found looks like this:

 

// Send a Server->Client NpcHtmlMessage containing the text of the L2NpcInstance to the L2PcInstance 
NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
html.setFile(filename);

 

Next, copy the code and paste it under the one you've found so it'll look like this:

 

// Send a Server->Client NpcHtmlMessage containing the text of the L2NpcInstance to the L2PcInstance 
NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
html.setFile(filename);
if (npcId == yournpcid)
html.setFile("data/html/(path)/(filename).htm");
html.replace("%playername%", player.getName());
player.sendPacket(html);

 

Now, you must change the following:

 

  • yournpcid
  • (path)/(filename)

 

 

Here's what I've changed and what you should change:

 

// Send a Server->Client NpcHtmlMessage containing the text of the L2NpcInstance to the L2PcInstance

NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());

html.setFile(filename);

if (npcId == 10)

html.setFile("data/html/default/10.htm");

html.replace("%playername%", player.getName());

player.sendPacket(html);

 

If your NPC's ID is e.x: 77710 then it should be "if (npcId == 77710)" and "html.setFile("data/html/default/77710.htm");"

 

'default' is the folder that my html file is located, if your npc is a shop then you should replace "/(path)/" with "/merchant/"

 

The last step is to write in your NPC's html "%playername%" (without brackets).

 

Also , if you want to have it in many .htm files then you simply paste the code again and change the NPC ID and the path. ;)

 

I hope it helps!

 

 

 

Credits:


  • pokiokio - Idea
  • Ashitaka - Code
  • Intrepid - Final touch to the code
     
    Thank you Ashitaka and Intrepid ! I couldn't have made it without you :)

P.S.: You might think the code is no big deal, but for me , a person new to l2j it's quite an achievement!

Posted

Yeap simple getName method, but nice share for newbies. And its Java modification, so i think it should be posted in right section.

Posted

waw nice work pokiokio ;)

only idea is yours? :P

 

I'm afraid yes :P

I had the idea when I didn't know much from coding and today I thought "Why don't I give it a try?", I first used the code without "if (npcId == "npcid")" and every NPC had the same dialogue that I defined in the code. Then I asked Intrepid how to fix it and he told me to use the ""if (npcId == "npcid")" and...I've fixed it :)

Posted

Yeap simple getName method, but nice share for newbies. And its Java modification, so i think it should be posted in right section.

 

*Bumer* Yes, sorry I was a lil' bit in a hurry because I wanted to share :P

Posted

I'm afraid yes :P

I had the idea when I didn't know much from coding and today I thought "Why don't I give it a try?", I first used the code without "if (npcId == "npcid")" and every NPC had the same dialogue that I defined in the code. Then I asked Intrepid how to fix it and he told me to use the ""if (npcId == "npcid")" and...I've fixed it :)

tcp

nice work pantos ;)

Kane kana allo new Code.(kalo kai monos s kai 8a pareis +1 karma )

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



×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock