Jump to content
  • Sign Up
×
×
  • Create New...

Leaderboard

  1. 0x32

    0x32

    Members


    • Points

      24

    • Posts

      1


  2. Admin

    Admin

    Administrator


    • Points

      6

    • Posts

      280


  3. AlisaCodeDragon

    AlisaCodeDragon

    Reverse Code


    • Points

      4

    • Posts

      4


  4. Hondata

    Hondata

    Moderator


    • Points

      3

    • Posts

      8


Popular Content

Showing content with the highest reputation since 11/10/2021 in Posts

  1. Nearly 71 million unique credentials stolen for logging into websites such as Facebook, Roblox, eBay, and Yahoo have been circulating on the Internet for at least four months, a researcher said Wednesday. Troy Hunt, operator of the Have I Been Pwned? breach notification service, said the massive amount of data was posted to a well-known underground market that brokers sales of compromised credentials. Hunt said he often pays little attention to dumps like these because they simply compile and repackage previously published passwords taken in earlier campaigns. Post appearing on breach site advertising the availability of naz.api password data. Not your typical password dump Some glaring things prevented Hunt from dismissing this one, specifically the contents indicating that nearly 25 million of the credentials had never been leaked before: 319 files totaling 104GB 70,840,771 unique email addresses 427,308 individual HIBP subscribers impacted 65.03 percent of addresses already in HIBP (based on a 1,000 random sample set) “That last number was the real kicker,” Hunt wrote. “When a third of the email addresses have never been seen before, that's statistically significant. This isn't just the usual collection of repurposed lists wrapped up with a brand-new bow on it and passed off as the next big thing; it's a significant volume of new data. When you look at the above forum post the data accompanied, the reason why becomes clear: it's from ‘stealer logs’ or in other words, malware that has grabbed credentials from compromised machines.” Further Reading A redacted image that Hunt posted showing a small sample of the exposed credentials indicated that account credentials for a variety of sites were swept up. Sites included Facebook, Roblox, Coinbase, Yammer, and Yahoo. In keeping with the claim that the credentials were collected by a “stealer”—malware that runs on a victim’s device and uploads all user names and passwords entered into a login page—the passwords appear in plaintext. Account credentials taken in website breaches are almost always cryptographically hashed. (A sad aside: Most of the exposed credentials are weak and would easily fall to a simple password dictionary attack.) Screenshot showing a sample of 20 credential pairs, with usernames redacted. Have I Been Pwned? Data collected by Have I Been Pwned indicates this password weakness runs rampant. Of the 100 million unique passwords amassed, they have appeared 1.3 billion times.
    24 points
  2. Hello! My name is Daniel and I would like to offer my services as Web & Graphic Designer. What I'm offering: - Web: Design and HTML/CSS Coding - Graphic: Promotional Banners (Animated or not), Launchers and anything related to graphic - The price of my services depends on the complexity of the project, but as example: Web Design (design + html/css coding included) starts at 300$. - Web portfolio: Graphic Portfolio: Animated Banners: Thanks for reading and I hope you guys like it My discord: un1k.digital
    2 points
  3. ✯✯✯✯✯✯✯✯✯✯✯✯ SHARE ✯✯✯✯✯✯✯✯✯✯✯✯✯✯ Lineage II OLD SCOOL Goddess of Destruction Awakening Revision/Protocol 414 EU CLEAN SYSTEM SPECIAL INTERFACE 4 BAR [ LANG: ENGLISH-ORIGINAL ] Clean System Patch Lineage 2 L2exe + Core.dll + Engine.dll unpacked clean 100% [unpacked REVERSECODE-TEAM ] [ Kill game guard ][ Kill FROST ] [ Kill AwesomiumProcess ] download only system patch [Hidden Content] < download full client+system [Hidden Content] < pass - REVERSECODE-TEAM ✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯
    1 point
  4. ✯✯✯✯✯✯✯✯✯✯✯✯ SHARE ✯✯✯✯✯✯✯✯✯✯✯✯✯✯ REVISION HIGH FIVE EN 268 CLEAN SYSTEM SPECIAL INTERFACE 4 BAR [ LANG:ENGLISH-ORIGINAL ] Clean System Patch Lineage 2 L2exe + Engine.dll unpacked clean 100% [unpacked REVERSECODE-TEAM ] [ Kill game guard ][ [patched] rsa ] download only system patch [Hidden Content] < download full client+system [Hidden Content] < pass - REVERSECODE-TEAM ✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯
    1 point
  5. ✯✯✯✯✯✯✯✯✯✯✯✯ SHARE ✯✯✯✯✯✯✯✯✯✯✯✯✯✯ REVISION FAFURION REV 166 EU CLEAN SYSTEM SPECIAL INTERFACE 5 BAR [ Date 23.01.2019 ][ LANG: EUROPE-ORIGINAL ] Clean System Patch Lineage 2 L2exe + Core.dll + Engine.dll unpacked clean 100% [unpacked REVERSECODE-TEAM ] [ Kill game guard ][ Kill FROST ] [ Kill AwesomiumProcess ] download only system patch [Hidden Content] download full client+system [Hidden Content] pass - REVERSECODE-TEAM ✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯
    1 point
  6. ✯✯✯✯✯✯✯✯✯✯✯✯ SHARE ✯✯✯✯✯✯✯✯✯✯✯✯✯✯ REVISION CLASSIC EU 110 - Interlude CLEAN SYSTEM SPECIAL INTERFACE 5 BAR [ Date 23.10.2017 ][ LANG: EUROPE-ORIGINAL ] Clean System Patch Lineage 2 L2exe + Core.dll + Engine.dll unpacked clean 100% [unpacked REVERSECODE-TEAM ] [ Kill game guard ][ Kill FROST ] [ Kill AwesomiumProcess ] download full [Hidden Content] pass - REVERSECODE-TEAM ✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯
    1 point
  7. This is atualstudio website template also the statics are addapted for lucera you can use it! [Hidden Content] Credits: AtualStudio, Dragic
    1 point
  8. I was born in Belarus, in the city of Mir. We lived in a private house - me, my mother and father, and my older brother Vanya. The family was large and cheerful. Everything was fine until my mother got pregnant and gave birth to little Sveta. As soon as Sveta turned 2, my mother abandoned us. We lived for another five years: me, my father, and my sister.
    1 point
  9. The links are broken, could you tell me where I can get the files?
    1 point
  10. Τhere are untranslated parts on the website and some wrongly translated, if you see some of them please report them here. An ideal report would be like - Note: You can also add an image or the url where is this translation located Thank you all! For verified travel tips and real support, visit: [Hidden Content]
    1 point
  11. Patch: [Hidden Content] Full source code: [Hidden Content]
    1 point
  12. With the previous method, the individual reward was not being delivered. With this correction, it works, but I'm not 100% sure if it's correct diff --git java/hopzone/eu/command/VoteCMD.java java/hopzone/eu/command/VoteCMD.java if (Random.get(100) < chance || chance >= 100) { // reward item - player.addItem(TOPSITE, itemId, count, player, true); + player.addItem(itemId, count, true); } } I hope it is useful
    1 point
  13. SPP-Aion 5.8 repack This repack only working on Win64 (x64) systems. Included in this repack: - Modified AionGermany 5.8 emulator ([Hidden Content]) - Portable java 7 and 8 x64 (both required) - Click and play How to install: 1. Download the package 2. Extract it anywhere 3. Start the servers, start with 1_start_database.bat 4. Use the included launcher to start the game (read the Readme for more information) Download
    1 point
  14. 1 point
  15. L2 UMA X2000 Chronicle Interlude Custom PvP Custom Weapons: Gold weapons Custom Armors: Apella, Dynasty, Rykros Custom Mask Custom Tattoo ( Level 1 , Premium ) Server Online Website: [Hidden Content] Facebook: [Hidden Content] L2Uma Special Event - For New Players - on 03.01.2024January 19:00 GMT+2 All players will get Premium Account for 1 Day on start Day! Register your clan in Discord to get Clan level 8 with all skills and Premium Account for party leader for 1 week (Clan leader chooses the people for PA). Streamer event, get 40 Donate coins for 4 hours of stream. Limited to 2 streamers per clan and one reward per day. (3)Castle Reward (only For Active Members And Leaders Clans) Event on th of 06.01.2024 January 19:00 GMT+2 (Only Clan Leader) Get Reward winners will share 150 Donation Coin Giran Castle 150 Donate Coin Goddart Castle 150 Donate Coin Aden Castle 150 Donation Coin View full server
    1 point
  16. L2Aaron x1000 PvP Server Check Our new Features Of Lineage 2 Aaron 2014-2023 Experience & Drop Rates - Normal Account * Xp: x1000 * Sp: x1000 * Party Xp: x1.2 * Party Sp: x1.2 * Adena: x45 * Raid Boss drop: x7 * Epic Boss drop: x7 * Epic Boss jewelry: x1 * Drop Rate: x7 * Spoil Drop: x10 * Rate Drop SealStones: x2 Experience & Drop Rates - Premium Account * Xp: x1500 * Sp: x1500 * Party Xp: x1.4 * Party Sp: x1.4 * Adena: x75 * Raid Boss drop: x10 * Epic Boss drop: x10 * Epic Boss jewelry: x1 * Drop Rate: x10 * Spoil Drop: x15 * Rate Drop SealStones: x4 * Color Name: Yellow * Color Tittle: Green Enchant Rates Item enchant limits and rates Safe Enchant +6 Max Enchant +20 Normal Enchant Scroll Rate 60% Blessed Enchant Scroll Rate 80% Normal Enchant If Enchant fails item broke Blessed Enchant If Enchant fails return -1 Enchant Daily Events Reward PvP - Event Medals Deathmatch Last Man Standing Lucky Chests Team vs Team VIP Team vs Team Simon Says General Information Interlude C6 Reworked all class balance and we made the Best Balance at PvP's and Olympiad Games since 2014 Mana Potion restores 1000 MP with 5 second reuse Auto Potions and more using .menu in game Shift + click you check monster drop and spoil Free teleport to catacomb and Necropolis at gatekeeper All items on GM Shop you can get with adena Auto Loot No Auto Loot on Raids All Epics - Bosses are 80 LvL Custom Mage & Fighter Tattoo & Tattoo of Aaron 2 Custom Shields For Fighters (Zombie Shield - Dusk Shield "Aka Lilith Shield") - Same stats with S grade shield Imperial 1 Custom Weapon For Mages ( Dusk Sword Acumen "Aka Lilith Sword") - Same Stats with Arcana Mace Acumen Custom accessories Baium Hair and more gives + 1000 CP Class without quest Subclass without quest Subclass starting lvl = 40 Max Subclasses = 4 You can add any subclass in Maximilian [ALL IN ONE] All active/passive augments are fully working! 1 Active or 1 Passive (x1) Lifestone Skill Chance Glow 100% for every stone: Mid 5% High 10% Top 15% PvP Color System use .info in game Castle Sieges every week Olympiad max Enchant +6 If you have +20 Enchants when you enter in olympiad become +6 Olympiad system fully working with perfect class balance Heroes every 1 week All buffs in custom buffer max buffs 55+4 buff time 2 hours Max clan members 45 Max Bishops in party 2 Max Clans in Alliance 1 Create a clan = lvl 8 instantly Clan skills you must kill raid bosses and get raid boss token Automatic Custom item for clan skills No need to get clan eggs All your members of your clan have all the clan skills (u dont need to create Royal Guards & Knights) Castle Sieges every week Bot protection Active Anti Cheat Custom PVP System with restrictions (Solo PVP Zone) PvP Zones change every hour Pvp zone restrictions: No Bishops/Support class can enter You Cant use party inside to the zone You can write in clan/party/alliance chat Auto Noblesse Your Tittle / clan crest / ally crest will removed Only IN Pvp Zone You can get PvP-Event Medal Feed is not allowed To leave pvp zone just press .exit ( this command works only in pvp zone) Custom Item Per kill PvP-Event Medal Custom Party Zone Party Zone restrictions: Flag Zone Anakim Bosses Enter the Party Zone You need 3 party members Drops Gold Coins - Bogs - Mid & High Ls Custom Dynamic Zone [ INSTANCE ] with Bosses 1. Dynamic zone Opens for 2 Hours every day 16:00- 18:00 2. Every stage of the zone incuding 5 bosses 3. You need 7 members in your party to travel in every stage 4. when you killing the boss a gatekeeper will spawn there 5. every boss you kill gatekeeper spawn everytime to move with your party at the next stage 6. Dynamic zone have 5 stages = 5 bosses with hight drops more info in game instance manager 7. every zone is flag zone 8. you cant enter in those zones with out party 9. only party leader can use all the teleports for every stage Daily Missions Engine Do missions and get rewarded Tournaments Engine Play tournaments and get rewarded 1v1 Party vs Party Custom 38 Raid Bosses Area Respawn Every 24 Hours 19 Bosses Flag Zone - 19 Bosses No Flag Zone Custom Drop Raid Boss Token (You need them for clan skills) Official Drops + Top/High/Mid Ls Bogs x10 Epic Bosses CUSTOM TIMERS FOR EVERY EPIC BOSS Drops x1 Epic - Scrolls Blessed - Lifestones - Adena -Tokens Teleport in Epics areas you dont need quest its disable You Need Party 7+ Members to use the teleports Epics area is flag zone except orfen and core Antharas respawn every day: 23:00 GTM +2 Valakas respawn every day: 22:00 GTM +2 Queen Ant respawn every day: 21:00 GTM +2 Baium respawn every day: 20:00 GTM +2 Zaken respawn every day: 19:00 GTM +2 Frintezza respawn every day: 18:00 GTM +2 Orfen respawn every day: 17:00 GTM +2 Core respawn every day: 16:00 GTM +2 And many other cool Features Inside the game We keep updating our project with love of this game since 2014 View full server
    1 point
  17. Hello everyone! My name is Vitaly and I am a front-end web developer who likes not simple tasks. I make responsive templates from Photoshop, Adobe XD, Figma, Avocode, Zeplin designs. I have been creating websites for more than 7 years and have made many templates for Lineage 2 projects (and not only l2), which you have most likely seen My main skills are HTML5, CSS3, javascript, Node.js, Git, jQuery, ajax, CSS flexbox, grid layout, Pixel-perfect, css animation, php, BEM methodology and any more This is my portfolio: [Hidden Content] And my personal website: [Hidden Content] Here are a few few working sites that I've been doing: And a few more examples: The average cost of my services is $10 per hour, depending on the complexity of the work. My contacts: Telegram: [Hidden Content] E-mail: *****@*****.tld Skype: l2banners
    1 point
  18. L2 DarkNick Interlude Server View full server
    1 point
  19. Saves all active toggle skills from player and it restores them back on revive. Ideal for a pvp zone or in general if u want to. Preview: Video //To save player effects (onDie) RestoreEffectsManager.getInstance().savePlayerEffects(player); //To Restore player effects (onRevive) RestoreEffectsManager.getInstance().restorePlayerEffects(player); Code for source: diff --git a/java/net/sf/l2j/gameserver/mods/RestoreEffects.java b/java/net/sf/l2j/gameserver/mods/RestoreEffects.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/mods/RestoreEffects.java @@ -0,0 +1,98 @@ +package net.sf.l2j.gameserver.mods.returneffects; + +import java.util.Collection; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicInteger; +import net.sf.l2j.gameserver.model.actor.Player; +import net.sf.l2j.gameserver.skills.AbstractEffect; + +public class RestoreEffects +{ + final Map<Integer, AbstractEffect> _effects = new ConcurrentHashMap<>(); + Player _player = null; + private final AtomicInteger _intcounter = new AtomicInteger(); + + public RestoreEffects(Player player) + { + this._player = player; + } + + public void startSavingEffects() + { + for (AbstractEffect effect : _player.getAllEffects()) + { + final int counter = _intcounter.incrementAndGet(); + if (effect.getSkill().isToggle()) + _effects.put(counter, effect); + } + } + + public void restoreEffects() + { + for (AbstractEffect effect : getModEffects()) + { + _player.getCast().doToggleCast(effect.getSkill(), _player); + } + } + + public int effectsSize() + { + return _effects.size(); + } + + public Collection<AbstractEffect> getModEffects() + { + return _effects.values(); + } +} diff --git a/java/net/sf/l2j/gameserver/mods/RestoreEffectsManager.java b/java/net/sf/l2j/gameserver/mods/RestoreEffectsManager.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/mods/RestoreEffectsManager.java +package net.sf.l2j.gameserver.mods.returneffects; + +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +import net.sf.l2j.gameserver.model.actor.Player; + +public class RestoreEffectsManager +{ + final Map<Integer, RestoreEffects> _effects = new ConcurrentHashMap<>(); + + public void savePlayerEffects(Player player) + { + if (player.getAllEffects() == null) + return; + + RestoreEffects modEffects = new RestoreEffects(player); + modEffects.startSavingEffects(); + _effects.put(player.getObjectId(), modEffects); + } + + public void restorePlayerEffects(Player player) + { + RestoreEffects rEffects = getPlayerEffects(player.getObjectId()); + + if (rEffects == null) + return; + + rEffects.restoreEffects(); + } + + public RestoreEffects getPlayerEffects(int plrObjId) + { + return _effects.get(plrObjId); + } + + public static final RestoreEffectsManager getInstance() + { + return SingletonHolder._instance; + } + + private static class SingletonHolder + { + protected static final RestoreEffectsManager _instance = new RestoreEffectsManager(); + } +} Credits for this mod: LordPanic (I have been approved to upload his codes) For verified travel tips and real support, visit: [Hidden Content]
    1 point
  20. As title says. Note: You can change the colors etc from xml. code for source: diff --git a/java/net/sf/l2j/gameserver/data/xml/PvPColorSystem.java b/java/net/sf/l2j/gameserver/data/xml/PvPColorSystem.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/data/xml/PvPColorSystem.java @@ -0,0 +1,98 @@ +package net.sf.l2j.gameserver.data.xml; + +import java.nio.file.Path; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +import net.sf.l2j.commons.data.xml.IXmlReader; + +import net.sf.l2j.gameserver.model.actor.Player; +import org.w3c.dom.Document; +import org.w3c.dom.NamedNodeMap; + + +public class PvPColorSystem implements IXmlReader +{ + final Map<Integer, Integer> _nameColors = new ConcurrentHashMap<>(); + final Map<Integer, Integer> _titleColors = new ConcurrentHashMap<>(); + + public static PvPColorSystem getInstance() + { + return PvPColorSystem.SingletonHolder._instance; + } + + private static class SingletonHolder + { + protected static final PvPColorSystem _instance = new PvPColorSystem(); + } + + public PvPColorSystem() + { + load(); + } + + @Override + public void load() + { + parseFile("./data/xml/pvpColors.xml"); + LOGGER.info("PvpColorSystem: loaded " + _nameColors.size() + " [Name] colors and " + _titleColors.size() + " [Title] colors."); + } + + public void setNameColors(int pvps, int color) + { + _nameColors.put(pvps, color); + } + + public void setTitleColors(int pvps, int color) + { + _titleColors.put(pvps, color); + } + + public void updateNameColor(Player player) + { + _nameColors.forEach((kills, color) -> + { + if (player.getPkKills() >= kills) + + player.getAppearance().setTitleColor(color); + }); + } + + public void updateTitleColor(Player player) + { + _titleColors.forEach((kills, color) -> + { + if (player.getPvpKills() >= kills) + + player.getAppearance().setNameColor(color); + }); + } + + @Override + public void parseDocument(Document doc, Path path) + { + forEach(doc, "list", listNode -> forEach(listNode, "pvpcolors", pvpColors -> + { + forEach(pvpColors, "pvp", pVp -> + { + forEach(pVp, "title", titleColors -> + { + final NamedNodeMap pvpCls = titleColors.getAttributes(); + setTitleColors(parseInteger(pvpCls, "pvpKills"), Integer.decode("0x" + parseString(pvpCls, "color"))); + + }); + }); + + forEach(pvpColors, "pk", pK -> + { + forEach(pK, "name", nameColors -> + { + final NamedNodeMap pkCls = nameColors.getAttributes(); + setNameColors(parseInteger(pkCls, "pkKills"), Integer.decode("0x" + parseString(pkCls, "color"))); + }); + }); + + })); + } +} diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver.GameServer.java b/aCis_gameserver/java/net/sf/l2j/gameserver.GameServer.java index a707ce5..d247e2e 100644 --- a/aCis_gameserver/java/net/sf/l2j/gameserver.GameServer.java +++ b/aCis_gameserver/java/net/sf/l2j/gameserver.GameServer.java import net.sf.l2j.gameserver.data.xml.MultisellData; import net.sf.l2j.gameserver.data.xml.NewbieBuffData; import net.sf.l2j.gameserver.data.xml.NpcData; import net.sf.l2j.gameserver.data.xml.PlayerData; import net.sf.l2j.gameserver.data.xml.PlayerLevelData; +import net.sf.l2j.gameserver.data.xml.PvPColorSystem; import net.sf.l2j.gameserver.data.xml.RecipeData; import net.sf.l2j.gameserver.data.xml.ScriptData; import net.sf.l2j.gameserver.data.xml.SkillTreeData; StringUtil.printSection("Four Sepulchers"); FourSepulchersManager.getInstance(); StringUtil.printSection("Quests & Scripts"); ScriptData.getInstance(); + PvPColorSystem.getInstance(); if (Config.ALLOW_BOAT) { BoatManager.getInstance(); diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java index a707ce5..d247e2e 100644 --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java import net.sf.l2j.gameserver.data.xml.AdminData; import net.sf.l2j.gameserver.data.xml.AnnouncementData; import net.sf.l2j.gameserver.data.xml.MapRegionData.TeleportType; +import net.sf.l2j.gameserver.data.xml.PvPColorSystem; import net.sf.l2j.gameserver.enums.CabalType; import net.sf.l2j.gameserver.enums.SealType; import net.sf.l2j.gameserver.enums.SiegeSide; // Tutorial final QuestState qs = player.getQuestList().getQuestState("Tutorial"); if (qs != null) qs.getQuest().notifyEvent("UC", null, player); + PvpColorSystem.getInstance().updateNameColor(player); + PvpColorSystem.getInstance().updateTitleColor(player); player.sendPacket(ActionFailed.STATIC_PACKET); } @Override protected boolean triggersOnActionRequest() { return false; } diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/Player.java b/aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/Player.java index a707ce5..d247e2e 100644 --- a/aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/Player.java +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/Player.java import net.sf.l2j.gameserver.data.xml.MapRegionData.TeleportType; import net.sf.l2j.gameserver.data.xml.NpcData; import net.sf.l2j.gameserver.data.xml.PlayerData; import net.sf.l2j.gameserver.data.xml.PlayerLevelData; +import net.sf.l2j.gameserver.data.xml.PvPColorSystem; import net.sf.l2j.gameserver.enums.AiEventType; import net.sf.l2j.gameserver.enums.CabalType; import net.sf.l2j.gameserver.enums.GaugeColor; import net.sf.l2j.gameserver.enums.LootRule; // Check if it's pvp (cases : regular, wars, victim is PKer) if (checkIfPvP(target) || (targetPlayer.getClan() != null && getClan() != null && getClan().isAtWarWith(targetPlayer.getClanId()) && targetPlayer.getClan().isAtWarWith(getClanId()) && targetPlayer.getPledgeType() != Clan.SUBUNIT_ACADEMY && getPledgeType() != Clan.SUBUNIT_ACADEMY) || (targetPlayer.getKarma() > 0 && Config.KARMA_AWARD_PK_KILL)) { if (target instanceof Player) { // Add PvP point to attacker. setPvpKills(getPvpKills() + 1); + PvPColorSystem.getInstance().updateNameColor(this); // Send UserInfo packet to attacker with its Karma and PK Counter sendPacket(new UserInfo(this)); } } // Otherwise, killer is considered as a PKer. else if (targetPlayer.getKarma() == 0 && targetPlayer.getPvpFlag() == 0) { // PK Points are increased only if you kill a player. if (target instanceof Player) setPkKills(getPkKills() + 1); // Calculate new karma. + PvPColorSystem.getInstance().updateTitleColor(this); setKarma(getKarma() + Formulas.calculateKarmaGain(getPkKills(), target instanceof Summon)); // Unequip adventurer items. checkItemRestriction(); // Stop Pvp task if running. PvpFlagTaskManager.getInstance().remove(this, true); } } code for xml: diff --git a/aCis_datapack/data/xml/events.xml b/aCis_datapack/data/xml/pvpColors.xml new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ b/aCis_datapack/data/xml/pvpColors.xml +<?xml version="1.0" encoding="UTF-8"?> +<list> + <pvpcolors> + <pvp> + <title pvpKills = "1" color = "D4E9AA"/> + <title pvpKills = "2" color = "BDDB81"/> + <title pvpKills = "3" color = "A8CD5D"/> + <title pvpKills = "4" color = "91BD3A"/> + <title pvpKills = "5" color = "a4e8f9"/> + <title pvpKills = "6" color = "7bdaf2"/> + <title pvpKills = "7" color = "60ceea"/> + <title pvpKills = "8" color = "48b3ce"/> + <title pvpKills = "9" color = "F6ACDD"/> + <title pvpKills = "10" color = "F098D3"/> + <title pvpKills = "11" color = "DA75B8"/> + <title pvpKills = "12" color = "AF8BEE"/> + <title pvpKills = "13" color = "A276EF"/> + <title pvpKills = "14" color = "8A65CB"/> + <title pvpKills = "15" color = "A09CA6"/> + <title pvpKills = "16" color = "807C86"/> + <title pvpKills = "17" color = "544868"/> + </pvp> + <pk> + <name pkKills = "1" color = "D4E9AA"/> + <name pkKills = "2" color = "BDDB81"/> + <name pkKills = "3" color = "A8CD5D"/> + <name pkKills = "4" color = "91BD3A"/> + <name pkKills = "5" color = "a4e8f9"/> + <name pkKills = "6" color = "7bdaf2"/> + <name pkKills = "7" color = "60ceea"/> + <name pkKills = "8" color = "48b3ce"/> + <name pkKills = "9" color = "F6ACDD"/> + <name pkKills = "10" color = "F098D3"/> + <name pkKills = "11" color = "DA75B8"/> + <name pkKills = "12" color = "AF8BEE"/> + <name pkKills = "13" color = "A276EF"/> + <name pkKills = "14" color = "8A65CB"/> + <name pkKills = "15" color = "A09CA6"/> + <name pkKills = "16" color = "807C86"/> + <name pkKills = "17" color = "544868"/> + </pk> + </pvpcolors> +</list> Credits for this mod: LordPanic (I have been approved to upload his codes)
    1 point
  21. Improved code. Sad storki. Thank me later. package com.l2jserver; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.time.Duration; import java.util.Objects; import java.util.Optional; import java.util.logging.Logger; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.model.World; import com.l2jserver.gameserver.model.actor.instance.Player; public class ItemDeliveryManager implements Runnable { private static Logger _log = Logger.getLogger(ItemDeliveryManager.class.getName()); private final static String UPDATE = "UPDATE user_item_delivery SET status=1 WHERE id=?;"; private final static String SELECT = "SELECT id, item_id, item_count, char_name FROM user_item_delivery WHERE status=0;"; private static final Duration DURATION = Duration.ofSeconds(30); protected ItemDeliveryManager() { ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(this, DURATION.toMillis(), DURATION.toMillis()); } @Override public void run() { try (Connection con = ConnectionPool.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement(SELECT); ResultSet rset = statement.executeQuery()) { while (rset.next()) { final int id = rset.getInt("id"); final int itemId = rset.getInt("item_id"); final long count = rset.getInt("item_count"); final String char_name = rset.getString("char_name"); if (itemId > 0 && count > 0 && Objects.nonNull(char_name)) { Optional.ofNullable(World.getInstance().getPlayer(selectPlayer(char_name))).ifPresent(s -> updateDelivery(id, s, itemId, count)); } } } catch (final Exception e) { _log.warning("Check delivery items failed. " + e.getMessage()); } } private void updateDelivery(final int id, final Player activeChar, final int itemId, final long count) { activeChar.addItem(getClass().getSimpleName(), itemId, count, activeChar, true); try (Connection con = ConnectionPool.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement(UPDATE)) { statement.setInt(1, id); statement.execute(); } catch (final SQLException e) { _log.warning("Failed to update item delivery id: " + id); } } private int selectPlayer(final String name) { try (Connection con = ConnectionPool.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("SELECT * FROM `characters` WHERE `char_name`=? LIMIT 1;")) { statement.setString(1, name); try (ResultSet rs = statement.executeQuery()) { if (rs.next()) { return rs.getInt("charId"); } } } catch (final SQLException e) { _log.warning("Failed to get char id from: " + name + " " + e.getMessage()); } return 0; } public static ItemDeliveryManager getInstance() { return SingletonHolder._instance; } private static class SingletonHolder { protected static final ItemDeliveryManager _instance = new ItemDeliveryManager(); } }
    1 point
  22. View full server
    1 point
This leaderboard is set to Athens/GMT+02:00

Important Information

Privacy Notice: We utilize cookies to optimize your browsing experience and analyze website traffic. By consenting, you acknowledge and agree to our Cookie Policy, ensuring your privacy preferences are respected.