Um membro pediu a adaptação desse mod e estou postando para uso de todos , o código está para aCis ou L2JFrozen.
O que ele faz ? ao digitar .dressme (L2JFrozen) ou /dressme (aCis) será aberto uma janela com os sets especificados na config que ele pode colocar de visual , também tem a opção de pegar o visual de algum Target.
Print:
Código para aCis :
Index: aCis_datapack/data/html/custom/dressme/edit.htm
===================================================================
--- aCis_datapack/data/html/custom/dressme/edit.htm (nonexistent)
+++ aCis_datapack/data/html/custom/dressme/edit.htm (working copy)
@@ -0,0 +1,13 @@
+<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>
\ No newline at end of file
Index: aCis_datapack/data/html/custom/dressme/main.htm
===================================================================
--- aCis_datapack/data/html/custom/dressme/main.htm (nonexistent)
+++ aCis_datapack/data/html/custom/dressme/main.htm (working copy)
@@ -0,0 +1,32 @@
+<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>
\ No newline at end of file
Index: aCis_gameserver/config/players.properties
===================================================================
--- aCis_gameserver/config/players.properties (revision 2)
+++ aCis_gameserver/config/players.properties (working copy)
@@ -288,10 +288,24 @@
MaxBuffsAmount = 20
# Store buffs/debuffs on user logout?
-StoreSkillCooltime = True
\ No newline at end of file
+StoreSkillCooltime = True
+
+#=============================================================
+# DressMe system
+#=============================================================
+#
+AllowDressMeSystem = True
+# 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
\ No newline at end of file
Index: aCis_gameserver/java/net/sf/l2j/Config.java
===================================================================
--- aCis_gameserver/java/net/sf/l2j/Config.java (revision 2)
+++ aCis_gameserver/java/net/sf/l2j/Config.java (working copy)
@@ -52,6 +52,14 @@
public static final String SERVER_FILE = "./config/server.properties";
public static final String SIEGE_FILE = "./config/siege.properties";
+ /** .dressme */
+ 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<>();
+
// --------------------------------------------------
// Clans settings
// --------------------------------------------------
@@ -1196,6 +1204,42 @@
BUFFS_MAX_AMOUNT = players.getProperty("MaxBuffsAmount", 20);
STORE_SKILL_COOLTIME = players.getProperty("StoreSkillCooltime", true);
+ ALLOW_DRESS_ME_SYSTEM = players.getProperty("AllowDressMeSystem", false);
+ String temp = players.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 = players.getProperty("DressMeLegs", "");
+ temp2 = temp.split(";");
+ for (String s : temp2)
+ {
+ String[] t = s.split(",");
+ DRESS_ME_LEGS.put(t[0], Integer.parseInt(t[1]));
+ }
+ temp = players.getProperty("DressMeBoots", "");
+ temp2 = temp.split(";");
+ for (String s : temp2)
+ {
+ String[] t = s.split(",");
+ DRESS_ME_BOOTS.put(t[0], Integer.parseInt(t[1]));
+ }
+ temp = players.getProperty("DressMeGloves", "");
+ temp2 = temp.split(";");
+ for (String s : temp2)
+ {
+ String[] t = s.split(",");
+ DRESS_ME_GLOVES.put(t[0], Integer.parseInt(t[1]));
+ }
+ temp = players.getProperty("DressMeWeapons", "");
+ temp2 = temp.split(";");
+ for (String s : temp2)
+ {
+ String[] t = s.split(",");
+ DRESS_ME_WEAPONS.put(t[0], Integer.parseInt(t[1]));
+ }
}
/**
Index: aCis_gameserver/java/net/sf/l2j/gameserver/custom/DressMeData.java
===================================================================
--- aCis_gameserver/java/net/sf/l2j/gameserver/custom/DressMeData.java (nonexistent)
+++ aCis_gameserver/java/net/sf/l2j/gameserver/custom/DressMeData.java (working copy)
@@ -0,0 +1,88 @@
+/*
+ * 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
+ * @adaptação Tayran.JavaDev
+ *
+ */
+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;
+ }
+}
\ No newline at end of file
Index: aCis_gameserver/java/net/sf/l2j/gameserver/custom/DressMeData.java
===================================================================
--- aCis_gameserver/java/net/sf/l2j/gameserver/custom/DressMeData.java (nonexistent)
+++ aCis_gameserver/java/net/sf/l2j/gameserver/custom/DressMeData.java (working copy)
@@ -0,0 +1,88 @@
+/*
+ * 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
+ * @adaptação Tayran.JavaDev
+ *
+ */
+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;
+ }
+}
\ No newline at end of file
Index: aCis_gameserver/java/net/sf/l2j/gameserver/handler/UserCommandHandler.java
===================================================================
--- aCis_gameserver/java/net/sf/l2j/gameserver/handler/UserCommandHandler.java (revision 2)
+++ aCis_gameserver/java/net/sf/l2j/gameserver/handler/UserCommandHandler.java (working copy)
@@ -23,6 +23,7 @@
import net.sf.l2j.gameserver.handler.usercommandhandlers.ClanPenalty;
import net.sf.l2j.gameserver.handler.usercommandhandlers.ClanWarsList;
import net.sf.l2j.gameserver.handler.usercommandhandlers.DisMount;
+import net.sf.l2j.gameserver.handler.usercommandhandlers.DressMe;
import net.sf.l2j.gameserver.handler.usercommandhandlers.Escape;
import net.sf.l2j.gameserver.handler.usercommandhandlers.Loc;
import net.sf.l2j.gameserver.handler.usercommandhandlers.Mount;
@@ -55,6 +56,7 @@
registerUserCommandHandler(new PartyInfo());
registerUserCommandHandler(new SiegeStatus());
registerUserCommandHandler(new Time());
+ registerUserCommandHandler(new DressMe());
}
public void registerUserCommandHandler(IUserCommandHandler handler)
Index: aCis_gameserver/java/net/sf/l2j/gameserver/handler/usercommandhandlers/DressMe.java
===================================================================
--- aCis_gameserver/java/net/sf/l2j/gameserver/handler/usercommandhandlers/DressMe.java (nonexistent)
+++ aCis_gameserver/java/net/sf/l2j/gameserver/handler/usercommandhandlers/DressMe.java (working copy)
@@ -0,0 +1,71 @@
+/*
+ * 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.usercommandhandlers;
+
+import net.sf.l2j.gameserver.datatables.ItemTable;
+import net.sf.l2j.gameserver.handler.IUserCommandHandler;
+import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
+
+/**
+ * @author Anarchy
+ * @adaptação Tayran.JavaDev
+ *
+ */
+public class DressMe implements IUserCommandHandler
+{
+ private static final int[] COMMAND_IDS =
+ {
+ 1000
+ };
+
+ @Override
+ public boolean useUserCommand(int command, L2PcInstance activeChar)
+ {
+ 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 int[] getUserCommandList()
+ {
+ return COMMAND_IDS;
+ }
+}
\ No newline at end of file
Index: aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 2)
+++ aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (working copy)
@@ -49,6 +49,7 @@
import net.sf.l2j.gameserver.ai.model.L2SummonAI;
import net.sf.l2j.gameserver.communitybbs.BB.Forum;
import net.sf.l2j.gameserver.communitybbs.Manager.ForumsBBSManager;
+import net.sf.l2j.gameserver.custom.DressMeData;
import net.sf.l2j.gameserver.datatables.AccessLevels;
import net.sf.l2j.gameserver.datatables.CharNameTable;
import net.sf.l2j.gameserver.datatables.CharTemplateTable;
@@ -360,6 +361,8 @@
62
};
+ private DressMeData _dressmedata = null;
+
private L2GameClient _client;
private final Map<Integer, String> _chars = new HashMap<>();
@@ -10536,4 +10539,26 @@
}
}
}
+
+ 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;
+ }
}
\ No newline at end of file
Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java
===================================================================
--- aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java (revision 2)
+++ aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java (working copy)
@@ -19,9 +19,12 @@
import net.sf.l2j.Config;
import net.sf.l2j.gameserver.communitybbs.CommunityBoard;
+import net.sf.l2j.gameserver.custom.DressMeData;
import net.sf.l2j.gameserver.datatables.AdminCommandAccessRights;
+import net.sf.l2j.gameserver.datatables.ItemTable;
import net.sf.l2j.gameserver.handler.AdminCommandHandler;
import net.sf.l2j.gameserver.handler.IAdminCommandHandler;
+import net.sf.l2j.gameserver.handler.usercommandhandlers.DressMe;
import net.sf.l2j.gameserver.model.L2Object;
import net.sf.l2j.gameserver.model.World;
import net.sf.l2j.gameserver.model.actor.L2Npc;
@@ -28,6 +31,7 @@
import net.sf.l2j.gameserver.model.actor.instance.L2OlympiadManagerInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.entity.Hero;
+import net.sf.l2j.gameserver.model.itemcontainer.Inventory;
import net.sf.l2j.gameserver.model.olympiad.OlympiadManager;
import net.sf.l2j.gameserver.network.SystemMessageId;
import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
@@ -181,6 +185,55 @@
final int arenaId = Integer.parseInt(_command.substring(12).trim());
activeChar.enterOlympiadObserverMode(arenaId);
}
+ else if (_command.equals("bp_changedressmestatus"))
+ {
+ if (activeChar.isDressMeEnabled())
+ {
+ activeChar.setDressMeEnabled(false);
+ activeChar.broadcastUserInfo();
+ }
+ else
+ {
+ activeChar.setDressMeEnabled(true);
+ activeChar.broadcastUserInfo();
+ }
+
+ DressMe.sendMainWindow(activeChar);
+ }
+
+ else if (_command.startsWith("bp_editWindow"))
+ {
+ String bp = _command.substring(14);
+ StringTokenizer st = new StringTokenizer(bp);
+
+ sendEditWindow(activeChar, st.nextToken());
+ }
+
+ else if (_command.startsWith("bp_setpart"))
+ {
+ String bp = _command.substring(11);
+ StringTokenizer st = new StringTokenizer(bp);
+
+ String part = st.nextToken();
+ String type = st.nextToken();
+
+ setPart(activeChar, part, type);
+ }
+
+ else if (_command.startsWith("bp_gettarget"))
+ {
+ String bp = _command.substring(13);
+ StringTokenizer st = new StringTokenizer(bp);
+
+ String part = st.nextToken();
+
+ stealTarget(activeChar, part);
+ }
+
+ else if (_command.equals("bp_main"))
+ {
+ DressMe.sendMainWindow(activeChar);
+ }
}
catch (Exception e)
{
@@ -203,4 +256,301 @@
html.disableValidation();
activeChar.sendPacket(html);
}
+
+ public static 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 static 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 static 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);
+ }
}
\ No newline at end of file
Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/CharInfo.java
===================================================================
--- aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/CharInfo.java (revision 2)
+++ aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/CharInfo.java (working copy)
@@ -60,18 +60,36 @@
else
writeD(_activeChar.getBaseClass());
- 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));
+ 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));
+ }
// c6 new h's
writeH(0x00);
Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/UserInfo.java
===================================================================
--- aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/UserInfo.java (revision 2)
+++ aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/UserInfo.java (working copy)
@@ -79,42 +79,82 @@
writeD(_activeChar.getActiveWeaponItem() != null ? 40 : 20); // 20 no weapon, 40 weapon equipped
- 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));
-
+ 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));
+ }
// c6 new h's
writeH(0x00);
writeH(0x00);
Linha para adicionar em Commandname-e.dat ( só se for usar aCis)
999 1000 dressme
Código para L2JFrozen :
Index: config/functions/l2jfrozen.properties
===================================================================
--- config/functions/l2jfrozen.properties (revision 1132)
+++ config/functions/l2jfrozen.properties (working copy)
@@ -281,4 +293,19 @@
ProtectorSkillLevel = 13
ProtectorSkillTime = 600
# Npc Protector Message
-ProtectorMessage = Hey You!, Never Kill On This Area, Go Read The Rules!
\ No newline at end of file
+ProtectorMessage = Hey You!, Never Kill On This Area, Go Read The Rules!
+
+
+# -----------------------------------------
+# 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
\ No newline at end of file
Index: head-src/com/l2jfrozen/Config.java
===================================================================
--- head-src/com/l2jfrozen/Config.java (revision 1132)
+++ head-src/com/l2jfrozen/Config.java (working copy)
@@ -2427,6 +2431,13 @@
public static String FARM2_CUSTOM_MESSAGE;
public static String PVP1_CUSTOM_MESSAGE;
public static String PVP2_CUSTOM_MESSAGE;
+ 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<>();
+
// ============================================================
public static void loadL2JFrozenConfig()
@@ -2546,6 +2563,42 @@
FARM2_CUSTOM_MESSAGE = L2JFrozenSettings.getProperty("Farm2CustomMeesage", "You have been teleported to Farm Zone 2!");
PVP1_CUSTOM_MESSAGE = L2JFrozenSettings.getProperty("PvP1CustomMeesage", "You have been teleported to PvP Zone 1!");
PVP2_CUSTOM_MESSAGE = L2JFrozenSettings.getProperty("PvP2CustomMeesage", "You have been teleported to PvP Zone 2!");
+ ALLOW_DRESS_ME_SYSTEM = Boolean.parseBoolean(L2JFrozenSettings.getProperty("AllowDressMeSystem", "false"));
+ String temp = L2JFrozenSettings.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 = L2JFrozenSettings.getProperty("DressMeLegs", "");
+ temp2 = temp.split(";");
+ for (String s : temp2)
+ {
+ String[] t = s.split(",");
+ DRESS_ME_LEGS.put(t[0], Integer.parseInt(t[1]));
+ }
+ temp = L2JFrozenSettings.getProperty("DressMeBoots", "");
+ temp2 = temp.split(";");
+ for (String s : temp2)
+ {
+ String[] t = s.split(",");
+ DRESS_ME_BOOTS.put(t[0], Integer.parseInt(t[1]));
+ }
+ temp = L2JFrozenSettings.getProperty("DressMeGloves", "");
+ temp2 = temp.split(";");
+ for (String s : temp2)
+ {
+ String[] t = s.split(",");
+ DRESS_ME_GLOVES.put(t[0], Integer.parseInt(t[1]));
+ }
+ temp = L2JFrozenSettings.getProperty("DressMeWeapons", "");
+ temp2 = temp.split(";");
+ for (String s : temp2)
+ {
+ String[] t = s.split(",");
+ DRESS_ME_WEAPONS.put(t[0], Integer.parseInt(t[1]));
+ }
}
catch (final Exception e)
{
Index: head-src/com/l2jfrozen/gameserver/handler/VoicedCommandHandler.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/handler/VoicedCommandHandler.java (revision 1132)
+++ head-src/com/l2jfrozen/gameserver/handler/VoicedCommandHandler.java (working copy)
@@ -32,7 +30,9 @@
import com.l2jfrozen.gameserver.handler.voicedcommandhandlers.BankingCmd;
import com.l2jfrozen.gameserver.handler.voicedcommandhandlers.CTFCmd;
import com.l2jfrozen.gameserver.handler.voicedcommandhandlers.DMCmd;
+import com.l2jfrozen.gameserver.handler.voicedcommandhandlers.DressMe;
import com.l2jfrozen.gameserver.handler.voicedcommandhandlers.FarmPvpCmd;
import com.l2jfrozen.gameserver.handler.voicedcommandhandlers.OfflineShop;
import com.l2jfrozen.gameserver.handler.voicedcommandhandlers.Online;
@@ -121,6 +123,14 @@
registerVoicedCommandHandler(new OfflineShop());
}
+
+ if (Config.ALLOW_DRESS_ME_SYSTEM)
+ registerVoicedCommandHandler(new DressMe());
+
LOGGER.info("VoicedCommandHandler: Loaded " + _datatable.size() + " handlers.");
}
Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java (revision 1132)
+++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java (working copy)
@@ -81,6 +77,7 @@
import com.l2jfrozen.gameserver.handler.IItemHandler;
import com.l2jfrozen.gameserver.handler.ItemHandler;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminEditChar;
+import com.l2jfrozen.gameserver.handler.custom.DressMeData;
import com.l2jfrozen.gameserver.handler.skillhandlers.SiegeFlag;
import com.l2jfrozen.gameserver.handler.skillhandlers.StrSiegeAssault;
import com.l2jfrozen.gameserver.handler.skillhandlers.TakeCastle;
@@ -305,6 +306,30 @@
/** The TOGGLE_USE time. */
protected long TOGGLE_USE = 0;
+ private DressMeData _dressmedata = null;
+ private boolean _dressed = false;
+
+
+ public DressMeData getDressMeData()
+ {
+ return _dressmedata;
+ }
+
+ public void setDressMeData(DressMeData val)
+ {
+ _dressmedata = val;
+ }
+
+ public boolean isDressMeEnabled()
+ {
+ return _dressed;
+ }
+
+ public void setDressMeEnabled(boolean val)
+ {
+ _dressed = val;
+ }
+
/**
* Gets the actual status.
* @return the actual status
Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestBypassToServer.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestBypassToServer.java (revision 1132)
+++ head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestBypassToServer.java (working copy)
@@ -20,6 +20,8 @@
*/
package com.l2jfrozen.gameserver.network.clientpackets;
+import java.util.StringTokenizer;
+
import org.apache.log4j.Logger;
import com.l2jfrozen.Config;
@@ -26,9 +28,13 @@
import com.l2jfrozen.gameserver.ai.CtrlIntention;
import com.l2jfrozen.gameserver.communitybbs.CommunityBoard;
import com.l2jfrozen.gameserver.datatables.sql.AdminCommandAccessRights;
+import com.l2jfrozen.gameserver.datatables.sql.ItemTable;
import com.l2jfrozen.gameserver.handler.AdminCommandHandler;
import com.l2jfrozen.gameserver.handler.IAdminCommandHandler;
import com.l2jfrozen.gameserver.handler.custom.CustomBypassHandler;
+import com.l2jfrozen.gameserver.handler.custom.DressMeData;
+import com.l2jfrozen.gameserver.handler.voicedcommandhandlers.DressMe;
+import com.l2jfrozen.gameserver.model.Inventory;
import com.l2jfrozen.gameserver.model.L2Object;
import com.l2jfrozen.gameserver.model.L2World;
import com.l2jfrozen.gameserver.model.actor.instance.L2ClassMasterInstance;
@@ -117,6 +123,51 @@
ach.useAdminCommand(_command, activeChar);
}
+ else if (_command.equals("bp_changedressmestatus"))
+ {
+ if (activeChar.isDressMeEnabled())
+ {
+ activeChar.setDressMeEnabled(false);
+ activeChar.broadcastUserInfo();
+ }
+ else
+ {
+ activeChar.setDressMeEnabled(true);
+ activeChar.broadcastUserInfo();
+ }
+
+ DressMe.sendMainWindow(activeChar);
+ }
+ else if (_command.startsWith("bp_editWindow"))
+ {
+ String bp = _command.substring(14);
+ StringTokenizer st = new StringTokenizer(bp);
+
+ sendEditWindow(activeChar, st.nextToken());
+ }
+ else if (_command.startsWith("bp_setpart"))
+ {
+ String bp = _command.substring(11);
+ StringTokenizer st = new StringTokenizer(bp);
+
+ String part = st.nextToken();
+ String type = st.nextToken();
+
+ setPart(activeChar, part, type);
+ }
+ else if (_command.startsWith("bp_gettarget"))
+ {
+ String bp = _command.substring(13);
+ StringTokenizer st = new StringTokenizer(bp);
+
+ String part = st.nextToken();
+
+ stealTarget(activeChar, part);
+ }
+ else if (_command.equals("bp_main"))
+ {
+ DressMe.sendMainWindow(activeChar);
+ }
else if (_command.equals("come_here") && activeChar.isGM())
{
comeHere(activeChar);
@@ -362,6 +413,303 @@
activeChar.sendPacket(html);
}
+ 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 getType()
{
Index: head-src/com/l2jfrozen/gameserver/network/serverpackets/CharInfo.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/network/serverpackets/CharInfo.java (revision 1132)
+++ head-src/com/l2jfrozen/gameserver/network/serverpackets/CharInfo.java (working copy)
@@ -230,19 +230,36 @@
writeD(_activeChar.getBaseClass());
}
- writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_DHAIR));
- 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_LRHAND));
- writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
- writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_FACE));
-
+ if (!_activeChar.isDressMeEnabled())
+ {
+ writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_DHAIR));
+ 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_DHAIR));
+ 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));
+ }
// c6 new h's
writeH(0x00);
writeH(0x00);
Index: head-src/com/l2jfrozen/gameserver/network/serverpackets/UserInfo.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/network/serverpackets/UserInfo.java (revision 1132)
+++ head-src/com/l2jfrozen/gameserver/network/serverpackets/UserInfo.java (working copy)
@@ -139,42 +139,83 @@
writeD(_activeChar.getActiveWeaponItem() != null ? 40 : 20); // 20 no weapon, 40 weapon equippe
- writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_DHAIR));
- 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_LRHAND));
- writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HAIR));
- writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_FACE));
- writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_DHAIR));
- 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_LRHAND));
- writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
- writeD(_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_FACE));
-
+ if (!_activeChar.isDressMeEnabled())
+ {
+ writeD(_activeChar.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_DHAIR));
+ 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_DHAIR));
+ 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_DHAIR));
+ 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_DHAIR));
+ 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));
+ }
writeH(0x00);
writeH(0x00);
writeH(0x00);
Index: custom/DressMeData.java
===================================================================
--- custom/DressMeData.java (nonexistent)
+++ custom/DressMeData.java (working copy)
@@ -0,0 +1,73 @@
+package com.l2jfrozen.gameserver.handler.custom;
+
+/**
+ * @author Anarchy
+ * @adaptação Tayran.JavaDev
+ *
+ */
+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;
+ }
+}
\ No newline at end of file
Index: voicedcommandhandlers/DressMe.java
===================================================================
--- voicedcommandhandlers/DressMe.java (nonexistent)
+++ voicedcommandhandlers/DressMe.java (working copy)
@@ -0,0 +1,58 @@
+package com.l2jfrozen.gameserver.handler.voicedcommandhandlers;
+
+import com.l2jfrozen.gameserver.datatables.sql.ItemTable;
+import com.l2jfrozen.gameserver.handler.IVoicedCommandHandler;
+import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage;
+
+/**
+ * @author Anarchy
+ * @adaptação Tayran.JavaDev
+ *
+ */
+public class DressMe implements IVoicedCommandHandler
+{
+ private static final String[] VOICED_COMMANDS = { "dressme" };
+
+
+ @Override
+ public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
+ {
+ 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;
+ }
+}
\ No newline at end of file
Index: data\dressme\edit.htm
===================================================================
--- data\dressme\edit.htm (nonexistent)
+++ data\dressme\edit.htm (working copy)
@@ -0,0 +1,13 @@
+<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>
\ No newline at end of file
Index: data\dressme\main.htm
===================================================================
--- data\dressme\main.htm (nonexistent)
+++ data\dressme\main.htm (working copy)
@@ -0,0 +1,32 @@
+<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>
\ No newline at end of file
Qualquer dúvida só postar.
Créditos : Anarchy
Adaptação : Tayran.JavaDev