Jump to content

Recommended Posts

Posted

Hello this is my 4th Code

 

Commands

.start

 

RequestBypassToServer.java

After This:

else if (_command.startsWith("player_help "))
		{
			playerHelp(activeChar, _command.substring(12));
		}

Paste This

else if (_command.startsWith("voice") && (_command.charAt(6) == '.') && (_command.length() >7))
		{
			final String vc, vparams;
			int endOfCommand = _command.indexOf(" ", 7);
			if (endOfCommand > 0)
			{
				vc = _command.substring(7, endOfCommand).trim();
				vparams = _command.substring(endOfCommand).trim();
			}
			else
			{
				vc = _command.substring(7).trim();
				vparams = null;
			}
			if (vc.length() > 0)
								{
									IVoicedCommandHandler vch = VoicedCommandHandler.getInstance().getVoicedCommandHandler(vc);
									if (vch != null)
									{
										vch.useVoicedCommand(vc, activeChar);
									}
								}
							}

 

StartingItems.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 net.sf.l2j.gameserver.handler.voicedcommandhandlers;

import net.sf.l2j.Config;
import net.sf.l2j.gameserver.handler.IVoicedCommandHandler;
import net.sf.l2j.gameserver.model.L2ItemInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.network.serverpackets.InventoryUpdate;
import net.sf.l2j.gameserver.network.serverpackets.ItemList;
import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
import net.sf.l2j.gameserver.network.serverpackets.StatusUpdate;
import net.sf.l2j.L2DatabaseFactory;

/*
**
** Author Cr1MsOn
**
*/
public class StartingItems implements IVoicedCommandHandler
{
private static String[] _voicedCommands =
{
		"mageitems", "daggeritems", "bowitems", "start"
};

@Override
public boolean useVoicedCommand(String command, L2PcInstance activeChar)
{
	if(Config.ALLOW_STARTING_ITEMS)
	{
		if (command.startsWith("start"))
		{
			if (activeChar.isInDuel())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are In Duel Mode");
			}
			else if (activeChar.isInCombat())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are In Combat");
			}
			else if (activeChar.isInOlympiadMode())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are In Olympiad Mode");
			}
			else if (activeChar.isDead())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are Dead");
			}
			else if (activeChar.isFakeDeath())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are In Fake Death");
			}
			else if (activeChar.isInJail())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are In Jail");
			}
			else {
			showPage(activeChar);
			}
		}
		if(command.startsWith("mageitems"))
		{
			if (activeChar.isInDuel())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are In Duel Mode");
			}
			else if (activeChar.isInCombat())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are In Combat");
			}
			else if (activeChar.isInOlympiadMode())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are In Olympiad Mode");
			}
			else if (activeChar.isDead())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are Dead");
			}
			else if (activeChar.isFakeDeath())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are In Fake Death");
			}
			else if (activeChar.isInJail())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are In Jail");
			}
			else {
				final int[] mageitems = {6608,2407,5767,5779,512,6657,6656,6659,6658,6660};
				L2ItemInstance items = null;
				for (int id : mageitems)
				{
					activeChar.getInventory().addItem("MageItems", id, 1, activeChar, activeChar);
					items = activeChar.getInventory().getItemByItemId(id);
					items.updateDatabase();
					activeChar.getInventory().equipItemAndRecord(items);
					activeChar.getInventory().reloadEquippedItems();
					activeChar.broadcastCharInfo();
					activeChar.sendPacket(new InventoryUpdate());
					activeChar.sendPacket(new ItemList(activeChar, false));
					activeChar.sendPacket(new StatusUpdate(activeChar));
				}
				activeChar.sendMessage("Mage Items Successfully Equiped");
			}
		}
		if (command.startsWith("daggeritems"))
		{
			if (activeChar.isInDuel())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are In Duel Mode");
			}
			else if (activeChar.isInCombat())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are In Combat");
			}
			else if (activeChar.isInOlympiadMode())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are In Olympiad Mode");
			}
			else if (activeChar.isDead())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are Dead");
			}
			else if (activeChar.isFakeDeath())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are In Fake Death");
			}
			else if (activeChar.isInJail())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are In Jail");
			}
			else {
				final int[] daggeritems = {6367,6379,6380,6381,6382,6657,6656,6659,6658,6660};
				L2ItemInstance items = null;
				for (int id : daggeritems)
				{
					activeChar.getInventory().addItem("DaggerItems", id, 1, activeChar, activeChar);
					items = activeChar.getInventory().getItemByItemId(id);
					items.updateDatabase();
					activeChar.getInventory();
					activeChar.getInventory().equipItemAndRecord(items);
					activeChar.getInventory().reloadEquippedItems();
					activeChar.broadcastCharInfo();
					activeChar.sendPacket(new InventoryUpdate());
					activeChar.sendPacket(new ItemList(activeChar, false));
					activeChar.sendPacket(new StatusUpdate(activeChar));
				}
				activeChar.sendMessage("Dagger Items Successfully Equiped!");
			}
		}
		if (command.startsWith("bowitems"))
		{
			if (activeChar.isInDuel())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are In Duel Mode");
			}
			else if (activeChar.isInCombat())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are In Combat");
			}
			else if (activeChar.isInOlympiadMode())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are In Olympiad Mode");
			}
			else if (activeChar.isDead())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are Dead");
			}
			else if (activeChar.isFakeDeath())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are In Fake Death");
			}
			else if (activeChar.isInJail())
			{
				activeChar.sendMessage("You Cant Use This Command While You Are In Jail");
			}
			else {
				final int[] bowitems = {7577,6379,6380,6381,6382,6657,6656,6659,6658,6660};
				L2ItemInstance items = null;
				for (int id : bowitems)
				{
					activeChar.getInventory().addItem("BowItems", id, 1, activeChar, activeChar);
					items = activeChar.getInventory().getItemByItemId(id);
					items.updateDatabase();
					activeChar.getInventory();
					activeChar.getInventory().equipItemAndRecord(items);
					activeChar.getInventory().reloadEquippedItems();
					activeChar.broadcastCharInfo();
					activeChar.sendPacket(new InventoryUpdate());
					activeChar.sendPacket(new ItemList(activeChar, false));
					activeChar.sendPacket(new StatusUpdate(activeChar));
				}
				activeChar.sendMessage("Bow Items Sucessfully Equiped");
			}
		}
	}
	return true;
}
private static void showPage(L2PcInstance activeChar)
{
	String htmFile = "data/html/mods/StartingItems.htm";

	NpcHtmlMessage msg = new NpcHtmlMessage(5);
	msg.setFile(htmFile);
	activeChar.sendPacket(msg);
}
@Override
public String[] getVoicedCommandList()
{
	return _voicedCommands;
}

}

VoicedCommandHandler.java

protected VoicedCommandHandler()
{
	_datatable = new TIntObjectHashMap<>();

+	registerVoicedCommandHandler(new StartingItems());

}

Config.java

public static boolean ALLOW_STARTING_ITEMS;

ALLOW_STARTING_ITEMS = Boolean.parseBoolean(crimson.getProperty("AllowStartingItems", "True"));

Crimson.properties

# Allow Starting Items
# Default : False
AllowStartingItems = True

Htm FILE(data\html\mods\StartingItems.htm

<html><title>Starting Items</title>
<body>
<center>
<table>
<tr><td align=center><font color="LEVEL">Starting Items.</font></td></tr>
<tr><td><img src="L2UI_CH3.onscrmsg_pattern01_2" width=300 height=32 align=left></td></tr>
<tr><td height=10></td></tr>
<tr><td align=center><button action="bypass -h voice .mageitems" value="Mage Items" width=204 height=20 back="sek.cbui36" fore="sek.cbui75"></td></tr>
<tr><td align=center><button action="bypass -h voice .daggeritems" value="Dagger Items" width=204 height=20 back="sek.cbui36" fore="sek.cbui75"></td></tr>
<tr><td align=center><button action="bypass -h voice .bowitems" value="Bow Items" width=204 height=20 back="sek.cbui36" fore="sek.cbui75"></td></tr>		
</table>
<br><br>
<font color="LEVEL">Made By Cr1MsOn</font><br>
<img src="L2UI_CH3.onscrmsg_pattern01_2" width=300 height=32 align=left>
</body>
</center></html>

 

Image:

wje1dj.png

soz for the title.

Credits:Me

Posted

You should remove this useless command(this includes all those restrictions for oly, etc), and add it when a new char is logged in.

Thanks for your suggestion.

  • 2 weeks later...

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...