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

    • State-of-the-art сryptocurrency mixer 💰 Our service does not "mix transactions," but immediately issues CLEAN cryptocurrency with low AML. The principle is simple: you give us your coins, we return our clean coins to you, without any traces or unnecessary procedures. ✔ Complete confidentiality. No "pseudo-mixers" — at the exit, a transaction without traces. ✔ Flexible commission. From 2% to 6%, depending on the destination and amount. ✔ Popular currencies: LTC, BTC, ETH, USDT, BNB, XRP, XMR, TRX. Others available upon request.   ✔ Ready accounts ✔   Business accounts ✅ Account Qonto Business 🗂️ 2 in stock ✅ Account Finom Business 🗂️ 1 in stock ✅ Account PayPal Business 🗂️ 1 in stock ✅ Account Wallester Business 🗂️ 1 in stock ✅ Account Stripe Business 🗂️ 1 in stock ✅ Account Wittix Business 🗂️ 2 in stock ✅ Account Ebay com Seller US|EU, new 🗂️ 2 in stock ✅ Account Blackcatcard Business 🗂️ 2 in stock ✅ Account Mistertango Business 🗂️ 1 in stock ✅ Account Payset Business 🗂️ 1 in stock ✅ Account Wise Business 🗂️ 1 in stock ✅ Account Revolut Business 🗂️ 2 in stock   Payments-system / Crypto-Exchange ✅ Account AlchemyPay 🗂️ 1 in stock ✅ Account Astropay 🗂️ 1 in stock ✅ Account 4x4 io 🗂️ 1 in stock ✅ Account Bunq 🗂️ 2 in stock ✅ Account Bilderlings 🗂️ 1 in stock ✅ Account BitPay 🗂️ 1 in stock ✅ Account Bitinvestor / swapped 🗂️ 1 in stock ✅ Account Bitmex 🗂️ 1 in stock ✅ Account Bitsa 🗂️ 3 in stock ✅ Account Blackcatcard 🗂️ 1 in stock ✅ Account Btcdirect 🗂️ 1 in stock ✅ Account BBVA 🗂️ 1 in stock ✅ Account Binance 🗂️ 2 in stock ✅ Account Bitget 🗂️ 1 in stock ✅ Account Blackwell Global 🗂️ 1 in stock ✅ Account Brighty app 🗂️ 4 in stock ✅ Account Bankera 🗂️ 1 in stock ✅ Account Coinbase card 🗂️ 1 in stock ✅ Account Coinfinity 🗂️ 1 in stock ✅ Account Capitalist 🗂️ 2 in stock ✅ Account CoinW 🗂️ 1 in stock ✅ Account Coinmetro 🗂️ 1 in stock ✅ Account Coinpayments 🗂️ 1 in stock ✅ Account Cryptomus 🗂️ 1 in stock ✅ Account Curve 🗂️ 3 in stock ✅ Account Cryptopay 🗂️ 1 in stock ✅ Account Egera 🗂️ 1 in stock ✅ Account e PN 🗂️ 1 in stock ✅ Account FasterPay 🗂️ 1 in stock ✅ Account Finci 🗂️ 1 in stock ✅ Account fillit eu 🗂️ 1 in stock ✅ Account Gate 🗂️ 3 in stock ✅ Account Grey 🗂️ 1 in stock ✅ Account HTX (Huobi) 🗂️ 1 in stock ✅ Account IN1 🗂️ 1 in stock ✅ Account Imagenpay 🗂️ 1 in stock ✅ Account ICard 🗂️ 1 in stock ✅ Account IPRoyal 🗂️ 1 in stock ✅ Account Kraken 🗂️ 3 in stock ✅ Account Kucoin 🗂️ 1 in stock ✅ Account Kauri Finance 🗂️ 1 in stock ✅ Account Kriptomat 🗂️ 1 in stock ✅ Account Luno 🗂️ 1 in stock ✅ Account LuxonPay 🗂️ 1 in stock ✅ Account MEXC 🗂️ 1 in stock ✅ Account MyBrocard 🗂️ 1 in stock ✅ Account Moonpay 🗂️ 2 in stock ✅ Account Monzo 🗂️ 1 in stock ✅ Account moneyjar world 🗂️ 1 in stock ✅ Account Naga Pay 🗂️ 1 in stock ✅ Account Nash 🗂️ 1 in stock ✅ Account Nebeus 🗂️ 1 in stock ✅ Account Nexo 🗂️ 1 in stock ✅ Account Nearpay 🗂️ 2 in stock ✅ Account Neteller 🗂️ 1 in stock ✅ Account N26 🗂️ 1 in stock ✅ Account OKX 🗂️ 1 in stock ✅ Account PayDo 🗂️ 1 in stock ✅ Account Paypal 🗂️ 3 in stock ✅ Account Paysera 🗂️ 1 in stock ✅ Account PST 🗂️ 1 in stock ✅ Account Paybis 🗂️ 1 in stock ✅ Account Payoneer 🗂️ 1 in stock ✅ Account Paysafecard 🗂️ 2 in stock ✅ Account Paytend 🗂️ 1 in stock ✅ Account Quppy 🗂️ 1 in stock ✅ Account RedotPay 🗂️ 1 in stock ✅ Account Ramp 🗂️ 1 in stock ✅ Account Revolut 🗂️ 1 in stock ✅ Account Santander 🗂️ 1 in stock ✅ Account Spendl 🗂️ 1 in stock ✅ Account Skrill 🗂️ 1 in stock ✅ Account Swapin 🗂️ 3 in stock ✅ Account Trustee Plus 🗂️ 1 in stock ✅ Account Valora 🗂️ 1 in stock ✅ Account Volet 🗂️ 1 in stock ✅ Account W1TTY 🗂️ 1 in stock ✅ Account Wallet Telegram 🗂️ 1 in stock ✅ Account Weststein 🗂️ 1 in stock ✅ Account Wirex 🗂️ 1 in stock ✅ Account Wise 🗂️ 4 in stock ✅ Account Whitebit 🗂️ 1 in stock ✅ Account Wittix 🗂️ 1 in stock ✅ Account XGo 🗂️ 1 in stock
    • Boss is not working on HF, because npcgrt is formatted for Interluder
    • Good luck with your project!
    • Hola Fissban , che queria preguntarte algo estoy tratando de hacer que el testserver ande pro que cuando logeo y voy a elejir el servidor no aparece y he estado con la ia incluso buscando que puede ser pero no e logrado decifrarlo me darias una mano o alguien ?  
    • The Return of L2Elixir – A Legacy Reborn in 2025 Read more features: https://l2elixir.org/features/ It’s time to relive the magic. Many of you remember L2Elixir, first launched in 2008 – a server that brought players together, created friendships, rivalries, and unforgettable memories. For two+ incredible years, until its closure in 2010, Elixir was more than just a server… it was home. In 2018, a fake project borrowed the name and damaged that legacy, but the true memories of L2Elixir never died. Today, in 2025, we are proud to announce that a new dedicated team has taken up the mantle to bring L2Elixir back to life – with respect for the past and a fresh vision for the future.   What to Expect We’re not here to be “just another server.” Our mission is to bring back nostalgia with innovation, offering a unique progression experience: Interlude-Like start, capturing that classic old-school feeling. A natural evolution into Gracia Final. Followed by Gracia Epilogue, keeping the journey alive without losing balance. This is not a copy-paste server – it’s a carefully crafted world designed to honor the spirit of Lineage II while introducing fresh ideas to keep the gameplay alive and rewarding. Why L2Elixir? A balanced environment where community comes first. A project built with passion, not profit. A server that values longevity, fairness, and nostalgia.   📅 Launch Date & Details Closed Beta: Online. Open Beta & Rewards: November 15 & 21:00 UTC +2 Launch: November 28 & 21:00 UTC +2   🔗 Join the Community Be part of history once again. Follow our Discord, join the discussion, and prepare to step back into the world where legends were made.   https://l2elixir.org/ https://discord.gg/5ydPHvhbxs L2Elixir 2025 – Honoring the Past. Building the Future.
  • Topics

×
×
  • 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