Esse comando serve pra abrir uma html destinta ao digitar .rates no game onde voce pode escrever os rates do seu servidor

Código:
Index: java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/RatesInfos.java
===================================================================
--- java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/RatesInfos.java	(revision 0)
+++ java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/RatesInfos.java	(revision 0)
+/*
+ * 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 net.sf.l2j.gameserver.handler.voicedcommandhandlers;
+
+import java.util.logging.Logger;
+
+import net.sf.l2j.gameserver.GameServer;
+import net.sf.l2j.gameserver.cache.HtmCache;
+import net.sf.l2j.gameserver.handler.IVoicedCommandHandler;
+import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
+
+public class ServerInfos implements IVoicedCommandHandler
+{
+	private static final String[] VOICED_COMMANDS = {"rates"};
+
+	private static final Logger _log = Logger.getLogger(GameServer.class.getName());
+	
+	public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
+	{
+		if (command.equalsIgnoreCase("rates"))
+		{
+			String htmFile = "data/html/RatesInfos.htm";
+			String htmContent = HtmCache.getInstance().getHtm(htmFile);
+			if (htmContent != null)
+			{
+				NpcHtmlMessage ratesHtml = new NpcHtmlMessage(1);
+				infoHtml.setHtml(htmContent);
+				activeChar.sendPacket(ratesHtml);
+			}
+			else
+			{
+				activeChar.sendMessage("Function temporary disabled.");
+				_log.info("Failed to load RatesInfos file!");
+			}
+			return true;
+		}
+		return false;
+	}
+	
+	public String[] getVoicedCommandList()
+	{
+		return VOICED_COMMANDS;
+	}
+}
Index: java/net/sf/l2j/gameserver/GameServer.java
===================================================================
--- java/net/sf/l2j/gameserver/GameServer.java	(revision 251)
+++ java/net/sf/l2j/gameserver/GameServer.java	(working copy)
 import net.sf.l2j.gameserver.handler.voicedcommandhandlers.res;
 import net.sf.l2j.gameserver.handler.voicedcommandhandlers.stat;
 import net.sf.l2j.gameserver.handler.voicedcommandhandlers.stats;
+import net.sf.l2j.gameserver.handler.voicedcommandhandlers.RatesInfos;
 import net.sf.l2j.gameserver.handler.voicedcommandhandlers.status;
 import net.sf.l2j.gameserver.handler.voicedcommandhandlers.tradeoff;
 import net.sf.l2j.gameserver.idfactory.IdFactory;
 		if(Config.L2JMOD_ALLOW_WEDDING)
 			_voicedCommandHandler.registerVoicedCommandHandler(new Wedding());
 		
+		if(Config.ENABLE_Rates_VC)
+			_voicedCommandHandler.registerVoicedCommandHandler(new RatesInfos());
+		
 		
Index: java/net/sf/l2j/Config.java
===================================================================
--- java/net/sf/l2j/Config.java	(revision 252)
+++ java/net/sf/l2j/Config.java	(working copy)

    public static boolean L2JMOD_WEDDING_SAMESEX;
    public static boolean L2JMOD_WEDDING_FORMALWEAR;
    public static int L2JMOD_WEDDING_DIVORCE_COSTS;
+   public static boolean ENABLE_RATES_VC;


                L2JMOD_WEDDING_SAMESEX                  = Boolean.parseBoolean(L2JModSettings.getProperty("WeddingAllowSameSex", "False"));
                L2JMOD_WEDDING_FORMALWEAR               = Boolean.parseBoolean(L2JModSettings.getProperty("WeddingFormalWear", "True"));
                L2JMOD_WEDDING_DIVORCE_COSTS            = Integer.parseInt(L2JModSettings.getProperty("WeddingDivorceCosts", "20"));
+               ENABLE_RATES_VC                         = Boolean.parseBoolean(L2JModSettings.getProperty("RatesVoicedCommand", "False"));
              
Index: java/config/l2jmods.properties
===================================================================
--- java/config/l2jmods.properties	(revision 245)
+++ java/config/l2jmods.properties	(working copy)

+# Allo the use of .rates command?
+# Default: False
+RatesVoicedCommand = False

Index: data/html/RatesInfos.htm
===================================================================
--- data/html/RatesInfos.htm	(revision 0)
+++ data/html/RatesInfos.htm	(revision 0)
@@ -0,0 +1,9 @@
+<html>
+<body>
+<center>
+Write your text here
+</center>
+<br>
+x5000 sp
+</body>
+</html>
Creditos : Fanky