ExCaLiBuR® Posted December 3, 2014 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
Monkey D. Luffy Posted December 3, 2014 Posted December 3, 2014 Nc Share @ExCaLiBuR® Thnks for Share. Quote
drake2wow Posted December 3, 2014 Posted December 3, 2014 (edited) shitcode + phx vulnerable if (name != "") dat wannabies Edited December 3, 2014 by drake2wow Quote
MeVsYou Posted December 4, 2014 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
ElTyto Posted November 19, 2015 Posted November 19, 2015 im planning on using this, did anyone notice any problems/buggs with it? Quote
ExCaLiBuR® Posted November 20, 2015 Author 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
ElTyto Posted November 20, 2015 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
SweeTs Posted November 20, 2015 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
ElTyto Posted November 20, 2015 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
WaZaRRo Posted October 14, 2018 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
Tryskell Posted October 14, 2018 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
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.