ExCaLiBuR® Posted December 3, 2014 Share Posted December 3, 2014 (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 December 3, 2014 by ExCaLiBuR® Quote Link to comment Share on other sites More sharing options...
VideoCopilot Posted December 3, 2014 Share Posted December 3, 2014 Easy npc but nice <3 :3 Quote Link to comment Share on other sites More sharing options...
Monkey D. Luffy Posted December 3, 2014 Share Posted December 3, 2014 Nc Share @ExCaLiBuR® Thnks for Share. Quote Link to comment Share on other sites More sharing options...
drake2wow Posted December 3, 2014 Share Posted December 3, 2014 (edited) shitcode + phx vulnerable if (name != "") dat wannabies Edited December 3, 2014 by drake2wow Quote Link to comment Share on other sites More sharing options...
MeVsYou Posted December 4, 2014 Share Posted December 4, 2014 Generally, the next post, that it will be insulting without providing proofs/arguments etc., will be deleted and the member will be chat banned. Quote Link to comment Share on other sites More sharing options...
ElTyto Posted November 19, 2015 Share Posted November 19, 2015 im planning on using this, did anyone notice any problems/buggs with it? Quote Link to comment Share on other sites More sharing options...
ExCaLiBuR® Posted November 20, 2015 Author Share Posted November 20, 2015 im planning on using this, did anyone notice any problems/buggs with it? yes. is very old jCode. do not use it on live server Quote Link to comment Share on other sites More sharing options...
SweeTs Posted November 20, 2015 Share Posted November 20, 2015 Its a lol code :D Quote Link to comment Share on other sites More sharing options...
ElTyto Posted November 20, 2015 Share Posted November 20, 2015 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 Quote Link to comment Share on other sites More sharing options...
SweeTs Posted November 20, 2015 Share Posted November 20, 2015 (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 November 20, 2015 by SweeTs Quote Link to comment Share on other sites More sharing options...
ElTyto Posted November 20, 2015 Share Posted November 20, 2015 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 Quote Link to comment Share on other sites More sharing options...
SweeTs Posted November 20, 2015 Share Posted November 20, 2015 In fact, I did at second attempt. Quote Link to comment Share on other sites More sharing options...
WaZaRRo Posted October 14, 2018 Share Posted October 14, 2018 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 Quote Link to comment Share on other sites More sharing options...
Tryskell Posted October 14, 2018 Share Posted October 14, 2018 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. Quote Link to comment Share on other sites More sharing options...
77upup Posted May 19, 2022 Share Posted May 19, 2022 Will this work on mobius high five? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.