Hello there ! 
I decide to make an new voiced command named Recomend Shop ! 
When you type .buyrec you earn 1 rec ! 
  
If you like it here is the code for the server core: 
 
 
  
 
Index: D:/Games/Lineage 2/L2 Kingdom of Heaven Server/WorkSpace/GameServer/java/config/Mods.properties
===================================================================
--- D:/Games/Lineage 2/L2 Kingdom of Heaven Server/WorkSpace/GameServer/java/config/Mods.properties	(revision 15)
+++ D:/Games/Lineage 2/L2 Kingdom of Heaven Server/WorkSpace/GameServer/java/config/Mods.properties	(working copy)
@@ -63,3 +63,18 @@
#Enable Weight Penalty ?
WeightPenalty = True
+
+#---------------------------------------#
+#          Custom Recomends System      #
+#---------------------------------------#
+#.buyrec enable ?
+AlowBuyRec = True
+
+#Whats the ID of item that is need to buy rec ?
+RecItemID = 57
+
+#How many it cost ?
+RecPrice = 50000000
+
+#How many recs will buy ?
+RecReward = 1
+
Index: D:/Games/Lineage 2/L2 Kingdom of Heaven Server/WorkSpace/GameServer/java/net/sf/l2j/Config.java
===================================================================
--- D:/Games/Lineage 2/L2 Kingdom of Heaven Server/WorkSpace/GameServer/java/net/sf/l2j/Config.java	(revision 15)
+++ D:/Games/Lineage 2/L2 Kingdom of Heaven Server/WorkSpace/GameServer/java/net/sf/l2j/Config.java	(working copy)
@@ -893,6 +893,12 @@
    // Grade & Weight Penalty
    public static boolean GRADE_PENALTY;
    public static boolean WEIGHT_PENALTY;
+    
+    // Buy Rec System
+    public static boolean REC_BUY;
+    public static int REC_ITEM_ID;
+    public static int REC_PRICE;
+    public static int REC_REWARD;
+
    // Packet information
    /** Count the amount of packets per minute ? */
@@ -1992,6 +1998,12 @@
                GRADE_PENALTY                   = Boolean.parseBoolean(Mods.getProperty("GradePenalty", "True"));
                WEIGHT_PENALTY                   = Boolean.parseBoolean(Mods.getProperty("WeightPenalty", "True"));
                
+                REC_BUY                           = Boolean.parseBoolean(Mods.getProperty("AlowBuyRec", "True"));
+                REC_ITEM_ID                     = Integer.parseInt(Mods.getProperty("RecItemID", "57"));
+                REC_PRICE                         = Integer.parseInt(Mods.getProperty("RecPrice", "50000000"));
+                REC_REWARD                      = Integer.parseInt(Mods.getProperty("RecReward", "1"));
+                
            }
            catch (Exception e)
            {
Index: D:/Games/Lineage 2/L2 Kingdom of Heaven Server/WorkSpace/GameServer/java/net/sf/l2j/gameserver/GameServer.java
===================================================================
--- D:/Games/Lineage 2/L2 Kingdom of Heaven Server/WorkSpace/GameServer/java/net/sf/l2j/gameserver/GameServer.java	(revision 10)
+++ D:/Games/Lineage 2/L2 Kingdom of Heaven Server/WorkSpace/GameServer/java/net/sf/l2j/gameserver/GameServer.java	(working copy)
@@ -198,6 +198,7 @@
import net.sf.l2j.gameserver.handler.usercommandhandlers.Time;
import net.sf.l2j.gameserver.handler.voicedcommandhandlers.Wedding;
import net.sf.l2j.gameserver.handler.voicedcommandhandlers.stats;
+import net.sf.l2j.gameserver.handler.voicedcommandhandlers.BuyRec;
import net.sf.l2j.gameserver.idfactory.IdFactory;
import net.sf.l2j.gameserver.instancemanager.AuctionManager;
import net.sf.l2j.gameserver.instancemanager.BoatManager;
@@ -592,6 +593,9 @@
		if(Config.ALLOW_WEDDING)
			_voicedCommandHandler.registerVoicedCommandHandler(new Wedding());
+		
+		if(Config.REC_BUY)
+			_voicedCommandHandler.registerVoicedCommandHandler(new BuyRec());
		_log.config("VoicedCommandHandler: Loaded " + _voicedCommandHandler.size() + " handlers.");
 
  
 
Now create new file named BuyRec.java in net.sf.l2j.gameserver.handler.voicedcommandhandler 
and add this: 
 
 
  
 
/*
* 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 net.sf.l2j.Config;
import net.sf.l2j.gameserver.handler.IVoicedCommandHandler;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
/**
* @author SkyLancer
*/
public class BuyRec implements IVoicedCommandHandler
{
private static final String[] VOICED_COMMANDS = {"buyrec"};
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{
	if (command.equalsIgnoreCase("buyrec"))
	{
           if(activeChar.getInventory().getItemByItemId(Config.REC_ITEM_ID) != null && activeChar.getInventory().getItemByItemId(Config.REC_ITEM_ID).getCount() >= Config.REC_PRICE)
           {
           	activeChar.getInventory().destroyItemByItemId("Rec", Config.REC_ITEM_ID, Config.REC_PRICE, activeChar, activeChar.getTarget());
           	activeChar.setRecomHave(activeChar.getRecomHave() + Config.REC_REWARD);
                               activeChar.sendMessage("You Have Earned "+Config.REC_REWARD+" Recomends.");
               activeChar.broadcastUserInfo();
            }
           else
           {
              	activeChar.sendMessage("You don't have enought items");
               return true;
           }
	}
	return false;
	}
public String[] getVoicedCommandList()
{
	return VOICED_COMMANDS;
}
}
 
 
Hope its useful :) Have fun and enjoy it ;D 
  
Credits are fully mine ;)