Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/java/net/sf/l2j/gameserver/handler/AdminCommandHandler.java b/java/net/sf/l2j/gameserver/handler/AdminCommandHandler.java
- index ae67764..2abbe8b 100644
- --- a/java/net/sf/l2j/gameserver/handler/AdminCommandHandler.java
- +++ b/java/net/sf/l2j/gameserver/handler/AdminCommandHandler.java
- @@ -18,6 +18,7 @@
- import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminInfo;
- import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminItem;
- import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminKnownlist;
- +import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminLevel;
- import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminMaintenance;
- import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminManage;
- import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminManor;
- @@ -44,6 +45,7 @@
- protected AdminCommandHandler()
- {
- + registerHandler(new AdminLevel());
- registerHandler(new AdminCustom());
- registerHandler(new AdminVip());
- registerHandler(new AdminAdmin());
- diff --git a/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminLevel.java b/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminLevel.java
- new file mode 100644
- index 0000000..add7ed7
- --- /dev/null
- +++ b/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminLevel.java
- @@ -0,0 +1,104 @@
- +/*
- + * 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.admincommandhandlers;
- +
- +import java.util.StringTokenizer;
- +
- +import net.sf.l2j.gameserver.handler.IAdminCommandHandler;
- +import net.sf.l2j.gameserver.model.WorldObject;
- +import net.sf.l2j.gameserver.model.actor.Playable;
- +import net.sf.l2j.gameserver.model.actor.Player;
- +import net.sf.l2j.gameserver.model.base.Experience;
- +import net.sf.l2j.gameserver.network.SystemMessageId;
- +
- +public class AdminLevel implements IAdminCommandHandler
- +{
- + private static final String[] ADMIN_COMMANDS =
- + {
- + "admin_addlevel",
- + "admin_setlevel"
- + };
- +
- + @Override
- + public void useAdminCommand(String command, Player activeChar)
- + {
- + if (activeChar == null)
- + return;
- +
- + WorldObject targetChar = activeChar.getTarget();
- +
- + StringTokenizer st = new StringTokenizer(command, " ");
- + String actualCommand = st.nextToken(); // Get actual command
- +
- + String val = "";
- + if (st.countTokens() >= 1)
- + val = st.nextToken();
- +
- + if (actualCommand.equalsIgnoreCase("admin_addlevel"))
- + {
- + try
- + {
- + if (targetChar instanceof Playable)
- + ((Playable) targetChar).getStatus().addLevel(Byte.parseByte(val));
- + }
- + catch (NumberFormatException e)
- + {
- + activeChar.sendMessage("Wrong number format.");
- + return;
- + }
- + }
- + else if (actualCommand.equalsIgnoreCase("admin_setlevel"))
- + {
- + try
- + {
- + if (targetChar == null || !(targetChar instanceof Player))
- + {
- + activeChar.sendPacket(SystemMessageId.TARGET_IS_INCORRECT); // incorrect target!
- + return;
- + }
- + Player targetPlayer = (Player) targetChar;
- +
- + byte lvl = Byte.parseByte(val);
- + if (lvl >= 1 && lvl <= Experience.MAX_LEVEL)
- + {
- + long pXp = targetPlayer.getStatus().getExp();
- + long tXp = Experience.LEVEL[lvl];
- +
- + if (pXp > tXp)
- + targetPlayer.removeExpAndSp(pXp - tXp, 0);
- + else if (pXp < tXp)
- + targetPlayer.addExpAndSp(tXp - pXp, 0);
- + }
- + else
- + {
- + activeChar.sendMessage("You must specify level between 1 and " + Experience.MAX_LEVEL + ".");
- + return;
- + }
- + }
- + catch (NumberFormatException e)
- + {
- + activeChar.sendMessage("You must specify level between 1 and " + Experience.MAX_LEVEL + ".");
- + return;
- + }
- + }
- + return;
- + }
- +
- + @Override
- + public String[] getAdminCommandList()
- + {
- + return ADMIN_COMMANDS;
- + }
- +}
- \ No newline at end of file
Add Comment
Please, Sign In to add comment