Jump to content

Recommended Posts

Posted (edited)
### 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."))
    {

credits rizlaaa

Edited by ExCaLiBuR®
Posted

Generally,

the next post, that it will be insulting without providing proofs/arguments etc., will be deleted and the member will be chat banned.

  • 11 months later...
Posted

apparently im not that good of a programmer or w/e :D 
i managed the code to be compiled on acis tho i couldnt use it until i get goldbars, when i got them i couldnt target them without shift :D 
gonna try the one changed on greek forum, its made for augments and its for acis

Posted (edited)

Bcs there is a lol check on l2npc which should, must be, handled directly through instance, the same with bypasstoserver, just a shitcode.

Edited by SweeTs
Posted

Bcs there is a lol check on l2npc which should, must be, handled directly through instance, the same with bypasstoserver, just a shitcode.

could u explain it to me on skype? i reinvited you yesterday, u still didnt respond :D titas_lt154

  • 2 years later...
Posted

the skill was deleted from the player when make a restart

 

and i have disable the check skills on enter

 

but the code work in l2jfrozen any one know how to make it stay

Posted
12 hours ago, WaZaRRo said:

the skill was deleted from the player when make a restart

 

and i have disable the check skills on enter

 

but the code work in l2jfrozen any one know how to make it stay

activeChar.addSkill(s, false);

"False" means the skill isn't stored, it is used to reward temporary skills - such as noblesse, hero, and mount skills. Set it to true to register it. Beware, you have to handle that aspect.

  • 3 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock