xAddytzu Posted May 29, 2009 Posted May 29, 2009 /* * 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 2, 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, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. * * http://www.gnu.org/copyleft/gpl.html */ /** * @author xAddytzu */ package net.sf.l2j.gameserver.handler.voicedcommandhandlers; import net.sf.l2j.gameserver.handler.IVoicedCommandHandler; import net.sf.l2j.gameserver.instancemanager.DimensionalRiftManager; import net.sf.l2j.gameserver.instancemanager.SiegeManager; import net.sf.l2j.gameserver.model.L2Character; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.entity.Siege; import net.sf.l2j.gameserver.model.zone.type.L2TownZone; public class Restore implements IVoicedCommandHandler { private static final String[] VOICED_COMMANDS = { "restore" }; public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) { if (command.equalsIgnoreCase("restore")) { Siege siege = SiegeManager.getInstance().getSiege(activeChar); if (activeChar == null) { return false; } else if (!activeChar.isInsideZone(L2Character.ZONE_PEACE)) { activeChar.sendMessage("You can use restore command only in peace zone"); return false; } else if (activeChar.isCastingNow() || activeChar.isMovementDisabled() || activeChar.isMuted() || activeChar.isAlikeDead()) return false; else if (activeChar.isInOlympiadMode()) { activeChar.sendMessage("You are in Olympiad!"); return false; } else if (activeChar.inObserverMode()) { activeChar.sendMessage("You are in observer mode."); return false; } else if (activeChar.isFestivalParticipant()) { activeChar.sendMessage("You are in festival."); return false; } else if (DimensionalRiftManager.getInstance().checkIfInRiftZone (activeChar.getX(), activeChar.getY(), activeChar.getZ(), false)) { activeChar.sendMessage("You can't use restore command when you are in the dimensional rift."); return false; } else if (activeChar.isInJail()) { activeChar.sendMessage("You can't use restore command when you are in the jail."); return false; } else if (siege != null && siege.getIsInProgress()) { activeChar.sendMessage("You are in siege, you can't use restore command."); return false; } else if (activeChar.isInDuel()) { activeChar.sendMessage("You are in a duel!"); return false; } else if (activeChar.getKarma() > 0) { activeChar.sendMessage("You can't use restore command when you have karma."); return false; } else if (activeChar.getPvpFlag() != 0) { activeChar.sendMessage("You can't use restore command when you are engaged in a PvP."); return false; } activeChar.getStatus().setCurrentHp(activeChar.getMaxHp()); activeChar.getStatus().setCurrentMp(activeChar.getMaxMp()); activeChar.getStatus().setCurrentCp(activeChar.getMaxCp()); } return true; } public String[] getVoicedCommandList() { return VOICED_COMMANDS; } } Quote
zunix Posted May 30, 2009 Posted May 30, 2009 TYPO: You are in siege, you can't join the fight. and btw make a check that player is in combat or not... because than u dont need a healer... and make a macro and can raid a raidboss easy and than add that u have to target yourself, otherway people will heal other players so u will have invul players Quote
Intrepid Posted May 30, 2009 Posted May 30, 2009 Now with the checks its ok :) add a + check to avoid NPEs if (activeChar != null) return false; Quote
SaLeoTragem Posted May 30, 2009 Posted May 30, 2009 TYPO: You are in siege, you can't join the fight. and btw make a check that player is in combat or not... because than u dont need a healer... and make a macro and can raid a raidboss easy and than add that u have to target yourself, otherway people will heal other players so u will have invul players Agree with zunix :) How they can pvp if they restore thei cp,hp non stop :P? Quote
xAddytzu Posted May 30, 2009 Author Posted May 30, 2009 Agree with zunix :) How they can pvp if they restore thei cp,hp non stop :P? else if (activeChar.getPvpFlag() != 0) { activeChar.sendMessage("You can't use restore command when you are engaged in a PvP."); return false; } Who wants to not be use in combat, add this check else if (activeChar.isInCombat() { activeChar.sendMessage("You can't use restore command when you are in combat.") return false; } Quote
Horus Posted May 30, 2009 Posted May 30, 2009 TYPO: You are in siege, you can't join the fight. and btw make a check that player is in combat or not... because than u dont need a healer... and make a macro and can raid a raidboss easy and than add that u have to target yourself, otherway people will heal other players so u will have invul players Gotta agree with Zunix and Intrepid, this seems a bit useless and pointless, but its your server its your choice. Anyway its nice for your first work ^^ Quote
xAddytzu Posted May 30, 2009 Author Posted May 30, 2009 Anyway its nice for your first work ^^ Huh! It's not first work .. btw thank`s Quote
xardas Posted May 30, 2009 Posted May 30, 2009 well the idea is original :D but no need of this :D .... anyway GJ Quote
CrazyDeagle Posted January 8, 2010 Posted January 8, 2010 Sorry for the double post but where i need make this????.... XD and what i need put 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.