Noticias:

Debes de estar registrado para poder ver el contenido indicado. Registrate o Conectate

Menú Principal

Banking System (Con Comandos)

Iniciado por Swarlog, Ago 19, 2022, 12:44 AM

Tema anterior - Siguiente tema

Swarlog

Index: java/config/l2jmods.properties
===================================================================
--- java/config/l2jmods.properties (revision 1791)
+++ java/config/l2jmods.properties (working copy)
@@ -138,3 +138,13 @@
 # ex.: 1;2;3;4;5;6
 # no ";" at the start or end
 TvTEventDoorsCloseOpenOnStartEnd =
+
+#---------------------------------------------------------------
+# L2J Banking System                                           -
+#---------------------------------------------------------------
+# To enable banking system set this value to true, default is false.
+BankingEnabled = false
+# This is the amount of Goldbars someone will get when they do the .deposit command, and also the same amount they will lose when they do .withdraw
+BankingGoldbarCount = 1
+# This is the amount of Adena someone will get when they do the .withdraw command, and also the same amount they will lose when they do .deposit
+BankingAdenaCount = 500000000
Index: java/net/sf/l2j/Config.java
===================================================================
--- java/net/sf/l2j/Config.java (revision 1791)
+++ java/net/sf/l2j/Config.java (working copy)
@@ -529,6 +529,9 @@
     public static boolean L2JMOD_WEDDING_SAMESEX;
     public static boolean L2JMOD_WEDDING_FORMALWEAR;
     public static int L2JMOD_WEDDING_DIVORCE_COSTS;
+    public static boolean BANKING_SYSTEM_ENABLED;
+    public static int BANKING_SYSTEM_GOLDBARS;
+    public static int BANKING_SYSTEM_ADENA;
     
     /** ************************************************** **/
  /** L2JMods Settings -End                              **/
@@ -1676,6 +1679,10 @@
                         }
                     }
                 }
+               
+                BANKING_SYSTEM_ENABLED = Boolean.parseBoolean(L2JModSettings.getProperty("BankingEnabled", "false"));
+                BANKING_SYSTEM_GOLDBARS = Integer.parseInt(L2JModSettings.getProperty("BankingGoldbarCount", "1"));
+                BANKING_SYSTEM_ADENA = Integer.parseInt(L2JModSettings.getProperty("BankingAdenaCount", "500000000"));
 
             }
             catch (Exception e)
Index: java/net/sf/l2j/gameserver/GameServer.java
===================================================================
--- java/net/sf/l2j/gameserver/GameServer.java (revision 1791)
+++ java/net/sf/l2j/gameserver/GameServer.java (working copy)
@@ -197,6 +197,7 @@
 import net.sf.l2j.gameserver.handler.usercommandhandlers.OlympiadStat;
 import net.sf.l2j.gameserver.handler.usercommandhandlers.PartyInfo;
 import net.sf.l2j.gameserver.handler.usercommandhandlers.Time;
+import net.sf.l2j.gameserver.handler.voicedcommandhandlers.Banking;
 import net.sf.l2j.gameserver.handler.voicedcommandhandlers.Wedding;
 import net.sf.l2j.gameserver.handler.voicedcommandhandlers.stats;
 import net.sf.l2j.gameserver.idfactory.IdFactory;
@@ -618,9 +619,10 @@
  if(Config.L2JMOD_ALLOW_WEDDING)
  _voicedCommandHandler.registerVoicedCommandHandler(new Wedding());
 
+ if(Config.BANKING_SYSTEM_ENABLED)
+ _voicedCommandHandler.registerVoicedCommandHandler(new Banking());
+
  _log.config("VoicedCommandHandler: Loaded " + _voicedCommandHandler.size() + " handlers.");
-
-
 
  if(Config.L2JMOD_ALLOW_WEDDING)
  CoupleManager.getInstance();
Index: java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/Banking.java
===================================================================
--- java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/Banking.java (revision 0)
+++ java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/Banking.java (revision 0)
@@ -0,0 +1,73 @@
+/*
+ * 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.serverpackets.InventoryUpdate;
+
+/**
+ * This class trades Gold Bars for Adena and vice versa.
+ *
+ * @author Ahmed
+ */
+public class Banking implements IVoicedCommandHandler
+{
+ private static String[] _voicedCommands = { "bank", "withdraw", "deposit" };
+
+ 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.");
+ }
+ }
+ return true;
+ }
+
+ public String[] getVoicedCommandList()
+ {
+ return _voicedCommands;
+ }
+}
\ No newline at end of file

By Ahmed.