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)
{
}
}
}
}
Поможет ктота под сборку Фрозены переделать?)