Noticias:

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

Menú Principal

[IMP] Comando .dressme (Armor/Weapon)

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

Tema anterior - Siguiente tema

Swarlog

CitarCODE

# DressMe system.
AllowDressMeSystem = False
# DressMe values.
# Note: It works like name,id;name,id
# WARNING: No spaces on names, use _ instead of space.
DressMeChests = Draconic,6379;Imperial,6373;Arcana,6383
DressMeLegs = Imperial,6374
DressMeBoots = Draconic,6381;Imperial,6376;Arcana,6385
DressMeGloves = Draconic,6380;Imperial,6375;Arcana,6384
DressMeWeapons = Draconic_Bow,7577;Shining_Bow,6594;Arcana_Mace,6608

public static boolean ALLOW_DRESS_ME_SYSTEM;
public static Map<String, Integer> DRESS_ME_CHESTS = new HashMap<>();
public static Map<String, Integer> DRESS_ME_LEGS = new HashMap<>();
public static Map<String, Integer> DRESS_ME_BOOTS = new HashMap<>();
public static Map<String, Integer> DRESS_ME_GLOVES = new HashMap<>();
public static Map<String, Integer> DRESS_ME_WEAPONS = new HashMap<>();

ALLOW_DRESS_ME_SYSTEM = c.getProperty("AllowDressMeSystem", false);
String temp = c.getProperty("DressMeChests", "");
String[] temp2 = temp.split(";");
for (String s : temp2)
{
String[] t = s.split(",");
DRESS_ME_CHESTS.put(t[0], Integer.parseInt(t[1]));
}
temp = c.getProperty("DressMeLegs", "");
temp2 = temp.split(";");
for (String s : temp2)
{
String[] t = s.split(",");
DRESS_ME_LEGS.put(t[0], Integer.parseInt(t[1]));
}
temp = c.getProperty("DressMeBoots", "");
temp2 = temp.split(";");
for (String s : temp2)
{
String[] t = s.split(",");
DRESS_ME_BOOTS.put(t[0], Integer.parseInt(t[1]));
}
temp = c.getProperty("DressMeGloves", "");
temp2 = temp.split(";");
for (String s : temp2)
{
String[] t = s.split(",");
DRESS_ME_GLOVES.put(t[0], Integer.parseInt(t[1]));
}
temp = c.getProperty("DressMeWeapons", "");
temp2 = temp.split(";");
for (String s : temp2)
{
String[] t = s.split(",");
DRESS_ME_WEAPONS.put(t[0], Integer.parseInt(t[1]));
}

/*
 * 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.gameserver.datatables.ItemTable;
import net.sf.l2j.gameserver.handler.IVoicedCommandHandler;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;

/**
 * @author Anarchy
 *
 */
public class DressMe implements IVoicedCommandHandler
{
private static final String[] VOICED_COMMANDS = { "dressme" };

@Override
public boolean useVoicedCommand(String command, L2PcInstance activeChar)
{
if (command.equals("dressme"))
{
sendMainWindow(activeChar);
}

return true;
}

public static void sendMainWindow(L2PcInstance activeChar)
{
NpcHtmlMessage htm = new NpcHtmlMessage(0);
htm.setFile("./data/html/custom/dressme/main.htm");
htm.replace("%enabled%", activeChar.isDressMeEnabled() ? "enabled" : "disabled");
if (activeChar.getDressMeData() == null)
{
htm.replace("%chestinfo%", "You have no custom chest.");
htm.replace("%legsinfo%", "You have no custom legs.");
htm.replace("%bootsinfo%", "You have no custom boots.");
htm.replace("%glovesinfo%", "You have no custom gloves.");
htm.replace("%weapinfo%", "You have no custom weapon.");
}
else
{
htm.replace("%chestinfo%", activeChar.getDressMeData().getChestId() == 0 ? "You have no custom chest." : ItemTable.getInstance().getTemplate(activeChar.getDressMeData().getChestId()).getName());
htm.replace("%legsinfo%", activeChar.getDressMeData().getLegsId() == 0 ? "You have no custom legs." : ItemTable.getInstance().getTemplate(activeChar.getDressMeData().getLegsId()).getName());
htm.replace("%bootsinfo%", activeChar.getDressMeData().getBootsId() == 0 ? "You have no custom boots." : ItemTable.getInstance().getTemplate(activeChar.getDressMeData().getBootsId()).getName());
htm.replace("%glovesinfo%", activeChar.getDressMeData().getGlovesId() == 0 ? "You have no custom gloves." : ItemTable.getInstance().getTemplate(activeChar.getDressMeData().getGlovesId()).getName());
htm.replace("%weapinfo%", activeChar.getDressMeData().getWeapId() == 0 ? "You have no custom weapon." : ItemTable.getInstance().getTemplate(activeChar.getDressMeData().getWeapId()).getName());
}

activeChar.sendPacket(htm);
}

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

/*
 * 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.bypasshandlers;

import java.util.StringTokenizer;

import net.sf.l2j.Config;
import net.sf.l2j.gameserver.custom.DressMeData;
import net.sf.l2j.gameserver.datatables.ItemTable;
import net.sf.l2j.gameserver.handler.IBypassHandler;
import net.sf.l2j.gameserver.handler.voicedcommandhandlers.DressMe;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.itemcontainer.Inventory;
import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;

/**
 * @author Anarchy
 *
 */
public class DressMeBypasses implements IBypassHandler
{
private static final String[] BYPASSES = { "bp_changedressmestatus", "bp_editWindow", "bp_setpart", "bp_gettarget", "bp_main" };

@Override
public boolean handleBypass(String bypass, L2PcInstance activeChar)
{
if (bypass.equals("bp_changedressmestatus"))
{
if (activeChar.isDressMeEnabled())
{
activeChar.setDressMeEnabled(false);
activeChar.broadcastUserInfo();
}
else
{
activeChar.setDressMeEnabled(true);
activeChar.broadcastUserInfo();
}

DressMe.sendMainWindow(activeChar);
}

if (bypass.startsWith("bp_editWindow"))
{
String bp = bypass.substring(14);
StringTokenizer st = new StringTokenizer(bp);

sendEditWindow(activeChar, st.nextToken());
}

if (bypass.startsWith("bp_setpart"))
{
String bp = bypass.substring(11);
StringTokenizer st = new StringTokenizer(bp);

String part = st.nextToken();
String type = st.nextToken();

setPart(activeChar, part, type);
}

if (bypass.startsWith("bp_gettarget"))
{
String bp = bypass.substring(13);
StringTokenizer st = new StringTokenizer(bp);

String part = st.nextToken();

stealTarget(activeChar, part);
}

if (bypass.equals("bp_main"))
{
DressMe.sendMainWindow(activeChar);
}

return true;
}

public void stealTarget(L2PcInstance p, String part)
{
if (p.getTarget() == null || !(p.getTarget() instanceof L2PcInstance))
{
p.sendMessage("Invalid target.");
return;
}

L2PcInstance t = (L2PcInstance)p.getTarget();

if (p.getDressMeData() == null)
{
DressMeData dmd = new DressMeData();
p.setDressMeData(dmd);
}

boolean returnMain = false;

switch (part)
{
case "chest":
{
if (t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_CHEST) == null)
{
p.getDressMeData().setChestId(0);
}
else
{
p.getDressMeData().setChestId(t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_CHEST).getItemId());
}
break;
}
case "legs":
{
if (t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LEGS) == null)
{
p.getDressMeData().setLegsId(0);
}
else
{
p.getDressMeData().setLegsId(t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LEGS).getItemId());
}
break;
}
case "gloves":
{
if (t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_GLOVES) == null)
{
p.getDressMeData().setGlovesId(0);
}
else
{
p.getDressMeData().setGlovesId(t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_GLOVES).getItemId());
}
break;
}
case "boots":
{
if (t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_FEET) == null)
{
p.getDressMeData().setBootsId(0);
}
else
{
p.getDressMeData().setBootsId(t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_FEET).getItemId());
}
break;
}
case "weap":
{
if (t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND) == null)
{
p.getDressMeData().setWeapId(0);
}
else
{
p.getDressMeData().setWeapId(t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND).getItemId());
}
break;
}
case "all":
{
if (t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_CHEST) == null)
{
p.getDressMeData().setChestId(0);
}
else
{
p.getDressMeData().setChestId(t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_CHEST).getItemId());
}
if (t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LEGS) == null)
{
p.getDressMeData().setLegsId(0);
}
else
{
p.getDressMeData().setLegsId(t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LEGS).getItemId());
}
if (t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_GLOVES) == null)
{
p.getDressMeData().setGlovesId(0);
}
else
{
p.getDressMeData().setGlovesId(t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_GLOVES).getItemId());
}
if (t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_FEET) == null)
{
p.getDressMeData().setBootsId(0);
}
else
{
p.getDressMeData().setBootsId(t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_FEET).getItemId());
}
if (t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND) == null)
{
p.getDressMeData().setWeapId(0);
}
else
{
p.getDressMeData().setWeapId(t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND).getItemId());
}
returnMain = true;
break;
}
}

p.broadcastUserInfo();
if (!returnMain)
sendEditWindow(p, part);
else
DressMe.sendMainWindow(p);
}

public void setPart(L2PcInstance p, String part, String type)
{
if (p.getDressMeData() == null)
{
DressMeData dmd = new DressMeData();
p.setDressMeData(dmd);
}

switch (part)
{
case "chest":
{
if (Config.DRESS_ME_CHESTS.keySet().contains(type))
{
p.getDressMeData().setChestId(Config.DRESS_ME_CHESTS.get(type));
}

break;
}
case "legs":
{
if (Config.DRESS_ME_LEGS.keySet().contains(type))
{
p.getDressMeData().setLegsId(Config.DRESS_ME_LEGS.get(type));
}

break;
}
case "gloves":
{
if (Config.DRESS_ME_GLOVES.keySet().contains(type))
{
p.getDressMeData().setGlovesId(Config.DRESS_ME_GLOVES.get(type));
}

break;
}
case "boots":
{
if (Config.DRESS_ME_BOOTS.keySet().contains(type))
{
p.getDressMeData().setBootsId(Config.DRESS_ME_BOOTS.get(type));
}

break;
}
case "weap":
{
if (Config.DRESS_ME_WEAPONS.keySet().contains(type))
{
p.getDressMeData().setWeapId(Config.DRESS_ME_WEAPONS.get(type));
}

break;
}
}

p.broadcastUserInfo();
sendEditWindow(p, part);
}

public void sendEditWindow(L2PcInstance p, String part)
{
NpcHtmlMessage htm = new NpcHtmlMessage(0);
htm.setFile("./data/html/custom/dressme/edit.htm");
htm.replace("%part%", part);
switch (part)
{
case "chest":
{
if (p.getDressMeData() == null)
{
htm.replace("%partinfo%", "You have no custom chest.");
}
else
{
htm.replace("%partinfo%", p.getDressMeData().getChestId() == 0 ? "You have no custom chest." : ItemTable.getInstance().getTemplate(p.getDressMeData().getChestId()).getName());
}
String temp = "";
for (String s : Config.DRESS_ME_CHESTS.keySet())
{
temp += s+";";
}
htm.replace("%dropboxdata%", temp);
break;
}
case "legs":
{
if (p.getDressMeData() == null)
{
htm.replace("%partinfo%", "You have no custom legs.");
}
else
{
htm.replace("%partinfo%", p.getDressMeData().getLegsId() == 0 ? "You have no custom legs." : ItemTable.getInstance().getTemplate(p.getDressMeData().getLegsId()).getName());
}
String temp = "";
for (String s : Config.DRESS_ME_LEGS.keySet())
{
temp += s+";";
}
htm.replace("%dropboxdata%", temp);
break;
}
case "gloves":
{
if (p.getDressMeData() == null)
{
htm.replace("%partinfo%", "You have no custom gloves.");
}
else
{
htm.replace("%partinfo%", p.getDressMeData().getGlovesId() == 0 ? "You have no custom gloves." : ItemTable.getInstance().getTemplate(p.getDressMeData().getGlovesId()).getName());
}
String temp = "";
for (String s : Config.DRESS_ME_GLOVES.keySet())
{
temp += s+";";
}
htm.replace("%dropboxdata%", temp);
break;
}
case "boots":
{
if (p.getDressMeData() == null)
{
htm.replace("%partinfo%", "You have no custom boots.");
}
else
{
htm.replace("%partinfo%", p.getDressMeData().getBootsId() == 0 ? "You have no custom boots." : ItemTable.getInstance().getTemplate(p.getDressMeData().getBootsId()).getName());
}
String temp = "";
for (String s : Config.DRESS_ME_BOOTS.keySet())
{
temp += s+";";
}
htm.replace("%dropboxdata%", temp);
break;
}
case "weap":
{
if (p.getDressMeData() == null)
{
htm.replace("%partinfo%", "You have no custom weapon.");
}
else
{
htm.replace("%partinfo%", p.getDressMeData().getWeapId() == 0 ? "You have no custom weapon." : ItemTable.getInstance().getTemplate(p.getDressMeData().getWeapId()).getName());
}
String temp = "";
for (String s : Config.DRESS_ME_WEAPONS.keySet())
{
temp += s+";";
}
htm.replace("%dropboxdata%", temp);
break;
}
}

p.sendPacket(htm);
}

@Override
public String[] getBypassHandlersList()
{
return BYPASSES;
}
}

/*
 * 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.custom;

/**
 * @author Anarchy
 *
 */
public class DressMeData
{
private int chestId,
legsId,
glovesId,
feetId,
weapId;

public DressMeData()
{
chestId = 0;
legsId = 0;
glovesId = 0;
feetId = 0;
weapId = 0;
}

public int getChestId()
{
return chestId;
}

public int getLegsId()
{
return legsId;
}

public int getGlovesId()
{
return glovesId;
}

public int getBootsId()
{
return feetId;
}

public int getWeapId()
{
return weapId;
}

public void setChestId(int val)
{
chestId = val;
}

public void setLegsId(int val)
{
legsId = val;
}

public void setGlovesId(int val)
{
glovesId = val;
}

public void setBootsId(int val)
{
feetId = val;
}

public void setWeapId(int val)
{
weapId = val;
}
}

CharInfo.java
Replace these:

writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_HAIRALL));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_HEAD));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_LHAND));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_GLOVES));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_CHEST));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_LEGS));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_FEET));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_BACK));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_FACE));

with these:

if (!_activeChar.isDressMeEnabled())
{
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_HAIRALL));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_HEAD));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_LHAND));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_GLOVES));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_CHEST));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_LEGS));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_FEET));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_BACK));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_FACE));
}
else
{
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_HAIRALL));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_HEAD));
writeD(_activeChar.getDressMeData() == null ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND) : (_activeChar.getDressMeData().getWeapId() == 0 ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND) : _activeChar.getDressMeData().getWeapId()));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_LHAND));
writeD(_activeChar.getDressMeData() == null ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_GLOVES) : (_activeChar.getDressMeData().getGlovesId() == 0 ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_GLOVES) : _activeChar.getDressMeData().getGlovesId()));
writeD(_activeChar.getDressMeData() == null ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_CHEST) : (_activeChar.getDressMeData().getChestId() == 0 ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_CHEST) : _activeChar.getDressMeData().getChestId()));
writeD(_activeChar.getDressMeData() == null ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LEGS) : (_activeChar.getDressMeData().getLegsId() == 0 ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LEGS) : _activeChar.getDressMeData().getLegsId()));
writeD(_activeChar.getDressMeData() == null ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_FEET) : (_activeChar.getDressMeData().getBootsId() == 0 ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_FEET) : _activeChar.getDressMeData().getBootsId()));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_BACK));
writeD(_activeChar.getDressMeData() == null ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND) : (_activeChar.getDressMeData().getWeapId() == 0 ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND) : _activeChar.getDressMeData().getWeapId()));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_FACE));
}

UserInfo.java
Replace these:

                                          writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HAIRALL));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_REAR));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LEAR));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_NECK));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RFINGER));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LFINGER));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HEAD));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RHAND));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LHAND));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_GLOVES));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_CHEST));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LEGS));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_FEET));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_BACK));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RHAND));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HAIR));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_FACE));

writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_HAIRALL));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_REAR));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LEAR));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_NECK));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RFINGER));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LFINGER));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_HEAD));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LHAND));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_GLOVES));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_CHEST));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LEGS));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_FEET));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_BACK));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_FACE));

with these:

                             if (!_activeChar.isDressMeEnabled())
{
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HAIRALL));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_REAR));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LEAR));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_NECK));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RFINGER));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LFINGER));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HEAD));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RHAND));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LHAND));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_GLOVES));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_CHEST));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LEGS));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_FEET));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_BACK));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RHAND));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HAIR));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_FACE));

writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_HAIRALL));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_REAR));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LEAR));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_NECK));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RFINGER));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LFINGER));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_HEAD));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LHAND));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_GLOVES));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_CHEST));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LEGS));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_FEET));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_BACK));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_FACE));
}
else
{
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HAIRALL));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_REAR));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LEAR));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_NECK));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RFINGER));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LFINGER));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HEAD));
writeD(_activeChar.getDressMeData() == null ?_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RHAND) : (_activeChar.getDressMeData().getWeapId() == 0 ? _activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RHAND) : _activeChar.getDressMeData().getWeapId()));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LHAND));
writeD(_activeChar.getDressMeData() == null ?_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_GLOVES) : (_activeChar.getDressMeData().getGlovesId() == 0 ? _activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_GLOVES) : _activeChar.getDressMeData().getGlovesId()));
writeD(_activeChar.getDressMeData() == null ?_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_CHEST) : (_activeChar.getDressMeData().getChestId() == 0 ? _activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_CHEST) : _activeChar.getDressMeData().getChestId()));
writeD(_activeChar.getDressMeData() == null ?_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LEGS) : (_activeChar.getDressMeData().getLegsId() == 0 ? _activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LEGS) : _activeChar.getDressMeData().getLegsId()));
writeD(_activeChar.getDressMeData() == null ?_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_FEET) : (_activeChar.getDressMeData().getBootsId() == 0 ? _activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_FEET) : _activeChar.getDressMeData().getBootsId()));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_BACK));
writeD(_activeChar.getDressMeData() == null ?_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RHAND) : (_activeChar.getDressMeData().getWeapId() == 0 ? _activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RHAND) : _activeChar.getDressMeData().getWeapId()));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HAIR));
writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_FACE));

writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_HAIRALL));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_REAR));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LEAR));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_NECK));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RFINGER));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LFINGER));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_HEAD));
writeD(_activeChar.getDressMeData() == null ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND) : (_activeChar.getDressMeData().getWeapId() == 0 ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND) : _activeChar.getDressMeData().getWeapId()));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LHAND));
writeD(_activeChar.getDressMeData() == null ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_GLOVES) : (_activeChar.getDressMeData().getGlovesId() == 0 ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_GLOVES) : _activeChar.getDressMeData().getGlovesId()));
writeD(_activeChar.getDressMeData() == null ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_CHEST) : (_activeChar.getDressMeData().getChestId() == 0 ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_CHEST) : _activeChar.getDressMeData().getChestId()));
writeD(_activeChar.getDressMeData() == null ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LEGS) : (_activeChar.getDressMeData().getLegsId() == 0 ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LEGS) : _activeChar.getDressMeData().getLegsId()));
writeD(_activeChar.getDressMeData() == null ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_FEET) : (_activeChar.getDressMeData().getBootsId() == 0 ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_FEET) : _activeChar.getDressMeData().getBootsId()));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_BACK));
writeD(_activeChar.getDressMeData() == null ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND) : (_activeChar.getDressMeData().getWeapId() == 0 ? _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND) : _activeChar.getDressMeData().getWeapId()));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_FACE));
}

L2PcInstance.java
              private DressMeData _dressmedata = null;

public DressMeData getDressMeData()
{
return _dressmedata;
}

public void setDressMeData(DressMeData val)
{
_dressmedata = val;
}

private boolean _dressed = false;

public boolean isDressMeEnabled()
{
return _dressed;
}

public void setDressMeEnabled(boolean val)
{
_dressed = val;
}

CitarHTML

data/html/custom/dressme/edit.htm

<html><body>
<center>
Current %part%: %partinfo%
<br>
<combobox width=120 height=17 var=val list=%dropboxdata%>
<br1>
<a action="bypass -h bp_setpart %part% $val">Set.</a>
<br1>
<a action="bypass -h bp_gettarget %part%">Get target's.</a>
<br>
<a action="bypass -h bp_main">Back.</a>
</center>
</body></html>

data/html/custom/dressme/main.htm

<html><body>
<center>
Here you can change your appearance!
<br>
Dress me status is currently <font color="LEVEL">%enabled%</font>.<br1>
<a action="bypass -h bp_changedressmestatus">Change status.</a>
<br>
Your current custom appearance items:
<br>
</center>
Chest: %chestinfo%
<br1>
<a action="bypass -h bp_editWindow chest">Edit.</a>
<br>
Legs: %legsinfo%
<br1>
<a action="bypass -h bp_editWindow legs">Edit.</a>
<br>
Gloves: %glovesinfo%
<br1>
<a action="bypass -h bp_editWindow gloves">Edit.</a>
<br>
Boots: %bootsinfo%
<br1>
<a action="bypass -h bp_editWindow boots">Edit.</a>
<br>
Weapon: %weapinfo%
<br1>
<a action="bypass -h bp_editWindow weap">Edit.</a>
<br>
<center><a action="bypass -h bp_gettarget all">Get target's appearance.</a></center>
</body></html>

By An4rchy for Acis