Emrys Posted September 29, 2009 Posted September 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 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 javolution.text.TextBuilder; import java.io.IOException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.StringTokenizer; import java.util.logging.Logger; import net.sf.l2j.Base64; import net.sf.l2j.Config; import net.sf.l2j.L2DatabaseFactory; import net.sf.l2j.gameserver.communitybbs.Manager.RegionBBSManager; import net.sf.l2j.gameserver.handler.IVoicedCommandHandler; import net.sf.l2j.gameserver.model.L2World; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.network.serverpackets.InventoryUpdate; import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage; import net.sf.l2j.gameserver.network.serverpackets.PartySmallWindowAll; import net.sf.l2j.gameserver.network.serverpackets.PartySmallWindowDeleteAll; /** * * @author TheEnd * */ public class UserControlPanel implements IVoicedCommandHandler { private static final String[] _voicedCommands = { "ucp", "ucep_changename", "ucp_hero", "ucp_titile", "ucp_nokarma", "ucp_revive", "ucp_NameGreen", "ucp_NameRed", "ucp_NameBlue", "ucp_NameYellow", "ucp_noble", "ucp_rep" }; public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) { if (command.equalsIgnoreCase("ucp")) { activeChar.sendMessage("Uses:ucep_changename,ucp_hero,ucp_titile,ucp_nokarma,ucp_revive,ucp_NameGreen,ucp_NameRed,ucp_NameBlue,ucp_NameYellow,ucp_noble,ucp_rep"); } else if (command.startsWith("ucp_changename")) { InventoryUpdate iu = new InventoryUpdate(); activeChar.getInventory().destroyItemByItemId("Item", x, y, activeChar, activeChar.getTarget()); try { String val = command.substring(17); L2World.getInstance().removeFromAllPlayers(activeChar); activeChar.setName(val); activeChar.store(); L2World.getInstance().addToAllPlayers(activeChar); activeChar.sendMessage("Your name has changed."); activeChar.broadcastUserInfo(); if (activeChar.isInParty()) { // Delete party window for other party members activeChar.getParty().broadcastToPartyMembers(activeChar, new PartySmallWindowDeleteAll()); for (L2PcInstance member : activeChar.getParty().getPartyMembers()) { // And re-add if (member != activeChar) member.sendPacket(new PartySmallWindowAll(member, activeChar.getParty())); } } if (activeChar.getClan() != null) { activeChar.getClan().broadcastClanStatus(); } RegionBBSManager.getInstance().changeCommunityBoard(); } catch (StringIndexOutOfBoundsException e) { //Case of empty character name activeChar.sendMessage("Wrong Usage"); } } else if (command.equalsIgnoreCase("ucp_hero")) { InventoryUpdate iu = new InventoryUpdate(); activeChar.getInventory().destroyItemByItemId("Item", x, y, activeChar, activeChar.getTarget()); activeChar.setHero(true); } else if(command.equalsIgnoreCase("ucp_title")) { String val = command.substring(17); activeChar.setTitle(val); } else if (command.equalsIgnoreCase("ucp_nokarma")) { InventoryUpdate iu = new InventoryUpdate(); activeChar.getInventory().destroyItemByItemId("Item", x, y, activeChar, activeChar.getTarget()); activeChar.setKarma(0); } else if (command.equalsIgnoreCase("ucp_revive")) { InventoryUpdate iu = new InventoryUpdate(); activeChar.getInventory().destroyItemByItemId("Item", x, y, activeChar, activeChar.getTarget()); activeChar.doRevive(); activeChar.setCurrentHp(100); } else if (command.equalsIgnoreCase("ucp_NameGreen")) { InventoryUpdate iu = new InventoryUpdate(); activeChar.getInventory().destroyItemByItemId("Item", x, y, activeChar, activeChar.getTarget()); activeChar.getAppearance().setNameColor(127, 255, 0); } else if (command.equalsIgnoreCase("ucp_NameRed")) { InventoryUpdate iu = new InventoryUpdate(); activeChar.getInventory().destroyItemByItemId("Item", x, y, activeChar, activeChar.getTarget()); activeChar.getAppearance().setNameColor(255, 69, 0); } else if (command.equalsIgnoreCase("ucp_NameBlue")) { InventoryUpdate iu = new InventoryUpdate(); activeChar.getInventory().destroyItemByItemId("Item", x, y, activeChar, activeChar.getTarget()); activeChar.getAppearance().setNameColor(92, 172, 238); } else if (command.equalsIgnoreCase("ucp_NameYellow")) { InventoryUpdate iu = new InventoryUpdate(); activeChar.getInventory().destroyItemByItemId("Item", x, y, activeChar, activeChar.getTarget()); activeChar.getAppearance().setNameColor(255, 215, 0); } else if (command.equalsIgnoreCase("ucp_noble")) { if(activeChar.isNoble()) { activeChar.sendMessage("You Are Already Noblesse!"); } else { InventoryUpdate iu = new InventoryUpdate(); activeChar.getInventory().destroyItemByItemId("Item", x, y, activeChar, activeChar.getTarget()); activeChar.setNoble(true); activeChar.sendMessage("You Are Now a Noble."); activeChar.broadcastUserInfo(); } } else if (command.equalsIgnoreCase("ucp_rep")) { InventoryUpdate iu = new InventoryUpdate(); activeChar.getInventory().destroyItemByItemId("Item", x, y, activeChar, activeChar.getTarget()); activeChar.getClan().setReputationScore(5000, true); } return true; } public String[] getVoicedCommandList() { return _voicedCommands; } } make a file UserAccountControl.java I made it for Fun so It isnt tested.... x= item ID y= amount Quote
CнαossMαsteя Posted September 29, 2009 Posted September 29, 2009 hmm seems intresting but what it does ? ;D Quote
Matim Posted September 29, 2009 Posted September 29, 2009 Yea, nice work TheEnd..also you could make config for X/Y..but without its also good. Good Job ;) hmm seems intresting but what it does ? ;D Read the code. Quote
Emrys Posted September 29, 2009 Author Posted September 29, 2009 Yea, nice work TheEnd..also you could make config for X/Y..but without its also good. Good Job ;) Read the code. yes But I would need 2 Configs for every command :D Quote
Horus Posted September 29, 2009 Posted September 29, 2009 TheEnd there is no need to force an InventoryUpdate since its already hardcoded in the methods you use ;) DestroyItem, and so son. Quote
Nik Posted September 30, 2009 Posted September 30, 2009 yes But I would need 2 Configs for every command :D its possible to be done only with 1 config for all the commands... just think how Quote
xDunno Posted September 30, 2009 Posted September 30, 2009 TheEnd can u give more information about this ? ^^ B/c i read i watch code but i dont realy understand for what is this one xD Quote
~GeFriDo~ Posted October 30, 2009 Posted October 30, 2009 Good share dude !! thanks it works.... Quote
Mitjuh Posted January 1, 2010 Posted January 1, 2010 [quote name="TheEnd" post="640989" timestamp="1254227143"] public class UserControlPanel implements IVoicedCommandHandler { private static final String[] _voicedCommands = { "ucp", "ucep_changename", "ucp_hero", "ucp_titile", <---------------------------------------------- title "ucp_nokarma", "ucp_revive", "ucp_NameGreen", "ucp_NameRed", "ucp_NameBlue", "ucp_NameYellow", "ucp_noble", "ucp_rep" }; [/quote] however well done ;) 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.