Владимир(LoginOnn) 0 Опубликовано 21 мая, 2012 Вобщем вот часть скрипта 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; Помогите пожалусто переделать под Фрозены а то под них у меня не получается) Видно у меня руки кривые) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Владимир(LoginOnn) 0 Опубликовано 21 мая, 2012 (изменено) Помогите срочно надо Изменено 21 мая, 2012 пользователем Владимир(LoginOnn) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Владимир(LoginOnn) 0 Опубликовано 21 мая, 2012 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 = 4355; private final static int ITEM_COUNT = 30; 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) { } } } } Поможет ктота под сборку Фрозены переделать?) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Blact 1 Опубликовано 21 мая, 2012 Импорты под Фрозен измените Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Владимир(LoginOnn) 0 Опубликовано 21 мая, 2012 я прошу пределать скрипт под сборку фрозены . И что будет что я изменю импорты? таже ошибка будет! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
iceman 42 Опубликовано 21 мая, 2012 Скрытый текстimport com.l2jfrozen.gameserver.model.actor.instance.L2NpcInstance;import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;import com.l2jfrozen.gameserver.model.quest.Quest;import com.l2jfrozen.gameserver.model.quest.QuestState;import com.l2jfrozen.gameserver.model.Inventory;import java.sql.Connection;import java.sql.PreparedStatement;import com.l2jfrozen.util.database.L2DatabaseFactory;import java.util.logging.Level;import com.l2jfrozen.gameserver.model.actor.instance.L2ItemInstance;/** * * @author adapted by Samar 2011 RUSSIA * */public class AugmentShop extends Quest{ private final static int ITEM_ID = 4355; private final static int ITEM_COUNT = 30; 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) { } } }} Держи Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Владимир(LoginOnn) 0 Опубликовано 21 мая, 2012 compilation failed Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
iceman 42 Опубликовано 21 мая, 2012 compilation failed log ошибок хотя бы покажи... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AlexMan 27 Опубликовано 23 мая, 2012 (изменено) ЫЫ Скрытый текст import sys from com.l2jfrozen.gameserver.datatables import SkillTable from com.l2jfrozen.gameserver.model import L2Augmentation from com.l2jfrozen.gameserver.model.quest import QuestState from com.l2jfrozen.gameserver.model.quest import State from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest from com.l2jfrozen.gameserver.network.serverpackets import InventoryUpdate from com.l2jfrozen.gameserver.templates import L2Item QUEST_NUMBER, QUEST_NAME, QUEST_DESCRIPTION = 920, "920_Augment", "Custom" NPC = 40011 def validateItem(rHand): if rHand == None: return "augment-02.htm" if rHand.isWear() or rHand.getItem().getItemGrade() < L2Item.CRYSTAL_C or rHand.getItem().getType2() != L2Item.TYPE2_WEAPON or rHand.isDestroyable() == False: return "augment-03.htm" if rHand.isAugmented(): return "augment-04.htm" return "ok" def augmentItem(player, priceId, priceCount, rHand, augmentId, skillId, skillLvl): qs = player.getQuestState(QUEST_NAME) if qs.getQuestItemsCount(priceId) < priceCount: return "augment-05.htm" qs.takeItems(priceId, priceCount) player.disarmWeapons() rHand.setAugmentation(L2Augmentation(rHand, augmentId, SkillTable.getInstance().getInfo(skillId, skillLvl), True)) iu = InventoryUpdate() iu.addModifiedItem(rHand) player.sendPacket(iu) return "augment-06.htm" class Quest (JQuest): def __init__(self, id, name, descr): JQuest.__init__(self, id, name, descr) def onTalk (self, npc, player): return "augment-01.htm" def onAdvEvent (self, event, npc, player): if event == "no": return "augment-01.htm" rHand = player.getInventory().getPaperdollItemByL2ItemId(0x80) htmltext = validateItem(rHand) if htmltext == "ok": if event == "A1": htmltext = "augment-A1.htm" elif event == "A2": htmltext = "augment-A2.htm" elif event == "A3": htmltext = "augment-A3.htm" elif event == "A4": htmltext = "augment-A4.htm" elif event == "A5": htmltext = "augment-A5.htm" elif event == "A6": htmltext = "augment-A6.htm" elif event == "A7": htmltext = "augment-A7.htm" elif event == "A8": htmltext = "augment-A8.htm" elif event == "A9": htmltext = "augment-A9.htm" elif event == "A10": htmltext = "augment-A10.htm" elif event == "A11": htmltext = "augment-A11.htm" elif event == "A12": htmltext = "augment-A12.htm" elif event == "A13": htmltext = "augment-A13.htm" elif event == "A14": htmltext = "augment-A14.htm" elif event == "A15": htmltext = "augment-A15.htm" elif event == "YES-A1": # Параметры метода: # 1) player - не менять # 2) 57 - ид итема цены # 3) 1000 - количество итемов # 4) rHand - не менять # 5) Ид аугмента # 6) Ид скила этого аугмента # 7) Уровень скила htmltext = augmentItem(player, 11974, 15, rHand, 641219623, 3141, 10) elif event == "YES-A2": # Параметры метода: # 1) player - не менять # 2) 57 - ид итема цены # 3) 1000 - количество итемов # 4) rHand - не менять # 5) Ид аугмента # 6) Ид скила этого аугмента # 7) Уровень скила htmltext = augmentItem(player, 11974, 15, rHand, 641220162, 3142, 10) elif event == "YES-A3": # Параметры метода: # 1) player - не менять # 2) 57 - ид итема цены # 3) 1000 - количество итемов # 4) rHand - не менять # 5) Ид аугмента # 6) Ид скила этого аугмента # 7) Уровень скила htmltext = augmentItem(player, 11974, 15, rHand, 641220026, 3250, 10) elif event == "YES-A4": htmltext = augmentItem(player, 11974, 15, rHand, 641218828, 3132, 10) elif event == "YES-A5": htmltext = augmentItem(player, 11974, 15, rHand, 641219083, 3240, 10) elif event == "YES-A6": htmltext = augmentItem(player, 11974, 15, rHand, 641218818, 3133, 10) elif event == "YES-A7": htmltext = augmentItem(player, 11974, 15, rHand, 641220439, 3165, 10) elif event == "YES-A8": htmltext = augmentItem(player, 11974, 15, rHand, 641220460, 3167, 10) elif event == "YES-A9": htmltext = augmentItem(player, 11974, 15, rHand, 641220461, 3168, 10) elif event == "YES-A10": htmltext = augmentItem(player, 57, 1000, rHand, 962399728, 3141, 10) elif event == "YES-A11": htmltext = augmentItem(player, 57, 1000, rHand, 962858480, 3142, 10) elif event == "YES-A12": htmltext = augmentItem(player, 57, 1000, rHand, 957484528, 3146, 1) elif event == "YES-A13": htmltext = augmentItem(player, 57, 1000, rHand, 954666480, 3157, 1) elif event == "YES-A14": htmltext = augmentItem(player, 57, 1000, rHand, 958074352, 3191, 10) elif event == "YES-A15": htmltext = augmentItem(player, 57, 1000, rHand, 957156848, 3192, 10) return htmltext QUEST = Quest(QUEST_NUMBER, QUEST_NAME, QUEST_DESCRIPTION) QUEST.addStartNpc(NPC) QUEST.addTalkId(NPC) Скрытый текст bypass -h Quest 920_Augment YES-A1 Изменено 23 мая, 2012 пользователем AlexMan Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
VityaK 1 Опубликовано 24 марта, 2013 можно побольше об этом узнать Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты