Jump to content

Search the Community

Showing results for tags 'code'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Lineage II Server Packs [Java]
  • Lineage II Server Packs [PTS]
  • Lineage II Server Scripts
  • Lineage II Client Scripts
  • Lineage II Items & Chars
  • Website Templates
  • DenArt Designs's Demo Updater


  • General Zone
    • Announcements and News
    • Newbies Introduce Urself
    • Maxcheaters Competitions & Events
    • Votes/Polls Area
    • Report Section
    • Downloads Section
  • 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
    • Buy Advertising Link #2
    • [Previews] L2 Private Servers
    • Clans and Alliances
  • 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
    • League of Legends
    • World Of Warcraft Area
    • Other Multiplayer Games
  • General Section
    • General Marketplace
    • Consoles/Mobiles/PDA Gaming Zone
    • Webmasters Zone
    • Hacking/Coding Zone
  • Graphics/GFX Zone
    • Graphics/GFX General Discussion
    • Graphics/GFX Showcase
    • Graphics/GFX Resources/Tools
  • VIP/SVIP/Donators Zone
    • VIPs/Donators Discussion
    • VIPs Lineage II
    • VIPs [GFX] Zone
    • VIPs Download Area
  • MaxCheaters Corner
    • Tech/World News
    • Off-Topics
    • Spam Topics
  • 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

Product Groups

  • Advertisements
  • Special Groups

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start





Website URL







Found 33 results

  1. https://www.youtube.com/watch?v=wvwudQvQwIE The video was produced using my pack (or so state the server owner/developer), but L2J got the same issue. All non-customized L2J versions using WeaponEquipTask got this issue. Even if you patched other places to avoid to get multiple similar items with same objectId, this is the initial problem and the only fix you should apply. For the goodness of L2J, I decided to post this fix for free. Short version : Upon UseItem use, and if you're currently attacking, WeaponEquipTask is called to delay the time your weapon is wear. Issue : There is no check upon task call. The item is equipped, no matter what happened between the call time, and the wear time (if you deleted, crystallized, dropped, put item elsewhere,...). Fix : check upon task call if the item is still existing on inventory. For L2J (consider to edit the called method - remove item parameter). /** Weapon Equip Task */ private static class WeaponEquipTask implements Runnable { private final L2PcInstance activeChar; protected WeaponEquipTask(L2PcInstance character) { activeChar = character; } @Override public void run() { // Check if the item is still on inventory. final ItemInstance item = activeChar.getInventory().getItemByObjectId(_objectId); if (item == null) return; // Equip or unEquip activeChar.useEquippableItem(item, false); } } If you use aCis, here's the modified task found on UseItem (will be part of rev 380) : if (activeChar.isAttackingNow()) ThreadPool.schedule(() -> { final ItemInstance itemToTest = activeChar.getInventory().getItemByObjectId(_objectId); if(itemToTest == null) return; activeChar.useEquippableItem(itemToTest, false); }, activeChar.getAttackEndTime() - System.currentTimeMillis()); else activeChar.useEquippableItem(item, true); Good luck everyone !
  2. Hello guys, nothing special, just a guy ask me for that and maybe more peoples looking for it. You select enchant aura for all weapons on character selection. Diff Created on aCis 378: Index: config/server.properties =================================================================== --- config/server.properties (revision 9) +++ config/server.properties (working copy) @@ -59,6 +59,10 @@ # Clients related options # ================================================================ +# Visual Enchant for weapons on character selection +# Disable : 0 +VisualEnchant = 16 + # Allow delete chars after D days, 0 = feature disabled. DeleteCharAfterDays = 7 Index: java/net/sf/l2j/Config.java =================================================================== --- java/net/sf/l2j/Config.java (revision 9) +++ java/net/sf/l2j/Config.java (working copy) @@ -497,6 +497,7 @@ public static boolean SERVER_GMONLY; /** clients related */ + public static int VISUAL_ENCHANT; public static int DELETE_DAYS; public static int MAXIMUM_ONLINE_USERS; @@ -1210,6 +1211,7 @@ SERVER_LIST_TESTSERVER = server.getProperty("TestServer", false); SERVER_LIST_PVPSERVER = server.getProperty("PvpServer", true); + VISUAL_ENCHANT = server.getProperty("VisualEnchant", 0); DELETE_DAYS = server.getProperty("DeleteCharAfterDays", 7); MAXIMUM_ONLINE_USERS = server.getProperty("MaximumOnlineUsers", 100); Index: java/net/sf/l2j/gameserver/network/serverpackets/CharSelectInfo.java =================================================================== --- java/net/sf/l2j/gameserver/network/serverpackets/CharSelectInfo.java (revision 9) +++ java/net/sf/l2j/gameserver/network/serverpackets/CharSelectInfo.java (working copy) @@ -6,6 +6,7 @@ import java.util.ArrayList; import java.util.List; +import net.sf.l2j.Config; import net.sf.l2j.L2DatabaseFactory; import net.sf.l2j.gameserver.data.sql.ClanTable; import net.sf.l2j.gameserver.model.CharSelectSlot; @@ -149,7 +150,7 @@ writeD((slot.getAccessLevel() > -1) ? ((slot.getDeleteTimer() > 0) ? (int) ((slot.getDeleteTimer() - System.currentTimeMillis()) / 1000) : 0) : -1); writeD(slot.getClassId()); writeD((i == _activeId) ? 0x01 : 0x00); - writeC(Math.min(127, slot.getEnchantEffect())); + writeC(Config.VISUAL_ENCHANT > 0 ? Config.VISUAL_ENCHANT : Math.min(127, slot.getEnchantEffect())); writeD(slot.getAugmentationId()); } getClient().setCharSelectSlot(_slots);
  3. This code show up a window with a list of ur target's inventory , and removes an item or more . code is not mine i found it on net i think credits go to Zealar , i just readapted it to 374 aCis rev . anyway it may come usefull for wiping bot's inv or ... w/e code tested and workin . package net.sf.l2j.gameserver.handler.admincommandhandlers; import java.util.Set; import net.sf.l2j.commons.lang.StringUtil; import net.sf.l2j.gameserver.handler.IAdminCommandHandler; import net.sf.l2j.gameserver.model.actor.instance.Player; import net.sf.l2j.gameserver.model.item.instance.ItemInstance; import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage; /** * This class handles following admin commands: * <ul> * <li>show_ivetory</li> * <li>delete_item</li> * </ul> * @author Zealar */ public class AdminInventory implements IAdminCommandHandler { private static final String[] ADMIN_COMMANDS = { "admin_show_inventory", "admin_delete_item" }; @Override public boolean useAdminCommand(String command, Player activeChar) { if ((activeChar.getTarget() == null)) { activeChar.sendMessage("Select a target"); return false; } if (!(activeChar.getTarget() instanceof Player)) { activeChar.sendMessage("Target need to be player"); return false; } Player player = activeChar.getTarget().getActingPlayer(); if (command.startsWith(ADMIN_COMMANDS[0])) { if (command.length() > ADMIN_COMMANDS[0].length()) { String com = command.substring(ADMIN_COMMANDS[0].length() + 1); if (StringUtil.isDigit(com)) { showItemsPage(activeChar, Integer.parseInt(com)); } } else { showItemsPage(activeChar, 0); } } else if (command.contains(ADMIN_COMMANDS[1])) { String val = command.substring(ADMIN_COMMANDS[1].length() + 1); player.destroyItem("GM Destroy", Integer.parseInt(val), player.getInventory().getItemByObjectId(Integer.parseInt(val)).getCount(), null, true); showItemsPage(activeChar, 0); } return true; } private static void showItemsPage(Player activeChar, int page) { final Player target = activeChar.getTarget().getActingPlayer(); final Set<ItemInstance> items = target.getInventory().getItems(); int maxItemsPerPage = 16; int maxPages = items.size() / maxItemsPerPage; if (items.size() > (maxItemsPerPage * maxPages)) { maxPages++; } if (page > maxPages) { page = maxPages; } int itemsStart = maxItemsPerPage * page; int itemsEnd = items.size(); if ((itemsEnd - itemsStart) > maxItemsPerPage) { itemsEnd = itemsStart + maxItemsPerPage; } final NpcHtmlMessage adminReply = new NpcHtmlMessage(0); adminReply.setFile("data/html/admin/inventory.htm"); adminReply.replace("%PLAYER_NAME%", target.getName()); StringBuilder sbPages = new StringBuilder(); for (int x = 0; x < maxPages; x++) { int pagenr = x + 1; sbPages.append("<td><button value=\"" + String.valueOf(pagenr) + "\" action=\"bypass -h admin_show_inventory " + String.valueOf(x) + "\" width=14 height=14 back=\"sek.cbui67\" fore=\"sek.cbui67\"></td>"); } adminReply.replace("%PAGES%", sbPages.toString()); StringBuilder sbItems = new StringBuilder(); for (ItemInstance item: items) { sbItems.append("<tr><td><button action=\"bypass -h admin_delete_item " + String.valueOf(item.getObjectId()) + "\" width=16 height=16 back=\"L2UI.bbs_delete\" fore=\"L2UI.bbs_delete\">" + "</td>"); sbItems.append("<td width=60>" + item.getName() + "</td></tr><br>"); } adminReply.replace("%ITEMS%", sbItems.toString()); activeChar.sendPacket(adminReply); } @Override public String[] getAdminCommandList() { return ADMIN_COMMANDS; } } register the handler and create : inventory.htm into gameserver/data/html/admin <html><body><title>Inventory : %PLAYER_NAME%</title> <center> <table width=270> <tr> %PAGES% </tr> </table> ___________________________________ </center> <br> <table width=270> %ITEMS% </table> </body> </html>
  4. Deleted all my shares a while ago but wanted to leave this one here because there are people selling this stupidly simple code. It's command based individual vote reward for Hopzone, Topzone and Network. Commands are .votehope, .votetop and .votenet. It is secured on both the account level and the IP level so it's as protected as it gets without adding HWID. It can be easily converted to a NPC based one. Code: https://gist.github.com/Elfocrash/a5ba37666dd9c4d3f9a9ec022301930c Link for gson 2.6.2 https://repo1.maven.org/maven2/com/google/code/gson/gson/2.6.2/gson-2.6.2.jar
  5. Hello everyone, i have code BossEvent for aCis 377. it takes me 15 minutes to code and quick test it so maybe there are some mistakes "or not". I test it quick and was fine, but if you find something wrong you can post here the problem and i will try to help. Maybe the code request more checks depends on your server features. Here is the code : https://pastebin.com/anzpX6mZ (Updated 03/01/2019) Credits : StinkyMadness Code can be used with @melron code :
  6. Hello MxC users, That will be my first share, and looking for more :) First of all, the Arabic script is very special with two essential features: 1- It is written from right to left 2- The characters' shape changes according to their surrounding characters. For example: م ك ي ل ع م ا ل س ل ا> that's the problem Arabic chat faces ( ignore the space between letters, couldn't show you the problem exactly since mxc supports Arabic xD ) السلام عليكم > this is after the fix Anyway, here is the file: https://www.dropbox.com/s/27hj4furl5la7y2/arabic chat.rar?dl=0 Note: I'm not a developer :/, I'm just a server owner that paid for this code and thought of sharing it. I used it for l2ro and it worked fine.
  7. Hello forum, i was searching around and i saw on many forum's peoples selling this code for gold. (30-40 euro) rolf... That's who we are, sad... So this is one "Gift" from me for the new year. On this code you have the listed options: You can add as many zones you want. You can setup for each zone the running time. (On the current diff i have make Giran Arena and Gludin Arena). Gatekeeper command : <a action="bypass -h npc_%objectId%_pvp">Random Zone</a> The codes required more then 1 zone. Ofc you can add your own configs like "Auto Flag" "Auto Nobles" and whatever you want.. take this share like platform and work on it. DIFF is coded on aCis 377 revision - Feel free to adapt it in whatever revision or project you need. Credits : StinkyMadness Code : https://pastebin.com/iiu80L0i
  8. I saw a guy trying to sell this code for 20E.... I thing you get what it is right? You have a chance to craft items with enchant. the only thing you have to do is to add 2 values in recipes.xml. example: <recipe alias="mk_leather_boots" id="69" material="1931-4;1882-8;1885-1;2130-1" product="40-1" itemId="2176" level="2" mpConsume="84" successRate="100" isDwarven="true"/> You can add enchant by adding enchantChance="70" enchant="4-19" (means you have 70% chance to get a random value from 4 - 19 as enchant) in case you want a constant value you can put it like "10-10" <recipe alias="mk_leather_boots" id="69" material="1931-4;1882-8;1885-1;2130-1" enchantChance="70" enchant="4-19" product="40-1" itemId="2176" level="2" mpConsume="84" successRate="100" isDwarven="true"/> rev 375 here is the code: [Hidden Content]
  9. A code i wrote for healers to receive pvp upon heal. https://pastebin.com/Ewgb6uv8 2 Things to adjust: 1. The method that calculate if healer has heal enough ( hasHealEnough ). I did the "calculate" randomly. Make it as you want base on levels or fixed heal value 2. Add the addHeal method to your Heal.java or whatever file your project has. And add the healerId of the healer who healed you.
  10. Hello i want to share this ingame balancer its for acis 372 its useless for me now. Files/Code: https://www101.zippyshare.com/v/nMPZpOej/file.html
  11. Hello there.. Here is my Epic Boss Manager from my old server. Nothing special, but some of you may need it. What's inside? Works only with retail Grandbosses. [No retail zaken id] Inform you about the status of Grandboss. Inform you about respawn time. Date/Time. Enable/Disable it on configs. # Announce Grandboss status. # Ex: If status for Antharas/Valakas/Frintezza change to 2 player get announce: # Grandboss>name is engaged in battle. # If status changed to 3: Grandbossname has been killed. Type .epic for details! # For Baium if status change to 1 - Baium is awake and fighting. # All Grandboses respawned - Grandbossname is spawned in the world! AnnounceGrandBossStatus = True [Hidden Content]
  12. Hello there.. Here is my buffer from my old server.. (Main html made by prwtoftw) 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 > [Hidden Content] Code/HTML/XML > [Hidden Content]
  13. Hello guys, Before 4-5 months i created a script for a new raid in order to avoid all classic raids that are really boring... It isn't something special, but i always like different and unusual things... Plagueseeker Raid Starting with some special cameras while all players are paralyzed. When the broadcast end, the following features stands there: action task every 2 seconds: There is 20% chance to 'debuff' a random player if is healer class Debuffs: 20% chance for 15% chance for 10% chance for 50% chance for There is 5% chance to 1) Spawn some minions when the hp of the raid is lower than 40% in order to protect the raid boss (can be happened unlimited times with chance 5%). Minions will suicide after 10 seconds after the spawn time if not get killed. 2) Pick a random target and kill him instant. When the hp of the raid is lower than 50% Broadcast again some special cameras (while players are paralyzed again), an earthquake for 5 seconds and instant kill 10 random players around the raid in 700 radius (can be happened only 1 time). inactivity task If the raid boss not attacked for more than 15 minutes, all players are going back and raid will be deleted. * All the above features are meant to be used in a boss zone ( i used 150000 as a custom one in my pack). Any feature wont work outside of the zone, I wont share any thing like that since its just c/p. * Its your responsibility to use the necessary checks in order to avoid bugs like move the raid out of zone. I coded for me at coliseum with doors closed. Also you have to set by urself how the raid will be spawned (i was about to code the spawn thing but i dont remember why i didnt). I used //spawn just for the video . Code: [Hidden Content] Coded (if i remember well) in acis 370. Note: If you want to expand it or understand how a script can be coded, check this topic (if any other post is related to scripts and have informations post it)
  14. Nothing special, just some small trivia engine I wrote back in 2012 for my server that I haven't been using since then because I dropped out this feature, so I leave it here if someone finds use for it package drake.aepvp.l2event; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.text.DecimalFormat; import java.util.ArrayList; import l2.ae.pvp.gameserver.ThreadPoolManager; import l2.ae.pvp.gameserver.model.actor.instance.L2PcInstance; import l2.ae.pvp.gameserver.network.serverpackets.CreatureSay; import l2.ae.pvp.gameserver.util.Broadcast; import l2.ae.pvp.gameserver.util.Util; import l2.ae.pvp.util.Rnd; public class TriviaEngine { private static final ArrayList<TriviaTemplate> _trivias = new ArrayList<>(); public TriviaEngine() { final File file = new File("./data/trivia.txt"); try (BufferedReader reader = new BufferedReader(new FileReader(file))) { String line; while ((line = reader.readLine()) != null) { final String[] explode = line.split(" - "); _trivias.add(new TriviaTemplate(explode[0], explode[1])); } System.out.println("Succesfully loaded " + _trivias.size() + " Trivia Quizes!"); } catch (final Exception e) { e.printStackTrace(); System.out.println("Unsuccesfully loaded " + _trivias.size() + " Trivia Quizes!"); } if (_trivias.size() > 10) ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(() -> { TriviaEvent.currentTrivia = new TriviaEvent(); }, 1800000, 1600000 + Rnd.get(400000)); } public static class TriviaEvent { private static TriviaEvent currentTrivia; private static DecimalFormat df = new DecimalFormat("###.##"); private final long startTime = System.currentTimeMillis(); private L2PcInstance closeAnswer; private final TriviaTemplate trivia; public TriviaEvent() { trivia = Util.getRandomItem(_trivias); Broadcast(trivia.getQuestion()); Broadcast("PM \"trivia with the answer."); ThreadPoolManager.getInstance().scheduleGeneral(() -> { if (currentTrivia == this) { Broadcast("The correct answer was " + trivia.getAnswer() + ", unfortunately nobody found the answer before the deadline."); if (closeAnswer != null) { Broadcast(closeAnswer.getName() + " wins a small reward for being close enough!"); reward(closeAnswer, 0); } currentTrivia = null; } }, 90000); } private long getTimePassedMillis() { return System.currentTimeMillis() - startTime; } public void check(final L2PcInstance player, String answer) { final long timePassed = getTimePassedMillis(); toTrivia(player, answer, timePassed); answer = answer.toLowerCase(); final String correct = trivia.getAnswer().toLowerCase(); if (answer.equals(correct)) { fromTrivia(player, "That is the correct answer!"); reward(player, timePassed); Broadcast(player.getName() + " found the answer in " + format(timePassed) + " seconds!"); Broadcast("The correct answer was " + trivia.getAnswer() + "."); currentTrivia = null; } else if (answer.length() > 1 && (correct.indexOf(answer) != -1 || correct.startsWith(answer) || correct.endsWith(answer))) { fromTrivia(player, "You are close!"); if (closeAnswer == null) closeAnswer = player; } else fromTrivia(player, "Thats the incorrect answer."); } private void reward(final L2PcInstance player, final long time) { if (time == 0) player.addItem("Trivia", 6320, 1, player, true); else if (time < 4333) player.addItem("Trivia", 6320, 4, player, true); else if (time < 8666) player.addItem("Trivia", 6320, 3, player, true); else if (time < 91000) player.addItem("Trivia", 6320, 2, player, true); } private static void toTrivia(final L2PcInstance player, final String msg, final long timePassed) { final CreatureSay cs = new CreatureSay(0, 2, "->Trivia", "you answered \"" + msg + "\" in " + format(timePassed) + " seconds."); player.sendPacket(cs); } private static void fromTrivia(final L2PcInstance player, final String msg) { final CreatureSay cs = new CreatureSay(0, 2, "Trivia", msg); player.sendPacket(cs); } public void Broadcast(final String msg) { Broadcast.toAllOnlinePlayers(new CreatureSay(0, 18, "", "Trivia: " + msg)); } private static String format(final long time) { return df.format((double) time / 1000); } public static TriviaEvent getCurrentTrivia() { return currentTrivia; } } public static class TriviaTemplate { private final String _question; private final String _answer; public TriviaTemplate(final String question, final String answer) { _question = question; _answer = answer; } public String getQuestion() { return _question; } public String getAnswer() { return _answer; } } public static class InstanceHolder { protected static TriviaEngine instance = new TriviaEngine(); } public static TriviaEngine getInstance() { return InstanceHolder.instance; } } To connect it to your gameserver just put this somewhere in Say2.java if (_type == TELL && "trivia".equalsIgnoreCase(_target)) { final TriviaEvent trivia = TriviaEngine.TriviaEvent.getCurrentTrivia(); if (trivia == null) activeChar.sendMessage("Could not find an active Trivia Event."); else trivia.check(activeChar, _text); return; } Trivia data I was using (I generated this with a java program that was leeching QAs from various sites) https://pastebin.com/Bgei8Tpa Things you have to do by urself: Don't ask the same question within a time period Create your own QA data on trivias.txt Unhardcode the rewards or just edit them impelement a //reload feature The code is tested on live server and worked great, but it is not unit tested and I don't remember if these functions are regex vulnerable
  15. Hello guys, I had a request to make a donation manager but when i finished the guy decided to not open his server (wtf?) so the npc is now useless to me. What is this? A donation manager that selling packages with items and stats like nobl,rec etc. Categories can be added easily i will explain later Current added categories: Bronze,Silver,Gold,Platinum,Diamond,Master,Grandmaster How to configure it? Its configurable via xml How i can add items? <Package item="57,500"/> Will have as a reward 500 adena. How i can add enchanted item? <Package item="7575,1" enchant ="15"/> Will have as reward draconic bow +15 How to add stats like nobl? <Package noblesse="true"/> <Package autoDyes="true"/> <Package rec="50"/> It is can handle noblesse,auto dyes (depends on the current class of the player) and recommends. Some photos: I wont upload video ... I'm not sure about in which aCis rev is coded but it does not matter. Also i'm not friend with html designs, so don't hit me :D P.s Auto dyes system is setted up by my opinion about dyes. You can easily edit it in DonationDyes.java code data/html/mods/donate/ data/xml
  16. Hello, this event I was creating, but I do not know what else to do, I took a lot of it out and there is a lot to be removed, I can not finish it any more, so anyone who wants to finish is a good event... https://pastebin.com/raw/x9GwZugx
  17. Hello guys, Long time ago, i had to create zone using NPoly and due to fact that is pain in the ass, i've decided to make this code. It's not unique, it's just slightly helpful thing which is going to make your life easier and save a bit time. To understand how the zones work take a look @SweeTs topic. You will understand many things. What is it? You have to select the zone type (NPoly,Cuboid,Cylinder) Set the coordinates (//saveLoc will store the current loc) Once you set all the locs you can save it in xml via the button Store or //storeLocs The Z distance can be found zDifference ( i made it 1000 as default but its up to you and the zone). P.S Im so lazy to make the htmls good. (even the first one , its not my job :P) coded for aCis 374 @StinkyMadness *Update* (far better than mine) Using 1 HTML and not 3 HTML Designed like other aCis admin panel code
  18. Hello i found a code in another forum and i post here. working fine in acis 365 Gameserver: http://pastebin.com/Pc2ZxS1L gameserver http://pastebin.com/ArftpRKH DataPck some pictures
  19. ExGuard team this is one patch for you see how work hwid , open url , Exception ip system ( for internet cafe ) i have change only protocol version so is very easy to bypass it ( is only for test servers ) Interlude Client java code and dll virustotal if don't work with your system can you download this
  20. Index: config/head/altsettings.properties =================================================================== --- config/head/altsettings.properties (revision 1118) +++ config/head/altsettings.properties (working copy) # Maximum number of debuffs MaxDebuffAmount = 6 +# ----------------------------------------- +# Canceled Buffs Return +# ----------------------------------------- +# With this feature, players will get their +# canceled buffs back after the amount of +# seconds you've set on CustomCancelSeconds +# Enable Canceled Buffs Return? +# Default : False +AllowCustomCancelTask = False + +# Time for buffs to return in seconds +# Default: 15 +CustomCancelSeconds = 15 Index: head-src/com/l2jfrozen/Config.java =================================================================== --- head-src/com/l2jfrozen/Config.java (revision 1118) +++ head-src/com/l2jfrozen/Config.java (working copy) public static boolean ALT_MOBS_STATS_BONUS; public static boolean ALT_PETS_STATS_BONUS; + public static boolean ALLOW_CUSTOM_CANCEL; + public static int CUSTOM_CANCEL_SECONDS; =================================================================== ALT_LOTTERY_2_AND_1_NUMBER_PRIZE = Integer.parseInt(altSettings.getProperty("AltLottery2and1NumberPrize", "200")); BUFFS_MAX_AMOUNT = Byte.parseByte(altSettings.getProperty("MaxBuffAmount", "24")); DEBUFFS_MAX_AMOUNT = Byte.parseByte(altSettings.getProperty("MaxDebuffAmount", "6")); + ALLOW_CUSTOM_CANCEL = Boolean.parseBoolean(altSettings.getProperty("AllowCustomCancelTask", "false")); + CUSTOM_CANCEL_SECONDS = Integer.parseInt(altSettings.getProperty("CustomCancelSeconds", "15")); Index: head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Disablers.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Disablers.java (revision 1118) +++ head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Disablers.java (working copy) import java.io.IOException; +import java.util.Vector; import org.apache.log4j.Logger; =================================================================== import com.l2jfrozen.gameserver.model.actor.instance.L2PetInstance; import com.l2jfrozen.gameserver.model.actor.instance.L2SiegeSummonInstance; +import com.l2jfrozen.gameserver.model.entity.CustomCancelTask; import com.l2jfrozen.gameserver.network.SystemMessageId; import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage; import com.l2jfrozen.gameserver.skills.Formulas; import com.l2jfrozen.gameserver.skills.Stats; +import com.l2jfrozen.gameserver.thread.ThreadPoolManager; import com.l2jfrozen.util.random.Rnd; =================================================================== case CANCEL: { + Vector<L2Skill> cancelledBuffs = new Vector<>(); if (target.reflectSkill(skill)) { target = activeChar; } =================================================================== else if (rate < 5) { rate = 5; } if (Rnd.get(100) < rate) { + if (Config.ALLOW_CUSTOM_CANCEL) + { + if (!cancelledBuffs.contains(e.getSkill()) && !((L2PcInstance)activeChar).isInOlympiadMode()) + { + cancelledBuffs.add(e.getSkill()); + } + } e.exit(true); maxfive--; if (maxfive == 0) { break; } } } } } + if (Config.ALLOW_CUSTOM_CANCEL) + { + + if (cancelledBuffs.size() > 0) + ThreadPoolManager.getInstance().scheduleGeneral(new CustomCancelTaskManager((L2PcInstance)target, cancelledBuffs), Config.CUSTOM_CANCEL_SECONDS *1000); + } effects = null; } =================================================================== else if (rate < 5) { rate = 5; } if (Rnd.get(100) < rate) { + if (Config.ALLOW_CUSTOM_CANCEL) + { + if (!cancelledBuffs.contains(e.getSkill()) && !((L2PcInstance)activeChar).isInOlympiadMode()) + { + cancelledBuffs.add(e.getSkill()); + } + } e.exit(true); maxdisp--; if (maxdisp == 0) { break; } } } } } + if (Config.ALLOW_CUSTOM_CANCEL) + { + if (cancelledBuffs.size() > 0) + ThreadPoolManager.getInstance().scheduleGeneral(new CustomCancelTaskManager((L2PcInstance)target, cancelledBuffs), Config.CUSTOM_CANCEL_SECONDS *1000); + } // effects = null; Index: head-src/com/l2jfrozen/gameserver/model/entity/CustomCancelTask.java =================================================================== --- head-src/com/l2jfrozen/gameserver/model/entity/CustomCancelTask.java (nonexistent) +++ head-src/com/l2jfrozen/gameserver/model/entity/CustomCancelTask.java (working copy) /* * 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.entity; import java.util.Vector; import com.l2jfrozen.gameserver.model.L2Skill; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; /** * @author Psyancy * */ public class CustomCancelTaskManager implements Runnable { private L2PcInstance player = null; private Vector<L2Skill> buffsCanceled = null; public CustomCancelTaskManager(L2PcInstance p, Vector<L2Skill> skill) { player = p; buffsCanceled = skill; } @Override public void run() { if (player == null) return; for (L2Skill skill : buffsCanceled) { if (skill == null) continue; skill.getEffects(player, player); } } } Credits for the original Code: Anarchy Credits for the modifications: Bluur
  21. hello guys i share a good panel for low rate or pvp server is working in all project Update Link: https://pastebin.com/kpQ3rT7k Sql icons + code : here Update 28/11/2017 Some Photo Update link for any problem send me PM tnx!
  22. Pretty self explanatory. This is a new Packet in order to open any url that you want to the user's pc. Can be used in vote rewards and shit like that. It is for Interlude. package net.sf.l2j.gameserver.network.serverpackets; /** * @author Elfocrash * */ public class OpenUrl extends L2GameServerPacket { private final String _url; public OpenUrl(String url) { _url = url; } @Override protected final void writeImpl() { writeC(0x70); writeS(_url); } } Usage: activeChar.sendPacket(new OpenUrl("https://www.google.co.uk/")); Client side: entry.dll Engine.dll in case just the entry file doens't work: engine.dll If the two things above don't work either here is the whole vanilla system: system Thanks to Szaka for helping me understand how this shit works btw.
  23. hello, i see many ppl start share thing so i decide to share a small code. this code show you the id from any item you click. photo: http://prntscr.com/dsc7gl UseItem.java + if (activeChar.isGM()) activeChar.sendPacket(new CreatureSay(0, Say2.PARTY, "[NameServer]", "Item ID :" + item.getItemId() + " | Name :" + + item.getItemName())); if (activeChar.isFishing() && item.getItem().getDefaultAction() != ActionType.fishingshot)
  24. Hello guys. I create this Newbies Manager[start up] for my project and now I want to share it with you! Player can't get Items/Teleport without to get the Third Class. Diff Link
  25. 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