Search the Community

Showing results for tags 'Code'.



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 - Opening 30th of October
    • Private Servers
    • L2Elixir Interlude x3 - Launching 31st 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
  • FiveM Zone
    • FiveM Guides
    • FiveM Development Help
  • 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 373 results

  1. Hello there.. Here is my buffer from my old server.. (Main html made by protoftw) What's inside? Mage | Fighter set [config] Buffs/Dance/Song/Extra etc one by one Special buffs + Malaria Vote buff [If you want it, you can enable it, config] Scheme Buffer Code Preview > [Hidden Content] Code/HTML/XML > [Hidden Content]
  2. Hello, today I want present to you: Rank PvP System COMPATIBILITY L2J-Server DESCRIPTION 1. PvP System: Added new method for PvP counting. It's secured by time limiter, and basic protections like same IP, clan etc. If time protecion is working then legall kills not rising. If killer kill victim and time is OK, so then I call it "Legal Kill", if killer kill victim again, PvP counter rise but not Legal Kill (Time Protection sorks). All informations are stored in DB. This "Time Protection" should reduce farming. (More: if we set min pvp lvl on 76+ so then it will be hard to farm on bots. Protection should reduce farm on low rate servers. If we set max player kills on: 1, it lock Legal Kills counter after 1 kill, it's mean killer can kill victim only once in game, option can be useful on servers with big online). System works in every place, but is possible to deactivate it in specific areas like: PEACEFUL ZONE. 2. Rank System: Based on PvP System, it's mean, killer can earn exp for kill player, then he rise his rank too if earn 100%. (exp is based on current Rank Points [RP]). Default 42 ranks. Reward for rise up the Rank can be awarded for each level of Rank Points. (List of rewards and minimum rank points for obtain reward in database). Included images for ranks and exp bar (loaded from server side). 3. Reward System: There is 2 reward types: for Legal Kill player, and for Legal Kill player with Rank. Each kill gives special currency called RPC, the RPC can be exchanged for items. Based on PvP System, killer can be rewarded for Legal Kill or not. Standard PvP Rewards, Rank Level Rewards and Rank PvP Rewards are configurable and can be on/off in config. 4. Death Manager: Is allowed to enable Death Manager, it's mean additional buttons in Death PvP Status Window showing details of killer like (CP, HP, MP, equipment (enchant) only for kill moment). 5. War Counter: Count kills if target is in War Clan. Legal kills rules are used. 6. Combo Kill System: Shout messages (local/global) about the killer who doing a combo, all these messages are configurable. Combo system allows multiply Rank Points by special ratio defined in configuration file. 7. Configurability: There is over 60 options. Possible is enable/disable system components like: Rewarding system, war counter, combo system, death manager and more. Each Rank, Protections, Times, Messages can be edited by You without programming knowledge. LAST UPDATE MOVIE RPS 3.7.4 Basic Presentation RPS 3.8.1 How To Install Manually RPS 3.8.1 How To Remove Manually DOWNLOAD RPS 3.8.9 - H5 [MEGA] RPS 3.8.7 - H5, Freya, IL (Frozen, aCis) [4shared] RPS 3.8.7 - H5, Freya, IL (Frozen, aCis) [MEGA] HOW TO CLEAR THE L2-CLIENT IMAGE-CACHE Create .bat file and place it in Linage II folder. Paste this code: del .\SysTextures\Crest.utx Done. We removed all RPS images from L2-Client cache. Or You can remove the Crest.utx file from SysTextures folder manualy.
  3. I think it not worth any money, when I bought it I was unskilled and too lazy, now everything changed, so I share some codes with you community, if you like it, every 1-2 weeks I will share unique codes, but I'm a little bit scary, because every server will have it, but nevermind. Download link: http://www58.zippyshare.com/v/IsY3qhhl/file.html Author and seller: Devlin Topic: http://www.maxcheaters.com/topic/181513-l2j-automatic-potions
  4. Hello young people, Here is a simple protection. in -> l2jserver/gameserver/network/clientpackets/RequestMagicSkillUse.java method -> runImpl() search for: // Check the validity of the skill if (skill != null) { Add: + if (activeChar.isInSiege()) + { + //Proibe Ress em Sieges + if (skill.getId() == 1016 || skill.getId() == 1254) + { + activeChar.sendMessage("Não é possivel utilizar " + skill.getName() + " durante a Siege!"); + activeChar.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + }
  5. This is custom bufftime support for latest public acis source - aCis 382 Patch code here: https://pastebin.com/embed_js/HXM03hrN Add skill id's in players.properties: EnableModifySkillDuration = True SkillDurationList = 1204;1048;
  6. I have created a code to reward for voting on several well-known sites. If someone has difficulty adding this code to their package, they can write to me at my discord https://discord.com/invite/VbnZbWR I will adapt this code for l2jfrozen and l2jserver or for some popular open source package. You can see the code in the following link: aCis: https://pastebin.com/1Wq6GZPs L2JServer H5: https://pastebin.com/KVyPAZ0X L2JFrozen 1.5 Interlude https://pastebin.com/GaAyMMT2 L2JMobius Classic Interlude https://pastebin.com/rJcPsbD4 L2JMobius Interlude https://pastebin.com/1HAX4UbN 05/17/2020 - For people who have integrated the voting system, I have made some arrangements to the voting system, it is currently working correctly and stable, the changes are already applied to the sources. http://www.mediafire.com/file/g6kag6pg5zu342h/patch_with_some_fiexes.txt/file
  7. Hello again cheaters. - An simple limit zone for the raidbosses. (Works as "Anti-Take-Away" the Raidbosses) - You can use the @melron code to create easy that zones (Code Here ). - I know can be done with just the boss spawn location and threadpool but i prefer use zone for it. Code : [Hidden Content]
  8. I no longer have time to maintain and develop the project so I'm sharing it for free with everyone. Anyone who bought it got a full refund. So almost 3 years ago I released a very primitive Fake Players engine called L2jRoboto. It lacked many features and it wasn't really manageable. Thanks to the quarantine situation I decided to spend some of my spare time writing a completely new engine from scratch. So without any further ado I present to you, Autobots, the most Advanced Fake Player & Autofarm Engine. Code: https://github.com/Elfocrash/L2Autobots I will NOT be offering ANY support to install or do whatever with the engine. You are alone. I MIGHT offer some help to anyone that is in our Discord server: https://discord.gg/6DYMDV4 The engine currently supports every class except for the summoner classes and prophet-like classes. Features Autobots Full autobot control through an in game dashboard with amazing UX Spawn/Despawn/Delete Inspect a bot's inventory, status, skills and buffs Customise the bot's combat and social preferences in game Target radius PvP aggression and preferences Self sustain with potions that can be configured in game Infinite buff replenishing Infinite consumable replenishing Ingame bot filtering Persistent bots that are saved in the database and can be logged in where they logged out Unique behaviour on each bot based on its class Archers will kite Spoilers will spoil and sweeper Pet owners will have pets following or assisting them Create an autobot in game Name Level Class Appearance Create random Autobot Bot chat control You can see what the bot sees in the chat and you can do things like talk in general chat or shout chat and also use PMs Bot clan control Create a bot clan in game and change the members of the clan from the dashboard, including clan crests for remote locations Full ingame bot control (movement, attack, skills, chat) Automatic return to death area using gatekeepers Features Autofarm Fully automatic farming with targeting, attacking and self sustain logic Here is a video showcasing the features as of 04/05/2020 Some images: https://imgur.com/a/ttFkkef New feature: Full bot control Movement Chat Skills Action Combat PvP/PK (Ctrl button support) Configurable skill preferences per class Configurable Private Sell Store Configurable Private Buy Store Bots will now return to their death area after they respawn in town You you want to get a version of the engine that is already installed and it is easy to run check this out:
  9. Hello From time to time I like to pick one of the things that are being sold but are really easy to code and I like to code them real quick and share them. Today's share is L2Warland's server-side Autofarm feature. How it works You set a few skills on the 10th shortcut skill bar Each section represents a skill type Skill usage is prioritised (Feel free to change the order to whatever works for you) Chance Low life Self skills Attacks You can toggle it or turn it on and of with voice commands .farm, .farmon, .farmoff If HP or MP pots are present they will be used after the configurable thresholds are met They will only target monsters that they can move to in order to attack Players will automatically auto attack if the "Attack" action is on any bar. If not they will only use skills Spoiler classes will spoil and sweeper Self spells will be used if the effect is not present and the cooldown is not reached Self spells will trigger toggle skills I tested just the basics and it looks like it's working fine. If you find any issues please report them. Video preview: Coded for aCis 382 Source code: https://gist.github.com/Elfocrash/2afaa14089dfba2d2199c9d22f06d0d5 Disclaimer: This shares absolutely no code with the Autobots engine Thanks, Elfo
  10. Good afternoon I come to make available a mod I made, it rewards players who reach a certain level. https://pastebin.com/raw/gPJt4kzs
  11. Since i saw that a lot of people looking for this code cause the one that it's already shared here is not working since don't have the client side files as well. Anyway. Core Side: ### Eclipse Workspace Patch 1.0 #P L2jFrozen_GameServer Index: head-src/com/l2jfrozen/Config.java =================================================================== --- head-src/com/l2jfrozen/Config.java (revision 938) +++ head-src/com/l2jfrozen/Config.java (working copy) @@ -2343,6 +2343,8 @@ public static int MONSTER_RETURN_DELAY; public static boolean SCROLL_STACKABLE; + public static boolean LS_STACKABLE; + public static boolean BOG_STACKABLE; public static boolean ALLOW_VERSION_COMMAND; public static boolean ALLOW_CHAR_KILL_PROTECT; @@ -2469,6 +2471,8 @@ ALT_PLAYER_PROTECTION_LEVEL = Integer.parseInt(L2JFrozenSettings.getProperty("AltPlayerProtectionLevel", "0")); MONSTER_RETURN_DELAY = Integer.parseInt(L2JFrozenSettings.getProperty("MonsterReturnDelay", "0")); SCROLL_STACKABLE = Boolean.parseBoolean(L2JFrozenSettings.getProperty("ScrollStackable", "False")); + LS_STACKABLE = Boolean.parseBoolean(L2JFrozenSettings.getProperty("LSStackable", "False")); + BOG_STACKABLE = Boolean.parseBoolean(L2JFrozenSettings.getProperty("BOGStackable", "False")); ALLOW_CHAR_KILL_PROTECT = Boolean.parseBoolean(L2JFrozenSettings.getProperty("AllowLowLvlProtect", "False")); CLAN_LEADER_COLOR_ENABLED = Boolean.parseBoolean(L2JFrozenSettings.getProperty("ClanLeaderNameColorEnabled", "true")); CLAN_LEADER_COLORED = Integer.parseInt(L2JFrozenSettings.getProperty("ClanLeaderColored", "1")); Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestRefine.java =================================================================== --- head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestRefine.java (revision 938) +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestRefine.java (working copy) @@ -246,7 +246,12 @@ } // consume the life stone - if(!player.destroyItem("RequestRefine", refinerItem, null, false)) + if (Config.LS_STACKABLE) + { + if(!player.destroyItem("RequestRefine", refinerItem.getObjectId(), 1, null, false)) + return false; + } + else if(!player.destroyItem("RequestRefine", refinerItem, null, false)) return false; // consume the gemstones Index: config/functions/l2jfrozen.properties =================================================================== --- config/functions/l2jfrozen.properties (revision 938) +++ config/functions/l2jfrozen.properties (working copy) @@ -188,6 +188,8 @@ # Scroll is Stackable? (default = false) ScrollStackable = false +LSStackable = false +BOGStackable = false # ------------------------------------------- # Clan Leader Color Config - Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestExEnchantSkill.java =================================================================== --- head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestExEnchantSkill.java (revision 938) +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestExEnchantSkill.java (working copy) @@ -135,7 +135,10 @@ return; } // ok - player.destroyItem("Consume", spb, trainer, true); + if (Config.BOG_STACKABLE) + player.destroyItem("Consume", spbId, 1, trainer, true); + else + player.destroyItem("Consume", spb, trainer, true); } } else Client Side (etcitemgrp.dat): Replace scrolls grp with these 2 729 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_scroll_of_enchant_weapon_i04 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 730 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_scroll_of_enchant_armor_i04 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 731 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_scroll_of_enchant_weapon_i01 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 1 0 2 732 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_scroll_of_enchant_armor_i01 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 1 0 2 947 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_scroll_of_enchant_weapon_i03 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 948 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_scroll_of_enchant_armor_i03 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 949 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_scroll_of_enchant_weapon_i01 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 950 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_scroll_of_enchant_armor_i01 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 951 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_scroll_of_enchant_weapon_i02 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 952 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_scroll_of_enchant_armor_i02 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 953 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_scroll_of_enchant_weapon_i01 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 954 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_scroll_of_enchant_armor_i01 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 955 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_scroll_of_enchant_weapon_i01 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 956 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_scroll_of_enchant_armor_i01 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 957 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_scroll_of_enchant_weapon_i01 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 958 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_scroll_of_enchant_armor_i01 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 959 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_scroll_of_enchant_weapon_i05 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 960 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_scroll_of_enchant_armor_i05 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 961 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_scroll_of_enchant_weapon_i01 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 962 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_scroll_of_enchant_armor_i01 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 6569 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_blessed_scrl_of_ench_wp_a_i04 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 6570 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_blessed_scrl_of_ench_am_a_i04 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 6571 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_blessed_scrl_of_ench_wp_b_i03 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 6572 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_blessed_scrl_of_ench_am_b_i03 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 6573 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_blessed_scrl_of_ench_wp_c_i02 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 6574 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_blessed_scrl_of_ench_am_c_i02 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 6575 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_blessed_scrl_of_ench_wp_d_i01 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 6576 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_blessed_scrl_of_ench_am_d_i01 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 6577 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_blessed_scrl_of_ench_wp_s_i05 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 2 6578 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.etc_blessed_scrl_of_ench_am_s_i05 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 2 0 0 Replace ls with these 2 8723 0 3 3 3 0 dropitems.drop_mineral_general_m00 dropitemstex.drop_mineral_general_t00 icon.etc_mineral_general_i00 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8724 0 3 3 3 0 dropitems.drop_mineral_general_m00 dropitemstex.drop_mineral_general_t00 icon.etc_mineral_general_i00 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8725 0 3 3 3 0 dropitems.drop_mineral_general_m00 dropitemstex.drop_mineral_general_t00 icon.etc_mineral_general_i00 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8726 0 3 3 3 0 dropitems.drop_mineral_general_m00 dropitemstex.drop_mineral_general_t00 icon.etc_mineral_general_i00 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8727 0 3 3 3 0 dropitems.drop_mineral_general_m00 dropitemstex.drop_mineral_general_t00 icon.etc_mineral_general_i01 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8728 0 3 3 3 0 dropitems.drop_mineral_general_m00 dropitemstex.drop_mineral_general_t00 icon.etc_mineral_general_i01 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8729 0 3 3 3 0 dropitems.drop_mineral_general_m00 dropitemstex.drop_mineral_general_t00 icon.etc_mineral_general_i02 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8730 0 3 3 3 0 dropitems.drop_mineral_general_m00 dropitemstex.drop_mineral_general_t00 icon.etc_mineral_general_i02 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8731 0 3 3 3 0 dropitems.drop_mineral_general_m00 dropitemstex.drop_mineral_general_t00 icon.etc_mineral_general_i02 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8732 0 3 3 3 0 dropitems.drop_mineral_general_m00 dropitemstex.drop_mineral_general_t00 icon.etc_mineral_general_i03 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8733 0 3 3 3 0 dropitems.drop_mineral_general_m00 dropitemstex.drop_mineral_special_t00 icon.etc_mineral_special_i00 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8734 0 3 3 3 0 dropitems.drop_mineral_general_m00 dropitemstex.drop_mineral_special_t00 icon.etc_mineral_special_i00 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8735 0 3 3 3 0 dropitems.drop_mineral_general_m00 dropitemstex.drop_mineral_special_t00 icon.etc_mineral_special_i00 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8736 0 3 3 3 0 dropitems.drop_mineral_general_m00 dropitemstex.drop_mineral_special_t00 icon.etc_mineral_special_i00 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8737 0 3 3 3 0 dropitems.drop_mineral_general_m00 dropitemstex.drop_mineral_special_t00 icon.etc_mineral_special_i01 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8738 0 3 3 3 0 dropitems.drop_mineral_general_m00 dropitemstex.drop_mineral_special_t00 icon.etc_mineral_special_i01 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8739 0 3 3 3 0 dropitems.drop_mineral_general_m00 dropitemstex.drop_mineral_special_t00 icon.etc_mineral_special_i02 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8740 0 3 3 3 0 dropitems.drop_mineral_general_m00 dropitemstex.drop_mineral_special_t00 icon.etc_mineral_special_i02 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8741 0 3 3 3 0 dropitems.drop_mineral_general_m00 dropitemstex.drop_mineral_special_t00 icon.etc_mineral_special_i02 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8742 0 3 3 3 0 dropitems.drop_mineral_general_m00 dropitemstex.drop_mineral_special_t00 icon.etc_mineral_special_i03 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8743 0 3 3 3 0 dropitems.drop_mineral_rare_m00 dropitemstex.drop_mineral_rare_t00 icon.etc_mineral_rare_i00 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8744 0 3 3 3 0 dropitems.drop_mineral_rare_m00 dropitemstex.drop_mineral_rare_t00 icon.etc_mineral_rare_i00 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8745 0 3 3 3 0 dropitems.drop_mineral_rare_m00 dropitemstex.drop_mineral_rare_t00 icon.etc_mineral_rare_i00 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8746 0 3 3 3 0 dropitems.drop_mineral_rare_m00 dropitemstex.drop_mineral_rare_t00 icon.etc_mineral_rare_i00 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8747 0 3 3 3 0 dropitems.drop_mineral_rare_m00 dropitemstex.drop_mineral_rare_t00 icon.etc_mineral_rare_i01 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8748 0 3 3 3 0 dropitems.drop_mineral_rare_m00 dropitemstex.drop_mineral_rare_t00 icon.etc_mineral_rare_i01 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8749 0 3 3 3 0 dropitems.drop_mineral_rare_m00 dropitemstex.drop_mineral_rare_t00 icon.etc_mineral_rare_i02 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8750 0 3 3 3 0 dropitems.drop_mineral_rare_m00 dropitemstex.drop_mineral_rare_t00 icon.etc_mineral_rare_i02 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8751 0 3 3 3 0 dropitems.drop_mineral_rare_m00 dropitemstex.drop_mineral_rare_t00 icon.etc_mineral_rare_i02 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8752 0 3 3 3 0 dropitems.drop_mineral_rare_m00 dropitemstex.drop_mineral_rare_t00 icon.etc_mineral_rare_i03 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8753 0 3 3 3 0 dropitems.drop_mineral_unique_m00 dropitemstex.drop_mineral_unique_t00 icon.etc_mineral_unique_i00 0 2 53 0 1769984 1 1 ItemSound.itemdrop_mold 2 0 0 2 8754 0 3 3 3 0 dropitems.drop_mineral_unique_m00 dropitemstex.drop_mineral_unique_t00 icon.etc_mineral_unique_i00 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8755 0 3 3 3 0 dropitems.drop_mineral_unique_m00 dropitemstex.drop_mineral_unique_t00 icon.etc_mineral_unique_i00 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8756 0 3 3 3 0 dropitems.drop_mineral_unique_m00 dropitemstex.drop_mineral_unique_t00 icon.etc_mineral_unique_i00 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8757 0 3 3 3 0 dropitems.drop_mineral_unique_m00 dropitemstex.drop_mineral_unique_t00 icon.etc_mineral_unique_i01 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8758 0 3 3 3 0 dropitems.drop_mineral_unique_m00 dropitemstex.drop_mineral_unique_t00 icon.etc_mineral_unique_i01 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8759 0 3 3 3 0 dropitems.drop_mineral_unique_m00 dropitemstex.drop_mineral_unique_t00 icon.etc_mineral_unique_i02 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8760 0 3 3 3 0 dropitems.drop_mineral_unique_m00 dropitemstex.drop_mineral_unique_t00 icon.etc_mineral_unique_i02 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8761 0 3 3 3 0 dropitems.drop_mineral_unique_m00 dropitemstex.drop_mineral_unique_t00 icon.etc_mineral_unique_i02 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 2 8762 0 3 3 3 0 dropitems.drop_mineral_unique_m00 dropitemstex.drop_mineral_unique_t00 icon.etc_mineral_unique_i03 0 2 53 0 0 1 1 ItemSound.itemdrop_mold 2 0 0 And bogs with these 2 6622 0 0 2 5 0 dropitems.drop_sack_m00 dropitemstex.drop_sack_t00 icon.etc_codex_of_giant_i00 0 10 18 0 0 1 1 ItemSound.itemdrop_sack 2 0 0 Credits for the code: Slash Credits for the Client Side: RSantos
  12. Hello, cheaters. - Nothing really new or unique, an simple panel that create list with pages for the droplist of Monster/Raidboss. - Simple addon : Player can choose to avoid specific item from the droplist. - Code not include part of "item.getIcon()" you can find many shared ways to get icon for each item. Preview : Code : [Hidden Content]
  13. 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 !
  14. .menu command based on elfo's /menu i still cant get the difference between .command and /command but ppl prefer commands with . ### Eclipse Workspace Patch 1.0 #P L2jFrozen_GameServer Index: head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BeastSoulShot.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BeastSoulShot.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BeastSoulShot.java (working copy) @@ -156,7 +156,8 @@ // Pet uses the power of spirit. activeOwner.sendPacket(new SystemMessage(SystemMessageId.PET_USE_THE_POWER_OF_SPIRIT)); - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUser(activePet, activePet, 2033, 1, 0, 0), 360000/*600*/); + if (!activeOwner.isSSDisabled()) + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUser(activePet, activePet, 2033, 1, 0, 0), 360000/*600*/); activeOwner = null; activePet = null; Index: head-src/com/l2jfrozen/gameserver/handler/itemhandlers/FishShots.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/itemhandlers/FishShots.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/itemhandlers/FishShots.java (working copy) @@ -92,7 +92,8 @@ //activeChar.sendPacket(new SystemMessage(SystemMessage.ENABLED_SPIRITSHOT)); MagicSkillUser MSU = new MagicSkillUser(activeChar, SKILL_IDS[grade], 1, 0, 0); - Broadcast.toSelfAndKnownPlayers(activeChar, MSU); + if (!activeChar.isSSDisabled()) + Broadcast.toSelfAndKnownPlayers(activeChar, MSU); MSU = null; activeChar.setTarget(oldTarget); Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java (working copy) @@ -20222,4 +20222,60 @@ } sendSkillList(); } + + private boolean _cantGainXP = false; + private boolean _isPartyInvProt = false; + private boolean _isInTradeProt = false; + private boolean _isSSDisabled = false; + private boolean _isInRefusal = false; + + public boolean isInTradeProt() + { + return _isInTradeProt; + } + + public void setIsInTradeProt(boolean value) + { + _isInTradeProt = value; + } + + public boolean isSSDisabled() + { + return _isSSDisabled; + } + + public void setIsSSDisabled(boolean value) + { + _isSSDisabled = value; + } + + public boolean isPartyInvProt() + { + return _isPartyInvProt; + } + + public void setIsPartyInvProt(boolean value) + { + _isPartyInvProt = value; + } + + public void cantGainXP(boolean b) + { + _cantGainXP = b; + } + + public boolean cantGainXP() + { + return _cantGainXP; + } + + public void setInRefusalMode(boolean b) + { + _isInRefusal = b; + } + + public boolean isInRefusalMode() + { + return _isInRefusal; + } } \ No newline at end of file Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestJoinParty.java =================================================================== --- head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestJoinParty.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestJoinParty.java (working copy) @@ -78,6 +78,12 @@ return; } + if (target.isPartyInvProt()) + { + requestor.sendMessage("You can't invite that player because he is in party protection."); + return; + } + if (target.isInParty()) { SystemMessage msg = new SystemMessage(SystemMessageId.S1_IS_ALREADY_IN_PARTY); Index: head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BlessedSpiritShot.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BlessedSpiritShot.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BlessedSpiritShot.java (working copy) @@ -137,7 +137,8 @@ // Send message to client activeChar.sendPacket(new SystemMessage(SystemMessageId.ENABLED_SPIRITSHOT)); - Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUser(activeChar, activeChar, SKILL_IDS[weaponGrade], 1, 0, 0), 360000/*600*/); + if (!activeChar.isSSDisabled()) + Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUser(activeChar, activeChar, SKILL_IDS[weaponGrade], 1, 0, 0), 360000/*600*/); activeChar = null; weaponInst = null; Index: head-src/com/l2jfrozen/gameserver/handler/VoicedCommandHandler.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/VoicedCommandHandler.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/VoicedCommandHandler.java (working copy) import com.l2jfrozen.gameserver.handler.voicedcommandhandlers.Wedding; +import com.l2jfrozen.gameserver.handler.voicedcommandhandlers.Menu; +registerVoicedCommandHandler( new Menu()); if (Config.BANKING_SYSTEM_ENABLED) Index: head-src/com/l2jfrozen/gameserver/handler/voicedcommandhandlers/Menu.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/voicedcommandhandlers/Menu.java (revision 0) +++ head-src/com/l2jfrozen/gameserver/handler/voicedcommandhandlers/Menu.java (revision 0) @@ -0,0 +1,173 @@ /* * 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.handler.voicedcommandhandlers; import javolution.text.TextBuilder; import com.l2jfrozen.gameserver.handler.IVoicedCommandHandler; import com.l2jfrozen.gameserver.model.L2World; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage; public class Menu implements IVoicedCommandHandler { private final String[] _voicedCommands = { "menu" }; @Override public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) { mainHtml(activeChar); return true; } public static void mainHtml(L2PcInstance activeChar) { NpcHtmlMessage nhm = new NpcHtmlMessage(5); TextBuilder tb = new TextBuilder(""); tb.append("<html><head><title>Personal Menu</title></head><body>"); tb.append("<center>"); tb.append("<table width=\"250\" cellpadding=\"5\" bgcolor=\"000000\">"); tb.append("<tr>"); tb.append("<td width=\"45\" valign=\"top\" align=\"center\"><img src=\"L2ui_ch3.menubutton4\" width=\"38\" height=\"38\"></td>"); tb.append("<td valign=\"top\">Players online <font color=\"FF6600\"> "+L2World.getInstance().getAllPlayers().size()+"</font>"); tb.append("<br1><font color=\"00FF00\">"+activeChar.getName()+"</font>, use this menu for everything related to your gameplay.<br1></td>"); tb.append("</tr>"); tb.append("</table>"); tb.append("</center>"); tb.append("<center>"); tb.append("<table border=\"1\" width=\"100\" height=\"12\" bgcolor=\"000000\">"); tb.append("<tr>"); tb.append("<td width=\"52\">ON</td>"); tb.append("<td width=\"16\"><button width=16 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); tb.append("<td><button width=32 height=12 back=\"L2UI_CH3.tutorial_pointer1\" fore=\"L2UI_CH3.tutorial_pointer1\"></td>"); tb.append("</tr>"); tb.append("<tr>"); tb.append("<td width=\"52\">OFF</td>"); tb.append("<td width=\"16\"><button width=16 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); tb.append("<td><button width=32 height=12 back=\"L2UI_CH3.tutorial_pointer1\" fore=\"L2UI_CH3.tutorial_pointer1\"></td>"); tb.append("</tr>"); tb.append("</table><br>"); tb.append("<table border=\"1\" width=\"250\" height=\"12\" bgcolor=\"000000\">"); tb.append("<tr>"); tb.append("<td align=\"center\" width=\"52\">Buff Protection</td>"); if(activeChar.isBuffProtected()) tb.append("<td width=\"16\"><button action=\"bypass -h buffprot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); if(!activeChar.isBuffProtected()) tb.append("<td width=\"16\"><button action=\"bypass -h buffprot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); tb.append("</tr>"); tb.append("<tr><td width=\"250\"><font color=\"00FF00\">By enabling that you won't be able to recieve ANY buff from another character.</font></td></tr>"); tb.append("</table>"); tb.append("<table border=\"1\" width=\"250\" height=\"12\" bgcolor=\"000000\">"); tb.append("<tr>"); tb.append("<td align=\"center\" width=\"52\">Personal Message Refusal</td>"); if(activeChar.getMessageRefusal()) tb.append("<td width=\"16\"><button action=\"bypass -h pmref\" width=24 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); if(!activeChar.getMessageRefusal()) tb.append("<td width=\"16\"><button action=\"bypass -h pmref\" width=24 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); tb.append("</tr>"); tb.append("<tr><td width=\"250\"><font color=\"00FF00\">By enabling that you won't be able to recieve ANY pm from another character.</font></td></tr>"); tb.append("</table>"); tb.append("<table border=\"1\" width=\"250\" height=\"12\" bgcolor=\"000000\">"); tb.append("<tr>"); tb.append("<table border=\"1\" width=\"250\" height=\"12\" bgcolor=\"000000\">"); tb.append("<tr>"); tb.append("<td align=\"center\" width=\"52\">Trade Request Protection</td>"); if(activeChar.isInTradeProt()) tb.append("<td width=\"16\"><button action=\"bypass -h tradeprot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); if(!activeChar.isInTradeProt()) tb.append("<td width=\"16\"><button action=\"bypass -h tradeprot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); tb.append("</tr>"); tb.append("<tr><td width=\"250\"><font color=\"00FF00\">By enabling that you won't be able to recieve ANY trade request from another character.</font></td></tr>"); tb.append("</table>"); tb.append("<table border=\"1\" width=\"250\" height=\"12\" bgcolor=\"000000\">"); tb.append("<tr>"); tb.append("<td align=\"center\" width=\"52\">Soulshot/Spiritshot Effect</td>"); if(activeChar.isSSDisabled()) tb.append("<td width=\"16\"><button action=\"bypass -h ssprot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); if(!activeChar.isSSDisabled()) tb.append("<td width=\"16\"><button action=\"bypass -h ssprot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); tb.append("</tr>"); tb.append("<tr><td width=\"250\"><font color=\"00FF00\">By enabling that you will enchance your pc's performance by disabling your ss effects.</font></td><td align=\"center\" valign=\"middle\"><button action=\"bypass -h page2\" width=16 height=16 back=\"L2UI_CH3.next1\" fore=\"L2UI_CH3.next1\"></td></tr>"); tb.append("</table>"); tb.append("</center>"); tb.append("</body></html>"); nhm.setHtml(tb.toString()); activeChar.sendPacket(nhm); } public static void mainHtml2(L2PcInstance activeChar) { NpcHtmlMessage nhm = new NpcHtmlMessage(5); TextBuilder tb = new TextBuilder(""); tb.append("<html><head><title>Personal Menu</title></head><body>"); tb.append("<center>"); tb.append("<table width=\"250\" cellpadding=\"5\" bgcolor=\"000000\">"); tb.append("<tr>"); tb.append("<td width=\"45\" valign=\"top\" align=\"center\"><img src=\"L2ui_ch3.menubutton4\" width=\"38\" height=\"38\"></td>"); tb.append("<td valign=\"top\">Players online <font color=\"FF6600\"> "+L2World.getInstance().getAllPlayers().size()+"</font>"); tb.append("<br1><font color=\"00FF00\">"+activeChar.getName()+"</font>, use this menu for everything related to your gameplay.<br1></td>"); tb.append("</tr>"); tb.append("</table>"); tb.append("</center>"); tb.append("<center>"); tb.append("<table border=\"1\" width=\"100\" height=\"12\" bgcolor=\"000000\">"); tb.append("<tr>"); tb.append("<td width=\"52\">ON</td>"); tb.append("<td width=\"16\"><button width=16 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); tb.append("<td><button width=32 height=12 back=\"L2UI_CH3.tutorial_pointer1\" fore=\"L2UI_CH3.tutorial_pointer1\"></td>"); tb.append("</tr>"); tb.append("<tr>"); tb.append("<td width=\"52\">OFF</td>"); tb.append("<td width=\"16\"><button width=16 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); tb.append("<td><button width=32 height=12 back=\"L2UI_CH3.tutorial_pointer1\" fore=\"L2UI_CH3.tutorial_pointer1\"></td>"); tb.append("</tr>"); tb.append("</table><br>"); tb.append("<table border=\"1\" width=\"250\" height=\"12\" bgcolor=\"000000\">"); tb.append("<tr>"); tb.append("<td align=\"center\" width=\"52\">Party Invite Protection</td>"); if(activeChar.isPartyInvProt()) tb.append("<td width=\"16\"><button action=\"bypass -h partyin\" width=24 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); if(!activeChar.isPartyInvProt()) tb.append("<td width=\"16\"><button action=\"bypass -h partyin\" width=24 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); tb.append("</tr>"); tb.append("<tr><td width=\"250\"><font color=\"00FF00\">By enabling that you won't be able to recieve ANY party invite from another character.</font></td></tr>"); tb.append("</table>"); tb.append("<table border=\"1\" width=\"250\" height=\"12\" bgcolor=\"000000\">"); tb.append("<tr>"); tb.append("<td align=\"center\" width=\"52\">Exp Gain Protection</td>"); if(activeChar.cantGainXP()) tb.append("<td width=\"16\"><button action=\"bypass -h xpnot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_hp\" fore=\"L2UI_CH3.br_bar1_hp\"></td>"); if(!activeChar.cantGainXP()) tb.append("<td width=\"16\"><button action=\"bypass -h xpnot\" width=24 height=12 back=\"L2UI_CH3.br_bar1_mp\" fore=\"L2UI_CH3.br_bar1_mp\"></td>"); tb.append("</tr>"); tb.append("<tr><td width=\"250\"><font color=\"00FF00\">By enabling that you won't be able to recieve expirience from killing monsters.</font></td><td align=\"center\" valign=\"middle\"><button action=\"bypass -h page1\" width=16 height=16 back=\"L2UI_CH3.back1\" fore=\"L2UI_CH3.next1\"></td></tr>"); tb.append("</table>"); tb.append("</center>"); tb.append("</body></html>"); nhm.setHtml(tb.toString()); activeChar.sendPacket(nhm); } @Override public String[] getVoicedCommandList() { return _voicedCommands; } } \ No newline at end of file Index: head-src/com/l2jfrozen/gameserver/handler/itemhandlers/SpiritShot.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/itemhandlers/SpiritShot.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/itemhandlers/SpiritShot.java (working copy) @@ -128,7 +128,8 @@ // Send message to client activeChar.sendPacket(new SystemMessage(SystemMessageId.ENABLED_SPIRITSHOT)); - Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUser(activeChar, activeChar, SKILL_IDS[weaponGrade], 1, 0, 0), 360000/*600*/); + if (!activeChar.isSSDisabled()) + Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUser(activeChar, activeChar, SKILL_IDS[weaponGrade], 1, 0, 0), 360000/*600*/); activeChar = null; } Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/TradeRequest.java =================================================================== --- head-src/com/l2jfrozen/gameserver/network/clientpackets/TradeRequest.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/TradeRequest.java (working copy) @@ -202,7 +202,13 @@ player.sendPacket(new SystemMessage(SystemMessageId.TARGET_TOO_FAR)); return; } - + + if (partner.isInTradeProt()) + { + player.sendMessage(partner.getName() + " is in Trade Protection Mode"); + return; + } + // Alt game - Karma punishment if(!Config.ALT_GAME_KARMA_PLAYER_CAN_TRADE && (player.getKarma() > 0 || partner.getKarma() > 0)) { Index: head-src/com/l2jfrozen/gameserver/handler/itemhandlers/SoulShots.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/itemhandlers/SoulShots.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/itemhandlers/SoulShots.java (working copy) @@ -142,7 +142,8 @@ // Send message to client activeChar.sendPacket(new SystemMessage(SystemMessageId.ENABLED_SOULSHOT)); - Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUser(activeChar, activeChar, SKILL_IDS[weaponGrade], 1, 0, 0), 360000/*600*/); + if (!activeChar.isSSDisabled()) + Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUser(activeChar, activeChar, SKILL_IDS[weaponGrade], 1, 0, 0), 360000/*600*/); activeChar = null; } Index: head-src/com/l2jfrozen/gameserver/model/actor/stat/PcStat.java =================================================================== --- head-src/com/l2jfrozen/gameserver/model/actor/stat/PcStat.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/model/actor/stat/PcStat.java (working copy) @@ -58,6 +58,9 @@ //Player is Gm and access level is below or equal to canGainExp and is in party, don't give Xp if(!getActiveChar().getAccessLevel().canGainExp() && getActiveChar().isInParty()) return false; + + if (activeChar.cantGainXP()) + return false; if(!super.addExp(value)) return false; @@ -111,6 +114,9 @@ L2PcInstance activeChar = getActiveChar(); if(!activeChar.getAccessLevel().canGainExp() && activeChar.isInParty()) return false; + + if (activeChar.cantGainXP()) + return false; // if this player has a pet that takes from the owner's Exp, give the pet Exp now Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestBypassToServer.java =================================================================== --- head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestBypassToServer.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestBypassToServer.java (working copy) @@ -28,6 +28,7 @@ import com.l2jfrozen.gameserver.handler.AdminCommandHandler; import com.l2jfrozen.gameserver.handler.IAdminCommandHandler; import com.l2jfrozen.gameserver.handler.custom.CustomBypassHandler; +import com.l2jfrozen.gameserver.handler.voicedcommandhandlers.Menu; import com.l2jfrozen.gameserver.model.L2Object; import com.l2jfrozen.gameserver.model.L2World; import com.l2jfrozen.gameserver.model.actor.instance.L2ClassMasterInstance; @@ -41,8 +42,10 @@ import com.l2jfrozen.gameserver.model.entity.event.TvT; import com.l2jfrozen.gameserver.model.entity.event.VIP; import com.l2jfrozen.gameserver.model.entity.olympiad.Olympiad; +import com.l2jfrozen.gameserver.network.SystemMessageId; import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed; import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage; +import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage; import com.l2jfrozen.gameserver.util.GMAudit; public final class RequestBypassToServer extends L2GameClientPacket @@ -308,7 +311,90 @@ player.processQuestEvent(p.substring(0, idx), p.substring(idx).trim()); } } - + else if (_command.startsWith("page1")) + Menu.mainHtml(activeChar); + else if (_command.startsWith("buffprot")) + { + if (activeChar.isBuffProtected()) + { + +activeChar.setIsBuffProtected(false); + +activeChar.sendMessage("Buff protection is disabled."); + +Menu.mainHtml(activeChar); + } + else + { + activeChar.setIsBuffProtected(true); + activeChar.sendMessage("Buff protection is enabled."); + Menu.mainHtml(activeChar); + } + } + else if (_command.startsWith("tradeprot")) + { + if (activeChar.isInTradeProt()) + { + +activeChar.setIsInTradeProt(false); + +activeChar.sendMessage("Trade acceptance mode is enabled."); + +Menu.mainHtml(activeChar); + } + else + { + activeChar.setIsInTradeProt(true); + activeChar.sendMessage("Trade refusal mode is enabled."); + Menu.mainHtml(activeChar); + } + } + else if (_command.startsWith("ssprot")) + { + if (activeChar.isSSDisabled()) + { + activeChar.setIsSSDisabled(false); + activeChar.sendMessage("Soulshots effects are enabled."); + Menu.mainHtml(activeChar); + } + else + { + activeChar.setIsSSDisabled(true); + activeChar.sendMessage("Soulshots effects are disabled."); + Menu.mainHtml(activeChar); + } + } + else if (_command.startsWith("xpnot")) + { + if (activeChar.cantGainXP()) + { + activeChar.cantGainXP(false); + activeChar.sendMessage("Enable Xp"); + Menu.mainHtml2(activeChar); + } + else + { + activeChar.cantGainXP(true); + activeChar.sendMessage("Disable Xp"); + Menu.mainHtml2(activeChar); + } + } + else if (_command.startsWith("pmref")) + { + if (activeChar.getMessageRefusal()) + { + activeChar.setMessageRefusal(false); + activeChar.sendPacket(new SystemMessage(SystemMessageId.MESSAGE_ACCEPTANCE_MODE)); + Menu.mainHtml(activeChar); + } + else + { + activeChar.setMessageRefusal(true); + activeChar.sendPacket(new SystemMessage(SystemMessageId.MESSAGE_REFUSAL_MODE)); + Menu.mainHtml(activeChar); + } + } + else if (_command.startsWith("partyin")) + { + if (activeChar.isPartyInvProt()) + { + activeChar.setIsPartyInvProt(false); + activeChar.sendMessage("Party acceptance mode is enabled."); + Menu.mainHtml2(activeChar); + } + else + { + activeChar.setIsPartyInvProt(true); + activeChar.sendMessage("Party refusal mode is enabled."); + Menu.mainHtml2(activeChar); + } + } + else if (_command.startsWith("page2")) + Menu.mainHtml2(activeChar); // Jstar's Custom Bypass Caller! else if(_command.startsWith("custom_")) { Index: head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BeastSpiritShot.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BeastSpiritShot.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/itemhandlers/BeastSpiritShot.java (working copy) @@ -169,7 +169,8 @@ // Pet uses the power of spirit. activeOwner.sendPacket(new SystemMessage(SystemMessageId.PET_USE_THE_POWER_OF_SPIRIT)); - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUser(activePet, activePet, isBlessed ? 2009 : 2008, 1, 0, 0), 360000/*600*/); + if (!activeOwner.isSSDisabled()) + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUser(activePet, activePet, isBlessed ? 2009 : 2008, 1, 0, 0), 360000/*600*/); activeOwner = null; activePet = null; Index: head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Continuous.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Continuous.java (revision 986) +++ head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Continuous.java (working copy) @@ -143,7 +143,16 @@ || skill.getSkillType() == L2Skill.SkillType.MANAHEAL_PERCENT || skill.getSkillType() == L2Skill.SkillType.COMBATPOINTHEAL || skill.getSkillType() == L2Skill.SkillType.REFLECT)) - continue; + continue; + + if (activeChar instanceof L2PcInstance && target != activeChar && target.isBuffProtected() && !skill.isHeroSkill() + && (skill.getSkillType() == L2Skill.SkillType.BUFF + || skill.getSkillType() == L2Skill.SkillType.HEAL_PERCENT + || skill.getSkillType() == L2Skill.SkillType.FORCE_BUFF + || skill.getSkillType() == L2Skill.SkillType.MANAHEAL_PERCENT + || skill.getSkillType() == L2Skill.SkillType.COMBATPOINTHEAL + || skill.getSkillType() == L2Skill.SkillType.REFLECT)) + continue; // Player holding a cursed weapon can't be buffed and can't buff if(skill.getSkillType() == L2Skill.SkillType.BUFF)
  15. Event Demo Procure por commandname-e em seu sistema e adicione no final dele 115 114 register 116 115 unregister /** restrictions for event */ * Cannot Potion in Event. * Cannot Summon in Event. * Cannot Restart in Event. * Cannot Logout in Event. * Cannot attack same team. code v1 : https://pastebin.com/YRaCbU9T code v2 : * added event prize name announcement. Thank you @StinkyMadness * CopyOnWriteArrayList moved to ConcurrentHashMap.newKeySet, for better performance. Thank you @Tryskell * TVT_DOOR_LIST moved to getProperty and removed arrays. Thank you @Tryskell * Removed useless calls * added weather message for next event when coming into play. Thank you @ edusz93 for the idea Código v2 : https://pastebin.com/raw/59jyZa14 Autor do novo evento Williams Autor do código original DnR
  16. ### Eclipse Workspace Patch 1.0 #P L2J_DataPack Index: dist/game/data/scripts/custom/QuizEvent/QuizEvent.java =================================================================== --- dist/game/data/scripts/custom/QuizEvent/QuizEvent.java (revision 0) +++ dist/game/data/scripts/custom/QuizEvent/QuizEvent.java (working copy) package custom.QuizEvent; import java.io.File; import java.util.HashMap; import java.util.Map; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import com.l2jserver.Config; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.util.Broadcast; import com.l2jserver.util.Rnd; /** * * @author Bellatrix * */ public class QuizEvent { public static boolean _quizRunning; private static String _question; private static String _answer1; private static String _answer2; private static String _answer3; private static int _rightanswer; private static Map<L2PcInstance,Integer> _players; private static int status; private static int announced; private static ThreadPoolManager tpm; private static AutoEventTask task; private static String[][] _questions; private static int i = 0; private static final int STATUS_NOT_IN_PROGRESS = 0; private static final int STATUS_ASK = 1; private static final int STATUS_ANSWER = 2; private static final int STATUS_END = 3; //---------------------------------------------------------------------------- //------------------------------ CONFIG -------------------------------------- //---------------------------------------------------------------------------- //Number of questions per event private static int _questionNumber = 3; //The Item ID of the reward private static int _rewardID = 57; //The ammount of the reward private static int _rewardCount = 1000; //Wait for the first event after the server start (in seconds) private static int _initWait = 3600; //Time for answer the question (in seconds) private static int _answerTime = 60; //Time between two event (in seconds) private static int _betweenTime = 18000; public QuizEvent() { tpm = ThreadPoolManager.getInstance(); status = STATUS_NOT_IN_PROGRESS; task = new AutoEventTask(); announced = 0; _quizRunning = false; _question = ""; _answer1 = ""; _answer2 = ""; _answer3 = ""; _rightanswer = 0; _players = new HashMap<>(100); _questions = new String[20][]; includeQuestions(); tpm.scheduleGeneral(task, _initWait*1000); } private void includeQuestions() { File questionFile = new File(Config.DATAPACK_ROOT, "data/scripts/custom/QuizEvent/QuizEvent.xml"); Document doc = null; try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setIgnoringComments(true); dbf.setValidating(false); DocumentBuilder db = dbf.newDocumentBuilder(); doc = db.parse(questionFile); for (Node root = doc.getFirstChild(); root != null; root = root.getNextSibling()) { if ("list".equalsIgnoreCase(root.getNodeName())) { for (Node child = root.getFirstChild(); child != null; child = child.getNextSibling()) { if ("question".equalsIgnoreCase(child.getNodeName())) { int id, correct; String ask, answer1, answer2, answer3; NamedNodeMap attrs = child.getAttributes(); id = Integer.parseInt(attrs.getNamedItem("id").getNodeValue()); correct = Integer.parseInt(attrs.getNamedItem("correct").getNodeValue()); ask = attrs.getNamedItem("ask").getNodeValue(); answer1 = attrs.getNamedItem("answer1").getNodeValue(); answer2 = attrs.getNamedItem("answer2").getNodeValue(); answer3 = attrs.getNamedItem("answer3").getNodeValue(); _questions[id] = new String[]{ ask, answer1, answer2, answer3, ""+correct }; i++; } } } } } catch (Exception e) { } } private class AutoEventTask implements Runnable { @Override public void run() { switch (status) { case STATUS_NOT_IN_PROGRESS: announceStart(); break; case STATUS_ASK: if (announced < _questionNumber) { announceQuestion(); } else { status = STATUS_END; tpm.scheduleGeneral(task, 3000); } break; case STATUS_ANSWER: announceCorrect(); break; case STATUS_END: endEvent(); break; default: break; } } } //Get a random question from the quiz_event table private static void selectQuestion() { int id = Rnd.get(i)+1; _question = _questions[id][0]; _answer1 = _questions[id][1]; _answer2 = _questions[id][2]; _answer3 = _questions[id][3]; _rightanswer = Integer.parseInt(""+_questions[id][4]); } //Announce the question private static void announceQuestion() { selectQuestion(); Broadcast.toAllOnlinePlayers("-----------------"); Broadcast.toAllOnlinePlayers("Question: "+_question); Broadcast.toAllOnlinePlayers("-----------------"); Broadcast.toAllOnlinePlayers("1: "+_answer1); Broadcast.toAllOnlinePlayers("2: "+_answer2); Broadcast.toAllOnlinePlayers("3: "+_answer3); Broadcast.toAllOnlinePlayers("-----------------"); status = STATUS_ANSWER; tpm.scheduleGeneral(task, _answerTime*1000); } //Announce the correct answer private static void announceCorrect() { Broadcast.toAllOnlinePlayers("-----------------"); Broadcast.toAllOnlinePlayers("The correct answer was: "+_rightanswer); Broadcast.toAllOnlinePlayers("-----------------"); announced++; giveReward(); status = STATUS_ASK; tpm.scheduleGeneral(task, 5000); } private static void announceStart() { _quizRunning = true; _players.clear(); Broadcast.toAllOnlinePlayers("Quiz Event begins! "+_questionNumber+" questions. "+_answerTime+" secs for answer each. "); Broadcast.toAllOnlinePlayers("Type . and the number of the correct answer to the chat. (Like: .1)"); Broadcast.toAllOnlinePlayers("Get Ready!"); status = STATUS_ASK; tpm.scheduleGeneral(task, 5000); } //Add a player and its answer public static void setAnswer(L2PcInstance player, int answer) { if( _players.containsKey(player) ) player.sendMessage("You already choosen an aswer!: "+_players.get(player)); else _players.put(player, answer); } private static void endEvent() { _quizRunning = false; Broadcast.toAllOnlinePlayers("The Quiz Event is over!"); announced = 0; status = STATUS_NOT_IN_PROGRESS; tpm.scheduleGeneral(task, _betweenTime*1000); } private static void giveReward() { for( L2PcInstance p: _players.keySet()) { if(_players.get(p) == _rightanswer) { p.sendMessage("Your answer was correct!"); p.addItem("Quiz", _rewardID, _rewardCount, p, true); } else { p.sendMessage("Your answer was not correct!"); } } _players.clear(); } } \ No newline at end of file Index: dist/game/data/scripts/Custom/QuizEvent/QuizEvent.xml =================================================================== --- dist/game/data/scripts/custom/QuizEvent/QuizEvent.xml (revision 8768) +++ dist/game/data/scripts/custom/QuizEvent/QuizEvent.xml (working copy) <?xml version="1.0" encoding="UTF-8"?> <list> <question id = "1" ask = "Quel type Bijoux Drop Baium" answer1 = "Necklace" answer2 = "Ring" answer3 = "Earring" correct = "2" /> <question id = "2" ask = "Comment s'appel l'admin" answer1 = "Bellatrix" answer2 = "Roberta" answer3 = "Jo" correct = "1" /> <question id = "3" ask = "Quel Recompense donne le tvt" answer1 = "Codex" answer2 = "Coin" answer3 = "EventCoin" correct = "3" /> </list> Index: dist/game/data/scripts/handlers/voicedcommandhandlers/Quiz.java =================================================================== --- dist/game/data/scripts/handlers/voicedcommandhandlers/Quiz.java (revision 0) +++ dist/game/data/scripts/handlers/voicedcommandhandlers/Quiz.java (working copy) package handlers.voicedcommandhandlers; import com.l2jserver.gameserver.handler.IVoicedCommandHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import custom.QuizEvent.QuizEvent; /** * @author Bellatrix */ public class Quiz implements IVoicedCommandHandler { private static final String[] _voicedCommands = { "quiz", "1", "2", "3" }; /** * @see Bellatrix */ @Override public boolean useVoicedCommand(String command, L2PcInstance activeChar, String params) { if (command.equalsIgnoreCase("1") && QuizEvent._quizRunning) { QuizEvent.setAnswer(activeChar, 1); } if (command.equalsIgnoreCase("2") && QuizEvent._quizRunning) { QuizEvent.setAnswer(activeChar, 2); } if (command.equalsIgnoreCase("3") && QuizEvent._quizRunning) { QuizEvent.setAnswer(activeChar, 3); } return true; } /** * @see Bellatrix */ @Override public String[] getVoicedCommandList() { new QuizEvent(); return _voicedCommands; } } Index: dist/game/data/scripts/handlers/MasterHandlers.java =================================================================== --- dist/game/data/scripts/handlers/MasterHandlerjava (revision 0) +++ dist/game/data/scripts/handlers/Masterhandlers.java (working copy) import handlers.voicedcommandhandlers.Quiz; private static final Class<?>[] VOICED_COMMAND_HANDLERS = { StatsVCmd.class, // TODO: Add configuration options for this voiced commands: // CastleVCmd.class, // SetVCmd.class, (Config.L2JMOD_ALLOW_WEDDING ? Wedding.class : null), (Config.BANKING_SYSTEM_ENABLED ? Banking.class : null), (Config.L2JMOD_CHAT_ADMIN ? ChatAdmin.class : null), (Config.L2JMOD_MULTILANG_ENABLE && Config.L2JMOD_MULTILANG_VOICED_ALLOW ? Lang.class : null), (Config.L2JMOD_ENABLE_ONLINE_STATUS ? OnlineStatus.class : null), (Config.L2JMOD_DEBUG_VOICE_COMMAND ? Debug.class : null), (Config.L2JMOD_ALLOW_CHANGE_PASSWORD ? ChangePassword.class : null), Quiz.class,
  17. Hello I will Share Here My Script for aCis with Barakiel Kill And Set noblesse to No Noblesse party Members.. Here We Go... We Need to Create a new Class Here:net.sf.l2j.gameserver.scripting.scripts.custom With Name:BarakielNobless.Java Then Paste This Inside: +/* + * 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.scripting.scripts.custom; + + +import net.sf.l2j.gameserver.model.actor.L2Npc; +import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; +import net.sf.l2j.gameserver.scripting.Quest; + + +public class BarakielNobless extends Quest +{ +public BarakielNobless() +{ +super(-1, "custom"); + +addKillId(25325); +} + +@Override +public String onKill(L2Npc npc, L2PcInstance player, boolean isPet) +{ +if (player.getParty() != null) +{ +for (L2PcInstance members : player.getParty().getPartyMembers()) +{ +if (!members.isInsideRadius(npc, 2000, false, false)) +{ +members.sendMessage("You Was On Wrong Place"); +continue; +} +if (!members.isNoble()) +{ +members.setNoble(true, true); +members.getInventory().addItem("Noblesse Tiara",7694,1,members,null); +members.sendMessage("You Are Noblesse now."); +} +else +{ +members.sendMessage("You already Noblesse."); +} + +members.broadcastUserInfo(); +} +} + +return null; +} + +public static void main(String args[]) +{ +new BarakielNobless(); +} +} And Dont Forget To Add Your Scripts.xml <script path="scripts.custom.HeroWeapon"/> +<script path="scripts.custom.BarakielNobless"/>
  18. 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
  19. https://pastebin.com/fC763kww many ask none helps so it wasnt shared as i checked here u go
  20. Okay , a simple drop event coded on l2j Sources it multiplies the drops of item only if its100% rate you type //startdrop and it will announce and automaticly start after 15 minutes you can type //stopdrop if you wish to force stop it there is a configuration on the rate default is x1.2 the event will last for 60 minutes , and it will announce back when it ends if event is active and a player logs in he will get a notification by pm :) Create a new class : DropEvent package com.event; import net.sf.l2j.gameserver.Announcements; import net.sf.l2j.gameserver.ThreadPoolManager; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.network.clientpackets.Say2; import net.sf.l2j.gameserver.network.serverpackets.CreatureSay; /** * @author Kishin */ public class DropEvent { private int startIn = 15; private int stopIn = 60; public void sendDropEventInfo(L2PcInstance player) { player.broadcastPacket(new CreatureSay(player.getObjectId() ,Say2.TELL," "+player.getName()+":","Drop Event is currently running!")); player.sendMessage("Drop event is currently running!"); } public void startEvent() { Announcements.getInstance().announceToAll("Double drop event will start in "+startIn+" minutes"); ThreadPoolManager.getInstance().scheduleGeneral(new startTimer(), (startIn *60 * 1000)); } public void forceStop() { setDoubleDrop(false); } public class startTimer implements Runnable { public void run() { setDoubleDrop(true); Announcements.getInstance().announceToAll("Double drop event has started !"); Announcements.getInstance().announceToAll("Event will end in "+stopIn+" minutes !"); ThreadPoolManager.getInstance().scheduleGeneral(new stopTimer(), (stopIn * 60 * 1000)); } } public class stopTimer implements Runnable { public void run() { if (isDoubleDrop() == true) { setDoubleDrop(false); Announcements.getInstance().announceToAll("Double drop event has ended"); } } } public static DropEvent getInstance() { return DropEvent.SingletonHolder._instance; } private static class SingletonHolder { protected static final DropEvent _instance = new DropEvent(); } private boolean _isDoubleDrop; public void setDoubleDrop(boolean isDoubleDrop) { _isDoubleDrop = isDoubleDrop; } public boolean isDoubleDrop() { return _isDoubleDrop; } } L2Attackable.java search this -> private RewardItem calculateCategorizedRewardItem and under this : dropChance *= Config.L2JMOD_CHAMPION_REWARDS; paste : if (DropEvent.getInstance().isDoubleDrop() == true) { if ( dropChance == 1000000) { dropChance *= Config.DROP_EVENT_RATE; } } EnterWorld.java -> paste somewhere if (DropEvent.getInstance().isDoubleDrop() == true) { DropEvent.getInstance().sendDropEventInfo(activeChar); } in Config.java paste somewhere this : public static float DROP_EVENT_RATE; pick your destination file mine is customSettings paste : DROP_EVENT_RATE = Float.parseFloat(customsSettings.getProperty("dropEventRate", "1.2")); Create a new class in admincommandhandlers AdminDropEvent <- package net.sf.l2j.gameserver.handler.admincommandhandlers; import com.event.DropEvent; import net.sf.l2j.gameserver.Announcements; import net.sf.l2j.gameserver.handler.IAdminCommandHandler; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; /** * @author Kishin */ public class AdminDropEvent implements IAdminCommandHandler { private static final String[] ADMIN_COMMANDS = { "admin_startdrop", "admin_stopdrop" }; @Override public boolean useAdminCommand(String command, L2PcInstance activeChar) { try { if (command.equals("admin_startdrop")) { if (DropEvent.getInstance().isDoubleDrop() == false) { DropEvent.getInstance().startEvent(); } } else if (command.equals("admin_stopdrop")) { if (DropEvent.getInstance().isDoubleDrop() == true) { DropEvent.getInstance().forceStop(); Announcements.getInstance().announceToAll("Admin has ended the drop event"); } } } catch (Exception e) { e.printStackTrace(); } return false; } @Override public String[] getAdminCommandList() { return ADMIN_COMMANDS; } } Have fun :) register the command handler and good to go :)
  21. 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
  22. Hello again Cheaters, nothing special again. I don't know why peoples asking for this kind of balancing but somebody ask me for it and i make it for him free so i decide to share it with all. (Coded/Tested in 20 minutes) Coded for aCis 385 but its easy to be adapted to any source. XML looks like : <?xml version='1.0' encoding='utf-8'?> <list> <!-- Type List : NORMAL, MAGIC, CRITICAL, M_CRITICAL, BLOW, PHYSICAL_SKILL_DAMAGE, PHYSICAL_SKILL_CRITICAL --> <balance type="NORMAL" class="SHILLIEN_TEMPLAR" target="CARDINAL" value="1.3"/> </list> Result: value="1.0" -> You hit for 875 damage. value="1.3" -> You hit for 1138 damage. Code : [Hidden Content]
  23. 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)
  24. Hello. With this config you can manage what item to delete from droplist. This patch is for aCis packs, as you know aCis have no droplist in sql so it is very hard to open each npc and remove item from it's drop. So put item ids in this config and item will remove from droplist. aCis 357 rev. http://pastebin.com/HWvYX088
  25. 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]