Noticias:

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

Menú Principal

[COMMANDO] .buff

Iniciado por Swarlog, Ago 05, 2022, 01:25 AM

Tema anterior - Siguiente tema

Swarlog

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

CORE:

Index: java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java
===================================================================
--- java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java    (revision 1)
+++ java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java    (working copy)
@@ -20,18 +20,29 @@

 import net.sf.l2j.gameserver.handler.IAdminCommandHandler;
+import net.sf.l2j.gameserver.handler.voicedcommandhandlers.BuffCommand;
+import net.sf.l2j.gameserver.datatables.SkillTable;

@@ -89,10 +100,218 @@
               
             else if (_command.startsWith("player_help "))
             {
                 playerHelp(activeChar, _command.substring(12));
             }
+            // start voiced .buff command
+            else if (_command.startsWith("buffCommandFight"))
+            {
+                BuffCommand.getFullBuff(activeChar, false);
+            }           
+            else if (_command.startsWith("buffCommandMage"))
+            {
+                BuffCommand.getFullBuff(activeChar, true);
+            }
+            else if (_command.startsWith("buffCommand") && BuffCommand.check(activeChar))
+            {
+                String idBuff = _command.substring(12);
+                int parseIdBuff = Integer.parseInt(idBuff);
+                SkillTable.getInstance().getInfo(parseIdBuff, SkillTable.getInstance().getMaxLevel(parseIdBuff)).getEffects(activeChar, activeChar);
+                BuffCommand.showHtml(activeChar);
+            }
+            else if (_command.startsWith("cancelBuffs") && BuffCommand.check(activeChar))
+            {
+                activeChar.stopAllEffectsExceptThoseThatLastThroughDeath();
+                BuffCommand.showHtml(activeChar);
+            }
+            // end voiced .buff command

Index: java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/BuffCommand.java
===================================================================
--- java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/BuffCommand.java    (revision 0)
+++ java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/BuffCommand.java    (working copy)
@@ -0,0 +1,59 @@
+package net.sf.l2j.gameserver.handler.voicedcommandhandlers;
+
+import net.sf.l2j.Config;
+import net.sf.l2j.gameserver.datatables.SkillTable;
+import net.sf.l2j.gameserver.handler.IVoicedCommandHandler;
+import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+import net.sf.l2j.gameserver.model.zone.ZoneId;
+import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
+
+/**
+ *
+ * @author Bluur
+ *
+ */
+public class BuffCommand implements IVoicedCommandHandler
+{
+    private final String[] _voicedCommands =
+    {
+        "buff"
+    };
+   
+    @Override
+    public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
+    {   
+        if (check(activeChar)) //retorna               
+            showHtml(activeChar);   
+       
+        return true;
+    }
+   
+    public static void getFullBuff(L2PcInstance p, boolean isClassMage)
+    {
+        if (check(p))
+        {
+            if (isClassMage)
+            {
+                for (int b : Config.BUFF_COMMAND_MAGE_IDBUFFS)   
+                     SkillTable.getInstance().getInfo(b, SkillTable.getInstance().getMaxLevel(b)).getEffects(p, p);       
+            }
+            else
+            {
+                for (int b : Config.BUFF_COMMAND_FIGHT_IDBUFFS)   
+                     SkillTable.getInstance().getInfo(b, SkillTable.getInstance().getMaxLevel(b)).getEffects(p, p);       
+            }
+            p.sendMessage("[Buff Command]: Voce foi buffado!");
+        }       
+    }
+   
+    public static boolean check(L2PcInstance p)
+    {       
+        return p.isInsideZone(ZoneId.PEACE) && !p.isInCombat() && !p.isInOlympiadMode(); //restrições
+    }
+   
+    public static void showHtml(L2PcInstance player)
+    {     
+        NpcHtmlMessage html = new NpcHtmlMessage(0);   
+        html.setFile("data/html/mods/buffCommand.htm");
+        html.replace("%currentBuffs%", player.getBuffCount());
+        html.replace("%getMaxBuffs%", player.getMaxBuffCount());
+        player.sendPacket(html);
+    }
+   
+    @Override
+    public String[] getVoicedCommandList()
+    {
+        return _voicedCommands;
+    }
+}

\ No newline at end of file

Index: java/net/sf/l2j/gameserver/handler/VoicedCommandHandler.java
===================================================================
--- java/net/sf/l2j/gameserver/handler/VoicedCommandHandler.java    (revision 0)
+++ java/net/sf/l2j/gameserver/handler/VoicedCommandHandler.java    (working copy)
@@ -0,0 +1,94 @@

import net.sf.l2j.gameserver.handler.voicedcommandhandlers.Online;
+import net.sf.l2j.gameserver.handler.voicedcommandhandlers.BuffCommand;

    protected VoicedCommandHandler()
    {
        registerHandler(new Online());
+       registerHandler(new BuffCommand());

Index: java/net/sf/l2j/Config.java
===================================================================
--- java/net/sf/l2j/Config.java    (revision 1)
+++ java/net/sf/l2j/Config.java    (working copy)
@@ -484,6 +484,11 @@

     public static boolean STORE_SKILL_COOLTIME;
     public static int BUFFS_MAX_AMOUNT;
 
+    /** Voiced buff command */
+    public static String LIST_BUFF_COMMAND;
+    public static int[] BUFF_COMMAND_FIGHT_IDBUFFS;
+    public static int[] BUFF_COMMAND_MAGE_IDBUFFS;
+   

            STORE_SKILL_COOLTIME = players.getProperty("StoreSkillCooltime", true);                                                           
+               
+            LIST_BUFF_COMMAND = players.getProperty("buffCommandFightBuffsID", "123,456");
+       
+            String[] buffCommand = LIST_BUFF_COMMAND.split(",");           
+            BUFF_COMMAND_FIGHT_IDBUFFS = new int[buffCommand.length];       
+            for (int i = 0; i < buffCommand.length; i++)
+                BUFF_COMMAND_FIGHT_IDBUFFS[i] = Integer.parseInt(buffCommand[i]);
+           
+            LIST_BUFF_COMMAND = players.getProperty("buffCommandMageBuffsID", "789,1011112");
+           
+            buffCommand = LIST_BUFF_COMMAND.split(",");           
+            BUFF_COMMAND_MAGE_IDBUFFS = new int[buffCommand.length];           
+            for (int i = 0; i < buffCommand.length; i++)
+                BUFF_COMMAND_MAGE_IDBUFFS[i] = Integer.parseInt(buffCommand[i]);

Index: config/players.properties
===================================================================
--- config/players.properties    (revision 1)
+++ config/players.properties    (working copy)
@@ -288,4 +288,14 @@

StoreSkillCooltime = True
+
+#=============================================================
+#                    Voiced .buff Command  by Bluur
+#=============================================================
+
+# List of ID buffs - FIGHT -
+buffCommandFightBuffsID = 1204,1040,1035,1045,1062,1048,1036,1303,1085,1059,1078,264,267,268,304,349,273,276,365,1363
+
+# List of ID buffs - MAGE -
+buffCommandMageBuffsID = 1204,1068,1040,1035,1036,1045,1086,1077,1240,1242,264,267,268,269,304,364,271,274,275,1363

DATA:

<html><title>buff Command</title><body><center>

<br>
Slots de Buffs: <font color=LEVEL>%currentBuffs%</font> / %getMaxBuffs%
<br>
<table width=280>
<tr>
<td align=center><a action="bypass -h buffCommand 1040">Shield</a></td>
<td align=center><a action="bypass -h buffCommand 1062">Berserker</a></td>
<td align=center><a action="bypass -h buffCommand 271">Warrior</a></td>
</tr>
<tr>
<td align=center><a action="bypass -h buffCommand 1068">Might</a></td>
<td align=center><a action="bypass -h buffCommand 269">Hunter</a></td>
<td align=center><a action="bypass -h buffCommand 272">Inspiration</a></td>
</tr>
<tr>
<td align=center><a action="bypass -h buffCommand 1035">Mental Shield</a></td>

<td align=center><a action="bypass -h buffCommand 304">Vitality</a></td>
<td align=center><a action="bypass -h buffCommand 1355">P Of Water</a></td>
</tr>
<tr>
<td align=center><a action="bypass -h buffCommand 1077">Focus</a></td>
<td align=center><a action="bypass -h buffCommand 268">Wind</a></td>
<td align=center><a action="bypass -h buffCommand 1356">P Of Fire</a></td>
</tr>
<tr>
<td align=center><a action="bypass -h buffCommand 1078">Concentration</a></td>
<td align=center><a action="bypass -h buffCommand 265">Life</a></td>
<td align=center><a action="bypass -h buffCommand 1357">P Of Wind</a></td>
</tr>

<tr>
<td align=center><a action="bypass -h buffCommand 1085">Acumen</a></td>
<td align=center><a action="bypass -h buffCommand 363">Meditation</a></td>
<td align=center><a action="bypass -h buffCommand 1363">C Of Victory</a></td>
</tr>
<tr>
<td align=center><a action="bypass -h buffCommand 1036">Magic Barrier</a></td>
<td align=center><a action="bypass -h buffCommand 267">Warding</a></td>
<td align=center><a action="bypass -h buffCommand 1413">C Of Magnus'</a></td>
</tr>
<tr>
<td align=center><a action="bypass -h buffCommand 1045">Blessed Body</a></td>
<td align=center><a action="bypass -h buffCommand 270">Invocation</a></td>
</tr>
<tr>
<td align=center><a action="bypass -h buffCommand 1048">Blessed Soul</a></td>
<td align=center><a action="bypass -h buffCommand 266">Water</a></td>
</tr>
<tr>
<td align=center><a action="bypass -h buffCommand 1086">Haste</a></td>
<td align=center><a action="bypass -h buffCommand 264">Earth</a></td>
</tr>
<tr>
<td align=center><a action="bypass -h buffCommand 1204">Wind Walk</a></td>
<td align=center><a action="bypass -h buffCommand 277">Light</a></td>
</tr>
<tr>
<td align=center><a action="bypass -h buffCommand 1240">Guidance</a></td>
<td align=center><a action="bypass -h buffCommand 275">Fury</a></td>
<td align=center><a action="bypass -h cancelBuffs"><font color=LEVEL>Cancel Buffs</font></a></td>
</tr>
<tr>
<td align=center><a action="bypass -h buffCommand 1303">Wild Magic</a></td>
<td align=center><a action="bypass -h buffCommand 274">Fire</a></td>
</tr>
<tr>
<td align=center><a action="bypass -h buffCommand 1059">Empower</a></td>
<td align=center><a action="bypass -h buffCommand 273">Mystic</a></td>
</tr>
<tr>
<td align=center><a action="bypass -h buffCommand 1087">Agility</a></td>
<td align=center><a action="bypass -h buffCommand 276">D Concentration</a></td>
</tr>
<tr>
<td align=center><a action="bypass -h buffCommand 1268">Vampiric Rage</a></td>
<td align=center><a action="bypass -h buffCommand 365">Siren's</a></td>
</tr>
<tr>
<tr><td align=center><a action="bypass -h buffCommand 1242">Dead Whisper</a></td>
</tr>
</table>   

<br>
<center>
<table width=260>
<tr>
<td align=center><img src=icon.skill0214 width=32 height=32></td>
<td align=center><img src=icon.skill0430 width=32 height=32></td>
</tr>
<tr>
<td align=center><a action="bypass -h buffCommandMage"><font color=3399CC>Mage Buff</a></td>
<td align=center><a action="bypass -h buffCommandFight">Fight Buff</font></a></td>
</tr>
</table>
</center>
</body></html>

Creditos: Bluur