Orgyilkos Posted November 15, 2009 Posted November 15, 2009 .levelup and .leveldown command for players. I created for L2J server. GameServer/data/scripts/handlers/voicedcommandhandlers/LevelCommands.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 handlers.voicedcommandhandlers; import net.sf.l2j.gameserver.handler.IVoicedCommandHandler; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.network.serverpackets.InventoryUpdate; import net.sf.l2j.gameserver.model.base.Experience; /** * @author Mentor * @date 2009.09.05 */ public class LevelCommands implements IVoicedCommandHandler { private static final String[] _voicedCommands = { "levelup", "leveldown" }; public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) { if (command.equalsIgnoreCase("levelup")) { if (activeChar.getInventory().getInventoryItemCount(57, 0) >= 10000000) { InventoryUpdate iu = new InventoryUpdate(); activeChar.getInventory().destroyItemByItemId("Adena", 57, 10000000, activeChar, null); activeChar.getInventory().updateDatabase(); activeChar.sendPacket(iu); activeChar.addExpAndSp(Experience.LEVEL[activeChar.getStat().getLevel() + 1] - Experience.LEVEL[activeChar.getStat().getLevel()], 0); activeChar.sendMessage("+1 Level"); } else { activeChar.sendMessage("Havent enought adena."); } } else if (command.equalsIgnoreCase("leveldown")) { if (activeChar.getInventory().getInventoryItemCount(57, 0) >= 10000000 && activeChar.getStat().getLevel() >= 60) { InventoryUpdate iu = new InventoryUpdate(); activeChar.getInventory().destroyItemByItemId("Adena", 57, 10000000, activeChar, null); activeChar.getInventory().updateDatabase(); activeChar.sendPacket(iu); activeChar.getStat().removeExpAndSp((activeChar.getExp() - Experience.LEVEL[activeChar.getStat().getLevel() - 1]), 0); activeChar.sendMessage("-1 Level"); } else { activeChar.sendMessage("Havent enought adena."); } } return true; } public String[] getVoicedCommandList() { return _voicedCommands; } } GameServer/data/scripts/handlers/MasterHandler.java VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new LevelCommands()); Quote
WickedPwn Posted November 15, 2009 Posted November 15, 2009 If I will change the '-1' to '-3' command will remove 3 lvls? Quote
HardstyleMxc Posted November 15, 2009 Posted November 15, 2009 Usefull Code Man .Test Thx For Nice Command Quote
3xpl0it3R Posted November 15, 2009 Posted November 15, 2009 Very good java code ! Useful for some players... on high rates gracia final servers ! Quote
tomka Posted January 16, 2011 Posted January 16, 2011 i try to edit something code for l2jserver. Hope it work. Create java file: LevelCommands.java in voicedcommand folder /* * 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 handlers.voicedcommandhandlers; import com.l2jserver.gameserver.handler.IVoicedCommandHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.serverpackets.InventoryUpdate; import com.l2jserver.gameserver.model.base.Experience; /** * @author Mentor * @date 2009.09.05 */ public class LevelCommands implements IVoicedCommandHandler { private static final String[] _voicedCommands = { "levelup", "leveldown" , "downlevel" , "uplevel" }; public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) { int itemID = 57; int itemCountUp = 1000000; int itemCountDown = 200000; if (command.equalsIgnoreCase("levelup") || command.equalsIgnoreCase("uplevel")) { if (activeChar.getInventory().getInventoryItemCount(itemID, 0) >= itemCountUp && activeChar.getStat().getLevel() < 85) { InventoryUpdate iu = new InventoryUpdate(); activeChar.getInventory().destroyItemByItemId("Adena", itemID, itemCountUp, activeChar, null); activeChar.getInventory().updateDatabase(); activeChar.sendPacket(iu); activeChar.addExpAndSp(Experience.LEVEL[activeChar.getStat().getLevel() + 1] - Experience.LEVEL[activeChar.getStat().getLevel()], 0); activeChar.sendMessage("Level UP."); } else if(activeChar.getInventory().getInventoryItemCount(itemID, 0) >= 1000 && activeChar.getStat().getLevel() == 85){ activeChar.sendMessage("Sorry. You get maximum lv."); } else { activeChar.sendMessage("Havent enought item."); } } else if (command.equalsIgnoreCase("leveldown") || command.equalsIgnoreCase("downlevel")) { if (activeChar.getInventory().getInventoryItemCount(itemID, 0) >= itemCountDown && activeChar.getStat().getLevel() > 1) { InventoryUpdate iu = new InventoryUpdate(); activeChar.getInventory().destroyItemByItemId("Event Medal", itemID, itemCountDown, activeChar, null); activeChar.getInventory().updateDatabase(); activeChar.sendPacket(iu); activeChar.getStat().removeExpAndSp((activeChar.getExp() - Experience.LEVEL[activeChar.getStat().getLevel() - 1]), 0); activeChar.sendMessage("Level DOWN"); } else if(activeChar.getInventory().getInventoryItemCount(itemID, 0) >= itemCountDown && activeChar.getStat().getLevel() == 1){ activeChar.sendMessage("Sorry. You get lowest lv."); } else { activeChar.sendMessage("Havent enought item."); } } return true; } public String[] getVoicedCommandList() { return _voicedCommands; } } Register in MasterHandler.java VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new LevelCommands()); Quote
SoRa Posted January 16, 2011 Posted January 16, 2011 Useful code bro...thanks and keep sharing. ;) Quote
douga Posted January 16, 2011 Posted January 16, 2011 nice share i have a npc that makes this job but this command is very cool..... Quote
crownxp Posted May 11, 2011 Posted May 11, 2011 sorry but i have a question on registering this on masterhandler.java is missing a part like this " if (Config.L2JMOD_CHAT_ADMIN)" VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new LevelCommands()); every vocehandler has a " if (config.l2j) " Quote
MoDuL Posted May 11, 2011 Posted May 11, 2011 Well it didn't worked for me. Damn. Actually when i registered this on masterhandler.java none of the commands was working.. I think i've done something wrong.. any help on Where exactly to put this one: VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new LevelCommands()); Thnx. Quote
vampir Posted May 12, 2011 Posted May 12, 2011 sorry but i have a question on registering this on masterhandler.java is missing a part like this " if (Config.L2JMOD_CHAT_ADMIN)" VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new LevelCommands()); every vocehandler has a " if (config.l2j) " coz there is no config for it, this thing: if (config.l2j), mean if config is true then this command will work, and if u are applying this share to your pack, that mean you probably want to have it on your server or just to check if it work so there is no sense to make False, and if you want to delete this command, just delete VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new LevelCommands()); 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.