stalker017 0 Опубликовано 2 февраля, 2014 помогите пачаны аугумет шоп дает тока админу скилы, а когда нажимаешь простым игроком ничего не происходит вообще, и в чат ничего не пишет package custom.AugmentShop; import ru.catssoftware.gameserver.model.actor.instance.L2NpcInstance; import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance; import ru.catssoftware.gameserver.model.quest.Quest; import ru.catssoftware.gameserver.model.quest.QuestState; import ru.catssoftware.gameserver.model.itemcontainer.Inventory; import java.sql.Connection; import java.sql.PreparedStatement; import ru.catssoftware.L2DatabaseFactory; import ru.catssoftware.gameserver.model.L2ItemInstance; public class AugmentShop extends Quest { private final static int ITEM_ID = 57; private final static int ITEM_COUNT = 10; private final static String qn = "AugmentShop"; private final static int NPC = 298030; public AugmentShop(int questId, String name, String descr) { super(questId, name, descr); 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 attribute, int skill, int level) { L2ItemInstance item = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND); if (player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND) == null) { player.sendMessage("Для зачарования, Вы должны одеть нужное оружие."); return; } if (player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND).isAugmented()) { player.sendMessage("Повторно оружие зачаровать нельзя."); return; } if (player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND).isHeroItem()) { player.sendMessage("Героическое оружие зачаровать нельзя."); return; } if (player.getInventory().getInventoryItemCount(ITEM_ID, -1) < ITEM_COUNT) { player.sendMessage("У Вас не хватает монет для зачарования."); return; } Connection con = null; try { player.destroyItemByItemId("Consume", ITEM_ID, ITEM_COUNT, player, true); con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("REPLACE INTO item_attributes VALUES(?,?,?,?)"); statement.setInt(1, item.getObjectId()); statement.setInt(2, attribute*65536+1); statement.setInt(3, skill); statement.setInt(4, level); statement.executeUpdate(); player.sendMessage("Успешно зачаровано, сделайте рестарт."); statement.close(); } catch (Exception e) { L2DatabaseFactory.close(con); } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты