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.



  • Posts

    • I can consider it too, but I would have to port all my own customs to the H5 extender then.
    • I am planning on making adminer optional which would also make php and apache2 optional, I just haven't had time yet. That script I made for myself and I know that I want adminer 😛   " and also be asked about opening 3306 or XXXX and listen to * thanks "   Could you explain this a bit more? I am not sure I should offer the option to open port 3306 as that is a bad thing unless you know what you are doing, and if you know what you are doing it is a simple thing to open it yourself after.   Listen to * is this for login / gameserver or Mariadb?
    • 🎉 ¡Llega EuroLatinL2! 🎉 🌍 Un servidor Interlude x20 con esencia retail y ajustes justos para una experiencia única. 🧠 Desarrollado por profesionales rusos, EuroLatinL2 está basado en el cliente original de Lineage II Interlude. Buscamos revivir lo mejor de la vieja escuela con un balance perfecto entre nostalgia y jugabilidad moderna. 🛡️ ¿Qué hace diferente a EuroLatinL2? ✨ Rates Mid x20 – Equilibrados para un progreso fluido, sin perder el desafío. 🧪 Experiencia 100% retail con leves ajustes para mantener el interés. ⚔️ Raid Bosses épicos ajustados al nivel 80. 💡 Nada de GM Shop, sin buffs OP, sin teleport personalizados. ⛩️ Solo tiendas y contenido original de Lineage II. 🧙 Buffer básico (solo Prophet), duración de 60 minutos. 🔄 Sistema de héroes cada 15 días y Olimpiadas 2h por día. 🛒 Sistema de donaciones solo para servicios estéticos y premium (sin pay-to-win). 🧬 Sistema de skins para armas y armaduras (solo apariencia). 💤 AutoFarm disponible solo con adena/premium, opcional. 🔥 ¿Quieres volver a disfrutar Lineage II como en sus mejores tiempos? 💬 Completa quests, forma grupos reales, derrota jefes con estrategia, y recolecta recetas (¡incluso para Soulshots!). ⏳ ¡La apertura está muy cerca! 🚪 No te quedes fuera de esta aventura. Vive Lineage II como debe ser. 🌐 Sitio oficial: https://eurolatin.eu 📣 ¡Comparte con tu clan y prepárate para la nostalgia! #Lineage2 #Interlude #EuroLatinL2 #L2Classic #PvE #PvP #NostalgiaL2
  • 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