Jump to content

Recommended Posts

Posted

/*
* 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

 

 

Posted

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.

Posted

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

  • 4 weeks later...
  • 2 months later...
Posted

[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 ;)

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...