Jump to content

Search the Community

Showing results for tags 'NPC'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General Zone
    • Announcements and News
    • Newbies Introduce Urself
    • Maxcheaters Competitions & Events
    • Votes/Polls Area
    • Report Section
    • Downloads Section
    • Suggestions/Feedback Board
  • Lineage II General Section
    • General Discussion [English]
    • Request Support [English]
  • Lineage II Hacks,Cheats and Bots
    • Hacks & Cheats [English]
    • Request Hacks & Cheats [English]
    • Botting [English]
    • Request Botting [English]
  • Lineage II Private Servers
    • Buy Advertising Link #1
    • Private Servers
    • L2FURY.EU GRAND OPENING 23 DECEMBER at 20:00 GMT+2
    • [Previews] L2 Private Servers
    • Clans and Alliances
  • Lineage II Marketplace
    • Marketplace [Items & Chars]
    • Marketplace [L2Packs & Files]
    • Marketplace [Powerlvl & Support]
    • Marketplace [Webdesign & Webdevelop]
  • Lineage II OFF Server Development
    • Server Development Discussion [L2OFF]
    • Request Server Development Help [L2OFF]
    • Server Shares & Files [L2OFF]
  • Lineage II Java Server Development
    • Server Development Discussion [L2J]
    • Request Server Development Help [L2J]
    • Server Shares & Files [L2J]
    • Private Projects [L2J]
  • Lineage II Client Development
    • Client Development Discussion
  • Other Games
    • Grand Theft Auto V: FiveM
    • League of Legends
    • World Of Warcraft
    • Counter Strike GO
    • Aion
    • Diablo IV
    • Other Multiplayer Games
  • General Section
    • General Marketplace
    • Crypto Zone
    • Consoles/Mobile Gaming Zone
    • Webmasters Zone
    • Hacking/Coding Zone
  • Graphics/GFX Zone
    • Graphics/GFX General Discussion
    • Graphics/GFX Showcase
    • Graphics/GFX Resources/Tools
  • Premium Zone
    • General Discussion [Premium]
    • Lineage II [Premium]
    • GFX Area [Premium]
  • MaxCheaters Corner
    • Tech/World News
    • Off-Topics
    • Spam Topics
  • L2Classic Club's Just trying this thing out
  • Lineage 2 Revolution Club's Discussions
  • Lineage 2 Revolution Club's Tutorials
  • Lineage 2 Revolution Club's Request Help
  • DenArt Designs's Hello and welcome to my club!
  • DenArt Designs's News

Product Groups

  • Advertisements
  • Old Vips
  • Premium Member

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


WhatsApp


Telegram


Website URL


ICQ


Yahoo


Discord


Skype


Location


Interests


LocationNew

  1. FREE Npc for all users, chronicles: Interlude & H5 + effects +sounds In archieve you can find info for database. If you have any questions - write me. If you want any new modifications - write me. My contacts: Skype: Support_La2-Pro ICQ: 634024371 Site: www.l2j-mod.ru Personal messages Download link: DOWNLOAD
  2. you can replace the icon above the NPC Download Download IL Password: [Hidden Content] Password IL: [Hidden Content] Author: Virus
  3. So...a guy pmed me and asked for these npc's: Acis Redesigned Npc's I searched for those files and I was lucky enough. I found everything and I decided to upload them and share them with y'all. Newbie Services Buffer Welcome message, servernews. Admin Augment Skills Info Antibot Prevention System NPC's These were made exclusively for L2jNetwork , a project made by Baggos and others. Since you can find them in that project , there's no reason to not upload them. It's much easier to download all the npc's instead of searching them 1 by 1. Download
  4. Fast Preview: Download (3,17KB) :[Hidden Content] Credits: HappyLDE <npc id="9994" idTemplate="100912" name="Jolie" title=" Enchant Items"> <set name="level" val="70"/> <set name="radius" val="13"/> <set name="height" val="20"/> <set name="rHand" val="22"/> <set name="lHand" val="26"/> <set name="type" val="L2Npc"/> <set name="exp" val="0"/> <set name="sp" val="0"/> <set name="hp" val="2444.46819"/> <set name="mp" val="1345.8"/> <set name="hpRegen" val="7.5"/> <set name="mpRegen" val="2.7"/> <set name="pAtk" val="688.86373"/> <set name="pDef" val="295.91597"/> <set name="mAtk" val="470.40463"/> <set name="mDef" val="216.53847"/> <set name="crit" val="4"/> <set name="atkSpd" val="253"/> <set name="str" val="40"/> <set name="int" val="21"/> <set name="dex" val="30"/> <set name="wit" val="20"/> <set name="con" val="43"/> <set name="men" val="20"/> <set name="corpseTime" val="7"/> <set name="walkSpd" val="50"/> <set name="runSpd" val="120"/> <set name="dropHerbGroup" val="0"/> <set name="attackRange" val="40"/> <ai type="default" ssCount="0" ssRate="0" spsCount="0" spsRate="0" aggro="0" canMove="true" seedable="false"/> </npc>
  5. Hello there.. Here is my buffer from my old server.. (Main html made by protoftw) What's inside? Mage | Fighter set [config] Buffs/Dance/Song/Extra etc one by one Special buffs + Malaria Vote buff [If you want it, you can enable it, config] Scheme Buffer Code Preview > pastebin [aCis 401] Code/HTML/XML > Download [aCis 401] Baggos coded the buffer protoftw the html design Scheme coded by Tryskell on his own project. UPDATED FOR ACIS LATEST FREE REV 401.
  6. Hello guys some days ago i was searching for npc's/mob's for a friend of mine i did found some and i'd like to share em with You guys xD i will still search from time to time so i will update this thread once in a while :) i hope you find this helpful ;) (i added credits. so... i hope this thread don't get deleted) :forever alone like a boss: Pic: Download link: Here Credits: TheVainglorious Pic: Download link: Here Credits: TheVainglorious Pic: Download link: Here Credits: TheVainglorious Pic: Download link: Here Credits: TheVainglorious Pic: Download link: Here Credits: TheVainglorious Pic: Download link: Here Credits: TheVainglorious Pic: Download link: Here Credits: TheVainglorious Pic: Download link: Here Credits: TheVainglorious Pic: Download link: Here Credits: TheVainglorious Pic: Download link: Here Credits: TheVainglorious Pic: Download link: Here Credits: TheVainglorious Pic: Download link: Here Credits: TheVainglorious Pic: Download link: Here Credits: TheVainglorious Pic: Download link: Here Credits: TheVainglorious Pic: Video: Download link: Here Credits: CymBals Pic: Video: Download link: Here Credits: CymBals Pic: Download link: Here Credits: CymBals Pic: Download link: Here Credits: CymBals Updated: 7/6/2014: Pic: Download link: Here Credits: TheVainglorious Pic: Download link: Here Credits: TheVainglorious Updated: 10/6/2014: Pic: Download link: Here Credits: WariinG (Perfect Team) Pic: Download link: Here Credits: WariinG (Perfect Team) Pic: Download link: Here Credits: WariinG (Perfect Team) Pic: Download link: Here Credits: WariinG (Perfect Team) Pic: Download link: Here Credits: Credits: WariinG (Perfect Team) i won't update anymore i reached the maximum picture capability ;) i hope i helped some ppl :forever alone like a boss:
  7. NPC Pack v8.7z (23,45 MB) - uploaded.net NPC Pack v8 [Interlude] Credits by TheVainglorious
  8. Another One Piece chika col height 23.5 radius 9.5
  9. My new gmshop ^_^ radius = 10 col height = 24.2
  10. Maybe Use full For some https://www.hizliresim.com/9ime1vc https://www.mediafire.com/file/toiflu0fnp60hjt/Gateekeper.rar/file
  11. https://drive.google.com/file/d/1VZpdmzMOWrVIwleIUrfcypqco2d07V2K/view?usp=sharing I do not support this anymore or work with interlude, you need to fix your own bugs if they come up. PM for pass and upvote if working https://discordapp.com/invite/jHUqKyY
  12. well I bring you the boss fafurion ... I did what I could .. xD download: https://www.mediafire.com/file/q312jxcq42qilxq/FAFURIONBOSS.rar/file fix death anim: https://www.mediafire.com/file/7dy07ipmn2lu1ap/LineageNPCFAFU.7z/file recommended: corpseTime = 11 radius 200 height 320
  13. With "L2PE" you can change the radius and height of collision to use the effects on other NPCs. http://www.mediafire.com/file/dm8j7m7maadjqhm/class_effects_il_h5.rar/file
  14. Hello, This npc shows the players and the weapons with the highest enchant in the server for l2jaCis. https://prnt.sc/1v9lstl /* * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later * version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program. If not, see <http://www.gnu.org/licenses/>. */ package net.sf.l2j.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.Map; import net.sf.l2j.L2DatabaseFactory; import net.sf.l2j.gameserver.datatables.ItemTable; import net.sf.l2j.gameserver.model.actor.template.NpcTemplate; import net.sf.l2j.gameserver.model.item.kind.Weapon; import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage; /** * @author Ugleethyn * */ public class TopManager extends Folk { public TopManager(int objectId, NpcTemplate template) { super(objectId, template); } @Override public void onBypassFeedback(Player player, String command) { if(command.equals("topench")) { NpcHtmlMessage htm = new NpcHtmlMessage(getObjectId(), player); htm.setFile("data/html/topmanager/topench.htm"); htm.replace("%stats%", getTopEnchant()); player.sendPacket(htm); } } private static String getTopEnchant() { String ret = ""; try (Connection con = L2DatabaseFactory.getInstance().getConnection()) { PreparedStatement stm = con.prepareStatement("SELECT C.char_name, I.enchant_level,I.item_id\r\n" + "FROM characters C\r\n" + "INNER JOIN items I\r\n" + "ON C.obj_Id = I.owner_id\r\n" + "WHERE C.accesslevel = 0\r\n" + "AND I.item_id IN (6364, 6365,6366,6367,6368,6369,6370,6371,6372,6579,6581,6582,6583,6584,6585,6586,6587,6588,6589,6590,6591,6592,6594,6595,6596,6597,6598,6599,6600,6601,6602,6603,6604,6605,6606,6607,6608,7578,7577,7576,7575,7575,6610,6609,6593)\r\n" + "ORDER BY I.enchant_level DESC LIMIT 15"); ResultSet rset = stm.executeQuery(); int i = 1; while (rset.next()) { String name = rset.getString("char_name"); int enchantLevel = rset.getInt("enchant_level"); int itemId = rset.getInt("item_id"); String weaponName = ""; for (Map.Entry<Integer, Weapon> entry : ItemTable._weapons.entrySet()) { if((itemId== entry.getKey())) { weaponName = entry.getValue().getName(); } } ret += "<table width=\"290\">" + "<tr>" + "<td FIXWIDTH=\"13\" align=\"left\">"+i+++"</td>" + "<td FIXWIDTH=\"70\" align=\"left\">"+name+"</td>" + "<td FIXWIDTH=\"50\" align=\"left\">"+enchantLevel+"</td>" + "<td FIXWIDTH=\"157\" align=\"left\">"+weaponName+"</td>" + "</tr>" + "</table>" + "<img src=\"L2UI.Squaregray\" width=\"300\" height=\"5\">"; } rset.close(); stm.close(); } catch (Exception e) { e.printStackTrace(); } return ret; } @Override public String getHtmlPath(int npcId, int val) { String filename = ""; if (val == 0) filename = "" + npcId; else filename = npcId + "-" + val; return "data/html/topmanager/" + filename + ".htm"; } } Html files : https://www.mediafire.com/file/xxn794ok2an46to/topmanager.rar/file
  15. ### 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
  16. GroundSpeed=120.00 DrawScale=0.38 CollisionRadius=10.00 CollisionHeight=23.00 download link: https://www.mediafire.com/file/fsnm6pfg7r26jz4/L2NPCs_Hera.rar
  17. Hello, i want to share this code of an npc buffer that i adapted from fissban. Here I leave a video of how the npc works https://www.youtube.com/watch?v=H6fvw7ZFHAU&list=LL&index=1&ab_channel=L2-Terius Code L2JOrion with configuration by levels 1 to 40 from 40 to 75 and 76 to 80 https://pastebin.com/ZCYN7m5G Code L2JFROZEN /* l2jfrozen Project - www.l2jfrozen.com * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. * * http://www.gnu.org/copyleft/gpl.html */ package com.l2jfrozen.gameserver.model.actor.instance; import java.util.concurrent.ScheduledFuture; import com.l2jfrozen.Config; import com.l2jfrozen.gameserver.ai.CtrlIntention; import com.l2jfrozen.gameserver.datatables.SkillTable; import com.l2jfrozen.gameserver.model.L2Skill; import com.l2jfrozen.gameserver.model.base.ClassId; import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed; import com.l2jfrozen.gameserver.network.serverpackets.MagicSkillUser; import com.l2jfrozen.gameserver.network.serverpackets.MoveToPawn; import com.l2jfrozen.gameserver.network.serverpackets.MyTargetSelected; import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage; import com.l2jfrozen.gameserver.network.serverpackets.ValidateLocation; import com.l2jfrozen.gameserver.skills.SkillHolder; import com.l2jfrozen.gameserver.templates.L2NpcTemplate; import com.l2jfrozen.gameserver.thread.ThreadPoolManager; /** * @author fissban * @adaptado tensador */ public class L2TeriusBuffInstance extends L2NpcInstance { private ScheduledFuture<?> _aiTask; @Override public void onAction(L2PcInstance player) { if (this != player.getTarget()) { player.setTarget(this); player.sendPacket(new MyTargetSelected(getObjectId(), 0)); player.sendPacket(new ValidateLocation(this)); } else { if (!canInteract(player)) player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this); else { // Rotate the player to face the instance player.sendPacket(new MoveToPawn(player, this, L2NpcInstance.INTERACTION_DISTANCE)); if (hasRandomAnimation()) onRandomAnimation(); showMainWindow(player); // Send ActionFailed to the player in order to avoid he stucks player.sendPacket(ActionFailed.STATIC_PACKET); } } } private void showMainWindow(L2PcInstance player) { NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); html.setFile("data/html/mods/TeriusBuff.htm"); html.replace("%objectId%", String.valueOf(getObjectId())); html.replace("%npcname%", getName()); player.sendPacket(html); } private class TeriusAI implements Runnable { private final L2TeriusBuffInstance _caster; protected TeriusAI(final L2TeriusBuffInstance caster) { _caster = caster; } private final SkillHolder[] FIGHTER_BUFFS = { new SkillHolder(1352, 1), new SkillHolder(1353, 1), new SkillHolder(1415, 1), new SkillHolder(1393, 3), new SkillHolder(1392, 3), new SkillHolder(1191, 3), new SkillHolder(1189, 3), new SkillHolder(1182, 3), new SkillHolder(1392, 3), new SkillHolder(1040, 3), new SkillHolder(1036, 2), new SkillHolder(1062, 2), new SkillHolder(1045, 6), new SkillHolder(1068, 3), new SkillHolder(1035, 4), new SkillHolder(1240, 3), new SkillHolder(1242, 3), new SkillHolder(1077, 3), new SkillHolder(1086, 2), new SkillHolder(1204, 2), new SkillHolder(1268, 4), new SkillHolder(264, 1), new SkillHolder(266, 1), new SkillHolder(267, 1), new SkillHolder(268, 1), new SkillHolder(269, 1), new SkillHolder(304, 1), new SkillHolder(306, 1), new SkillHolder(308, 1), new SkillHolder(270, 1), new SkillHolder(364, 1), new SkillHolder(274, 1), new SkillHolder(275, 1), new SkillHolder(271, 1), new SkillHolder(309, 1), new SkillHolder(307, 1), new SkillHolder(272, 1), new SkillHolder(310, 1), new SkillHolder(1363, 1), new SkillHolder(1388, 3), new SkillHolder(4700, 13), new SkillHolder(1323, 1), }; private final SkillHolder[] MAGE_BUFFS = { new SkillHolder(1352, 1), new SkillHolder(1353, 1), new SkillHolder(1415, 1), new SkillHolder(1393, 3), new SkillHolder(1392, 3), new SkillHolder(1191, 3), new SkillHolder(1189, 3), new SkillHolder(1182, 3), new SkillHolder(1392, 3), new SkillHolder(1040, 3), new SkillHolder(1036, 2), new SkillHolder(1045, 6), new SkillHolder(1048, 6), new SkillHolder(1062, 2), new SkillHolder(1035, 4), new SkillHolder(1085, 3), new SkillHolder(1078, 6), new SkillHolder(1304, 3), new SkillHolder(1243, 6), new SkillHolder(1204, 2), new SkillHolder(1303, 2), new SkillHolder(1259, 4), new SkillHolder(1059, 3), new SkillHolder(266, 1), new SkillHolder(264, 1), new SkillHolder(267, 1), new SkillHolder(306, 1), new SkillHolder(308, 1), new SkillHolder(270, 1), new SkillHolder(268, 1), new SkillHolder(304, 1), new SkillHolder(273, 1), new SkillHolder(307, 1), new SkillHolder(276, 1), new SkillHolder(349, 1), new SkillHolder(277, 1), new SkillHolder(365, 1), new SkillHolder(304, 1), new SkillHolder(1413, 1), new SkillHolder(1389, 3), new SkillHolder(4702, 13), new SkillHolder(1323, 1), }; @Override public void run() { for (final L2PcInstance player : getKnownList().getKnownPlayers().values()) { if (player.isMageClass() && (player.getClassId() != ClassId.overlord) && (player.getClassId() != ClassId.warcryer)) { for (SkillHolder skills : MAGE_BUFFS) { TeriusCast(player, skills.getSkill()); } }else for (SkillHolder skills : FIGHTER_BUFFS) { TeriusCast(player, skills.getSkill()); } } } private boolean TeriusCast(final L2PcInstance player,L2Skill skill) { if (player.isDead() || !player.isVisible() || !isInsideRadius(player, 200, false, false)) return false; if (player.getFirstEffect(skill) == null) { heal(player); SkillTable.getInstance().getInfo(skill.getId(), skill.getLevel()).getEffects(player, player); skill.getEffects(_caster, player, false, false, false); broadcastPacket(new MagicSkillUser(_caster, player, skill.getId(), skill.getLevel(), Config.PROTECTOR_SKILLTIME, 0)); return true; } return false; } } static void heal(L2PcInstance activeChar) { activeChar.setCurrentHp(activeChar.getMaxHp()); activeChar.setCurrentCp(activeChar.getMaxCp()); activeChar.setCurrentMp(activeChar.getMaxMp()); } public L2TeriusBuffInstance(final int objectId, final L2NpcTemplate template) { super(objectId, template); if (_aiTask != null) { _aiTask.cancel(true); } _aiTask = ThreadPoolManager.getInstance().scheduleAiAtFixedRate(new TeriusAI(this), 3000, 3000); } } Code original fissban h5 l2jserver /* * Copyright (C) 2004-2013 L2J DataPack * * This file is part of L2J DataPack. * * L2J DataPack is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * L2J DataPack is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package custom.NpcBufferGod; /** * @autor: fissban */ import java.util.Collection; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.datatables.SkillTable; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.L2Summon; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.base.ClassId; import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.model.skills.L2Skill; public class NpcBufferGOD extends AbstractNpcAI { // NPC private static final int Newbie_Helper = 32327; // Spawn state private static boolean SPAWNED = false; static final Location[] SPAWNS = { // Sacado de la DB new Location(17136, 144896, -3008, 26624), new Location(43556, -47608, -792, 36864), new Location(82385, 53283, -1488, 16384), new Location(82879, 149380, -3469, 34120), new Location(87152, -141328, -1336, 49296), new Location(111168, 221008, -3544, 0), new Location(116935, 77258, -2688, 40960), new Location(147099, 25939, -2008, 49151), new Location(148077, -55367, -2728, 32768), new Location(-84081, 243227, -3728, 9000), new Location(115632, -177996, -896, 32768), new Location(-45032, -113598, -192, 32768), new Location(12111, 16686, -4584, 63240), new Location(45475, 48359, -3056, 49152), new Location(-119692, 44504, 360, 33324), new Location(-13920, 121977, -2984, 33000), new Location(-83123, 150868, -3120, 0), }; protected NpcBufferGOD(String name, String descr) { super(name, descr); addStartNpc(Newbie_Helper); addSpawnId(Newbie_Helper); addTalkId(Newbie_Helper); if (!SPAWNED) { for (Location spawn : SPAWNS) { addSpawn(Newbie_Helper, spawn, false, 0); } SPAWNED = true; } } @Override public String onSpawn(L2Npc npc) { ThreadPoolManager.getInstance().scheduleGeneral(new BufferAI(npc), 5000); return super.onSpawn(npc); } @Override public String onTalk(L2Npc npc, L2PcInstance player) { return "32327.htm"; } protected class BufferAI implements Runnable { private final L2Npc _npc; // Skills private final SkillHolder HASTE_1 = new SkillHolder(4327, 1); private final SkillHolder HASTE_2 = new SkillHolder(5632, 1); private final SkillHolder CUBIC = new SkillHolder(4338, 1); private final SkillHolder[] FIGHTER_BUFFS = { new SkillHolder(4322, 1), // Wind Walk new SkillHolder(4323, 1), // Shield new SkillHolder(5637, 1), // Magic Barrier new SkillHolder(4324, 1), // Bless the Body new SkillHolder(4325, 1), // Vampiric Rage new SkillHolder(4326, 1), // Regeneration }; private final SkillHolder[] MAGE_BUFFS = { new SkillHolder(4322, 1), // Wind Walk new SkillHolder(4323, 1), // Shield new SkillHolder(5637, 1), // Magic Barrier new SkillHolder(4328, 1), // Bless the Soul new SkillHolder(4329, 1), // Acumen new SkillHolder(4330, 1), // Concentration new SkillHolder(4331, 1), // Empower }; private final SkillHolder[] SUMMON_BUFFS = { new SkillHolder(4322, 1), // Wind Walk new SkillHolder(4323, 1), // Shield new SkillHolder(5637, 1), // Magic Barrier new SkillHolder(4324, 1), // Bless the Body new SkillHolder(4325, 1), // Vampiric Rage new SkillHolder(4326, 1), // Regeneration new SkillHolder(4328, 1), // Bless the Soul new SkillHolder(4329, 1), // Acumen new SkillHolder(4330, 1), // Concentration new SkillHolder(4331, 1), // Empower }; protected BufferAI(L2Npc caster) { _npc = caster; } @Override public void run() { if ((_npc == null) || !_npc.isVisible()) { return; } Collection<L2PcInstance> plrs = _npc.getKnownList().getKnownPlayers().values(); for (L2PcInstance player : plrs) { if ((player == null) || player.isInvul() || player.isDead() || (player.getLevel() > 75) || (player.getLevel() < 6) || player.isCursedWeaponEquipped() || (player.getKarma() != 0) || !_npc.isInsideRadius(player, 500, false, false)) { continue; } // summons if ((player.getSummon() != null) && player.getSummon().isServitor()) { for (SkillHolder skills : SUMMON_BUFFS) { CastSummon(player.getSummon(), skills.getSkill()); } if (player.getLevel() > 40) { CastSummon(player.getSummon(), HASTE_2.getSkill()); } else { CastSummon(player.getSummon(), HASTE_1.getSkill()); } } // magos if (player.isMageClass() && (player.getClassId() != ClassId.overlord) && (player.getClassId() != ClassId.warcryer)) { for (SkillHolder skills : MAGE_BUFFS) { CastPlayer(player, skills.getSkill()); } } // warrios else { for (SkillHolder skills : FIGHTER_BUFFS) { CastPlayer(player, skills.getSkill()); } if (player.getLevel() > 40) { CastPlayer(player, HASTE_2.getSkill()); } else { CastPlayer(player, HASTE_1.getSkill()); } } if ((player.getLevel() >= 16) && (player.getLevel() <= 34)) { player.doSimultaneousCast(CUBIC.getSkill()); } } ThreadPoolManager.getInstance().scheduleGeneral(this, 3000); } // metodo para los players private boolean CastPlayer(L2PcInstance player, L2Skill skill) { if (player.getFirstEffect(skill) == null) { skill.getEffects(_npc, player); SkillTable.getInstance().getInfo(skill.getId(), skill.getLevel()).getEffects(player, player); return true; } return false; } // metodo para los summons private boolean CastSummon(L2Summon summon, L2Skill skill) { if (summon.getFirstEffect(skill) == null) { skill.getEffects(_npc, summon); SkillTable.getInstance().getInfo(skill.getId(), skill.getLevel()).getEffects(summon, summon); return true; } return false; } } public static void main(String[] args) { new NpcBufferGOD(NpcBufferGOD.class.getSimpleName(), "ai/npc"); } } htm: https://www.mediafire.com/file/vd5hy2cjfwf2lzj/TeriusBuff.htm/file
  18. Hello, Here is a npc for Interlude-H5. I found a npc with effect on my HDD In archieve you can find: animation, system files! If you have any questions just send me! * If it is shared just delete me topic! * Download: HERE Password: Bond
  19. Hello everyone, I comment on my problem. I want to know how I can add actions like "attack" or abilities to a new summon that I put on a character, I show you an example of how it is now. The chronicle I use is interlude. Hola a todos, les comento mi problema. Quiero saber como puedo agregar acciones como "atacar" o habilidades a un summon nuevo que le puse a un personaje, les muestro un ejemplo de como esta ahora. La crónica que uso es interlude.
  20. Hallo Guys I m new here and make 1 npc Fame Point's 10000 Sorry Maxcheaters Download Here https://www.mediafire.com/file/fbcbbohnhjayxg6/Rank.rar/file
  21. another custom manager, that shows status (alive or respawn estimating time) of any raidboss in da game. originally status is 'divided' onto two individual lists: private static final int[] RBOSSES = {25418,25434,25126}; private static int MBOSS = 25126;MBOSS main boss (one and only).RBOSSES list of additional bosses (as many as you want). preview: http://s1.postimg.org/dqli7zcf2/rbstatus_preview.jpg ps. credits to daffynash who spared some of you the tedious work by creating the patch. ### Eclipse Workspace Patch 1.0 #P aCis_datapack Index: data/xml/npcs/50000-50999.xml =================================================================== --- data/xml/npcs/50000-50999.xml (revision 6) +++ data/xml/npcs/50000-50999.xml (working copy) @@ -1,5 +1,38 @@ <?xml version="1.0" encoding="utf-8"?> <list> + <npc id="50001" idTemplate="25449" name="BOSS STATUS" title="L2EUPHORIA.COM"> + <set name="level" val="80"/> + <set name="radius" val="15"/> + <set name="height" val="28"/> + <set name="rHand" val="0"/> + <set name="lHand" val="0"/> + <set name="type" val="L2RaidBossStatus"/> + <set name="exp" val="0"/> + <set name="sp" val="0"/> + <set name="hp" val="5000"/> + <set name="mp" val="2500"/> + <set name="hpRegen" val="8"/> + <set name="mpRegen" val="8"/> + <set name="pAtk" val="100"/> + <set name="pDef" val="100"/> + <set name="mAtk" val="100"/> + <set name="mDef" val="100"/> + <set name="crit" val="4"/> + <set name="atkSpd" val="253"/> + <set name="str" val="40"/> + <set name="int" val="21"/> + <set name="dex" val="30"/> + <set name="wit" val="20"/> + <set name="con" val="43"/> + <set name="men" val="20"/> + <set name="corpseTime" val="7"/> + <set name="walkSpd" val="50"/> + <set name="runSpd" val="120"/> + <set name="dropHerbGroup" val="0"/> + <set name="attackRange" val="40"/> + <ai type="default" ssCount="0" ssRate="0" spsCount="0" spsRate="0" aggro="0" canMove="false" seedable="false"/> + </npc> + <npc id="50006" idTemplate="31228" name="Roy the Cat" title="Class Manager"> <set name="level" val="70"/> <set name="radius" val="9"/> Index: data/html/mods/RaidBossStatus/50001.htm =================================================================== --- data/html/mods/RaidBossStatus/50001.htm (revision 0) +++ data/html/mods/RaidBossStatus/50001.htm (working copy) @@ -0,0 +1,21 @@ +<html><title>BOSS STATUS</title><body> +<br><table width=300><tr><td align=center> +<img src="L2UI_CH3.herotower_deco" width=256 height=32> + +<br><br><br><br> +<font color=a2a0a2>ancient scrolls reveals truth of their return +<br1>defeat was merely delay ...</font> +</td></tr></table> + +<br> +<img src=L2UI.SquareGray width=300 height=1> +<table width=300 height=27 bgcolor="000000"> + <tr> + <td align=center width=300>%mboss%</td> + </tr> +</table> +<img src=L2UI.SquareGray width=300 height=1> + +<br> +<center>%bosslist%</center> +</body></html> \ No newline at end of file #P aCis_gameserver Index: java/net/sf/l2j/gameserver/instancemanager/RaidBossSpawnManager.java =================================================================== --- java/net/sf/l2j/gameserver/instancemanager/RaidBossSpawnManager.java (revision 9) +++ java/net/sf/l2j/gameserver/instancemanager/RaidBossSpawnManager.java (working copy) @@ -45,6 +45,7 @@ protected final static Map<Integer, L2RaidBossInstance> _bosses = new HashMap<>(); protected final static Map<Integer, L2Spawn> _spawns = new HashMap<>(); + protected final static Map<Integer, Long> _respawns = new HashMap<>(); protected final static Map<Integer, StatsSet> _storedInfo = new HashMap<>(); protected final static Map<Integer, ScheduledFuture<?>> _schedules = new HashMap<>(); @@ -142,6 +143,7 @@ _log.info("RaidBoss: " + raidboss.getName() + " has spawned."); _bosses.put(bossId, raidboss); + _respawns.put(bossId,0L); } _schedules.remove(bossId); @@ -148,6 +150,14 @@ } } + public long getRespawntime(int id) + { + if(_respawns.containsKey(id)) + return _respawns.get(id); + + return -1; + } + public void updateStatus(L2RaidBossInstance boss, boolean isBossDead) { if (!_storedInfo.containsKey(boss.getNpcId())) @@ -171,6 +181,7 @@ { _log.info("RaidBoss: " + boss.getName() + " - " + StringUtil.DATE_MM.format(respawnTime) + " (" + respawnDelay + "h)."); + _respawns.put(boss.getNpcId(), Calendar.getInstance().getTimeInMillis() + (respawnDelay * 3600000L)); _schedules.put(boss.getNpcId(), ThreadPoolManager.getInstance().scheduleGeneral(new spawnSchedule(boss.getNpcId()), respawnDelay * 3600000)); updateDb(); } @@ -179,6 +190,8 @@ { boss.setRaidStatus(StatusEnum.ALIVE); + _respawns.put(boss.getNpcId(), 0L); + info.set("currentHP", boss.getCurrentHp()); info.set("currentMP", boss.getCurrentMp()); info.set("respawnTime", 0L); @@ -226,11 +239,13 @@ info.set("respawnTime", 0L); _storedInfo.put(bossId, info); + _respawns.put(bossId, 0L); } } else { long spawnTime = respawnTime - Calendar.getInstance().getTimeInMillis(); + _respawns.put(bossId,respawnTime); _schedules.put(bossId, ThreadPoolManager.getInstance().scheduleGeneral(new spawnSchedule(bossId), spawnTime)); } @@ -272,6 +287,9 @@ SpawnTable.getInstance().deleteSpawn(spawnDat, false); _spawns.remove(bossId); + if (_respawns.containsKey(bossId)) + _respawns.remove(bossId); + if (_bosses.containsKey(bossId)) _bosses.remove(bossId); @@ -412,6 +430,7 @@ _schedules.clear(); } + _respawns.clear(); _storedInfo.clear(); _spawns.clear(); } Index: java/net/sf/l2j/gameserver/model/actor/instance/L2RaidBossStatusInstance.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/instance/L2RaidBossStatusInstance.java (revision 0) +++ java/net/sf/l2j/gameserver/model/actor/instance/L2RaidBossStatusInstance.java (working copy) @@ -0,0 +1,126 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + * + * http://www.gnu.org/copyleft/gpl.html + */ +package net.sf.l2j.gameserver.model.actor.instance; + +import java.util.Calendar; +import net.sf.l2j.gameserver.cache.HtmCache; +import net.sf.l2j.gameserver.datatables.NpcTable; +import net.sf.l2j.gameserver.instancemanager.RaidBossSpawnManager; +import net.sf.l2j.gameserver.model.actor.template.NpcTemplate; +import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage; + +public class L2RaidBossStatusInstance extends L2NpcInstance +{ + private static final int[] RBOSSES = {25418,25434,25126}; + private static int MBOSS = 25126; + + public L2RaidBossStatusInstance(int objectId, NpcTemplate template) + { + super(objectId, template); + } + + @Override + public void showChatWindow(L2PcInstance player) + { + generateFirstWindow(player); + } + + private void generateFirstWindow(L2PcInstance activeChar) + { + final StringBuilder sb = new StringBuilder(); + + for(int rboss : RBOSSES) + { + + long delay = RaidBossSpawnManager.getInstance().getRespawntime(rboss); + String name = NpcTable.getInstance().getTemplate(rboss).getName().toUpperCase(); + + if (delay==0) + { + sb.append("<font color=\"b09979\">"+name +" IS ALIVE!</font><br1>"); + } + else if (delay<0) + { + sb.append("<font color=\"FF0000\"> "+name +" IS DEAD.</font><br1>"); + } + else + { + delay = RaidBossSpawnManager.getInstance().getRespawntime(rboss) - Calendar.getInstance().getTimeInMillis(); + sb.append("<font color=\"b09979\">"+name+"</font> "+ConverTime(delay)+" <font color=\"b09979\">TO RESPAWN.</font><br1>"); + } + } + + long m_delay = RaidBossSpawnManager.getInstance().getRespawntime(MBOSS); + String m_name = NpcTable.getInstance().getTemplate(MBOSS).getName().toUpperCase(); + + String mainBossInfo =""; + + if (m_delay==0) + { + mainBossInfo = "WE SHOULD HAVE ACTED<br1><font color=\"b09979\">"+m_name+" IS ALIVE!</font><br1>"; + } + else if (m_delay<0) + { + mainBossInfo = "IT'S ALL OVER<br1><font color=\"FF0000\"> "+m_name+" IS DEAD.</font><br1>"; + } + else + { + m_delay = m_delay - Calendar.getInstance().getTimeInMillis(); + mainBossInfo = "<font color=\"b09979\">"+ConverTime(m_delay)+"</font><br1>UNTIL OBLIVION OPEN!"; + } + + NpcHtmlMessage html = new NpcHtmlMessage(1); + html.setFile(getHtmlPath(getNpcId(), 0)); + html.replace("%objectId%", getObjectId()); + html.replace("%bosslist%", sb.toString()); + html.replace("%mboss%", mainBossInfo); + activeChar.sendPacket(html); + } + + private static String ConverTime(long mseconds) + { + long remainder = mseconds; + + long hours = (long)Math.ceil((mseconds/(60*60*1000))); + remainder = mseconds - (hours*60*60*1000); + + long minutes = (long)Math.ceil((remainder / (60*1000))); + remainder = remainder -(minutes *(60*1000)); + + long seconds = (long)Math.ceil((remainder / 1000)); + + return hours+":"+minutes+":"+seconds; + } + + @Override + public String getHtmlPath(int npcId, int val) + { + String filename; + + if (val == 0) + filename = "data/html/mods/RaidBossStatus/" + npcId + ".htm"; + else + filename = "data/html/mods/RaidBossStatus/" + npcId + "-" + val + ".htm"; + + if (HtmCache.getInstance().isLoadable(filename)) + return filename; + + return "data/html/mods/RaidBossStatus/" + npcId + ".htm"; + } +} \ No newline at end of file
  22. has no sounds download: https://mega.nz/file/Bg8hhKpb#EVBEI8t4B3EuGedltbFFmbHBmmW-__ppnR6udMCsgJM
  23. https://mega.nz/file/RpkWmRxS#3sHJAflarLAyVkcxlT_lhb9vmVy9v5_w6QhFIm-VhoQ has no sounds
  24. Hello, I saw few weeks ago someone was selling a NPC with outfits for interlude but I can't find this topic anymore. Was something similar to this, anyone still selling it ?
×
×
  • 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