Noticias:

No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.

Menú Principal

Mensajes recientes

#81
L2 | Apartado de Soporte / Modificar skills para buffs qu...
Último mensaje por Sebastian5223 - Nov 04, 2025, 11:20 PM
Buenas

 Queria consultarles unas dudas, ya que busque aqui en el foro y no encontre lo que necesitaba.
Es sobre ciertos skilles que quiero  hacer que no se pisen unos con otros, o al menos un tutorial de como hacerlo.
Por ejemplo lo quiero poner asi ; Enlightenment (Mago+healer). kamaels( Appetite for Destruction  + Magic Impulse)

Enlightenment (Mago)
Spoiler
<skill id="1532" levels="1" name="Enlightenment">
      <set name="abnormalLvl" val="1" />
      <set name="abnormalTime" val="20" />
      <set name="abnormalType" val="FINAL_SECRET" />
      <set name="effectPoint" val="1" />
      <set name="hitTime" val="1500" />
      <set name="icon" val="icon.skill1532" />
      <set name="isMagic" val="1" /> <!-- Magic Skill -->
      <set name="magicLvl" val="81" />
      <set name="mpConsume" val="73" />
      <set name="operateType" val="A2" />
      <set name="reuseDelay" val="600000" />
      <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
      <set name="staticReuse" val="true" />
      <set name="targetType" val="SELF" />
      <for>
         <effect name="Buff">
            <mul stat="mAtk" val="1.4" />
            <mul stat="mAtkSpd" val="1.5" />
            <mul stat="mCritRate" val="1.5" />
            <mul stat="magicalMpConsumeRate" val="0.1" />
         </effect>
      </for>
   </skill>


Enlightenment (Healer)

Spoiler
<skill id="1533" levels="1" name="Enlightenment">
      <set name="abnormalLvl" val="1" />
      <set name="abnormalTime" val="20" />
      <set name="abnormalType" val="FINAL_SECRET" />
      <set name="effectPoint" val="1" />
      <set name="hitTime" val="1500" />
      <set name="icon" val="icon.skill1532" />
      <set name="isMagic" val="1" /> <!-- Magic Skill -->
      <set name="magicLvl" val="81" />
      <set name="mpConsume" val="73" />
      <set name="operateType" val="A2" />
      <set name="reuseDelay" val="600000" />
      <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
      <set name="staticReuse" val="true" />
      <set name="targetType" val="SELF" />
      <for>
         <effect name="Buff">
            <mul stat="mAtk" val="1.1" />
            <mul stat="healEffect" val="1.4" />
            <mul stat="mAtkSpd" val="1.5" />
            <mul stat="mCritRate" val="1.5" />
            <mul stat="magicalMpConsumeRate" val="0.1" />
         </effect>
      </for>
   </skill>


Skills De los Kamaels

Appetite for Destruction

Spoiler
<skill id="1476" levels="3" name="Appetite for Destruction" enchantGroup1="1" enchantGroup2="1" enchantGroup3="1">
      <!-- Confirmed CT2.5 -->
      <table name="#amount"> 1.3 1.4 1.5 </table>
      <table name="#effectPoints"> 379 467 549 </table>
      <table name="#magicLvl"> 40 49 58 </table>
      <table name="#mpConsume"> 56 70 85 </table>
      <table name="#mpInitialConsume"> 14 18 22 </table>
      <table name="#rCrit"> 1.3 1.4 1.5 </table>
      <table name="#ench1MpConsume"> 84 82 81 79 78 76 75 74 72 71 69 68 67 65 64 62 61 60 58 57 55 54 52 51 50 48 47 45 44 43 </table>
      <table name="#ench1MpInitialConsume"> 21 20 20 19 19 19 18 18 18 17 17 17 16 16 16 15 15 15 14 14 13 13 13 12 12 12 11 11 11 10 </table>
      <table name="#ench2AbnormalTimes"> 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 </table>
      <table name="#ench3Reuse"> 295000 290000 285000 280000 275000 270000 265000 260000 255000 250000 245000 240000 235000 230000 225000 220000 215000 210000 205000 200000 195000 190000 185000 180000 175000 170000 165000 160000 155000 150000 </table>
      <table name="#enchMagicLvl"> 76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85 </table>
      <set name="abnormalLvl" val="1" />
      <set name="abnormalTime" val="15" />
      <set name="abnormalType" val="INSTINCT" />
      <set name="affectRange" val="600" />
      <set name="effectPoint" val="#effectPoints" />
      <set name="hitTime" val="2500" />
      <set name="icon" val="icon.skill1476" />
      <set name="isMagic" val="1" /> <!-- Magic Skill -->
      <set name="magicLvl" val="#magicLvl" />
      <set name="mpConsume" val="#mpConsume" />
      <set name="mpInitialConsume" val="#mpInitialConsume" />
      <set name="operateType" val="A2" />
      <set name="reuseDelay" val="300000" />
      <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
      <set name="staticReuse" val="true" />
      <set name="targetType" val="PARTY" />
      <enchant1 name="magicLvl" val="#enchMagicLvl" />
      <enchant1 name="mpConsume" val="#ench1MpConsume" />
      <enchant2 name="abnormalTime" val="#ench2AbnormalTimes" />
      <enchant2 name="magicLvl" val="#enchMagicLvl" />
      <enchant3 name="magicLvl" val="#enchMagicLvl" />
      <enchant3 name="reuseDelay" val="#ench3Reuse" />
      <for>
         <effect name="Buff">
            <mul stat="pAtk" val="#amount" />
            <mul stat="critRate" val="#rCrit" />
            <mul stat="critDmg" val="#amount" />
         </effect>
      </for>
   </skill>


Protection Instinct

Spoiler
<skill id="1478" levels="2" name="Protection Instinct" enchantGroup1="1" enchantGroup2="1" enchantGroup3="1">
      <!-- Confirmed CT2.5 -->
      <table name="#effectPoints"> 438 566 </table>
      <table name="#magicLvl"> 46 60 </table>
      <table name="#mDef"> 900 1350 </table>
      <table name="#mpConsume"> 65 88 </table>
      <table name="#mpInitialConsume"> 17 22 </table>
      <table name="#pDef"> 1200 1800 </table>
      <table name="#ench1MpConsume"> 86 85 83 82 80 79 77 76 74 73 71 70 68 67 66 64 63 61 60 58 57 55 54 52 51 49 48 46 45 44 </table>
      <table name="#ench1MpInitialConsume"> 21 21 20 20 20 19 19 19 18 18 17 17 17 16 16 16 15 15 15 14 14 13 13 13 12 12 12 11 11 11 </table>
      <table name="#ench2AbnormalTimes"> 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 </table>
      <table name="#ench3Reuse"> 295000 290000 285000 280000 275000 270000 265000 260000 255000 250000 245000 240000 235000 230000 225000 220000 215000 210000 205000 200000 195000 190000 185000 180000 175000 170000 165000 160000 155000 150000 </table>
      <table name="#enchMagicLvl"> 76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85 </table>
      <set name="abnormalLvl" val="1" />
      <set name="abnormalTime" val="15" />
      <set name="abnormalType" val="INSTINCT" />
      <set name="affectRange" val="600" />
      <set name="effectPoint" val="#effectPoints" />
      <set name="hitTime" val="2500" />
      <set name="icon" val="icon.skill1478" />
      <set name="isMagic" val="1" /> <!-- Magic Skill -->
      <set name="magicLvl" val="#magicLvl" />
      <set name="mpConsume" val="#mpConsume" />
      <set name="mpInitialConsume" val="#mpInitialConsume" />
      <set name="operateType" val="A2" />
      <set name="reuseDelay" val="300000" />
      <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
      <set name="staticReuse" val="true" />
      <set name="targetType" val="PARTY" />
      <enchant1 name="magicLvl" val="#enchMagicLvl" />
      <enchant1 name="mpConsume" val="#ench1MpConsume" />
      <enchant1 name="mpInitialConsume" val="#ench1MpInitialConsume" />
      <enchant2 name="abnormalTime" val="#ench2AbnormalTimes" />
      <enchant2 name="magicLvl" val="#enchMagicLvl" />
      <enchant3 name="magicLvl" val="#enchMagicLvl" />
      <enchant3 name="reuseDelay" val="#ench3Reuse" />
      <for>
         <effect name="Buff">
            <add stat="pDef" val="#pDef" />
            <add stat="mDef" val="#mDef" />
         </effect>
      </for>
   </skill>


Magic Impulse

Spoiler
<skill id="1479" levels="3" name="Magic Impulse" enchantGroup1="1" enchantGroup2="1" enchantGroup3="1">
      <!-- Confirmed CT2.5 -->
      <table name="#effectPoints"> 523 582 624 </table>
      <table name="#magicLvl"> 55 62 68 </table>
      <table name="#mAtk"> 1.75 1.85 1.95 </table>
      <table name="#mCritRate"> 2 3 4 </table>
      <table name="#mpConsume"> 80 92 101 </table>
      <table name="#mpInitialConsume"> 20 23 26 </table>
      <table name="#ench1MpConsume"> 99 97 95 94 92 90 89 87 85 84 82 80 78 77 75 73 72 70 68 67 65 63 62 60 58 57 55 53 52 50 </table>
      <table name="#ench1MpInitialConsume"> 24 24 23 23 23 22 22 21 21 21 20 20 19 19 18 18 18 17 17 16 16 15 15 15 14 14 13 13 13 12 </table>
      <table name="#ench2AbnormalTimes"> 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 </table>
      <table name="#ench3Reuse"> 295000 290000 285000 280000 275000 270000 265000 260000 255000 250000 245000 240000 235000 230000 225000 220000 215000 210000 205000 200000 195000 190000 185000 180000 175000 170000 165000 160000 155000 150000 </table>
      <table name="#enchMagicLvl"> 76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85 </table>
      <set name="abnormalLvl" val="1" />
      <set name="abnormalTime" val="15" />
      <set name="abnormalType" val="INSTINCT" />
      <set name="affectRange" val="600" />
      <set name="effectPoint" val="#effectPoints" />
      <set name="hitTime" val="2500" />
      <set name="icon" val="icon.skill1479" />
      <set name="isMagic" val="1" /> <!-- Magic Skill -->
      <set name="magicLvl" val="#magicLvl" />
      <set name="mpConsume" val="#mpConsume" />
      <set name="mpInitialConsume" val="#mpInitialConsume" />
      <set name="operateType" val="A2" />
      <set name="reuseDelay" val="300000" />
      <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
      <set name="staticReuse" val="true" />
      <set name="targetType" val="PARTY" />
      <enchant1 name="magicLvl" val="#enchMagicLvl" />
      <enchant1 name="mpConsume" val="#ench1MpConsume" />
      <enchant1 name="mpInitialConsume" val="#ench1MpInitialConsume" />
      <enchant2 name="abnormalTime" val="#ench2AbnormalTimes" />
      <enchant2 name="magicLvl" val="#enchMagicLvl" />
      <enchant3 name="magicLvl" val="#enchMagicLvl" />
      <enchant3 name="reuseDelay" val="#ench3Reuse" />
      <for>
         <effect name="Buff">
            <mul stat="mAtkSpd" val="1.15" />
            <mul stat="mAtk" val="#mAtk" />
            <mul stat="mCritRate" val="#mCritRate" />
         </effect>
      </for>
   </skill>


Desde ya muchas gracias
#82
L2 | Apartado de Soporte / Ayuda con numero de online! Ma...
Último mensaje por Lisey - Nov 04, 2025, 11:19 PM
Tengo dudas en la configuración con respecto a la cantidad de conexiones necesarias, concretamente en las conexiones de la base de datos.

En el game y login config aparece lo siguiente:

MaximumDbConnections = 100

Mi pregunta es, ¿Cuanto pongo ahí? ¿Para que se usa ese valor?

Quiero saberlo por que si quiero abrir un servidor de por ejemplo para mil personas, ¿cuando tengo que ponerle?

En este si lo tengo claro:

MaximumOnlineUsers = 1000

#83
L2 | Apartado de Soporte / L2J-Server: Error Logger
Último mensaje por Lisey - Nov 04, 2025, 11:19 PM
Pues esta es la cosa, he actualizado a la última versión l2j-server high five y me tira muchos errores.

Alguien sabe a que puede ser? Gracias.
#84
L2 | Apartado de Soporte / Re:L2J-Server: Error en FlagWa...
Último mensaje por Kryspo - Nov 04, 2025, 11:18 PM
Vaia Vaia, yo tenia el mismo error y no lo quise postear aqui por no ser pesado.
#85
L2 | Apartado de Soporte / Codigo Reward por PvP Ganada
Último mensaje por Kryspo - Nov 04, 2025, 11:17 PM
Hola chicos como dice el titulo, por casualidad alguien tendra el codigo de Reward por PvP Ganada ???
#86
L2 | Apartado de Soporte / L2J-Server: Error en FlagWar.j...
Último mensaje por Lisey - Nov 04, 2025, 11:15 PM
#87
L2 | Apartado de Soporte / Error al intalar foro smf
Último mensaje por Lisey - Nov 04, 2025, 11:14 PM


¿Alguna idea? Gracias.
#88
L2 | Apartado de Soporte / VoteReward Topzone
Último mensaje por matiasl2 - Nov 04, 2025, 11:13 PM
hola gente , queria q me ayuden lo antes posible , me aceptaron los top en mi server y me dan esto para el votereward

No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.

como puedo colocarlo , se q es java , a lo q voy es como lo colocaria en mi server freya ... para q me funcione ?

porq tiene varios y nose cual tendria q implementar , alguno me ayudaria ,
gracias
#89
L2 | Apartado de Soporte / Formato fecha respawn
Último mensaje por motorhead - Nov 04, 2025, 11:12 PM
Buenas, me gustaria saber cual es el formato de la fecha marcada en la foto.

No puedes ver este adjunto.

en la tabla aparece "1489347675", el gameserver lo carga como "16:41 - 12.03.2017

me gustaria saber a que se deben esos numeros y como funcionan, para poder modificar las fechas a antojo de antemano gracias!

Saludos!.
#90
L2 | Apartado de Soporte / Modificar comando Dressme
Último mensaje por motorhead - Nov 04, 2025, 11:11 PM
Buenas, tratare  de explicar el problema de la forma mas sencilla posible  :-*


Pude poner en mi proyecto un dressme que saque del source de fandc (l2 tales) que hace tiempo andaba en la red.

me carga sin problemas. Lo que quiero ahora es modificar una cosa:

Este mod tiene la opcion para ver o deshabilitar la visual de las texturas custom en los demas jugadores, es decir, el player decide si quiere ver o no los customs de los demas (tal como muestran las imagenes 1 y 2).

Por defecto, viene habilitada la opcion de NO moestar las texturas de los demas players, lo que significa que los jugadores deben activar los efectos visuales antes de poder verlos en los demas.

Mi pregunta es: Puedo cambiar la opcion que viene por defecto?
Para que los jugadores vean las texturas por defecto y la opcion de no verlas sea opcional y no al reves como esta?

Aqui el codigo del No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.

package handler.voicecommands;

import java.util.HashMap;
import java.util.Map;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import l2f.commons.dao.JdbcEntityState;
import l2f.gameserver.Config;
import l2f.gameserver.data.htm.HtmCache;
import l2f.gameserver.data.xml.holder.DressArmorHolder;
import l2f.gameserver.data.xml.holder.DressCloakHolder;
import l2f.gameserver.data.xml.holder.DressShieldHolder;
import l2f.gameserver.data.xml.holder.DressWeaponHolder;
import l2f.gameserver.data.xml.holder.ItemHolder;
import l2f.gameserver.handler.voicecommands.IVoicedCommandHandler;
import l2f.gameserver.handler.voicecommands.VoicedCommandHandler;
import l2f.gameserver.model.DressArmorData;
import l2f.gameserver.model.DressCloakData;
import l2f.gameserver.model.DressShieldData;
import l2f.gameserver.model.DressWeaponData;
import l2f.gameserver.model.Player;
import l2f.gameserver.model.World;
import l2f.gameserver.model.items.Inventory;
import l2f.gameserver.model.items.ItemInstance;
import l2f.gameserver.network.serverpackets.CharInfo;
import l2f.gameserver.scripts.Functions;
import l2f.gameserver.scripts.ScriptFile;
import l2f.gameserver.templates.item.ItemTemplate;
import l2f.gameserver.templates.item.ItemType;
import l2f.gameserver.utils.Util;

public class DressMe implements IVoicedCommandHandler, ScriptFile
{
    private static final Logger _log = LoggerFactory.getLogger(DressMe.class);

    private static Map<Integer, DressWeaponData> SWORD;
    private static Map<Integer, DressWeaponData> BLUNT;
    private static Map<Integer, DressWeaponData> DAGGER;
    private static Map<Integer, DressWeaponData> BOW;
    private static Map<Integer, DressWeaponData> POLE;
    private static Map<Integer, DressWeaponData> FIST;
    private static Map<Integer, DressWeaponData> DUAL;
    private static Map<Integer, DressWeaponData> DUALFIST;
    private static Map<Integer, DressWeaponData> BIGSWORD;
    private static Map<Integer, DressWeaponData> ROD;
    private static Map<Integer, DressWeaponData> BIGBLUNT;
    private static Map<Integer, DressWeaponData> CROSSBOW;
    private static Map<Integer, DressWeaponData> RAPIER;
    private static Map<Integer, DressWeaponData> ANCIENTSWORD;
    private static Map<Integer, DressWeaponData> DUALDAGGER;

    private String[] _commandList = new String[] {
            "dressme",
            "dressme-armor",
            "dressme-cloak",
            "dressme-shield",
            "dressme-weapon",
            "dress-armor",
            "dress-cloak",
            "dress-shield",
            "dress-weapon",
            "dress-armorpage",
            "dress-cloakpage",
            "dress-shieldpage",
            "dress-weaponpage",
            "dressinfo",
            "undressme",
            "undressme-armor",
            "undressme-cloak",
            "undressme-shield",
            "undressme-weapon",
            "showdress",
            "hidedress" };

    @Override
    public boolean useVoicedCommand(String command, Player player, String args)
    {
        if(!Config.COMMAND_DRESSME_ENABLE)
            return false;

        if(command.equals("dressme"))
        {
            String html = HtmCache.getInstance().getNotNull("command/dressme/index.htm", player);
            html = html.replace("<?show_hide?>", player.getVarObject("showVisualChange") == null ? "Show visual equip on other player!" : "Hide visual equip on other player!");
            html = html.replace("<?show_hide_b?>", player.getVarObject("showVisualChange") == null ? "showdress" : "hidedress");

            Functions.show(html, player, null);
            return true;
        }
        else if(command.equals("dressme-armor"))
        {
            String html = HtmCache.getInstance().getNotNull("command/dressme/index-armor.htm", player);
            String template = HtmCache.getInstance().getNotNull("command/dressme/template-armor.htm", player);
            String block = "";
            String list = "";

            if(args == null)
                args = "1";

            String[] param = args.split(" ");

            final int page = param[0].length() > 0 ? Integer.parseInt(param[0]) : 1;
            final int perpage = 5;
            int counter = 0;

            for(int i = (page - 1) * perpage; i < DressArmorHolder.getInstance().size(); i++)
            {
                DressArmorData dress = DressArmorHolder.getInstance().getArmor(i + 1);
                if(dress != null)
                {
                    block = template;

                    String dress_name = dress.getName();

                    if(dress_name.length() > 29)
                        dress_name = dress_name.substring(0, 29) + "...";

                    block = block.replace("{bypass}", "bypass -h user_dress-armorpage " + (i + 1));
                    block = block.replace("{name}", dress_name);
                    block = block.replace("{price}", Util.formatPay(player, dress.getPriceCount(), dress.getPriceId()));
                    block = block.replace("{icon}", Util.getItemIcon(dress.getChest()));
                    list += block;
                }

                counter++;

                if(counter >= perpage)
                    break;
            }

            double count = Math.ceil((double) DressArmorHolder.getInstance().size() / (double) perpage);
            int inline = 1;
            String navigation = "";

            for(int i = 1; i <= count; i++)
            {
                if(i == page)
                    navigation += "<td width=25 align=center valign=top><button value=\"[" + i + "]\" action=\"bypass -h user_dressme-armor " + i + "\" width=32 height=25 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_CT1.Button_DF\"></td>";
                else
                    navigation += "<td width=25 align=center valign=top><button value=\"" + i + "\" action=\"bypass -h user_dressme-armor " + i + "\" width=32 height=25 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_CT1.Button_DF\"></td>";

                if(inline == 7)
                {
                    navigation += "</tr><tr>";
                    inline = 0;
                }
                inline++;
            }

            if(navigation.equals(""))
                navigation = "<td width=30 align=center valign=top>...</td>";

            html = html.replace("{list}", list);
            html = html.replace("{navigation}", navigation);

            Functions.show(html, player, null);
            return true;
        }
        else if(command.equals("dressme-cloak"))
        {
            String html = HtmCache.getInstance().getNotNull("command/dressme/index-cloak.htm", player);
            String template = HtmCache.getInstance().getNotNull("command/dressme/template-cloak.htm", player);
            String block = "";
            String list = "";

            if(args == null)
                args = "1";

            String[] param = args.split(" ");

            final int page = param[0].length() > 0 ? Integer.parseInt(param[0]) : 1;
            final int perpage = 5;
            int counter = 0;

            for(int i = (page - 1) * perpage; i < DressCloakHolder.getInstance().size(); i++)
            {
                DressCloakData cloak = DressCloakHolder.getInstance().getCloak(i + 1);
                if(cloak != null)
                {
                    block = template;

                    String cloak_name = cloak.getName();

                    if(cloak_name.length() > 29)
                        cloak_name = cloak_name.substring(0, 29) + "...";

                    block = block.replace("{bypass}", "bypass -h user_dress-cloakpage " + (i + 1));
                    block = block.replace("{name}", cloak_name);
                    block = block.replace("{price}", Util.formatPay(player, cloak.getPriceCount(), cloak.getPriceId()));
                    block = block.replace("{icon}", Util.getItemIcon(cloak.getCloakId()));
                    list += block;
                }

                counter++;

                if(counter >= perpage)
                    break;
            }

            double count = Math.ceil((double) DressCloakHolder.getInstance().size() / (double) perpage);
            int inline = 1;
            String navigation = "";

            for(int i = 1; i <= count; i++)
            {
                if(i == page)
                    navigation += "<td width=25 align=center valign=top><button value=\"[" + i + "]\" action=\"bypass -h user_dressme-cloak " + i + "\" width=32 height=25 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_CT1.Button_DF\"></td>";
                else
                    navigation += "<td width=25 align=center valign=top><button value=\"" + i + "\" action=\"bypass -h user_dressme-cloak " + i + "\" width=32 height=25 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_CT1.Button_DF\"></td>";

                if(inline == 7)
                {
                    navigation += "</tr><tr>";
                    inline = 0;
                }
                inline++;
            }

            if(navigation.equals(""))
                navigation = "<td width=30 align=center valign=top>...</td>";

            html = html.replace("{list}", list);
            html = html.replace("{navigation}", navigation);

            Functions.show(html, player, null);
            return true;
        }
        else if(command.equals("dressme-shield"))
        {
            String html = HtmCache.getInstance().getNotNull("command/dressme/index-shield.htm", player);
            String template = HtmCache.getInstance().getNotNull("command/dressme/template-shield.htm", player);
            String block = "";
            String list = "";

            if(args == null)
                args = "1";

            String[] param = args.split(" ");

            final int page = param[0].length() > 0 ? Integer.parseInt(param[0]) : 1;
            final int perpage = 5;
            int counter = 0;

            for(int i = (page - 1) * perpage; i < DressShieldHolder.getInstance().size(); i++)
            {
                DressShieldData shield = DressShieldHolder.getInstance().getShield(i + 1);
                if(shield != null)
                {
                    block = template;

                    String shield_name = shield.getName();

                    if(shield_name.length() > 29)
                        shield_name = shield_name.substring(0, 29) + "...";

                    block = block.replace("{bypass}", "bypass -h user_dress-shieldpage " + (i + 1));
                    block = block.replace("{name}", shield_name);
                    block = block.replace("{price}", Util.formatPay(player, shield.getPriceCount(), shield.getPriceId()));
                    block = block.replace("{icon}", Util.getItemIcon(shield.getShieldId()));
                    list += block;
                }

                counter++;

                if(counter >= perpage)
                    break;
            }

            double count = Math.ceil((double) DressShieldHolder.getInstance().size() / (double) perpage);
            int inline = 1;
            String navigation = "";

            for(int i = 1; i <= count; i++)
            {
                if(i == page)
                    navigation += "<td width=25 align=center valign=top><button value=\"[" + i + "]\" action=\"bypass -h user_dressme-shield " + i + "\" width=32 height=25 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_CT1.Button_DF\"></td>";
                else
                    navigation += "<td width=25 align=center valign=top><button value=\"" + i + "\" action=\"bypass -h user_dressme-shield " + i + "\" width=32 height=25 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_CT1.Button_DF\"></td>";

                if(inline == 7)
                {
                    navigation += "</tr><tr>";
                    inline = 0;
                }
                inline++;
            }

            if(navigation.equals(""))
                navigation = "<td width=30 align=center valign=top>...</td>";

            html = html.replace("{list}", list);
            html = html.replace("{navigation}", navigation);

            Functions.show(html, player, null);
            return true;
        }
        else if(command.equals("dressme-weapon"))
        {
            ItemInstance slot = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND);
            if(slot == null)
            {
                player.sendMessage("Error: Weapon must be equiped!");
                return false;
            }

            ItemType type = slot.getItemType();

            String html = HtmCache.getInstance().getNotNull("command/dressme/index-weapon.htm", player);
            String template = HtmCache.getInstance().getNotNull("command/dressme/template-weapon.htm", player);
            String block = "";
            String list = "";

            if(args == null)
                args = "1";

            String[] param = args.split(" ");

            final int page = param[0].length() > 0 ? Integer.parseInt(param[0]) : 1;
            final int perpage = 5;
            int counter = 0;
            Map<Integer, DressWeaponData> map = new HashMap<Integer, DressWeaponData>();

            map = initMap(type.toString(), map);

            if(map == null)
            {
                _log.error("Dress me system: Weapon Map is null.");
                return false;
            }

            for(int i = (page - 1) * perpage; i < map.size(); i++)
            {
                DressWeaponData weapon = map.get(i + 1);
                if(weapon != null)
                {
                    block = template;

                    String cloak_name = weapon.getName();

                    if(cloak_name.length() > 29)
                        cloak_name = cloak_name.substring(0, 29) + "...";

                    block = block.replace("{bypass}", "bypass -h user_dress-weaponpage " + weapon.getId());
                    block = block.replace("{name}", cloak_name);
                    block = block.replace("{price}", Util.formatPay(player, weapon.getPriceCount(), weapon.getPriceId()));
                    block = block.replace("{icon}", Util.getItemIcon(weapon.getId()));
                    list += block;
                }

                counter++;

                if(counter >= perpage)
                    break;
            }

            double count = Math.ceil((double) map.size() / (double) perpage);
            int inline = 1;
            String navigation = "";

            for(int i = 1; i <= count; i++)
            {
                if(i == page)
                    navigation += "<td width=25 align=center valign=top><button value=\"[" + i + "]\" action=\"bypass -h user_dressme-weapon " + i + "\" width=32 height=25 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_CT1.Button_DF\"></td>";
                else
                    navigation += "<td width=25 align=center valign=top><button value=\"" + i + "\" action=\"bypass -h user_dressme-weapon " + i + "\" width=32 height=25 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_CT1.Button_DF\"></td>";

                if(inline == 7)
                {
                    navigation += "</tr><tr>";
                    inline = 0;
                }
                inline++;
            }

            if(navigation.equals(""))
                navigation = "<td width=30 align=center valign=top>...</td>";

            html = html.replace("{list}", list);
            html = html.replace("{navigation}", navigation);

            Functions.show(html, player, null);
            return true;
        }
        else if(command.equals("dress-armorpage"))
        {
            final int set = Integer.parseInt(args.split(" ")[0]);
            DressArmorData dress = DressArmorHolder.getInstance().getArmor(set);
            if(dress != null)
            {
                String html = HtmCache.getInstance().getNotNull("command/dressme/dress-armor.htm", player);

                Inventory inv = player.getInventory();

                ItemInstance my_chest = inv.getPaperdollItem(Inventory.PAPERDOLL_CHEST);
                html = html.replace("{my_chest_icon}", my_chest == null ? "icon.NOIMAGE" : my_chest.getTemplate().getIcon());
                ItemInstance my_legs = inv.getPaperdollItem(Inventory.PAPERDOLL_LEGS);
                html = html.replace("{my_legs_icon}", my_legs == null ? "icon.NOIMAGE" : my_legs.getTemplate().getIcon());
                ItemInstance my_gloves = inv.getPaperdollItem(Inventory.PAPERDOLL_GLOVES);
                html = html.replace("{my_gloves_icon}", my_gloves == null ? "icon.NOIMAGE" : my_gloves.getTemplate().getIcon());
                ItemInstance my_feet = inv.getPaperdollItem(Inventory.PAPERDOLL_FEET);
                html = html.replace("{my_feet_icon}", my_feet == null ? "icon.NOIMAGE" : my_feet.getTemplate().getIcon());

                html = html.replace("{bypass}", "bypass -h user_dress-armor " + set);
                html = html.replace("{name}", dress.getName());
                html = html.replace("{price}", Util.formatPay(player, dress.getPriceCount(), dress.getPriceId()));

                ItemTemplate chest = ItemHolder.getInstance().getTemplate(dress.getChest());
                html = html.replace("{chest_icon}", chest.getIcon());
                html = html.replace("{chest_name}", chest.getName());
                html = html.replace("{chest_grade}", chest.getItemGrade().name());

                if(dress.getLegs() != -1)
                {
                    ItemTemplate legs = ItemHolder.getInstance().getTemplate(dress.getLegs());
                    html = html.replace("{legs_icon}", legs.getIcon());
                    html = html.replace("{legs_name}", legs.getName());
                    html = html.replace("{legs_grade}", legs.getItemGrade().name());
                }
                else
                {
                    html = html.replace("{legs_icon}", "icon.NOIMAGE");
                    html = html.replace("{legs_name}", "<font color=FF0000>...</font>");
                    html = html.replace("{legs_grade}", "NO");
                }

                ItemTemplate gloves = ItemHolder.getInstance().getTemplate(dress.getGloves());
                html = html.replace("{gloves_icon}", gloves.getIcon());
                html = html.replace("{gloves_name}", gloves.getName());
                html = html.replace("{gloves_grade}", gloves.getItemGrade().name());

                ItemTemplate feet = ItemHolder.getInstance().getTemplate(dress.getFeet());
                html = html.replace("{feet_icon}", feet.getIcon());
                html = html.replace("{feet_name}", feet.getName());
                html = html.replace("{feet_grade}", feet.getItemGrade().name());

                Functions.show(html, player, null);
                return true;
            }
            else
                return false;

        }
        else if(command.equals("dress-cloakpage"))
        {
            final int set = Integer.parseInt(args.split(" ")[0]);
            DressCloakData cloak = DressCloakHolder.getInstance().getCloak(set);
            if(cloak != null)
            {
                String html = HtmCache.getInstance().getNotNull("command/dressme/dress-cloak.htm", player);

                Inventory inv = player.getInventory();

                ItemInstance my_cloak = inv.getPaperdollItem(Inventory.PAPERDOLL_BACK);
                html = html.replace("{my_cloak_icon}", my_cloak == null ? "icon.NOIMAGE" : my_cloak.getTemplate().getIcon());

                html = html.replace("{bypass}", "bypass -h user_dress-cloak " + cloak.getId());
                html = html.replace("{name}", cloak.getName());
                html = html.replace("{price}", Util.formatPay(player, cloak.getPriceCount(), cloak.getPriceId()));

                ItemTemplate item = ItemHolder.getInstance().getTemplate(cloak.getCloakId());
                html = html.replace("{item_icon}", item.getIcon());
                html = html.replace("{item_name}", item.getName());
                html = html.replace("{item_grade}", item.getItemGrade().name());

                Functions.show(html, player, null);
                return true;
            }
            else
                return false;
        }
        else if(command.equals("dress-shieldpage"))
        {
            final int set = Integer.parseInt(args.split(" ")[0]);
            DressShieldData shield = DressShieldHolder.getInstance().getShield(set);
            if(shield != null)
            {
                String html = HtmCache.getInstance().getNotNull("command/dressme/dress-shield.htm", player);

                Inventory inv = player.getInventory();

                ItemInstance my_shield = inv.getPaperdollItem(Inventory.PAPERDOLL_LHAND);
                html = html.replace("{my_shield_icon}", my_shield == null ? "icon.NOIMAGE" : my_shield.getTemplate().getIcon());

                html = html.replace("{bypass}", "bypass -h user_dress-shield " + shield.getId());
                html = html.replace("{name}", shield.getName());
                html = html.replace("{price}", Util.formatPay(player, shield.getPriceCount(), shield.getPriceId()));

                ItemTemplate item = ItemHolder.getInstance().getTemplate(shield.getShieldId());
                html = html.replace("{item_icon}", item.getIcon());
                html = html.replace("{item_name}", item.getName());
                html = html.replace("{item_grade}", item.getItemGrade().name());

                Functions.show(html, player, null);
                return true;
            }
            else
                return false;
        }
        else if(command.equals("dress-weaponpage"))
        {
            final int set = Integer.parseInt(args.split(" ")[0]);
            DressWeaponData weapon = DressWeaponHolder.getInstance().getWeapon(set);
            if(weapon != null)
            {
                String html = HtmCache.getInstance().getNotNull("command/dressme/dress-weapon.htm", player);

                Inventory inv = player.getInventory();

                ItemInstance my_weapon = inv.getPaperdollItem(Inventory.PAPERDOLL_RHAND);

                html = html.replace("{my_weapon_icon}", my_weapon == null ? "icon.NOIMAGE" : my_weapon.getTemplate().getIcon());

                html = html.replace("{bypass}", "bypass -h user_dress-weapon " + weapon.getId());
                html = html.replace("{name}", weapon.getName());
                html = html.replace("{price}", Util.formatPay(player, weapon.getPriceCount(), weapon.getPriceId()));

                ItemTemplate item = ItemHolder.getInstance().getTemplate(weapon.getId());
                html = html.replace("{item_icon}", item.getIcon());
                html = html.replace("{item_name}", item.getName());
                html = html.replace("{item_grade}", item.getItemGrade().name());

                Functions.show(html, player, null);
                return true;
            }
            else
                return false;
        }
        else if(command.equals("dressinfo"))
        {
            String html = HtmCache.getInstance().getNotNull("command/dressme/info.htm", player);
            Functions.show(html, player, null);
            return true;
        }
        else if(command.equals("dress-armor"))
        {
            final int set = Integer.parseInt(args.split(" ")[0]);

            DressArmorData dress = DressArmorHolder.getInstance().getArmor(set);
            Inventory inv = player.getInventory();

            ItemInstance chest = inv.getPaperdollItem(Inventory.PAPERDOLL_CHEST);

            if(chest == null)
            {
                player.sendMessage("Error: Chest must be equiped.");
                useVoicedCommand("dress-armorpage", player, args);
                return false;
            }

            ItemTemplate visual = ItemHolder.getInstance().getTemplate(dress.getChest());
            if(chest.getTemplate().getBodyPart() != visual.getBodyPart())
            {
                player.sendMessage("Error: You can't change visual chest to full body and on the contrary!");
                useVoicedCommand("dress-armorpage", player, args);
                return false;
            }

            ItemInstance legs = inv.getPaperdollItem(Inventory.PAPERDOLL_LEGS);

            if(legs == null && chest.getBodyPart() != ItemTemplate.SLOT_FULL_ARMOR)
            {
                player.sendMessage("Error: Legs must be equiped.");
                useVoicedCommand("dress-armorpage", player, args);
                return false;
            }

            ItemInstance gloves = inv.getPaperdollItem(Inventory.PAPERDOLL_GLOVES);

            if(gloves == null)
            {
                player.sendMessage("Error: Gloves must be equiped.");
                useVoicedCommand("dress-armorpage", player, args);
                return false;
            }

            ItemInstance feet = inv.getPaperdollItem(Inventory.PAPERDOLL_FEET);

            if(feet == null)
            {
                player.sendMessage("Error: Feet must be equiped.");
                useVoicedCommand("dress-armorpage", player, args);
                return false;
            }

            if(player.getInventory().getCountOf(dress.getPriceId()) >= dress.getPriceCount())
            {
                player.getInventory().destroyItemByItemId(dress.getPriceId(), dress.getPriceCount(), "VisualChange");
                visuality(player, chest, dress.getChest());

                if(dress.getLegs() != -1)
                    visuality(player, legs, dress.getLegs());

                visuality(player, gloves, dress.getGloves());
                visuality(player, feet, dress.getFeet());

                player.sendUserInfo(true);
                player.broadcastUserInfo(true);
                return true;
            }
            else
            {
                player.sendMessage("Error: You don't have items to pay.");
                return false;
            }
        }
        else if(command.equals("dress-cloak"))
        {
            final int set = Integer.parseInt(args.split(" ")[0]);

            DressCloakData cloak_data = DressCloakHolder.getInstance().getCloak(set);
            Inventory inv = player.getInventory();

            ItemInstance cloak = inv.getPaperdollItem(Inventory.PAPERDOLL_BACK);

            if(cloak == null)
            {
                player.sendMessage("Error: Cloak must be equiped.");
                useVoicedCommand("dress-cloakpage", player, args);
                return false;
            }

            if(player.getInventory().getCountOf(cloak_data.getPriceId()) >= cloak_data.getPriceCount())
            {
                player.getInventory().destroyItemByItemId(cloak_data.getPriceId(), cloak_data.getPriceCount(), "VisualChange");
                visuality(player, cloak, cloak_data.getCloakId());

                player.sendUserInfo(true);
                player.broadcastUserInfo(true);
                return true;
            }
            else
            {
                player.sendMessage("Error: You don't have items to pay.");
                return false;
            }
        }
        else if(command.equals("dress-shield"))
        {
            final int shield_id = Integer.parseInt(args.split(" ")[0]);

            DressShieldData shield_data = DressShieldHolder.getInstance().getShield(shield_id);
            Inventory inv = player.getInventory();

            ItemInstance shield = inv.getPaperdollItem(Inventory.PAPERDOLL_LHAND);

            if(shield == null)
            {
                player.sendMessage("Error: Shield must be equiped.");
                useVoicedCommand("dress-shieldpage", player, args);
                return false;
            }

            if(player.getInventory().getCountOf(shield_data.getPriceId()) >= shield_data.getPriceCount())
            {
                player.getInventory().destroyItemByItemId(shield_data.getPriceId(), shield_data.getPriceCount(), "VisualChange");
                visuality(player, shield, shield_data.getShieldId());

                player.sendUserInfo(true);
                player.broadcastUserInfo(true);
                return true;
            }
            else
            {
                player.sendMessage("Error: You don't have items to pay.");
                return false;
            }
        }
        else if(command.equals("dress-weapon"))
        {
            final int set = Integer.parseInt(args.split(" ")[0]);

            DressWeaponData weapon_data = DressWeaponHolder.getInstance().getWeapon(set);
            Inventory inv = player.getInventory();

            ItemInstance weapon = inv.getPaperdollItem(Inventory.PAPERDOLL_RHAND);

            if(weapon == null)
            {
                player.sendMessage("Error: Weapon must be equiped.");
                useVoicedCommand("dress-weaponpage", player, args);
                return false;
            }

            if(!weapon.getItemType().toString().equals(weapon_data.getType()))
            {
                player.sendMessage("Error: Weapon must be equals type.");
                useVoicedCommand("dressme-weapon", player, null);
                return false;
            }

            if(player.getInventory().getCountOf(weapon_data.getPriceId()) >= weapon_data.getPriceCount())
            {
                player.getInventory().destroyItemByItemId(weapon_data.getPriceId(), weapon_data.getPriceCount(), "VisualChange");
                visuality(player, weapon, weapon_data.getId());

                player.sendUserInfo(true);
                player.broadcastUserInfo(true);
                return true;
            }
            else
            {
                player.sendMessage("Error: You don't have items to pay.");
                return false;
            }
        }
        else if(command.equals("undressme"))
        {
            String html = HtmCache.getInstance().getNotNull("command/dressme/undressme.htm", player);
            html = html.replace("<?show_hide?>", player.getVarObject("showVisualChange") == null ? "Show visual equip on other player!" : "Hide visual equip on other player!");
            html = html.replace("<?show_hide_b?>", player.getVarObject("showVisualChange") == null ? "showdress" : "hidedress");

            Functions.show(html, player, null);
            return true;
        }
        else if(command.equals("undressme-armor"))
        {
            Inventory inv = player.getInventory();
            ItemInstance chest = inv.getPaperdollItem(Inventory.PAPERDOLL_CHEST);
            ItemInstance legs = inv.getPaperdollItem(Inventory.PAPERDOLL_LEGS);
            ItemInstance gloves = inv.getPaperdollItem(Inventory.PAPERDOLL_GLOVES);
            ItemInstance feet = inv.getPaperdollItem(Inventory.PAPERDOLL_FEET);

            if(chest != null)
                visuality(player, chest, 0);
            if(legs != null)
                visuality(player, legs, 0);
            if(gloves != null)
                visuality(player, gloves, 0);
            if(feet != null)
                visuality(player, feet, 0);

            player.sendUserInfo(true);
            player.broadcastUserInfo(true);

            useVoicedCommand("undressme", player, null);
            return true;
        }
        else if(command.equals("undressme-cloak"))
        {
            Inventory inv = player.getInventory();
            ItemInstance cloak = inv.getPaperdollItem(Inventory.PAPERDOLL_BACK);

            if(cloak != null)
                visuality(player, cloak, 0);

            player.sendUserInfo(true);
            player.broadcastUserInfo(true);

            useVoicedCommand("undressme", player, null);
            return true;
        }
        else if(command.equals("undressme-shield"))
        {
            Inventory inv = player.getInventory();
            ItemInstance shield = inv.getPaperdollItem(Inventory.PAPERDOLL_LHAND);

            if(shield != null)
                visuality(player, shield, 0);

            player.sendUserInfo(true);
            player.broadcastUserInfo(true);

            useVoicedCommand("undressme", player, null);
            return true;
        }
        else if(command.equals("undressme-weapon"))
        {
            Inventory inv = player.getInventory();
            ItemInstance weapon = inv.getPaperdollItem(Inventory.PAPERDOLL_RHAND);

            if(weapon != null)
                visuality(player, weapon, 0);

            player.sendUserInfo(true);
            player.broadcastUserInfo(true);

            useVoicedCommand("undressme", player, null);
            return true;
        }
        else if(command.equals("showdress"))
        {
            if(player.getVarObject("showVisualChange") == null)
            {
                player.setVar("showVisualChange", "-1", -1);

                for(Player character : World.getAroundPlayers(player))
                {
                    player.sendPacket(new CharInfo(character, player));
                }
            }

            useVoicedCommand("dressme", player, null);
            return true;
        }
        else if(command.equals("hidedress"))
        {
            if(player.getVarObject("showVisualChange") != null)
            {
                player.unsetVar("showVisualChange");

                for(Player character : World.getAroundPlayers(player))
                {
                    player.sendPacket(new CharInfo(character, player));
                }
            }

            useVoicedCommand("dressme", player, null);
            return true;
        }
        else
            return false;
    }

    private Map<Integer, DressWeaponData> initMap(String type, Map<Integer, DressWeaponData> map)
    {
        if(type.equals("Sword"))
            return map = SWORD;
        else if(type.equals("Blunt"))
            return map = BLUNT;
        else if(type.equals("Dagger"))
            return map = DAGGER;
        else if(type.equals("Bow"))
            return map = BOW;
        else if(type.equals("Pole"))
            return map = POLE;
        else if(type.equals("Fist"))
            return map = FIST;
        else if(type.equals("Dual Sword"))
            return map = DUAL;
        else if(type.equals("Dual Fist"))
            return map = DUALFIST;
        else if(type.equals("Big Sword"))
            return map = BIGSWORD;
        else if(type.equals("Rod"))
            return map = ROD;
        else if(type.equals("Big Blunt"))
            return map = BIGBLUNT;
        else if(type.equals("Crossbow"))
            return map = CROSSBOW;
        else if(type.equals("Rapier"))
            return map = RAPIER;
        else if(type.equals("Ancient Sword"))
            return map = ANCIENTSWORD;
        else if(type.equals("Dual Dagger"))
            return map = DUALDAGGER;
        else
        {
            _log.error("Dress me system: Unknown type: " + type);
            return null;
        }
    }

    private int parseWeapon()
    {
        int Sword = 1, Blunt = 1, Dagger = 1, Bow = 1, Pole = 1, Fist = 1, DualSword = 1, DualFist = 1, BigSword = 1, Rod = 1, BigBlunt = 1, Crossbow = 1, Rapier = 1, AncientSword = 1, DualDagger = 1;

        for(DressWeaponData weapon : DressWeaponHolder.getInstance().getAllWeapons())
        {
            if(weapon.getType().equals("Sword"))
            {
                SWORD.put(Sword, weapon);
                Sword++;
            }
            else if(weapon.getType().equals("Blunt"))
            {
                BLUNT.put(Blunt, weapon);
                Blunt++;
            }
            else if(weapon.getType().equals("Dagger"))
            {
                DAGGER.put(Dagger, weapon);
                Dagger++;
            }
            else if(weapon.getType().equals("Bow"))
            {
                BOW.put(Bow, weapon);
                Bow++;
            }
            else if(weapon.getType().equals("Pole"))
            {
                POLE.put(Pole, weapon);
                Pole++;
            }
            else if(weapon.getType().equals("Fist"))
            {
                FIST.put(Fist, weapon);
                Fist++;
            }
            else if(weapon.getType().equals("Dual Sword"))
            {
                DUAL.put(DualSword, weapon);
                DualSword++;
            }
            else if(weapon.getType().equals("Dual Fist"))
            {
                DUALFIST.put(DualFist, weapon);
                DualFist++;
            }
            else if(weapon.getType().equals("Big Sword"))
            {
                BIGSWORD.put(BigSword, weapon);
                BigSword++;
            }
            else if(weapon.getType().equals("Rod"))
            {
                ROD.put(Rod, weapon);
                Rod++;
            }
            else if(weapon.getType().equals("Big Blunt"))
            {
                BIGBLUNT.put(BigBlunt, weapon);
                BigBlunt++;
            }
            else if(weapon.getType().equals("Crossbow"))
            {
                CROSSBOW.put(Crossbow, weapon);
                Crossbow++;
            }
            else if(weapon.getType().equals("Rapier"))
            {
                RAPIER.put(Rapier, weapon);
                Rapier++;
            }
            else if(weapon.getType().equals("Ancient Sword"))
            {
                ANCIENTSWORD.put(AncientSword, weapon);
                AncientSword++;
            }
            else if(weapon.getType().equals("Dual Dagger"))
            {
                DUALDAGGER.put(DualDagger, weapon);
                DualDagger++;
            }
            else
                _log.error("Dress me system: Can't find type: " + weapon.getType());
        }

        _log.info("Dress me system: Load " + Sword + " Sword(s).");
        _log.info("Dress me system: Load " + Blunt + " Blunt(s).");
        _log.info("Dress me system: Load " + Dagger + " Dagger(s).");
        _log.info("Dress me system: Load " + Bow + " Bow(s).");
        _log.info("Dress me system: Load " + Pole + " Pole(s).");
        _log.info("Dress me system: Load " + Fist + " Fist(s).");
        _log.info("Dress me system: Load " + DualSword + " Dual Sword(s).");
        _log.info("Dress me system: Load " + DualFist + " Dual Fist(s).");
        _log.info("Dress me system: Load " + BigSword + " Big Sword(s).");
        _log.info("Dress me system: Load " + Rod + " Rod(s).");
        _log.info("Dress me system: Load " + BigBlunt + " Big Blunt(s).");
        _log.info("Dress me system: Load " + Crossbow + " Crossbow(s).");
        _log.info("Dress me system: Load " + Rapier + " Rapier(s).");
        _log.info("Dress me system: Load " + AncientSword + " Ancient Sword(s).");
        _log.info("Dress me system: Load " + DualDagger + " Dual Dagger(s).");

        return 0;
    }

    private void visuality(Player player, ItemInstance item, int visual)
    {
        item.setVisualItemId(visual);
        item.setJdbcState(JdbcEntityState.UPDATED);
        item.update();

        if(visual > 0)
            player.sendMessage(item.getName() + " has been visual change to " + Util.getItemName(visual));
        else
            player.sendMessage("Visual change from " + item.getName() + " has been remove.");
    }

    @Override
    public void onLoad()
    {
        SWORD = new HashMap<Integer, DressWeaponData>();
        BLUNT = new HashMap<Integer, DressWeaponData>();
        DAGGER = new HashMap<Integer, DressWeaponData>();
        BOW = new HashMap<Integer, DressWeaponData>();
        POLE = new HashMap<Integer, DressWeaponData>();
        FIST = new HashMap<Integer, DressWeaponData>();
        DUAL = new HashMap<Integer, DressWeaponData>();
        DUALFIST = new HashMap<Integer, DressWeaponData>();
        BIGSWORD = new HashMap<Integer, DressWeaponData>();
        ROD = new HashMap<Integer, DressWeaponData>();
        BIGBLUNT = new HashMap<Integer, DressWeaponData>();
        CROSSBOW = new HashMap<Integer, DressWeaponData>();
        RAPIER = new HashMap<Integer, DressWeaponData>();
        ANCIENTSWORD = new HashMap<Integer, DressWeaponData>();
        DUALDAGGER = new HashMap<Integer, DressWeaponData>();

        parseWeapon();
        VoicedCommandHandler.getInstance().registerVoicedCommandHandler(this);
    }

    @Override
    public void onReload()
    {}

    @Override
    public void onShutdown()
    {}

    @Override
    public String[] getVoicedCommandList()
    {
        return _commandList;
    }
}

Espero haberme explicado de forma adecuada.

No puedes ver este adjunto.

No puedes ver este adjunto.

de antemano gracias!.

Fuente: No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate. (L2Tales)