Noticias:

Debes de estar registrado para poder ver el contenido indicado. Registrate o Conectate

Menú Principal

Npc Seller

Iniciado por Swarlog, Ago 11, 2022, 01:25 AM

Tema anterior - Siguiente tema

Swarlog

### 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