Перейти к содержанию
Авторизация  
evillord

Слоты Шмота!

Рекомендуемые сообщения

Ребят поставил сборку , точу через алт и б бижу на 20 всю но потом бижа не одевается и остается муляж в слоте чор ти что . В ГС пишит такое

 

WARN items.Inventory: Requested invalid body slot: 3, Item: null, ownerId: '268479886'

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

<armor id="15717" name="Elegia Ring">

<set name="crystal_count" value="523"/>

<set name="crystal_type" value="S84"/>

<set name="crystallizable" value="true"/>

<set name="icon" value="icon.accessary_verpes_ring_i00"/>

<set name="price" value="10897000"/>

<set name="type" value="NONE"/>

<set name="weight" value="150"/>

<equip>

<slot id="RIGHT_FINGER"/>

<slot id="LEFT_FINGER"/>

</equip>

<for>

<add stat="mDef" order="0x10" value="69"/>

<add stat="maxMp" order="0x10" value="27"/>

<enchant stat="mDef" order="0x0C" value="0"/>

</for>

</armor>

 

Вот xml ошибку я понимаю но не понимаю как исправить =(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я думаю что тут <slot id="RIGHT_FINGER"/> <slot id="LEFT_FINGER"/> нужно прописать Ид слота

Изменено пользователем SkipOver

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Думаю проблема скорее всего в точильщике, возможно не отсылается пакет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скинь код точильщика, под спойлер только

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

EnchantCommunity.java

 

package services.community;

 

import l2r.gameserver.Config;

import l2r.gameserver.data.htm.HtmCache;

import l2r.gameserver.handler.bbs.CommunityBoardManager;

import l2r.gameserver.handler.bbs.ICommunityBoardHandler;

import l2r.gameserver.model.Player;

import l2r.gameserver.model.base.Element;

import l2r.gameserver.model.items.ItemInstance;

import l2r.gameserver.network.serverpackets.InventoryUpdate;

import l2r.gameserver.network.serverpackets.ShowBoard;

import l2r.gameserver.network.serverpackets.components.SystemMsg;

import l2r.gameserver.scripts.Functions;

import l2r.gameserver.scripts.ScriptFile;

import l2r.gameserver.templates.item.EtcItemTemplate;

import l2r.gameserver.templates.item.ItemTemplate;

import l2r.gameserver.data.xml.holder.ItemHolder;

import java.util.StringTokenizer;

 

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

 

 

public class EnchantCommunity extends Functions implements ScriptFile, ICommunityBoardHandler

{

private static EnchantCommunity _Instance = null;

private static final Logger _log = LoggerFactory.getLogger(EnchantCommunity.class);

public static EnchantCommunity getInstance()

{

if (_Instance == null)

_Instance = new EnchantCommunity();

return _Instance;

}

 

/**

* Имплементированые методы скриптов

*/

 

@Override

public void onLoad()

{

if(Config.ENCHANT_ENABLED)

{

_log.info("CommunityBoard: Enchant Community service loaded.");

CommunityBoardManager.getInstance().registerHandler(this);

}

}

 

@Override

public void onReload()

{

if(Config.ENCHANT_ENABLED)

CommunityBoardManager.getInstance().removeHandler(this);

}

 

@Override

public void onShutdown()

{}

 

@Override

public String[] getBypassCommands()

{

return new String[] { "_bbsechant" };

}

 

@Override

public void onBypassCommand(Player activeChar, String command)

{

if (command.equals("_bbsechant"))

{

String name = "None Name";

name = ItemHolder.getInstance().getTemplate(Config.ENCHANTER_ITEM_ID).getName();

StringBuilder sb = new StringBuilder();

sb.append("<table width=400>");

ItemInstance[] arr = activeChar.getInventory().getItems();

int len = arr.length;

for (int i = 0; i < len; i++)

{

ItemInstance _item = arr;

if (_item == null || _item.getTemplate() instanceof EtcItemTemplate || _item.getTemplate().isShield() || _item.getTemplate().isBelt() || _item.getTemplate().isUnderwear() || !_item.isEquipped() || _item.isHeroWeapon() || _item.getTemplate().isBracelet() || _item.getTemplate().isCloak() || _item.getTemplate().getCrystalType() == ItemTemplate.Grade.NONE || _item.getItemId() >= 7816 && _item.getItemId() <= 7831 || _item.isShadowItem() || _item.isCommonItem() || _item.isTemporalItem() || _item.getEnchantLevel() >= (Config.MAX_ENCHANT + 1))

continue;

sb.append(new StringBuilder("<tr><td><img src=icon." + _item.getTemplate().getIcon() + " width=32 height=32></td><td>"));

sb.append(new StringBuilder("<font color=\"LEVEL\">" + _item.getTemplate().getName() + " " + (_item.getEnchantLevel() <= 0 ? "" : new StringBuilder("</font><br1><font color=3293F3>Заточено на: +" + _item.getEnchantLevel())) + "</font><br1>"));

 

sb.append(new StringBuilder("Заточка за: <font color=\"LEVEL\">" + name + "</font>"));

sb.append("<img src=\"l2ui.squaregray\" width=\"170\" height=\"1\">");

sb.append("</td><td>");

sb.append(new StringBuilder("<button value=\"Обычная\" action=\"bypass _bbsechant;enchlistpage;" + _item.getObjectId() + "\" width=75 height=18 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"));

sb.append("</td><td>");

sb.append(new StringBuilder("<button value=\"Аттрибут\" action=\"bypass _bbsechant;enchlistpageAtrChus;" + _item.getObjectId() + "\" width=75 height=18 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"));

sb.append("</td></tr>");

}

 

sb.append("</table>");

String content = HtmCache.getInstance().getNotNull(Config.BBS_HOME_DIR + "pages/enchanter/enchanter.htm", activeChar);

content = content.replace("%enchanter%", sb.toString());

ShowBoard.separateAndSend(content, activeChar);

}

if (command.startsWith("_bbsechant;enchlistpage;"))

{

StringTokenizer st = new StringTokenizer(command, ";");

st.nextToken();

st.nextToken();

int ItemForEchantObjID = Integer.parseInt(st.nextToken());

String name = "None Name";

name = ItemHolder.getInstance().getTemplate(Config.ENCHANTER_ITEM_ID).getName();

ItemInstance EhchantItem = activeChar.getInventory().getItemByObjectId(ItemForEchantObjID);

 

StringBuilder sb = new StringBuilder();

sb.append("Для обычной заточки выбрана вещь:<br1><table width=300>");

sb.append(new StringBuilder("<tr><td width=32><img src=icon." + EhchantItem.getTemplate().getIcon() + " width=32 height=32> <img src=\"l2ui.squaregray\" width=\"32\" height=\"1\"></td><td width=236><center>"));

sb.append(new StringBuilder("<font color=\"LEVEL\">" + EhchantItem.getTemplate().getName() + " " + (EhchantItem.getEnchantLevel() <= 0 ? "" : new StringBuilder("</font><br1><font color=3293F3>Заточено на: +" + EhchantItem.getEnchantLevel())) + "</font><br1>"));

 

sb.append(new StringBuilder("Заточка производится за: <font color=\"LEVEL\">" + name + "</font>"));

sb.append("<img src=\"l2ui.squaregray\" width=\"236\" height=\"1\"><center></td>");

sb.append(new StringBuilder("<td width=32><img src=icon." + EhchantItem.getTemplate().getIcon() + " width=32 height=32> <img src=\"l2ui.squaregray\" width=\"32\" height=\"1\"></td>"));

sb.append("</tr>");

sb.append("</table>");

sb.append("<br1>");

sb.append("<br1>");

sb.append("<table border=0 width=400><tr><td width=200>");

for(int i = 0; i < Config.ENCHANT_LEVELS.length; i++)

{

sb.append(new StringBuilder("<center><button value=\"На +" + Config.ENCHANT_LEVELS + " (Цена:" + (EhchantItem.getTemplate().isWeapon() != false ? Config.ENCHANT_PRICE_WPN : Config.ENCHANT_PRICE_ARM) + " " + name + ")\" action=\"bypass _bbsechant;enchantgo;" + Config.ENCHANT_LEVELS + ";" + (EhchantItem.getTemplate().isWeapon() != false ? Config.ENCHANT_PRICE_WPN : Config.ENCHANT_PRICE_ARM) + ";" + ItemForEchantObjID + "\" width=200 height=20 back=\"L2UI_CT1.Button_DF\" fore=\"L2UI_CT1.Button_DF\">"));

sb.append("<br1>");

}

 

sb.append("</td></tr></table><br1><button value=\"Назад\" action=\"bypass _bbsechant\" width=70 height=18 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">");

String content = HtmCache.getInstance().getNotNull(Config.BBS_HOME_DIR + "pages/enchanter/enchanter.htm", activeChar);

content = content.replace("%enchanter%", sb.toString());

ShowBoard.separateAndSend(content, activeChar);

}

if (command.startsWith("_bbsechant;enchlistpageAtrChus;"))

{

StringTokenizer st = new StringTokenizer(command, ";");

st.nextToken();

st.nextToken();

int ItemForEchantObjID = Integer.parseInt(st.nextToken());

String name = "None Name";

name = ItemHolder.getInstance().getTemplate(Config.ENCHANTER_ITEM_ID).getName();

ItemInstance EhchantItem = activeChar.getInventory().getItemByObjectId(ItemForEchantObjID);

 

StringBuilder sb = new StringBuilder();

sb.append("Для заточки на атрибут выбрана вещь:<br1><table width=300>");

sb.append(new StringBuilder("<tr><td width=32><img src=icon." + EhchantItem.getTemplate().getIcon() + " width=32 height=32> <img src=\"l2ui.squaregray\" width=\"32\" height=\"1\"></td><td width=236><center>"));

sb.append(new StringBuilder("<font color=\"LEVEL\">" + EhchantItem.getTemplate().getName() + " " + (EhchantItem.getEnchantLevel() <= 0 ? "" : new StringBuilder("</font><br1><font color=3293F3>Заточено на: +" + EhchantItem.getEnchantLevel())) + "</font><br1>"));

 

sb.append(new StringBuilder("Заточка производится за: <font color=\"LEVEL\">" + name + "</font>"));

sb.append("<img src=\"l2ui.squaregray\" width=\"236\" height=\"1\"><center></td>");

sb.append(new StringBuilder("<td width=32><img src=icon." + EhchantItem.getTemplate().getIcon() + " width=32 height=32> <img src=\"l2ui.squaregray\" width=\"32\" height=\"1\"></td>"));

sb.append("</tr>");

sb.append("</table>");

sb.append("<br1>");

sb.append("<br1>");

sb.append("<table border=0 width=400><tr><td width=200>");

sb.append("<center><img src=icon.etc_wind_stone_i00 width=32 height=32></center><br1>");

sb.append(new StringBuilder("<button value=\"Wind \" action=\"bypass _bbsechant;enchlistpageAtr;2;" + ItemForEchantObjID + "\" width=200 height=20 back=\"L2UI_CT1.Button_DF\" fore=\"L2UI_CT1.Button_DF\">"));

sb.append("<br1><center><img src=icon.etc_earth_stone_i00 width=32 height=32></center><br1>");

sb.append(new StringBuilder("<button value=\"Earth \" action=\"bypass _bbsechant;enchlistpageAtr;3;" + ItemForEchantObjID + "\" width=200 height=20 back=\"L2UI_CT1.Button_DF\" fore=\"L2UI_CT1.Button_DF\">"));

sb.append("<br1><center><img src=icon.etc_fire_stone_i00 width=32 height=32></center><br1>");

sb.append(new StringBuilder("<button value=\"Fire \" action=\"bypass _bbsechant;enchlistpageAtr;0;" + ItemForEchantObjID + "\" width=200 height=20 back=\"L2UI_CT1.Button_DF\" fore=\"L2UI_CT1.Button_DF\">"));

sb.append("</td><td width=200>");

sb.append("<center><img src=icon.etc_water_stone_i00 width=32 height=32></center><br1>");

sb.append(new StringBuilder("<button value=\"Water \" action=\"bypass _bbsechant;enchlistpageAtr;1;" + ItemForEchantObjID + "\" width=200 height=20 back=\"L2UI_CT1.Button_DF\" fore=\"L2UI_CT1.Button_DF\">"));

sb.append("<br1><center><img src=icon.etc_holy_stone_i00 width=32 height=32></center><br1>");

sb.append(new StringBuilder("<button value=\"Divine \" action=\"bypass _bbsechant;enchlistpageAtr;4;" + ItemForEchantObjID + "\" width=200 height=20 back=\"L2UI_CT1.Button_DF\" fore=\"L2UI_CT1.Button_DF\">"));

sb.append("<br1><center><img src=icon.etc_unholy_stone_i00 width=32 height=32></center><br1>");

sb.append(new StringBuilder("<button value=\"Dark \" action=\"bypass _bbsechant;enchlistpageAtr;5;" + ItemForEchantObjID + "\" width=200 height=20 back=\"L2UI_CT1.Button_DF\" fore=\"L2UI_CT1.Button_DF\">"));

sb.append("</td></tr></table><br1><button value=\"Назад\" action=\"bypass _bbsechant\" width=70 height=18 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">");

String content = HtmCache.getInstance().getNotNull(Config.BBS_HOME_DIR + "pages/enchanter/enchanter.htm", activeChar);

content = content.replace("%enchanter%", sb.toString());

ShowBoard.separateAndSend(content, activeChar);

}

if (command.startsWith("_bbsechant;enchlistpageAtr;"))

{

StringTokenizer st = new StringTokenizer(command, ";");

st.nextToken();

st.nextToken();

int AtributType = Integer.parseInt(st.nextToken());

int ItemForEchantObjID = Integer.parseInt(st.nextToken());

String ElementName = "";

if (AtributType == 0)

ElementName = "Fire";

else if (AtributType == 1)

ElementName = "Water";

else if (AtributType == 2)

ElementName = "Wind";

else if (AtributType == 3)

ElementName = "Earth";

else if (AtributType == 4)

ElementName = "Divine";

else if (AtributType == 5)

ElementName = "Dark";

String name = "None Name";

name = ItemHolder.getInstance().getTemplate(Config.ENCHANTER_ITEM_ID).getName();

ItemInstance EhchantItem = activeChar.getInventory().getItemByObjectId(ItemForEchantObjID);

StringBuilder sb = new StringBuilder();

sb.append(new StringBuilder("Выбран элемент: <font color=\"LEVEL\">" + ElementName + "</font><br1> Для заточки выбрана вещь:<br1><table width=300>"));

sb.append(new StringBuilder("<tr><td width=32><img src=icon." + EhchantItem.getTemplate().getIcon() + " width=32 height=32> <img src=\"l2ui.squaregray\" width=\"32\" height=\"1\"></td><td width=236><center>"));

sb.append(new StringBuilder("<font color=\"LEVEL\">" + EhchantItem.getTemplate().getName() + " " + (EhchantItem.getEnchantLevel() <= 0 ? "" : new StringBuilder("</font><br1><font color=3293F3>Заточено на: +" + EhchantItem.getEnchantLevel())) + "</font><br1>"));

 

sb.append(new StringBuilder("Заточка производится за: <font color=\"LEVEL\">" + name + "</font>"));

sb.append("<img src=\"l2ui.squaregray\" width=\"236\" height=\"1\"><center></td>");

sb.append(new StringBuilder("<td width=32><img src=icon." + EhchantItem.getTemplate().getIcon() + " width=32 height=32> <img src=\"l2ui.squaregray\" width=\"32\" height=\"1\"></td>"));

sb.append("</tr>");

sb.append("</table>");

sb.append("<br1>");

sb.append("<br1>");

if (!EhchantItem.getTemplate().getName().contains("PvP") && (EhchantItem.getTemplate().getCrystalType() == ItemTemplate.Grade.S || EhchantItem.getTemplate().getCrystalType() == ItemTemplate.Grade.S80 || EhchantItem.getTemplate().getCrystalType() == ItemTemplate.Grade.S84))

{

sb.append("<table border=0 width=400><tr><td width=200>");

for(int i = 0; i < (EhchantItem.getTemplate().isWeapon() != false ? Config.ENCHANT_ATTRIBUTE_LEVELS.length : Config.ENCHANT_ATTRIBUTE_LEVELS_ARM.length); i++)

{

sb.append(new StringBuilder("<center><button value=\"На +" + (EhchantItem.getTemplate().isWeapon() != false ? Config.ENCHANT_ATTRIBUTE_LEVELS : Config.ENCHANT_ATTRIBUTE_LEVELS_ARM) + " (Цена:" + (EhchantItem.getTemplate().isWeapon() != false ? Config.ATTRIBUTE_PRICE_WPN : Config.ATTRIBUTE_PRICE_ARM) + " " + name + ")\" action=\"bypass _bbsechant;enchantgoAtr;" + (EhchantItem.getTemplate().isWeapon() != false ? Config.ENCHANT_ATTRIBUTE_LEVELS : Config.ENCHANT_ATTRIBUTE_LEVELS_ARM) + ";" + AtributType + ";" + (EhchantItem.getTemplate().isWeapon() != false ? Config.ATTRIBUTE_PRICE_WPN : Config.ATTRIBUTE_PRICE_ARM) + ";" + ItemForEchantObjID + "\" width=200 height=20 back=\"L2UI_CT1.Button_DF\" fore=\"L2UI_CT1.Button_DF\">"));

sb.append("<br1>");

}

sb.append("</td></tr></table><br1>");

}

else if (EhchantItem.getTemplate().getName().contains("PvP") && Config.ENCHANT_ATT_PVP && (EhchantItem.getTemplate().getCrystalType() == ItemTemplate.Grade.S || EhchantItem.getTemplate().getCrystalType() == ItemTemplate.Grade.S80 || EhchantItem.getTemplate().getCrystalType() == ItemTemplate.Grade.S84))

{

sb.append("<table border=0 width=400><tr><td width=200>");

for(int i = 0; i < (EhchantItem.getTemplate().isWeapon() != false ? Config.ENCHANT_ATTRIBUTE_LEVELS.length : Config.ENCHANT_ATTRIBUTE_LEVELS_ARM.length); i++)

{

sb.append(new StringBuilder("<center><button value=\"На +" + (EhchantItem.getTemplate().isWeapon() != false ? Config.ENCHANT_ATTRIBUTE_LEVELS : Config.ENCHANT_ATTRIBUTE_LEVELS_ARM) + " (Цена:" + (EhchantItem.getTemplate().isWeapon() != false ? Config.ATTRIBUTE_PRICE_WPN : Config.ATTRIBUTE_PRICE_ARM) + " " + name + ")\" action=\"bypass _bbsechant;enchantgoAtr;" + (EhchantItem.getTemplate().isWeapon() != false ? Config.ENCHANT_ATTRIBUTE_LEVELS : Config.ENCHANT_ATTRIBUTE_LEVELS_ARM) + ";" + AtributType + ";" + (EhchantItem.getTemplate().isWeapon() != false ? Config.ATTRIBUTE_PRICE_WPN : Config.ATTRIBUTE_PRICE_ARM) + ";" + ItemForEchantObjID + "\" width=200 height=20 back=\"L2UI_CT1.Button_DF\" fore=\"L2UI_CT1.Button_DF\">"));

sb.append("<br1>");

}

sb.append("</td></tr></table><br1>");

}

else

{

sb.append("<table border=0 width=400><tr><td width=200>");

sb.append("<br1>");

sb.append("<br1>");

sb.append("<br1>");

sb.append("<br1>");

sb.append("<center><font color=\"LEVEL\">Заточка данной вещи не возможна!</font></center>");

sb.append("<br1>");

sb.append("<br1>");

sb.append("<br1>");

sb.append("<br1>");

sb.append("</td></tr></table><br1>");

}

sb.append("<button value=\"Назад\" action=\"bypass _bbsechant\" width=70 height=18 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">");

String content = HtmCache.getInstance().getNotNull(Config.BBS_HOME_DIR + "pages/enchanter/enchanter.htm", activeChar);

content = content.replace("%enchanter%", sb.toString());

ShowBoard.separateAndSend(content, activeChar);

}

if (command.startsWith("_bbsechant;enchantgo;"))

{

StringTokenizer st = new StringTokenizer(command, ";");

st.nextToken();

st.nextToken();

int EchantVal = Integer.parseInt(st.nextToken());

int EchantPrice = Integer.parseInt(st.nextToken());

int EchantObjID = Integer.parseInt(st.nextToken());

ItemTemplate item = ItemHolder.getInstance().getTemplate(Config.ENCHANTER_ITEM_ID);

ItemInstance pay = activeChar.getInventory().getItemByItemId(item.getItemId());

ItemInstance EhchantItem = activeChar.getInventory().getItemByObjectId(EchantObjID);

if (pay != null && pay.getCount() >= EchantPrice)

{

activeChar.getInventory().destroyItem(pay, EchantPrice);

if(EhchantItem.isEquipped())

activeChar.getInventory().unEquipItemInBodySlot(EhchantItem.getEquipSlot());

EhchantItem.setEnchantLevel(EchantVal);

activeChar.getInventory().equipItem(EhchantItem);

activeChar.sendPacket(new InventoryUpdate().addModifiedItem(EhchantItem));

activeChar.broadcastUserInfo(true);

activeChar.sendMessage(new StringBuilder("" + EhchantItem.getTemplate().getName() + " было заточено до " + EchantVal + ". Спасибо.").toString());

onBypassCommand(activeChar, "_bbsechant");

}

else

activeChar.sendPacket(SystemMsg.INCORRECT_ITEM_COUNT);

}

 

if (command.startsWith("_bbsechant;enchantgoAtr;"))

{

StringTokenizer st = new StringTokenizer(command, ";");

st.nextToken();

st.nextToken();

int EchantVal = Integer.parseInt(st.nextToken());

int AtrType = Integer.parseInt(st.nextToken());

Element el = Element.getElementById(AtrType);

int EchantPrice = Integer.parseInt(st.nextToken());

int EchantObjID = Integer.parseInt(st.nextToken());

ItemTemplate item = ItemHolder.getInstance().getTemplate(Config.ENCHANTER_ITEM_ID);

ItemInstance pay = activeChar.getInventory().getItemByItemId(item.getItemId());

ItemInstance EhchantItem = activeChar.getInventory().getItemByObjectId(EchantObjID);

if(EhchantItem.isWeapon())

{

if (pay != null && pay.getCount() >= EchantPrice) {

activeChar.getInventory().destroyItem(pay, EchantPrice);

if(EhchantItem.isEquipped())

activeChar.getInventory().unEquipItemInBodySlot(EhchantItem.getEquipSlot());

EhchantItem.setAttributeElement(el, EchantVal);

activeChar.getInventory().equipItem(EhchantItem);

activeChar.sendPacket(new InventoryUpdate().addModifiedItem(EhchantItem));

activeChar.broadcastUserInfo(true);

activeChar.sendMessage(new StringBuilder("" + EhchantItem.getTemplate().getName() + " было заточено до " + EchantVal + ". Спасибо.").toString());

onBypassCommand(activeChar, "_bbsechant");

}

else

activeChar.sendPacket(SystemMsg.INCORRECT_ITEM_COUNT);

}

else if(EhchantItem.isArmor())

{

if(!canEnchantArmorAttribute(AtrType, EhchantItem))

{

activeChar.sendMessage("Невозможно вставить аттрибут в броню, не соблюдены условия");

onBypassCommand(activeChar, "_bbsechant");

return;

}

if (pay != null && pay.getCount() >= EchantPrice) {

activeChar.getInventory().destroyItem(pay, EchantPrice);

if(EhchantItem.isEquipped())

activeChar.getInventory().unEquipItemInBodySlot(EhchantItem.getEquipSlot());

EhchantItem.setAttributeElement(el, EchantVal);

activeChar.getInventory().equipItem(EhchantItem);

activeChar.sendPacket(new InventoryUpdate().addModifiedItem(EhchantItem));

activeChar.broadcastUserInfo(true);

activeChar.sendMessage(new StringBuilder("" + EhchantItem.getTemplate().getName() + " было заточено до " + EchantVal + ". Спасибо.").toString());

onBypassCommand(activeChar, "_bbsechant");

}

}

}

}

 

@Override

public void onWriteCommand(Player player, String bypass, String arg1, String arg2, String arg3, String arg4, String arg5)

{}

 

@SuppressWarnings("unused")

private boolean canEnchantArmorAttribute(int attr, ItemInstance item)

{

Element elm = Element.getElementById(attr);

switch(attr)

{

case 0:

if(item.getDefenceWater() != 0)

return false;

break;

case 1:

if(item.getDefenceFire() != 0)

return false;

break;

case 2:

if(item.getDefenceEarth() != 0)

return false;

break;

case 3:

if(item.getDefenceWind() != 0)

return false;

break;

case 4:

if(item.getDefenceUnholy() != 0)

return false;

break;

case 5:

if(item.getDefenceHoly() != 0)

return false;

break;

}

return true;

}

}

 

Изменено пользователем evillord

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

if (pay != null && pay.getCount() >= EchantPrice)
  {
   activeChar.getInventory().destroyItem(pay, EchantPrice);
   if(EhchantItem.isEquipped())
 activeChar.getInventory().unEquipItemInBodySlot(EhchantItem.getEquipSlot());
   EhchantItem.setEnchantLevel(EchantVal);
   activeChar.getInventory().equipItem(EhchantItem);
   activeChar.sendPacket(new InventoryUpdate().addModifiedItem(EhchantItem));
   activeChar.broadcastUserInfo(true);
   activeChar.sendMessage(new StringBuilder("" + EhchantItem.getTemplate().getName() + " было заточено до " + EchantVal + ". Спасибо.").toString());
   onBypassCommand(activeChar, "_bbsechant");
  }

на это

if (pay != null && pay.getCount() >= EchantPrice)
  {
		    activeChar.getInventory().destroyItem(pay, EchantPrice);
		    EhchantItem.setEnchantLevel(EchantVal);
		    activeChar.getInventory().equipItem(EhchantItem);
		    activeChar.sendPacket(new InventoryUpdate().addModifiedItem(EhchantItem));
   activeChar.broadcastUserInfo(true);
		    activeChar.broadcastCharInfo();
   activeChar.sendMessage(new StringBuilder("" + EhchantItem.getTemplate().getName() + " было заточено до " + EchantVal + ".").toString());
   onBypassCommand(activeChar, "_bbsechant");

так будет лучше, итем который точиться не будет сниматься, + бродкаст

Изменено пользователем dislike

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поменял но вроде не помогло =( Но за старания +

 

Вот ошибка точнул серьги и кольца с неклей нет проблем .Когда точнул 1 кольцо или серьга остается"муляжом " и 2 нельзя одеть =(

 

[03.08.13 18:24:13:992] WARN items.Inventory: Requested invalid body slot: 5, Item: null, ownerId: '268479886'

[03.08.13 18:24:25:613] WARN items.Inventory: Requested invalid body slot: 3, Item: null, ownerId: '268479886'

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Помогите пожалуйста! Как убрать заточку атт пояса рубахи и щитов в скрипте??  В яве не силен нужна помощь, за ранее спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...