vans 0 Опубликовано 30 ноября, 2011 Доброго времени суток. Есть такой нпц - продавец аugment скиллов: ссылка Написан он на java языке, по этому прошу помощи у знающих людей java. Дело в том, что он вставляет ЛС абсолютно в любую пушку, мне нужно сделать запрет на вставку в геройское оружие, оружие нг,д, грейда, и ещо один момент: при вставке ЛС на оружии нету анимации ЛСа. Вот код, заранее спасибо. package custom.AugmentShop; import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.quest.Quest; import net.sf.l2j.gameserver.model.quest.QuestState; import net.sf.l2j.gameserver.model.Inventory; import java.sql.Connection; import java.sql.PreparedStatement; import net.sf.l2j.L2DatabaseFactory; import java.util.logging.Level; import net.sf.l2j.gameserver.model.L2ItemInstance; /** * * @author adapted by Samar 2011 RUSSIA * */ public class AugmentShop extends Quest { private final static int ITEM_ID = 4037; private final static int ITEM_COUNT = 15; private final static String qn = "AugmentShop"; private final static int NPC = 91000; public AugmentShop(int questId, String name, String descr) { super(questId, name, descr); addFirstTalkId(NPC); addStartNpc(NPC); addTalkId(NPC); } @Override public String onAdvEvent(String event, L2NpcInstance npc, L2PcInstance player) { String htmltext = ""; if (event.equalsIgnoreCase("active")) { htmltext = "active.htm"; } else if (event.equalsIgnoreCase("passive")) { htmltext = "passive.htm"; } else if (event.equalsIgnoreCase("chance")) { htmltext = "chance.htm"; } else { updateAugment(player, Integer.parseInt(event.substring(0,5)), Integer.parseInt(event.substring(6,10)), Integer.parseInt(event.substring(11,13))); } return htmltext; } @Override public String onFirstTalk(L2NpcInstance npc, L2PcInstance player) { String htmltext = ""; QuestState qs = player.getQuestState(qn); if (qs == null) qs = newQuestState(player); htmltext = "main.htm"; return htmltext; } public static void main(String[] args) { new AugmentShop(-1, qn, "AugmentShop"); } private static void updateAugment(L2PcInstance player, int attributes, int skill, int level) { L2ItemInstance item = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND); if (player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND) == null) { player.sendMessage("You have to equip a weapon."); return; } if (player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND).isAugmented()) { player.sendMessage("The weapon is already augmented."); return; } if (player.getInventory().getInventoryItemCount(ITEM_ID, -1) < ITEM_COUNT) { player.sendMessage("You dont have enough item."); return; } Connection con = null; try { player.destroyItemByItemId("Consume", ITEM_ID, ITEM_COUNT, player, true); con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("REPLACE INTO augmentations VALUES(?,?,?,?)"); statement.setInt(1, item.getObjectId()); statement.setInt(2, attributes*65536+1); statement.setInt(3, skill); statement.setInt(4, level); statement.executeUpdate(); player.sendMessage("Succesfully augmented. You have to relog now."); statement.close(); } catch (Exception e) { _log.log(Level.SEVERE, "Could not augment item: "+item.getObjectId()+" ", e); } finally { try { /*L2DatabaseFactory.close(con);*/ con.close(); } catch (Exception e) { } } } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
iceman 42 Опубликовано 30 ноября, 2011 L2PcInstance player = getClient().getActiveChar(); if(player.getInventory().getItemByItemId(id)!=null){ действия } хз будет ли работать или не нету времени проверить просто Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vans 0 Опубликовано 30 ноября, 2011 Up Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
VOldo 0 Опубликовано 9 декабря, 2011 Ап Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
VOldo 0 Опубликовано 9 декабря, 2011 Помогите как правельно добавить в этот скрипт чтобы пушка лс светилась Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
VOldo 0 Опубликовано 9 декабря, 2011 Помогите ?( Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
taste 501 Опубликовано 9 декабря, 2011 xD Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
taste 501 Опубликовано 9 декабря, 2011 попробуй другого аугментора Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
VOldo 0 Опубликовано 9 декабря, 2011 Люди прошу помогите! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
VOldo 0 Опубликовано 9 декабря, 2011 Могу дать ТВ Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
VOldo 0 Опубликовано 10 декабря, 2011 аппп Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Freeman 0 Опубликовано 10 декабря, 2011 волдо, а ты вписал все лсы в файлы? Если да, мб поделишься? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
VOldo 0 Опубликовано 10 декабря, 2011 что толку вписывать если работает неправельно! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Freeman 0 Опубликовано 10 декабря, 2011 да че те так принципиально, что бы пухи светились и ЛСы нельзя было во все пухи вставлять? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
VOldo 0 Опубликовано 10 декабря, 2011 у меня нету но зделал бы для всех всё слы кто бы помог с обновлением ивенторя без релога и с эфектом свечения Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Freeman 0 Опубликовано 10 декабря, 2011 +1, тоже хотел бы свечение и без релога. Можно попробовать попросить Saick, он вроде шарит в скриптах Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
VOldo 0 Опубликовано 10 декабря, 2011 Люди добрые зделайте счастье людям уже давно такого в шаре небыло! я дам 100р )) всёё что есть Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FairyTale 0 Опубликовано 10 декабря, 2011 есть вариант как сделать пиши мне 604-045-701 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
VOldo 0 Опубликовано 11 декабря, 2011 Блин где только невстретиш эту тему везде беда Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
VOldo 0 Опубликовано 24 декабря, 2011 ап Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Artur_xD 403 Опубликовано 24 декабря, 2011 if(player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND).isHeroItem( ) || player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND).getItem().getC rystalType() == L2Item.CRYSTAL_NONE || player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND).getItem().getC rystalType() == L2Item.CRYSTAL_D) { player.sendMessage("The weapon is already augmented."); return; } Тут хиро пухи и д клас немного , думаю как дальше - розберёшься... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Freeman 0 Опубликовано 24 декабря, 2011 А поправить вот эту ошибку может кто то помочь? C:\Users\java\Desktop\TхЁтхЁ\server\data\scripts\custom\AugmentShop\AugmentShop. java java.lang.StringIndexOutOfBoundsException: String index out of range: 13 at java.lang.String.substring(Unknown Source) at custom.AugmentShop.AugmentShop.onAdvEvent(Unknown Source) at net.sf.l2j.gameserver.model.quest.Quest.notifyEvent(Quest.java:299) at net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.processQuestE vent(L2PcInstance.java:1234) at net.sf.l2j.gameserver.network.clientpackets.RequestBypassToServer.run Impl(RequestBypassToServer.java:169) at net.sf.l2j.gameserver.network.clientpackets.L2GameClientPacket.run(L2 GameClientPacket.java:75) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source ) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Freeman 0 Опубликовано 24 декабря, 2011 up Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Freeman 0 Опубликовано 25 декабря, 2011 up Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Freeman 0 Опубликовано 26 декабря, 2011 up Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты