### Eclipse Workspace Patch 1.0
#P L2JHellasC
Index: java/com/l2jhellas/gameserver/model/actor/instance/L2NpcInstance.java
===================================================================
--- java/com/l2jhellas/gameserver/model/actor/instance/L2NpcInstance.java (revision 496)
+++ java/com/l2jhellas/gameserver/model/actor/instance/L2NpcInstance.java (working copy)
@@ -17,6 +17,7 @@
import com.l2jhellas.Config;
import com.l2jhellas.gameserver.datatables.xml.SkillTreeData;
import com.l2jhellas.gameserver.model.L2EnchantSkillLearn;
+import com.l2jhellas.gameserver.model.L2ItemInstance;
import com.l2jhellas.gameserver.model.L2Skill;
import com.l2jhellas.gameserver.model.L2SkillLearn;
import com.l2jhellas.gameserver.model.actor.L2Npc;
@@ -43,6 +44,18 @@
@Override
public void onAction(L2PcInstance player)
{
+ if (getNpcId() == L2SkillSellerInstance.NPC_ID)
+ {
+ L2ItemInstance i = player.getInventory().getItemByItemId(L2SkillSellerInstance.ITEM_ID);
+
+ if (i == null || i.getCount() < L2SkillSellerInstance.ITEM_COUNT)
+ {
+ player.sendMessage("You need " + L2SkillSellerInstance.ITEM_COUNT + " Gold Bars to use this Npc.");
+ player.sendPacket(new ActionFailed());
+ return;
+ }
+ }
+
player.setLastFolkNPC(this);
super.onAction(player);
}
Index: java/com/l2jhellas/gameserver/model/actor/instance/L2SkillSellerInstance.java
===================================================================
--- java/com/l2jhellas/gameserver/model/actor/instance/L2SkillSellerInstance.java (revision 0)
+++ java/com/l2jhellas/gameserver/model/actor/instance/L2SkillSellerInstance.java (working copy)
@@ -0,0 +1,57 @@
+package com.l2jhellas.gameserver.model.actor.instance;
+
+import com.l2jhellas.gameserver.model.L2Skill;
+import com.l2jhellas.gameserver.network.serverpackets.NpcHtmlMessage;
+import com.l2jhellas.gameserver.skills.SkillTable;
+import com.l2jhellas.gameserver.templates.L2NpcTemplate;
+
+public class L2SkillSellerInstance extends L2NpcInstance
+{
+
+ public final static int NPC_ID = 24246;
+ public final static int ITEM_ID = 2807;
+ public final static int ITEM_COUNT = 5;
+ private final int[] SKILL_IDS =
+ {
+ 3134, 3132, 3124, 3125, 3133, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3134
+ };
+
+ public L2SkillSellerInstance(int objectId, L2NpcTemplate template)
+ {
+ super(objectId, template);
+ }
+
+ @Override
+ public void showChatWindow(L2PcInstance j, int val)
+ {
+ if (j == null)
+ return;
+
+ StringBuilder t = new StringBuilder();
+ NpcHtmlMessage n = new NpcHtmlMessage(getObjectId());
+ sendHtml(t, n, j);
+ }
+
+ private void sendHtml(StringBuilder t, NpcHtmlMessage n, L2PcInstance j)
+ {
+ t.append("<html><head><title>");
+ t.append("L2Skill Seller");
+ t.append("</title</head>");
+ t.append("<body><center>");
+ t.append("<br>Hello , do you want some special skills?");
+ t.append("<br>Choose whatever you want but don't forget");
+ t.append("<br>you need 5 Gold Bars for each one");
+ for (int i : SKILL_IDS)
+ {
+ L2Skill s = SkillTable.getInstance().getInfo(i, 10);
+ String name = "";
+ if (s != null)
+ name = s.getName();
+ if (name != "")
+ t.append("<center><button value=\"" + name + " LvL:10\" action=\"bypass -h skill" + i + "\" width=204 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><br>");
+ }
+ t.append("</center></body></html>");
+ n.setHtml(t.toString());
+ j.sendPacket(n);
+ }
+}
\ No newline at end of file
Index: java/com/l2jhellas/gameserver/network/clientpackets/RequestBypassToServer.java
===================================================================
--- java/com/l2jhellas/gameserver/network/clientpackets/RequestBypassToServer.java (revision 496)
+++ java/com/l2jhellas/gameserver/network/clientpackets/RequestBypassToServer.java (working copy)
@@ -29,7 +29,9 @@
import com.l2jhellas.gameserver.handler.AdminCommandHandler;
import com.l2jhellas.gameserver.handler.IAdminCommandHandler;
import com.l2jhellas.gameserver.model.L2CharPosition;
+import com.l2jhellas.gameserver.model.L2ItemInstance;
import com.l2jhellas.gameserver.model.L2Object;
+import com.l2jhellas.gameserver.model.L2Skill;
import com.l2jhellas.gameserver.model.L2World;
import com.l2jhellas.gameserver.model.actor.L2Npc;
import com.l2jhellas.gameserver.model.actor.instance.L2AccountManagerInstance;
@@ -36,6 +38,7 @@
import com.l2jhellas.gameserver.model.actor.instance.L2ClassMasterInstance;
import com.l2jhellas.gameserver.model.actor.instance.L2OlympiadManagerInstance;
import com.l2jhellas.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jhellas.gameserver.model.actor.instance.L2SkillSellerInstance;
import com.l2jhellas.gameserver.model.entity.Hero;
import com.l2jhellas.gameserver.model.entity.L2Event;
import com.l2jhellas.gameserver.model.entity.engines.CTF;
@@ -48,6 +51,7 @@
import com.l2jhellas.gameserver.network.SystemMessageId;
import com.l2jhellas.gameserver.network.serverpackets.ActionFailed;
import com.l2jhellas.gameserver.network.serverpackets.NpcHtmlMessage;
+import com.l2jhellas.gameserver.skills.SkillTable;
import com.l2jhellas.logs.GMAudit;
import com.l2jhellas.util.database.L2DatabaseFactory;
@@ -513,6 +517,36 @@
Balancer.sendBalanceWindow(classId, activeChar);
}
+ // L2SkillSeller
+ else if (_command.startsWith("skill"))
+ {
+ String b = _command.substring(5);
+ int id = 0;
+ try
+ {
+ id = Integer.parseInt(b);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+
+ if (id == 0)
+ return;
+
+ L2Skill s = SkillTable.getInstance().getInfo(id, 10);
+ L2ItemInstance i = activeChar.getInventory().getItemByItemId(L2SkillSellerInstance.ITEM_ID);
+
+ if (i == null || i.getCount() < L2SkillSellerInstance.ITEM_COUNT)
+ {
+ activeChar.sendMessage("You don't have enought gold bars");
+ return;
+ }
+
+ activeChar.getInventory().destroyItemByItemId("", L2SkillSellerInstance.ITEM_ID, L2SkillSellerInstance.ITEM_COUNT, activeChar, null);
+ activeChar.sendMessage("You rewarded successfully with " + s.getName() + " Lvl:10, 5 Gold Bar dissapeared");
+ activeChar.addSkill(s, false);
+ }
// Rank PvP System by Masterio --------------------------------------------
else if(_command.startsWith("RPS."))
{
By rizlaaa