Search the Community

Showing results for tags 'npc'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

  • Lineage II Development [L2J]
    • Sources
    • Addons & Mods
    • Tools
  • Lineage II Development [L2OFF]
    • Package Files
    • Mods & Extenders
    • Tools
  • Lineage II Client Development
    • Equipments
    • Npcs
    • Maps
    • Tools
    • Skills
  • Lineage II Bots & Tools
    • Bot Systems
    • Bot Scripts
    • Tools
  • Website Templates
  • DenArt Designs's Demo Updater

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
    • L2Tales.com "BЯATVA" High Five x15 - Coming up early October
    • Private Servers
    • L2Elixir Interlude x3 Launching this October
    • [Previews] L2 Private Servers
    • Clans and Alliances
  • Lineage II Verified Marketplace
    • Marketplace [Items & Chars]
    • Marketplace [L2Packs & Files]
    • Marketplace [Powerlvl & Support]
  • Lineage II Marketplace
    • Marketplace [Items & Chars]
    • Marketplace [L2Packs & Files]
    • Marketplace [Powerlvl & Support]
  • 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
  • MMO Games
    • Fortnite
    • PlayerUnknown's Battlegrounds PUBG
    • League of Legends
    • World Of Warcraft Area
    • Other Multiplayer Games
  • General Section
  • Graphics/GFX Zone
  • VIP/Donators Zone
  • MaxCheaters Corner
  • TEST's 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
  • `Kara for staff's Topics
  • `Kara for staff's Kara`

Product Groups

  • Advertisements
  • Special Groups

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 338 results

  1. Hello , i download this buffer for l2 acis https://maxcheaters.com/topic/223485-npc-player-buffer-acis/?tab=comments#comment-2688248 The only that i did is to make a folder in gameserver/data/html/mods/buffer and i paste the html files there, then i create a new npc in xml. After that i spawn buffer, i can see the Index of buffer ( buffs,heal,fighter set,mage set, etc) but i cant get buffs from this npc. No any message showed up on my screen. Any idea on how can i fix the problem above? ( if yes, be specific at comments ) Thnx in advance
  2. Hi, Im looking for any tutorial or any helpful post with steps(and photos) in order to add a buffer in l2 acis (for example this buffer https://maxcheaters.com/topic/223485-npc-player-buffer-acis/) . Thnx in advance.
  3. Hi. I'm trying to create a server for my own use to spend my time. I created many npc except buffer. I want help for : 1) if anyone have any npc buffer files (for frozen) that is working successfully upload it below plz. ( I found old topics with npc buffers here, but the file is missing from the download link) 2) when I edit and I spawn my npc in server, after restart or shutdown , many of these npc are missing. I searched already for the above, but I can't found any solution that I understand. I request analytically assistance for the above. Thnx in advance.
  4. 3 new monsters with effects for Interlude Download
  5. Download: https://drive.google.com/file/d/1eLPWaXRex9QVpNZpM1YWVdoY3PtW1444/view?usp=sharing
  6. Hello MXC! I want to share with you one Custom Merchant (Its for jfrozen) The first share was by claww -> share But its not his npc as he said :o Finally with my work this npc works fine (check the original to see the changes :P). Features: Donate List: Weapons/Armors/Rings of your choice with enchantment of your choice too, is configurable Armors/Jewels set +16 , configurable Character Improve Gain Noblesse (by checking) Transfer Augmentation skill & attributes from one weapon to other! (Item must have skill) Transfer enchant from one weapon/armor/jewel to other! Change Name / Color Name / Color Title (by checking) Enchanter : Accepting 3 types (Weapon/Armor/Jewel) and plus 1 enchant! All the features need Donate Coin Fixed Removed useless ids in Donate List & added correct Ids Augment transfer many checks Added noblesse check Enchant transfer max limit Name/Colors ids of colors Finally all html dialogs Have also Clan Improve system but i deleted this because had many bugs and i have no idea how to fix them all (but im trying :D). The currency donate item is adena for all features. (Configurable) Video Link Download Let me know if you find any bugs ( will be for sure ), I can help with that! Updated: Item Market The second share from the same guy is the Item Market: Its a npc where you can add an item for sell in the market like interlude + chronicles Fixed: All html dialogs Removed adena,goldbars,Q-items ++ as items for sell Fixed same items can be added to list from other players Added custom htmls files for easy edit Reminder (message) to the item owner when the item sold Fixed many bugs i found (should have more) also not suggested for live servers without check . Video Link Download Link (l2jfrozen) Download Link (l2jacis) Gredits for adaption to acis : Williams
  7. 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
  8. Kalhspera. edw pera ine 1 donate manager. apo ton l2sayn to exw vgalei kai to dinw se esas. parakalw mhn krazete. :D Code: http://pastebin.com/tuWcQAXQ EDIT: 3exasa na valw to name sto Instance. valte L2DonateShopInstance (ADAPTED FOR L2JACIS http://pastebin.com/6d9P4wm1 ) by member l2jkain SCREENSHOTS Download: Gia na doulepsi to code prepei na valete auta ta arxia. Click Me Diavaste to ReadMe.txt To sql uparxi sto arxio. To Donate Coin exei id 1704 Ean vgalei kapoio provlima kalo einai na kanete 1 post se auto to topic gia na to checkarw. :) Doulevei sto l2jfrozen last rev. twra gia prohgoumena den 3erw. :D UPDATED** //augment command http://www.maxcheaters.com/topic/207755-l2jfrozen-augment-command/ CREDITS: fofas
  9. Hello guys, this is one of my first interlude GM Shop, and i want to share it with you. To download click HERE
  10. Hello members of maxcheaters!! I've found an npc @claww has posted : http://www.maxcheaters.com/topic/144148-donation-npc-item-market-for-l2jfrozen/ Called: Donate Npc I've reworked the whole npc so here it is..sharing it to all of you! Character Options: Transfer Augmentation Transfer Enchant Change Sex Change Character's Name Change Name/Title Colour Enchant your current equipment Clan Options: Increase your Clan Level Increase your Clan Reputation Score Learn all Clan Skills *** 1. Missing text and buttons are fixed. 2. Missing scripts are fixed. 3. Missing icons are fixed. 4. New scripts added such as (change sex) 5. Non-working scripts are fixed. *** Image: https://postimg.org/image/o9a794qs9/ Download: http://www.4shared.com/rar/9QlvINJ-ba/DONATE_NPC_L2JFROZEN.html?
  11. Hello. I have create a costum npc ( buffer ) .. its working well.. After a server restart if i dont use //reload , buffer is not working. Any idea about how to fix it? i will upload 2 images before and after restart. Thnx in advance.
  12. GM Shop for latest H5 - GM Shop updated to work with latest L2jServer Revision.(1/5/2017) Download GM Shop Feel free to report any problems or missing functions. Some items are missing the "<ingredient id", but feel free to change it, at this moment those items are free. I was more concerned to make it work with the latest version of L2jServer H5. Have Fun. Credits: - mathuza: original gmshop (Freya) - 007Florin: updating it to latest version of L2jServer H5 and new functions.
  13. In this post I'm going to share my Purple Maned Horse Variations for you to use in your own clients. Since nothing is for free I will provide the single textures only. Creating a new utx file and a new dat entry should be no problem for you since this is a common task to do in this scene. So here you go... Hope you enjoy! ;) DOWNLOAD Purple Maned Horse: Pure, Light and Heavy( Heavy is the Retail one ) White Maned Black Horse: Pure, Light and Heavy Dark Maned Black Horse: Pure, Light and Heavy
  14. Hi guys!!! I create that npcs for you!! I hope you like it... GM-shop Download : Here Augumenter Download : Here Warehouse Download : Here Auction Download : Here Raid Boss Gate Keeper Download : Here Gatekeeper Download : Here Buffer Download : Here Skill enchanter Download : Here Symbol maker Download : Here
  15. Here is the VIP Buffer from my collection! Download
  16. Hello guys, nothing special but it's not shared here this code for IL and a lot of people don't know how to do it since i added it on my project yesterday i decided to share it here with you. Here is preview images: Go to net.sf.l2j.gameserver.model.actor.L2Npc.java find: @Override public void onActionShift(L2PcInstance player) { // Check if the L2PcInstance is a GM if (player.isGM()) { final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); html.setFile("data/html/admin/npcinfo.htm"); html.replace("%class%", getClass().getSimpleName()); html.replace("%id%", getTemplate().getNpcId()); html.replace("%lvl%", getTemplate().getLevel()); html.replace("%name%", getTemplate().getName()); html.replace("%race%", getTemplate().getRace().toString()); html.replace("%tmplid%", getTemplate().getIdTemplate()); html.replace("%aggro%", (this instanceof L2Attackable) ? ((L2Attackable) this).getAggroRange() : 0); html.replace("%corpse%", getTemplate().getCorpseTime()); html.replace("%enchant%", getTemplate().getEnchantEffect()); html.replace("%hp%", (int) getCurrentHp()); html.replace("%hpmax%", getMaxHp()); html.replace("%mp%", (int) getCurrentMp()); html.replace("%mpmax%", getMaxMp()); html.replace("%patk%", getPAtk(null)); html.replace("%matk%", getMAtk(null, null)); html.replace("%pdef%", getPDef(null)); html.replace("%mdef%", getMDef(null, null)); html.replace("%accu%", getAccuracy()); html.replace("%evas%", getEvasionRate(null)); html.replace("%crit%", getCriticalHit(null, null)); html.replace("%rspd%", getRunSpeed()); html.replace("%aspd%", getPAtkSpd()); html.replace("%cspd%", getMAtkSpd()); html.replace("%str%", getSTR()); html.replace("%dex%", getDEX()); html.replace("%con%", getCON()); html.replace("%int%", getINT()); html.replace("%wit%", getWIT()); html.replace("%men%", getMEN()); html.replace("%loc%", getX() + " " + getY() + " " + getZ()); html.replace("%dist%", (int) Math.sqrt(player.getDistanceSq(this))); html.replace("%ele_fire%", getDefenseElementValue((byte) 2)); html.replace("%ele_water%", getDefenseElementValue((byte) 3)); html.replace("%ele_wind%", getDefenseElementValue((byte) 1)); html.replace("%ele_earth%", getDefenseElementValue((byte) 4)); html.replace("%ele_holy%", getDefenseElementValue((byte) 5)); html.replace("%ele_dark%", getDefenseElementValue((byte) 6)); if (getSpawn() != null) { html.replace("%spawn%", getSpawn().getLocx() + " " + getSpawn().getLocy() + " " + getSpawn().getLocz()); html.replace("%loc2d%", (int) Math.sqrt(getPlanDistanceSq(getSpawn().getLocx(), getSpawn().getLocy()))); html.replace("%loc3d%", (int) Math.sqrt(getDistanceSq(getSpawn().getLocx(), getSpawn().getLocy(), getSpawn().getLocz()))); html.replace("%resp%", getSpawn().getRespawnDelay() / 1000); html.replace("%rand_resp%", getSpawn().getRandomRespawnDelay()); } else { html.replace("%spawn%", "<font color=FF0000>null</font>"); html.replace("%loc2d%", "<font color=FF0000>--</font>"); html.replace("%loc3d%", "<font color=FF0000>--</font>"); html.replace("%resp%", "<font color=FF0000>--</font>"); html.replace("%rand_resp%", "<font color=FF0000>--</font>"); } if (hasAI()) { html.replace("%ai_intention%", "<font color=\"LEVEL\">Intention</font><table width=\"100%\"><tr><td><font color=\"LEVEL\">Intention:</font></td><td>" + getAI().getIntention().name() + "</td></tr>"); html.replace("%ai%", "<tr><td><font color=\"LEVEL\">AI:</font></td><td>" + getAI().getClass().getSimpleName() + "</td></tr></table><br>"); } else { html.replace("%ai_intention%", ""); html.replace("%ai%", ""); } html.replace("%ai_type%", getAiType().name()); html.replace("%ai_clan%", (getClans() != null) ? "<tr><td width=100><font color=\"LEVEL\">Clan:</font></td><td align=right width=170>" + Arrays.toString(getClans()) + " " + getClanRange() + "</td></tr>" + ((getIgnoredIds() != null) ? "<tr><td width=100><font color=\"LEVEL\">Ignored ids:</font></td><td align=right width=170>" + Arrays.toString(getIgnoredIds()) + "</td></tr>" : "") : ""); html.replace("%ai_move%", String.valueOf(canMove())); html.replace("%ai_seed%", String.valueOf(isSeedable())); html.replace("%ai_ssinfo%", _currentSsCount + "[" + getSsCount() + "] - " + getSsRate() + "%"); html.replace("%ai_spsinfo%", _currentSpsCount + "[" + getSpsCount() + "] - " + getSpsRate() + "%"); html.replace("%butt%", ((this instanceof L2MerchantInstance) ? "<button value=\"Shop\" action=\"bypass -h admin_show_shop " + getNpcId() + "\" width=65 height=19 back=\"L2UI_ch3.smallbutton2_over\" fore=\"L2UI_ch3.smallbutton2\">" : "")); player.sendPacket(html); player.sendPacket(ActionFailed.STATIC_PACKET); } Below add: else if (Config.ENABLE_SHIFT_CLICK_TO_NPCS) { final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); html.setFile("data/html/mods/npcinfo.htm"); html.replace("%class%", getClass().getSimpleName()); html.replace("%id%", getTemplate().getNpcId()); html.replace("%lvl%", getTemplate().getLevel()); html.replace("%name%", getTemplate().getName()); html.replace("%race%", getTemplate().getRace().toString()); html.replace("%tmplid%", getTemplate().getIdTemplate()); html.replace("%aggro%", getTemplate().getAggroRange()); html.replace("%corpse%", StringUtil.getTimeStamp(getTemplate().getCorpseTime())); html.replace("%enchant%", getTemplate().getEnchantEffect()); html.replace("%hp%", (int) getCurrentHp()); html.replace("%hpmax%", getMaxHp()); html.replace("%mp%", (int) getCurrentMp()); html.replace("%mpmax%", getMaxMp()); html.replace("%patk%", getPAtk(null)); html.replace("%matk%", getMAtk(null, null)); html.replace("%pdef%", getPDef(null)); html.replace("%mdef%", getMDef(null, null)); html.replace("%accu%", getAccuracy()); html.replace("%evas%", getEvasionRate(null)); html.replace("%crit%", getCriticalHit(null, null)); html.replace("%rspd%", getWalkSpeed()); html.replace("%aspd%", getPAtkSpd()); html.replace("%cspd%", getMAtkSpd()); player.sendPacket(html); } Now the Configs public static boolean ENABLE_SHIFT_CLICK_TO_NPCS; ENABLE_SHIFT_CLICK_TO_NPCS = npcs.getProperty("EnableShiftClickToNpcs", false); # ============================================= # Shift + Click to NPC(s) # ============================================= # Enable showing NPC(s) info by Shift + Click # on NPC(s)? # Default: False EnableShiftClickToNpcs = True The voicedcommand Create new class called ShiftClickToNpc inside paste /* * 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.handler.voicedcommandhandlers; import java.util.StringTokenizer; import net.sf.l2j.commons.lang.StringUtil; import net.sf.l2j.gameserver.datatables.ItemTable; import net.sf.l2j.gameserver.datatables.NpcTable; import net.sf.l2j.gameserver.handler.IVoicedCommandHandler; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.actor.template.NpcTemplate; import net.sf.l2j.gameserver.model.item.DropCategory; import net.sf.l2j.gameserver.model.item.DropData; import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage; /** * @author Designatix * */ public class ShiftClickToNpc implements IVoicedCommandHandler { private static final int PAGE_LIMIT = 20; private static String[] _voicedCommands = { "show_droplist" }; @Override public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) { final StringTokenizer st = new StringTokenizer(command, " "); st.nextToken(); if (command.startsWith("show_droplist")) { try { int npcId = Integer.parseInt(st.nextToken()); int page = (st.hasMoreTokens()) ? Integer.parseInt(st.nextToken()) : 1; showNpcDropList(activeChar, npcId, page); } catch (Exception e) { activeChar.sendMessage("Usage: .show_droplist <npc_id> [<page>]"); } } return true; } private static void showNpcDropList(L2PcInstance activeChar, int npcId, int page) { final NpcTemplate npcData = NpcTable.getInstance().getTemplate(npcId); if (npcData == null) { activeChar.sendMessage("Npc template is unknown for id: " + npcId + "."); return; } final StringBuilder sb = new StringBuilder(2000); StringUtil.append(sb, "<html><title>Show droplist page ", page, "</title><body><center><font color=\"LEVEL\">", npcData.getName(), " (", npcId, ")</font></center><br>"); if (!npcData.getDropData().isEmpty()) { sb.append("Drop type legend: <font color=\"3BB9FF\">Drop</font> | <font color=\"00ff00\">Sweep</font><br><table><tr><td width=25>cat.</td><td width=45>item</td><td width=45>drop count</td></tr>"); int myPage = 1; int i = 0; int shown = 0; boolean hasMore = false; for (DropCategory cat : npcData.getDropData()) { if (shown == PAGE_LIMIT) { hasMore = true; break; } for (DropData drop : cat.getAllDrops()) { if (myPage != page) { i++; if (i == PAGE_LIMIT) { myPage++; i = 0; } continue; } if (shown == PAGE_LIMIT) { hasMore = true; break; } StringUtil.append(sb, "<tr><td><font color=\"", ((cat.isSweep()) ? "00FF00" : "3BB9FF"), "\">", cat.getCategoryType(), "</td><td>", ItemTable.getInstance().getTemplate(drop.getItemId()).getName(), " (", drop.getMinDrop(), ", ", drop.getMaxDrop(), ")</td></tr>"); shown++; } } sb.append("</table><table width=\"100%\" bgcolor=666666><tr>"); if (page > 1) { StringUtil.append(sb, "<td width=120><a action=\"bypass -h voiced_show_droplist ", npcId, " ", page - 1, "\">Prev Page</a></td>"); if (!hasMore) StringUtil.append(sb, "<td width=100>Page ", page, "</td><td width=70></td></tr>"); } if (hasMore) { if (page <= 1) sb.append("<td width=120></td>"); StringUtil.append(sb, "<td width=100>Page ", page, "</td><td width=70><a action=\"bypass -h voiced_show_droplist ", npcId, " ", page + 1, "\">Next Page</a></td></tr>"); } sb.append("</table>"); } else sb.append("This NPC has no drops."); sb.append("</body></html>"); final NpcHtmlMessage html = new NpcHtmlMessage(0); html.setHtml(sb.toString()); activeChar.sendPacket(html); } @Override public String[] getVoicedCommandList() { return _voicedCommands; } } Import the voicedcommand on net.sf.l2j.gameserver.handler.VoicedCommandHandler.java import net.sf.l2j.gameserver.handler.voicedcommandhandlers.ShiftClickToNpc; if (Config.ENABLE_SHIFT_CLICK_TO_NPCS) { registerHandler(new ShiftClickToNpc()); } And now go to your dp > data/html/mods and create new file called npcinfo.htm and inside paste <html><title>NPC Info</title><body> <center> <table width="100%"> <tr> <td align=center> <button value="Show Droplist" action="bypass -h voiced_show_droplist %id%" width=134 height=21 back="L2UI_ch3.BigButton3_over" fore="L2UI_ch3.BigButton3"> </td> </tr> </table> <br><img src="L2UI.SquareWhite" width=260 height=1><br> <font color="LEVEL">General Informations</font> <table width="100%"> <tr><td><font color="LEVEL">Name:</font></td><td>%name%</td></tr> <tr><td><font color="LEVEL">Level:</font></td><td>%lvl%</td></tr> <tr><td><font color="LEVEL">Type:</font></td><td>%class%</td></tr> <tr><td><font color="LEVEL">Race:</font></td><td>%race%</td></tr> </table><br> <font color="LEVEL">Aggro Informations</font> <table width="100%"> <tr><td width=100><font color="LEVEL">Aggro:</font></td><td align=right width=170>%aggro%</td></tr> </table><br> <font color="LEVEL">Combat Informations</font> <table width="100%"> <tr><td><font color="LEVEL">HP:</font></td><td><font color=FF4040>%hp%/%hpmax%</font></td><td><font color="LEVEL">MP:</font></td><td><font color=6161FF>%mp%/%mpmax%</font></td></tr> <tr><td>P.Atk.</td><td>%patk%</td><td>M.Atk.</td><td>%matk%</td></tr> <tr><td>P.Def.</td><td>%pdef%</td><td>M.Def.</td><td>%mdef%</td></tr> <tr><td>Accuracy</td><td>%accu%</td><td>Evasion</td><td>%evas%</td></tr> <tr><td>Critical</td><td>%crit%</td><td>Speed</td><td>%rspd%</td></tr> <tr><td>Atk.Spd</td><td>%aspd%</td><td>Cast.Spd</td><td>%cspd%</td></tr> </table><br> <br><img src="L2UI.SquareWhite" width=260 height=1><br> </center> </body></html> Have Fun!
  17. Hello guys, I want to share with you my buffer ( nothing special but i like ). The buffer is Tryskell on acis and i edited htmls and the instance too (Free rev). Added fighter/mage set (with configs) with buffs animation :not bad: And Manual buffs. Also, I am not 'pro' :dat: so... There may be some mistakes.. Download Changes: ### Eclipse Workspace Patch 1.0 #P aCis_gameserver Index: config/npcs.properties =================================================================== --- config/npcs.properties (revision 5) +++ config/npcs.properties (working copy) @@ -52,6 +52,12 @@ # The list of buffs, under a skillId,buffPrice,groupType format. BufferBuffs = 264,0,Songs;265,0,Songs;266,0,Songs;267,0,Songs;268,0,Songs;269,0,Songs;270,0,Songs;304,0,Songs;305,0,Songs;306,0,Songs;308,0,Songs;349,0,Songs;363,0,Songs;364,0,Songs;271,0,Dances;272,0,Dances;273,0,Dances;274,0,Dances;275,0,Dances;276,0,Dances;277,0,Dances;309,0,Dances;310,0,Dances;311,0,Dances;1002,0,Warcryer;1006,0,Warcryer;1007,0,Warcryer;1009,0,Warcryer;1308,0,Warcryer;1309,0,Warcryer;1310,0,Warcryer;1362,0,Warcryer;1390,0,Warcryer;1391,0,Warcryer;1413,0,Warcryer;1416,0,Overlord;1003,0,Overlord;1004,0,Overlord;1005,0,Overlord;1008,0,Overlord;1249,0,Overlord;1364,0,Overlord;1365,0,Overlord;1032,0,Prophet;1033,0,Prophet;1035,0,Prophet;1036,0,Prophet;1040,0,Prophet;1043,0,Prophet;1044,0,Prophet;1045,0,Prophet;1048,0,Prophet;1059,0,Shillen_Elder;1062,0,Prophet;1068,0,Prophet;1073,0,Elder;1077,0,Shillen_Elder;1078,0,Shillen_Elder;1085,0,Prophet;1086,0,Prophet;1087,0,Elder;1182,0,Elder;1189,0,Shillen_Elder;1191,0,Prophet;1204,0,Prophet;1242,0,Shillen_Elder;1243,0,Prophet;1259,0,Elder;1268,0,Shillen_Elder;1303,0,Shillen_Elder;1304,0,Elder;1352,0,Elder;1353,0,Elder;1354,0,Elder;1388,0,Shillen_Elder;1389,0,Shillen_Elder;1392,0,Prophet;1393,0,Elder;1397,0,Elder;1355,0,Elder;1356,0,Prophet;1357,0,Shillen_Elder;1363,0,Warcryer;1414,0,Overlord +#Set of fighter buffs +FighterSet = 1087,1243,1204,1068,1388,1040,1036,1035,1048,1045,1077,1242,1086,1043,1268,1036,1363,1240,1062,271,274,275,310,304,308,306,264,267,269,349,364,268,270,1416 + +#Set of Mage buffs +MageSet = 1087,1243,1204,1040,1036,1048,1045,1389,1062,1363,1085,1059,1303,1304,273,276,365,268,270,349,264,267,268,306,308,1416 + #============================================================= # Misc #============================================================= Index: java/net/sf/l2j/Config.java =================================================================== --- java/net/sf/l2j/Config.java (revision 5) +++ java/net/sf/l2j/Config.java (working copy) @@ -297,6 +297,10 @@ public static int CHAMPION_REWARD_QTY; /** Buffer */ + public static String FIGHTER_SET; + public static int[] FIGHTER_SET_LIST; + public static String MAGE_SET; + public static int[] MAGE_SET_LIST; public static int BUFFER_MAX_SCHEMES; public static int BUFFER_MAX_SKILLS; public static int BUFFER_STATIC_BUFF_COST; @@ -885,7 +889,19 @@ BUFFER_MAX_SKILLS = npcs.getProperty("BufferMaxSkillsPerScheme", 24); BUFFER_STATIC_BUFF_COST = npcs.getProperty("BufferStaticCostPerBuff", -1); BUFFER_BUFFS = npcs.getProperty("BufferBuffs"); + FIGHTER_SET = npcs.getProperty("FighterSet", "2375,3500,3501,3502,4422,4423,4424,4425,6648,6649,6650"); + MAGE_SET = npcs.getProperty("MageSet", "2375,3500,3501,3502,4422,4423,4424,4425,6648,6649,6650"); + + String[] FighterList = FIGHTER_SET.split(","); + FIGHTER_SET_LIST = new int[FighterList.length]; + for (int i = 0; i < FighterList.length; i++) + FIGHTER_SET_LIST[i] = Integer.parseInt(FighterList[i]); + String[] MageList = MAGE_SET.split(","); + MAGE_SET_LIST = new int[MageList.length]; + for (int i = 0; i < MageList.length; i++) + MAGE_SET_LIST[i] = Integer.parseInt(MageList[i]); + BUFFER_BUFFLIST = new HashMap<>(); for (String skillInfo : BUFFER_BUFFS.split(";")) { Index: java/net/sf/l2j/gameserver/model/actor/instance/L2BufferInstance.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/instance/L2BufferInstance.java (revision 5) +++ java/net/sf/l2j/gameserver/model/actor/instance/L2BufferInstance.java (working copy) @@ -27,9 +27,11 @@ import net.sf.l2j.commons.lang.StringUtil; import net.sf.l2j.gameserver.datatables.BufferTable; import net.sf.l2j.gameserver.datatables.SkillTable; +import net.sf.l2j.gameserver.model.L2Skill; import net.sf.l2j.gameserver.model.actor.L2Character; import net.sf.l2j.gameserver.model.actor.L2Summon; import net.sf.l2j.gameserver.model.actor.template.NpcTemplate; +import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUse; import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage; public class L2BufferInstance extends L2NpcInstance @@ -42,8 +44,11 @@ @Override public void onBypassFeedback(L2PcInstance player, String command) { StringTokenizer st = new StringTokenizer(command, " "); String currentCommand = st.nextToken(); + int buffid = 0; if (currentCommand.startsWith("menu")) { @@ -52,13 +57,29 @@ html.replace("%objectId%", getObjectId()); player.sendPacket(html); } + if (currentCommand.startsWith("chat")) + { + final NpcHtmlMessage html = new NpcHtmlMessage(0); + html.setFile(getHtmlPath(getNpcId(), Integer.parseInt(st.nextToken()))); + html.replace("%objectId%", getObjectId()); + player.sendPacket(html); + } else if (currentCommand.startsWith("cleanup")) { + L2Skill buff; + buff = SkillTable.getInstance().getInfo(1056, 1); + buff.getEffects(this, player); player.stopAllEffectsExceptThoseThatLastThroughDeath(); + player.broadcastPacket(new MagicSkillUse(this, player, 1056, 1, 5, 0)); final L2Summon summon = player.getPet(); if (summon != null) + { + buff.getEffects(this, summon); + summon.broadcastPacket(new MagicSkillUse(this, summon, 1056, 1, 5, 0)); summon.stopAllEffectsExceptThoseThatLastThroughDeath(); + } + final NpcHtmlMessage html = new NpcHtmlMessage(0); html.setFile(getHtmlPath(getNpcId(), 0)); @@ -69,10 +90,17 @@ { player.setCurrentHpMp(player.getMaxHp(), player.getMaxMp()); player.setCurrentCp(player.getMaxCp()); + L2Skill buff = SkillTable.getInstance().getInfo(1218, 1); + buff.getEffects(this, player); + player.broadcastPacket(new MagicSkillUse(this, player, 1218, 1, 5, 0)); final L2Summon summon = player.getPet(); if (summon != null) + { + buff.getEffects(this, player); + summon.broadcastPacket(new MagicSkillUse(this, summon, 1218, 1, 5, 0)); summon.setCurrentHpMp(summon.getMaxHp(), summon.getMaxMp()); + } final NpcHtmlMessage html = new NpcHtmlMessage(0); html.setFile(getHtmlPath(getNpcId(), 0)); @@ -103,6 +131,53 @@ { showEditSchemeWindow(player, st.nextToken(), st.nextToken()); } + if (currentCommand.startsWith("getbuff")) + { + buffid = Integer.parseInt(st.nextToken()); + int nextWindow = Integer.parseInt(st.nextToken()); + if (buffid != 0) + { + L2Skill buff =SkillTable.getInstance().getInfo(buffid, SkillTable.getInstance().getMaxLevel(buffid)); + buff.getEffects(this, player); + player.broadcastPacket(new MagicSkillUse(this, player, buffid, SkillTable.getInstance().getMaxLevel(buffid), 0, 0)); + final NpcHtmlMessage html = new NpcHtmlMessage(0); + html.setFile(getHtmlPath(getNpcId(), nextWindow)); + html.replace("%objectId%", getObjectId()); + player.sendPacket(html); + } + } + else if (currentCommand.startsWith("fighterSet")) + { + int fighterSet[] = Config.FIGHTER_SET_LIST; + player.stopAllEffectsExceptThoseThatLastThroughDeath(); + L2Skill buff ; + for (int id: fighterSet) + { + buff = SkillTable.getInstance().getInfo(id, SkillTable.getInstance().getMaxLevel(id)); + buff.getEffects(this, player); + player.broadcastPacket(new MagicSkillUse(this, player, id, buff.getLevel(), 0, 0)); + } + final NpcHtmlMessage html = new NpcHtmlMessage(0); + html.setFile(getHtmlPath(getNpcId(), 0)); + html.replace("%objectId%", getObjectId()); + player.sendPacket(html); + } + else if (currentCommand.startsWith("mageSet")) + { + int mageSet[] = Config.MAGE_SET_LIST; + player.stopAllEffectsExceptThoseThatLastThroughDeath(); + L2Skill buff ; + for (int id: mageSet) + { + buff = SkillTable.getInstance().getInfo(id, SkillTable.getInstance().getMaxLevel(id)); + buff.getEffects(this, player); + player.broadcastPacket(new MagicSkillUse(this, player, id, buff.getLevel(), 0, 0)); + } + final NpcHtmlMessage html = new NpcHtmlMessage(0); + html.setFile(getHtmlPath(getNpcId(), 0)); + html.replace("%objectId%", getObjectId()); + player.sendPacket(html); + } else if (currentCommand.startsWith("skill")) { final String groupType = st.nextToken(); @@ -226,7 +301,7 @@ final Map<String, ArrayList<Integer>> schemes = BufferTable.getInstance().getPlayerSchemes(player.getObjectId()); if (schemes == null || schemes.isEmpty()) - sb.append("<font color=\"LEVEL\">You haven't defined any scheme, please go to 'Manage my schemes' and create at least one valid scheme.</font>"); + sb.append("<center><font color=\"LEVEL\">You haven't defined any scheme</font></center>"); else { for (Map.Entry<String, ArrayList<Integer>> scheme : schemes.entrySet()) @@ -254,12 +329,14 @@ final Map<String, ArrayList<Integer>> schemes = BufferTable.getInstance().getPlayerSchemes(player.getObjectId()); if (schemes == null || schemes.isEmpty()) - sb.append("<font color=\"LEVEL\">You haven't created any scheme.</font>"); + sb.append("<center><font color=\"3399CC\">You haven't created any scheme.</font></center>"); else { - sb.append("<table>"); + sb.append("<table bgcolor=000000 width =300>"); for (Map.Entry<String, ArrayList<Integer>> scheme : schemes.entrySet()) - StringUtil.append(sb, "<tr><td width=140>", scheme.getKey(), " (", scheme.getValue().size(), " skill(s))</td><td width=60><button value=\"Clear\" action=\"bypass -h npc_%objectId%_clearscheme ", scheme.getKey(), "\" width=55 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td><td width=60><button value=\"Drop\" action=\"bypass -h npc_%objectId%_deletescheme ", scheme.getKey(), "\" width=55 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>"); + StringUtil.append(sb, "<tr><td width=140><font color=\"3399CC\">", scheme.getKey(), " (", scheme.getValue().size(), " skill(s))</font></td><td width=60><button value=\"Clear\" action=\"bypass -h npc_%objectId%_clearscheme ", scheme.getKey(), "\" width=75 height=15 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"></td><td width=60><button value=\"Drop\" action=\"bypass -h npc_%objectId%_deletescheme ", scheme.getKey(), "\" width=75 height=15 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"></td></tr>"); sb.append("</table>"); } @@ -311,17 +388,17 @@ { final Map<String, ArrayList<Integer>> schemes = BufferTable.getInstance().getPlayerSchemes(player.getObjectId()); if (schemes == null || schemes.isEmpty()) - return "Please create at least one scheme."; + return "<table bgcolor=000000 width =300><tr><td align=center width=300><font color=\"3399CC\">Please create at least one scheme.</font></td></tr></table>"; final StringBuilder sb = new StringBuilder(200); - sb.append("<table>"); + sb.append("<table bgcolor=000000 width =300>"); for (Map.Entry<String, ArrayList<Integer>> scheme : schemes.entrySet()) { if (schemeName.equalsIgnoreCase(scheme.getKey())) - StringUtil.append(sb, "<tr><td width=200>", scheme.getKey(), " (<font color=\"LEVEL\">", scheme.getValue().size(), "</font> / ", Config.BUFFER_MAX_SKILLS, " skill(s))</td></tr>"); + StringUtil.append(sb, "<tr><td align=center width=300>", scheme.getKey(), " (<font color=\"LEVEL\">", scheme.getValue().size(), "</font> / ", Config.BUFFER_MAX_SKILLS, " skill(s))</td></tr>"); else - StringUtil.append(sb, "<tr><td width=200><a action=\"bypass -h npc_%objectId%_editschemes none ", scheme.getKey(), "\">", scheme.getKey(), " (", scheme.getValue().size(), " / ", Config.BUFFER_MAX_SKILLS, " skill(s))</a></td></tr>"); + StringUtil.append(sb, "<tr><td align=center width=300><font color=\"3399CC\"><a action=\"bypass -h npc_%objectId%_editschemes none ", scheme.getKey(), "\">", scheme.getKey(), " (", scheme.getValue().size(), " / ", Config.BUFFER_MAX_SKILLS, " skill(s))</a></font></td></tr>"); } sb.append("</table>"); @@ -394,7 +471,7 @@ { final List<Integer> skills = BufferTable.getInstance().getScheme(player.getObjectId(), schemeName); if (skills.isEmpty()) - return "That scheme is empty."; + return "<font color=\"3399CC\">That scheme is empty.</font>"; final StringBuilder sb = new StringBuilder(500); sb.append("<table>");
  18. 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
  19. I found this code with problem on Target the npc ,so i decide to reshare this code FIXED new class with name L2PscDonateInstance into com.l2jfrozen.gameserver.model.actor.instance. We find an npc or we add one to our db and we use this type L2PscDonate. Then we go to our serverfiles and create an new folder with name Donates into gameserver/data HERE IS THE FIXED CODE: Credits : I dont know
  20. 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>
  21. credits : Colet - Desenvolvedor NPC Service Manager Html/Xmls credits my https://mega.co.nz/#...1XsjxQp5cOmaDig
  22. Someone is selling this here: http://maxcheaters.com/forum/index.php?topic=249861.0 You don't need to give 10 euros for this. Create a class in the instances with name L2PscDonateInstance and add this code inside it. Thank make the npc type to L2PscDonate and spawn the npc. /* * 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 com.l2jfrozen.gameserver.model.actor.instance; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.util.Collection; import java.util.StringTokenizer; import com.l2jfrozen.gameserver.model.L2World; import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage; import com.l2jfrozen.gameserver.templates.L2NpcTemplate; import javolution.text.TextBuilder; /** * @author Autos! 1-0 * */ public class L2PscDonateInstance extends L2FolkInstance { public L2PscDonateInstance(int objectId, L2NpcTemplate template) { super(objectId, template); } @Override public void onBypassFeedback(final L2PcInstance player, String command) { if(player == null) { return; } if(command.startsWith("dlist")) { info(player); } if(command.startsWith("donate")) { StringTokenizer st = new StringTokenizer(command); st.nextToken(); String amount = null; int pin1 = 0; int pin2 = 0; int pin3 = 0; int pin4 = 0; String message = ""; try { amount = st.nextToken(); pin1 = Integer.parseInt(st.nextToken()); pin2 = Integer.parseInt(st.nextToken()); pin3 = Integer.parseInt(st.nextToken()); pin4 = Integer.parseInt(st.nextToken()); while(st.hasMoreTokens()) message = message + st.nextToken() + " "; String fname = "data/donates/"+player.getName()+".txt"; File file = new File(fname); boolean exist = file.createNewFile(); if(!exist) { player.sendMessage("You have already sent a donation , GMs must check it first"); return; } FileWriter fstream = new FileWriter(fname); BufferedWriter out = new BufferedWriter(fstream); out.write("Character Info: [Character: "+ player.getName() +"["+ player.getObjectId()+"] - Account: "+ player.getAccountName()+" - IP: "+player.getClient().getConnection().getInetAddress().getHostAddress()+"]\nMessage : donate "+ amount +" "+ message + " "+ pin1+ " "+ pin2+ " "+ pin3+ " "+ pin4); out.close(); player.sendMessage("Donation sent. GMs will check it soon. Thanks..."); Collection<L2PcInstance> pls = L2World.getInstance().getAllPlayers(); for (L2PcInstance gms : pls) { if(gms.isGM()) gms.sendMessage(player.getName() +" sent a donation."); } } catch(Exception e) { e.printStackTrace(); } } } @Override public void onAction(L2PcInstance player) { if (!canTarget(player)) { return; } showHtmlWindow(player); } private void showHtmlWindow(L2PcInstance activeChar) { TextBuilder tb = new TextBuilder(); NpcHtmlMessage html = new NpcHtmlMessage(1); tb.append("<html><head><title>Donation Manager</title></head><body><center><table width=\"250\" bgcolor=\"000000\"><tr><td align=center><font color=\"6fd3d1\">Easy Donation With Paysafe Card</font></td></tr></table>_______________________________________<br><br><table width=\"250\"><tr><td><font color=\"ddc16d\">Select Donation Amount:</font></td><td><combobox width=80 height=17 var=amount list=10-Euro;25-Euro;50-Euro;100-Euro;></td></tr></table><br><br><font color=\"ddc16d\">Paysafe Card Pin:</font><table width=\"250\"><tr><td><edit var=\"pin1\" width=50 height=12 type=number></td><td><edit var=\"pin2\" width=50 height=12 type=number></td><td><edit var=\"pin3\" width=50 height=12 type=number></td><td><edit var=\"pin4\" width=50 height=12 type=number></td></table><br><br><multiedit var=\"message\" width=240 height=40><br><br><button value=\"Donate!\" action=\"bypass -h npc_"+getObjectId()+"_donate $amount $pin1 $pin2 $pin3 $pin4 $message\" width=95 height=21 back=\"bigbutton_over\" fore=\"bigbutton\"><br><button value=\"Donation List\" action=\"bypass -h npc_"+getObjectId()+"_dlist\" width=95 height=21 back=\"bigbutton_over\" fore=\"bigbutton\"><br><font color=\"a1df64\">Created by KnipeX (if he says so, huh)</font></center></body></html>"); html.setHtml(tb.toString()); activeChar.sendPacket(html); } private void info(L2PcInstance activeChar) { TextBuilder tb = new TextBuilder(); NpcHtmlMessage html = new NpcHtmlMessage(1); tb.append("<html><head><title>Donation Manager</title></head><body><center>Info goes here</center></body></html>"); html.setHtml(tb.toString()); activeChar.sendPacket(html); } }
  23. 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
  24. Hey guys i will re-share my npc's since my previous topic got locked. In this topic you will find : No.1 A freya npc pack with Gm Shop, Gatekeeper, Top PvP-Pk, Augmenter, Informer, Pk killer, Warehouse manager No.2 A H5 npc pack with Gm Shop, Gatekeeper, Top PvP-Pk, Augmenter, Warehouse manager No.3 A Buffer for Freya and H5 chronicle No.4 A Noblesse Manager for Freya chronicle No.5 A Color Manager for Freya chronicle No.6 A H5 npc pack with Color manager, Noblesse manager Ps. There are 2 posible passwords for rar files. Password No.1 is "NeverMore" . Password No.2 is "MaxCheaters" No.1 This is a pack which include Gm Shop, Gatekeeper, Top PvP-Pk, Augmenter, Informer, Pk killer and Warehouse manager. It will work proper for Freya chronicle. You can download it from here You can check some images of the npc's here No.2 This is a pack which include Gm Shop, Gatekeeper, Top PvP-Pk, Augmenter and Warehouse manager. It will work proper for H5 chronicle. You can download it from here You can check some images of the npc's here No.3 This is a Buffer for l2j servers. It will work proper for H5 and Freya chronicle. You can download it from here You can check some images of the npc here No.4 This is a Noblesse Manager for l2j servers. It will work proper for Freya chronicle. You can download it from here You can check some images of the npc here No.5 This is a Color Manager for l2j servers. It will work proper for Freya chronicle. You can download it from here You can check some images of the npc here No.6 This is a pack which include Color manager and Noblesse manager. It will work proper for H5 chronicle. You can download it from here You can check some images of the npc's here Well all this npc's are made by NeverMore (me). Report me any bug or problem. Have fun using them. THE END
  25. GroundSpeed=120.00 DrawScale=0.38 CollisionRadius=10.00 CollisionHeight=23.00 download link: https://www.mediafire.com/file/fsnm6pfg7r26jz4/L2NPCs_Hera.rar