Sindelia Posted November 27, 2009 Posted November 27, 2009 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: 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! Quote
Lucky Dice Posted November 27, 2009 Posted November 27, 2009 waw nice work pokiokio ;) only idea is yours? :P Quote
Lucky Dice Posted November 27, 2009 Posted November 27, 2009 nice share dont spam in Amazing Shares :) Quote
Matim Posted November 27, 2009 Posted November 27, 2009 Yeap simple getName method, but nice share for newbies. And its Java modification, so i think it should be posted in right section. Quote
Sindelia Posted November 27, 2009 Author Posted November 27, 2009 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 :) Quote
Sindelia Posted November 27, 2009 Author Posted November 27, 2009 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 Quote
Lucky Dice Posted November 27, 2009 Posted November 27, 2009 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 ) Quote
Levi4than Posted November 28, 2009 Posted November 28, 2009 Very nice share!!!I was looking for that! Quote
MrPerfect20 Posted November 28, 2009 Posted November 28, 2009 This is so cool !!! Very nice idea ^_^ Thank you for sharing it with us :D Quote
george32 Posted November 28, 2009 Posted November 28, 2009 thx..this maybe isn't so usefull but every share helps... 8) Quote
Sindelia Posted November 29, 2009 Author Posted November 29, 2009 Please , do test it and give me feedback. Thank you Quote
Recommended Posts
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.