Jump to content

[Share] Make an NPC dialogue say your character's name!


Sindelia

Recommended Posts

You can do "your" share in one line

"find "showChatWindow" method from L2NpcInstance and add

"html.replace("%pname%", String.valueOf(player.getName()));"

"

 

bro that isnt wornking for me... mmmm Gracia epilogue servers dont have the showChatWindow method on L2NpcInstance, instead it is on L2Npc, i added the code in there but... is not working XD i want to make this code global, like: if i write %name% in any html it returns the activeChar name... any ideas?

Link to comment
Share on other sites

corect i forgot it !...can i make this for interlude and ι combining with the welcome msg??

 

As far as I know, Interlude doesn't have that welcome msg by default so, I guess it's a custom mod. Maybe I could help you on a PM if u gave me your enterworld.java, paste it on http://pastebin.com.

Link to comment
Share on other sites

bro that isnt wornking for me... mmmm Gracia epilogue servers dont have the showChatWindow method on L2NpcInstance, instead it is on L2Npc, i added the code in there but... is not working XD i want to make this code global, like: if i write %name% in any html it returns the activeChar name... any ideas?

 

Didn't work for me either but I found the way. ;) (It's global but ONLY for NPC dialogues)

 

L2NPC:

// Send a Server->Client NpcHtmlMessage containing the text of the L2NpcInstance to the L2PcInstance
	NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
	html.setFile(player.getHtmlPrefix(), filename);
	html.replace("%pname%", String.valueOf(player.getName()));

 

Sorry for double post.

Link to comment
Share on other sites

ive added some modifications to my L2Npc.java... here they are:

 

	public void showChatWindow(L2PcInstance player, String filename)
{
	// Send a Server->Client NpcHtmlMessage containing the text of the L2NpcInstance to the L2PcInstance 
	NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
	html.setFile(player.getHtmlPrefix(), filename);
	html.replace("%objectId%", String.valueOf(getObjectId()));
+		html.replace("%playername%", String.valueOf(player.getName()));
+		html.replace("%npcname%", getName());
	player.sendPacket(html);

 

but for some VERY ANOYING and estrange reason its not working... can someone lend me a hand with this?

 

(Gracia Epilogue Server)

 

 

EDIT:

Didn't work for me either but I found the way. ;) (It's global but ONLY for NPC dialogues)

 

L2NPC:

// Send a Server->Client NpcHtmlMessage containing the text of the L2NpcInstance to the L2PcInstance
	NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
	html.setFile(player.getHtmlPrefix(), filename);
	html.replace("%pname%", String.valueOf(player.getName()));

 

Sorry for double post.

 

Ahhh! i did that too... but i didnt make it work :S did you? can you explain it a little bit more? only npc dialogues? but i did it on a L2Npc and it isnt working :S (Npc pixie murika, ID 31852)

 

Link to comment
Share on other sites

well... pixie murika is an L2NpcInstance maybe is because of that? dunno... im doing some little coding... ill edit this post if i find the problem :) tnx anyway for your atention

 

EDIT:

 

Okay ppl! i finally maked it really GLOBAL but if you want it you will need a little bit dedication and patience... this will also work for any server version and any chronicle...

 

steps:

you will need to use the search tool of eclipse, search for this:

 

player.sendPacket(html);

 

you will find around 140 matches... so now open each one of them and add this line over the another one:

 

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

 

be sure it looks like this:

 

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

 

now press CONTROL+K (next match) and repeat the steps with all the matches in the Gameserver :) thats it! i did it on 15 mins XD i hope this help the comunity! and tnx to Pokiokio for this very cool and original idea :)

Link to comment
Share on other sites

  • 3 weeks later...

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
Reply to this topic...

×   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.




  • Posts

    • Trustworthy person; hope you find what you're looking for!
    • Customs being added to systextures/animation/texture influences the increase in virtual ram by a very small amount, which means you won't have a headache in the future with critical error issues, unless it's a dubious custom, there are 2 custom weapon packs available for H5 that are "compromised", they didn't make a very good adaptation, one of the packages is the weapons from the goddess of destruction for H5, another is the hero weapons from the goddess of destruction for H5, avoid these customs for your H5 server if you see it on any forum.   Now coming back to your question; one thing that the NCSoft developers never did was add files to their system, probably because they were aware of what could happen when doing that, now think about one thing: the game's system retail itself is no more than 70MB, every time there was an update made by NCSoft they always added the equipment/items/cloaks etc. in their folders intended for that, so why do we do this? I still have my client containing a system with almost 1GB, 1-2h online is the time I can stay online before the ram memory limit, but I have already redone my entire client with customs being destined for textures/systexture/animations, almost all the customs that I had on that client containing a 1GB system I have on my current server, with the difference that I removed everything from the system and critical error is now nothing more than legends, my current server has a total of 220MB in the system folder And theoretically speaking, based on what I've seen, especially on many forums, I believe that the heavier the system folder is, the faster we accelerate the consumption of the client's virtual ram memory, causing countless different types of critical error in one short period of time, in many forums that I've seen on topics involving critical, the solution that stands out the most is about downloading a new clean "system"
    • Do you think that everything on the system is loaded regardless if you use it or not ? or even worst, are they loaded even if they exist as textures/meshes but not defined on the DAT files ?
    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchihamkt.mysellix.io/ Join our server for more products : https://discord.gg/hoodservices https://campsite.bio/utchihaamkt
    • Yes, it is, it's not hard to do (if you know what you're doing); just time consuming.   To make some things clear: 1. You can not create .ukx files with animated skeletalmeshes inside, by using any of the freeshared L2Editors (basically, no support for .psa files) 2. You need a patched UT2003/UT2004. You can either get your own ut2004 and download Gildor's patch from his web, or use any of these: When you use these, you should be able to import both .psk and .psa animations > link the skeletalmesh to the psa > save as .ukx > use ut2down to convert the file to l2 format > encrypt the .ukx with standard l2 encryption (you can use mxc encdec, you can find it in the folder of the l2editor i shared). Your best bet is to use pawnviewer (aka dev mode) to test that. If you have troubles with that process then leave a reply here, otherwise, if it works correctly, you can move on to adding missing animnotify classes to you unrealed, then proper animnotifies, sounds, effects or w/e is missing from your .ukx files. Keep in mind that this is overall not difficult but a huge amount of work (unless you're good at scripting/macros) since you'd need to manually re-create every single animnotify, by hand. If you have doubts or i wasn't clear enough let me know here. (in case you don't know what an animnotify is: UDN - Two - AnimNotifies (unrealengine.com) )  
  • Topics

×
×
  • Create New...