Jump to content

Recommended Posts

Posted

Since i didn't find any other post for .info command handler for l2jfree expect that topic which it doesn't work any more on l2jfree Kamael, Hellbound , Gracia Part 1 / Part 2.

Of course  credits go to xMafia as he is the creator as i know of that topic which works perfectly on interlude!

 

 

So Lets Start!

 

1. You have to checkout l2jfree-core

2. Download VoiceInfo.java (Optional)

3-1. Then Go for examble C:\l2jfree or whether you have checked out l2jfree-core to C:\l2jfree\src\main\java\com\l2jfree\gameserver\handler\voicedcommandhandlers and place the VoiceInfo.java file that i gave you above!

3-2. Then Go for examble C:\l2jfree or whether you have checked out l2jfree-core to C:\l2jfree\src\main\java\com\l2jfree\gameserver\handler\voicedcommandhandlers create a new .txt file, place the code bellow and save it as VoiceInfo.java

/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
* 
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
* 
* You should have received a copy of the GNU General Public License along with
* this program. If not, see http://www.gnu.org/licenses/
*/
package com.l2jfree.gameserver.handler.voicedcommandhandlers;

import com.l2jfree.Config;
import com.l2jfree.gameserver.GameServer;
import com.l2jfree.gameserver.cache.HtmCache;
import com.l2jfree.gameserver.handler.IVoicedCommandHandler;
import com.l2jfree.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfree.gameserver.network.serverpackets.NpcHtmlMessage;

/**
* @author Michiru
*
*/
public class VoiceInfo implements IVoicedCommandHandler
{
private static String[]	VOICED_COMMANDS	=
										{ "info" };

/* (non-Javadoc)
* @see com.l2jfree.gameserver.handler.IVoicedCommandHandler#useVoicedCommand(java.lang.String, com.l2jfree.gameserver.model.actor.instance.L2PcInstance, java.lang.String)
*/
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{
	String htmFile = "data/html/custom/xxx.htm";
	String htmContent = HtmCache.getInstance().getHtm(htmFile);
	if (htmContent != null)
	{
		NpcHtmlMessage infoHtml = new NpcHtmlMessage(1);
		infoHtml.setHtml(htmContent);
		activeChar.sendPacket(infoHtml);
	}
	else
	{
		activeChar.sendMessage("Error! Can't " + htmFile + " !");
	}
	return true;
}

public String[] getVoicedCommandList()
{
	return VOICED_COMMANDS;
}
}

 

4. Now go to C:\l2jfree\src\main\java\com\l2jfree\gameserver\handler and open VoicedCommandHandler.java at line 18-22 you may find the text below

import com.l2jfree.gameserver.handler.voicedcommandhandlers.Banking;
import com.l2jfree.gameserver.handler.voicedcommandhandlers.CastleDoors;
import com.l2jfree.gameserver.handler.voicedcommandhandlers.Hellbound;
import com.l2jfree.gameserver.handler.voicedcommandhandlers.VersionInfo;
import com.l2jfree.gameserver.handler.voicedcommandhandlers.Wedding;

so you can add at line 23 under

the .Wedding; that line

import com.l2jfree.gameserver.handler.voicedcommandhandlers.VoiceInfo;

 

also at line 40-46 you will find that text

	if (Config.BANKING_SYSTEM_ENABLED)
		registerVoicedCommandHandler(new Banking());
	registerVoicedCommandHandler(new CastleDoors());
	registerVoicedCommandHandler(new Hellbound());
	registerVoicedCommandHandler(new VersionInfo());
	if (Config.ALLOW_WEDDING)
		registerVoicedCommandHandler(new Wedding());

So under the (new VersionInfo()); you will add that line

		registerVoicedCommandHandler(new VoiceInfo());

 

And the last thing you will need is to compile it!

 


 

Some usefull info:

At C:\l2jfree\src\main\java\com\l2jfree\gameserver\handler\voicedcommandhandlers in the file VoiceInfo.java at line 30-31 you can find that text

	private static String[]	VOICED_COMMANDS	=
										{ "info" };

you can change there the command that someone will write! for exable .information & not .info

Also at line 38

		String htmFile = "data/html/custom/xxx.htm";

You can add at "data/html/custom/xxx.htm"; you have to change xxx.htm to a number you want or even the destination of that file for exable "data/html/default/60519.htm" or "data/html/default/info.htm" like i made...

 

Thats All!

Guest
This topic is now closed to further replies.



  • Posts

    • Thank you for your feedback. To help me improve the system, please leave your comments or report any bugs. I will try to release weekly updates. 
    • Thank you for your feedback, SkyLord — even the negative kind.   Let me give you some context on who we actually are, since you asked. L2-Scripts has been around for nearly 20 years. Over that time, we've worked with a large number of developers — I've personally seen probably half of every serious (and not-so-serious) developer in this scene. The most significant figure in our studio's history was Bonux. Together with a small team of assistants, he was essentially the backbone of our old codebase, and we were the ones who brought virtually every chronicle to the community — Essence, Classic, Main — all of it came through us.   Back then, we worked at scale. That era is over. Today, L2-Scripts is no longer a studio in the traditional sense. It's more of a developer collective. I work alongside the best developers I've encountered in 20 years. Bonux is still with us on Classic. A new developer named Den has joined — in just 3 years he became one of the top Essence developers in the world. Every one of us works independently, but we're united by long-standing friendships and shared projects.   We no longer chase every chronicle or every client. For the past several years, we've been focused exclusively on specific long-term projects where we're paid a proper salary — and when you focus like that, with 20 years of experience behind you, the quality of what you produce is on a completely different level. Our code is currently running on nearly all top Essence and Classic servers. We're now bringing Main (Last Protocol) up to that same standard.   You mentioned Nexvil. Yes, he worked with us. That was a difficult period — the lead developer at the time was not up to the standard we hold ourselves to. It was a short period, and it's long behind us.   As for the prices — I'd ask you not to judge a product by whether you personally can afford it. That's not a fair measure of value. The people running top-tier servers understand what they're paying for. If our pricing doesn't fit your budget, that's completely fine — but downvoting a service simply because it feels expensive to you doesn't reflect well, and it certainly doesn't make the product worse.   A special thank you to eMommy and Zenith for the honest and fair words — it genuinely means a lot. It's good to know there are people in this community who judge things as they are.
    • Just because someone does professional sales doesn’t mean everything is overpriced. If the products he provides are stable and good quality, then I see nothing wrong with it, and those prices aren’t even bad. Remember, we’re living in 2026, not 10 years in the past. Your mindset is probably stuck on buying the cheapest products because maybe you can’t afford better ones. And of course, there’s always someone who likes blaming others. I think you should mind your own business instead of blaming someone for how they run theirs. If you really think his prices are too expensive, then do better than him.
    • I have to be fair here and state that almost all 'good' servers on Essence/Classic are using bonux/l2scripts files and 10k for a decent essence build imo is not that bad of a price as long as nexvil is not touching these files
  • 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..