Jump to content

Recommended Posts

Posted

Here's a modified Banking.Properties with the normal commands and one more added.

 

* 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.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.network.serverpackets.InventoryUpdate;

/**
* This class trades Gold Bars for Adena and vice versa.
*
* @author Ahmed
*/
public class Banking implements IVoicedCommandHandler
{
private static final String[] _voicedCommands =
{
	"bank",
	"withdraw",
	"deposit",
	"getvitality"
};

/**
 * 
 * @see net.sf.l2j.gameserver.handler.IVoicedCommandHandler#useVoicedCommand(java.lang.String, net.sf.l2j.gameserver.model.actor.instance.L2PcInstance, java.lang.String)
 */
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{
	if (command.equalsIgnoreCase("bank"))
	{
		activeChar.sendMessage(".deposit (" + Config.BANKING_SYSTEM_ADENA + " Adena = " + Config.BANKING_SYSTEM_GOLDBARS + " Goldbar) / .withdraw (" + Config.BANKING_SYSTEM_GOLDBARS + " Goldbar = " + Config.BANKING_SYSTEM_ADENA + " Adena)");
	}
	else if (command.equalsIgnoreCase("deposit"))
	{
		if (activeChar.getInventory().getInventoryItemCount(57, 0) >= Config.BANKING_SYSTEM_ADENA)
		{
			InventoryUpdate iu = new InventoryUpdate();
			activeChar.getInventory().reduceAdena("Goldbar", Config.BANKING_SYSTEM_ADENA, activeChar, null);
			activeChar.getInventory().addItem("Goldbar", 3470, Config.BANKING_SYSTEM_GOLDBARS, activeChar, null);
			activeChar.getInventory().updateDatabase();
			activeChar.sendPacket(iu);
			activeChar.sendMessage("Thank you, you now have " + Config.BANKING_SYSTEM_GOLDBARS + " Goldbar(s), and " + Config.BANKING_SYSTEM_ADENA + " less adena.");
		}
		else
		{
			activeChar.sendMessage("You do not have enough Adena to convert to Goldbar(s), you need " + Config.BANKING_SYSTEM_ADENA + " Adena.");
		}
	}
	else if (command.equalsIgnoreCase("withdraw"))
	{
		if (activeChar.getInventory().getInventoryItemCount(3470, 0) >= Config.BANKING_SYSTEM_GOLDBARS)
		{
			InventoryUpdate iu = new InventoryUpdate();
			activeChar.getInventory().destroyItemByItemId("Adena", 3470, Config.BANKING_SYSTEM_GOLDBARS, activeChar, null);
			activeChar.getInventory().addAdena("Adena", Config.BANKING_SYSTEM_ADENA, activeChar, null);
			activeChar.getInventory().updateDatabase();
			activeChar.sendPacket(iu);
			activeChar.sendMessage("Thank you, you now have " + Config.BANKING_SYSTEM_ADENA + " Adena, and " + Config.BANKING_SYSTEM_GOLDBARS + " less Goldbar(s).");
		}
		else
		{
			activeChar.sendMessage("You do not have any Goldbars to turn into " + Config.BANKING_SYSTEM_ADENA + " Adena.");
		}
	}
	else if (command.equalsIgnoreCase("getvitality"))
	{
		if (activeChar.getInventory().getInventoryItemCount(6673, 0) >= 5)
		{
			activeChar.setVitalityLevel(5);
			activeChar.sendMessage("Your vitality has been replenished!");
		}
		else
		{
			activeChar.sendMessage("You don't have enough Festival Adena.You need at least 5 Festival Adena.");
		}
	}
	return true;
}

/**
 * 
 * @see net.sf.l2j.gameserver.handler.IVoicedCommandHandler#getVoicedCommandList()
 */
public String[] getVoicedCommandList()
{
	return _voicedCommands;
}
}

 

This part which i have written takes 5 Festival Adena from you and gives you full vitality!

 

Dunno if this code is right i just started java so don't be bad with me :P

 

If any l2j dev sees this fix my mistakes plz , if you can.

 

THIS HAS NOT BEEN TESTED!

 

Thank you.

 

This is my part of the code

 

	else if (command.equalsIgnoreCase("getvitality"))
	{
		if (activeChar.getInventory().getInventoryItemCount(6673, 0) >= 5)
		{
			activeChar.setVitalityLevel(5);
			activeChar.sendMessage("Your vitality has been replenished!");
		}
		else
		{
			activeChar.sendMessage("You don't have enough Festival Adena.You need at least 5 Festival Adena.");
		}

 

 

* LOCKED * - Please any l2j dev pm me to unlock this if the code is right.

Guest
This topic is now closed to further replies.


  • Posts

    • 🧵 [FREE RELEASE] L2Updater + AntiCheat + Build System + Full Website ⚔️ Presentation After a long time of development, testing, and improvements, I decided to release this project for free to the community. This is a complete package for anyone who wants to build a Lineage II server with a professional-level structure. The idea was not just to create a simple tool, but a full ecosystem that covers everything a modern server needs. 🚀 What’s Included This release contains: ✔ Modern Launcher (Windows) ✔ Smart Update System (FULL + PATCH) ✔ AntiCheat protection (client-side DLL) ✔ Build System for generating updates ✔ Complete Website (register + ranking + pages) Everything is integrated to work together. 🧠 Project Concept The goal of this project is simple: Instead of using outdated launchers or fragmented systems, this package provides: ✔ Organization ✔ Performance ✔ Security ✔ Scalability 🔄 Update System The updater is based on a manifest system, where: ✔ The client checks versions automatically ✔ Only changed files are downloaded (patch system) ✔ Full client is downloaded if needed ✔ Files are validated using hash This results in: Faster updates Lower bandwidth usage Better user experience 🛡️ AntiCheat System The AntiCheat included in this package works directly on the client side. It provides: ✔ Protection against modified clients ✔ Basic cheat detection ✔ File integrity validation ✔ Blocking of suspicious environments This helps maintain a fair and controlled gameplay environment. 🏗️ Build System (Patch Creator) A full build system is included to automate updates. Features: ✔ Detect changed files automatically ✔ Generate FULL packages ✔ Generate PATCH updates ✔ Create manifest.json automatically This allows you to manage updates like: 🌐 Website System A complete website is included, featuring: ✔ Account registration ✔ Player ranking (PvP / PK) ✔ News pages ✔ Integration with the server database 🎯 Why Use This? Many servers fail because they lack structure. This package solves that by providing: ✔ A complete environment ✔ Organized update flow ✔ Integrated systems ✔ Ready-to-use base ⚙️ Technical Details ✔ Launcher developed with modern UI concepts ✔ Patch system based on hash validation ✔ Integration between server, launcher, and website ✔ Expandable architecture 📦 Download 👉 (https://mega.nz/file/AusTnYQK#ZhvArkZpDS7FH60TXd2rg5wT2OxSg9v2pJ2GLrJbyiQ / download link here) 💬 Final Words If your server does not have a system like this today: This project is designed to help you reach a higher level.  
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..