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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • https://l2avokado.com/ Hello everyone,   After some time of development, we've decided to open L2Avokado to the public in its current development stage. We're looking for players who enjoy Interlude and would like to help shape the project before its official release.   This isn't a "launch" announcement. Instead, we're inviting the community to log in, explore the server, test the systems we've built, and provide honest feedback. Whether it's bug reports, balance suggestions, progression ideas, or quality-of-life improvements, we'd love to hear them.   Our goal has always been to create an Interlude server that feels familiar while offering a fresh progression experience. We've intentionally avoided custom weapons, armor, and client modifications. Instead, we've focused on redesigning progression through reworked hunting grounds, quests, crafting, and gameplay systems while remaining compatible with a clean Interlude client.   At this stage, the core progression path has been implemented, including the main hunting grounds, quests, custom systems, and events. However, as the project is still under active development, there will inevitably be bugs, balance issues, and areas that require further polishing.   This is exactly why we'd like your help.   We're looking for players who are willing to: Test gameplay and progression. Report bugs and exploits. Suggest balance improvements. Share ideas for new features or quality-of-life changes. Help us build a server that the community genuinely enjoys playing.   The Client and System downloads are already available on our website, so you can jump straight into the game. We're also working on a dedicated launcher that will simplify installation and future updates.   If you're interested in helping develop a unique Interlude project and want your feedback to genuinely influence the direction of the server, we'd love to have you with us.   We look forward to seeing you in-game and hearing your thoughts on Discord. https://l2avokado.com/
    • IAM one of customers of this project. Have anti cheat, have user panel everything is working. Blocking adrenaline trashy plans without any problems.  So just GL for all lin2 project. I get support every time I need it. 
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..