Jump to content

Search the Community

Showing results for tags 'Code'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

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

Product Groups

  • Advertisements
  • Old Vips
  • Premium Member

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests


LocationNew

  1. As title says, simulating the damage u make vs the target. Currently works only for players (self too) . It's up to you if u want to add more creature instances. By default all simulations use ss/bss except bare hand hits. Known Issues* Simulation for chargeable physical (ex.tyrant,duelist) skills is not precise (auto hits,magical skills work fine). Requirements: Your own menu + menu handlers ( i made a share for that). If u use my menu handler add this to UsermenuHandler.java +else if(command.startsWith("_menuSimulation") || command.startsWith("_menuSelectSkill") || +command.startsWith("_menuDoSim")){ + DamageSimulator.getInstance().parseCmd(command, activeChar); +} DamageSimulation.java DimSim.java SimManager.java simulation.html Video with normal hits Video with skills
  2. As title says, mines event generating box's each box has chance when u click on it if it's a coin u win if it's a torch u lose. I didnt include the .mines command handler (aka chat handler) to the share most of u have ur own. Requirements: Your own chat handler + menu handlers <-- i made a share for that. If u use my menu handler add this to UsermenuHandler.java else if(command.startsWith("_menuMinesSelect")){ MinesEventHandler.getInstance().parseCmd(command, activeChar); } Overview 1 Overview 2 Overview 3 Overview 4 MinesEventHandler.java Mines.java MinesEvent.java MinesManager.java minesMW.html pastebin pass : maxcheaters
  3. I decided to share one Ranking System (Coded 1y ago) from my customized Community Board. Code : https://pastebin.com/DQYi6xhy
  4. Hello folks. I have a really simple client patch for an interactive raid boss map demo which I decided to share. Map includes zoom, panning, and search control. It can also be adapted in a website using any size. Raid bosses are displayed as markers (blue for alive, red for dead) and users can hover those markers to see boss status and respawn time. It also uses gameserver-equivalent world dimensions, so there is no need for trying to set markers on map manually. I have included a small PHP script for local test purposes in order to retrieve data from database using an ajax request. Few screenshots Link 1 Link 2 Default functionality is for C4, but I have included map overlays for C5 and Interlude. Have fun, DnR
  5. Hi folks, some time has passed since my last share so, i decided to share with you a pretty basic communication between l2 and discord. Q&A Do i need to download external libraries? Yes, you need the JDA-4.3.0_310-withDependencies.jar library to be implemented at your sources What is currently implemented on this code? Well, there are 3 features that i have implemented: Whenever a player logs in, the discord bot will send him a Private Message containing the IP Address from which this action was performed . Whenever a grand boss dies, the bot will send a message in a channel (currently #raid-died) with some images,last hit,clan,respawn time etc. Currently, only Baium is implemented with images. You can add the rest at the ImageContent enum. Whenever a player is DiscordLegend (you have to think how a player would get that status) and says something in shout or trade, the bot will also write the same text at the shout, trade channels. (You can play with those channels and think of something smart) How will the bot recognize the discord profile of a member and send him a pm? Where is the profile id located in discord? You have to create your own method for that. In the previews, i have add manually MY id to do the tests. You can add custom html message that would be optional and request from users to enter their discord ID in order to get notifications etc. The ID is not the one that is after the hash (#) . You have to go at My Account tab, and click at the 3 dots that are located just after your name#id by pressing CopyID. (i would say that is a long value and not Integer.) How can i add my own image for a grand boss death feature? Just upload it somewhere (or even on your own website) and pass that url at the ImageContent enum which is located in GrandBossDeath class. Wont that spamming the whole discord with all those notifications? Well, actually no, its in your hand to handle WHEN the bot should say something. What is bot? And how can i create it? Well, you should go at youtube and watch some tutorials for that. If you dont know what is it just dont implement the code. I have my own bot, how can i make my bot do this job? Thats nice, all you have to do is to fill the BOT_TOKEN variable in Discord class with your bot token. What's the purpose of the channel messages of transactions? Well, plenty of discord servers have their own channels with trade transactions and many of them are using it to announce a transaction (wts,wtb). It's very convenient, players can see who is selling or buying what without even being ingame. Some previews: Login activity: Shout & Trade notification: Raid killed notification: Will you support that in the future? No. It took me about 2 weeks to create it while the whole code can be written in 2 days of 3 hours of work per day. My time is limited. In which acis rev can be implemented? Its java. a few adaptions and you're done. Can i add it to l2jfrozen? Read one bullet above. What else could be added to that one? I can't find any idea. Well your imagination sucks. Like mine . BUT! I'll give you an example that is not implemented in the source code. The result of This code is that one: Source code Also, be kind if you find mistakes in the code, as humans we make mistakes... Have fun!
  6. DISCLAIMER: I know this code is not complete , but it's something to begin with for those who want to create this specific event (if they find it useful) saving them some time. It ain't much but it's free. LuckyBoxNPC.java LuckyChests.java NPC XML Video
  7. 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
  8. Hey guys, some time ago I developed this mod from scratch, I present to you the Tournament 2.0. A fighting system with modes 1 vs 1 / 2 vs 2 / 3 vs 3 / 4 vs 4 / 5 vs 5 / 9 vs 9. Currently the code is for aCis, but with minimal knowledge in java you can adapt to any rev or chronicle. I can lend a hand to anyone who needs this discord: Discord Server Link Remembering that the system has been successfully tested on small servers, I believe that it will not be long before it gets 100% and be used on large servers, so I kindly ask you to report any bugs you find. What’s new? The code has been completely reworked for low memory and disk usage. The system is through listeners and triggers, considerably reducing the number of scheduled tasks and threads and, consequently, the use of system RAM. So let’s go to the list of news: All fights are instantiated: what gives the freedom to have several fights happen in the same place without the players of different fights interfering in their respective fights. Unlimited Arenas: arenas are created through a simple XML where only the spawn coordinates of a player in the world are configured, this means that you can create as many arenas as you want, ANYWHERE ON THE MAP. Fairer fights: fights were given a different way of picking a winner. They received a duration parameter – countdown – (that’s right, you can set the maximum time for each fight), with that, now there are 3 ways to win a fight: 1. Having the most live members on your team. 2. Having dealt more damage than the opposing team at the end of the fight countdown. 3. If one or more members of the enemy team is out of the combat zone for more than 10 seconds (for that a task – OutOfTheZoneTask – was created). If none of the above options are met, the fight will be considered a draw (meaning no damage was dealt or action taken during the fight – that’s right AFK players – and players will not receive rewards. Monitoring of fights: you can now monitor all fights that are currently taking place. Using an admin command you can enter the same instance of the fight and the players involved and thus check for any suspicious activity. Registration in fights: in order for a player to register he must choose the mode he wants to play, if it is a group mode (ie any one other than 1 vs 1), he must create a “TournamentTeam”, ie , he will no longer have the need to form a Party, he will have to invite to his team the members he wants to play with and the code itself will decide if all players are able to battle in the chosen mode. Choice of fights (WIP): fights will no longer be chosen randomly. Each player will have some parameters that determine their “fighting power”. 1. WDT (Win/Defeat/Ties) – This parameter determines the average wins per tie loss. 2. DPF (Damage per Fight) – this parameter determines the average damage the player deals per fight. These parameters are fully tied to defining the amount of points each player will earn on each win and draw and how much they will lose on each defeat, as well as sorting them into Elos (but this is still a work in progress). Defined the amount of points from the DPF and WDT teams will be allocated to play against teams that have a similar “fighting power”, so there will be a greater balance in the Tournament. – Automatic Rankings: last but not least, our specialty. HTMLs being dynamically and automatically generated. At the end of each fight, the data of the players involved are stored in the database. Every player can access these data using the command “.mytour” where you will see your own statistics on the tournament and other players. The statistics implemented (for all modes) so far are: 1. WDT Rate (Win/Defeat/Ties) 2. DPF (Damage per Fight) – Modes: 1 vs 1 / 2 vs 2 / 3 vs 3 / 4 vs 4 / 5 vs 5 / 9 vs 9. 3. Total Damage Caused 4. Damage Caused – Modes: 1 vs 1 / 2 vs 2 / 3 vs 3 / 4 vs 4 / 5 vs 5 / 9 vs 9. 5. Total Kills 6. Total Kills – Modes: 1 vs 1 / 2 vs 2 / 3 vs 3 / 4 vs 4 / 5 vs 5 / 9 vs 9. 7. Total Wins – Modes: 1 vs 1 / 2 vs 2 / 3 vs 3 / 4 vs 4 / 5 vs 5 / 9 vs 9. 8. Total Losses – Modes: 1 vs 1 / 2 vs 2 / 3 vs 3 / 4 vs 4 / 5 vs 5 / 9 vs 9. 9. Total draws – Modes: 1 vs 1 / 2 vs 2 / 3 vs 3 / 4 vs 4 / 5 vs 5 / 9 vs 9. Important Settings: – Restriction of Skills in the arena. – Restriction of items in the arena. – Class restriction in all modes. – Auto Teleport when starting Tournament 2.0 (Confirm Dialog) – All other settings described above have the option to be disabled/enabled. Download: https://mega.nz/file/NdhCgaiZ#n_zgBmXNlgLheVRQQ6XeGpT0klD-4Zwl0NneS1u6NNQ Rar pass is https://discord.gg/2C37UszZ Enjoy
  9. Allow Healers in TvT/Ctf/DM https://pastebin.com/EyaYWsbG Announce olympiad end season (on enter )https://pastebin.com/PFJR4JQ6 Augment item trade https://pastebin.com/iJEt2Lsn PvP Count TvT/Ctf/DM https://pastebin.com/FEBQv78Y Show HP/CP/ at pvp death https://pastebin.com/SpLCmuyU Show Clan npc crest https://pastebin.com/DqcW0y1Q No enchant near npc l2jfrozen 1132 https://pastebin.com/aSs19TaT Automatic restart l2jfrozen 1132 https://pastebin.com/F3qtVFPx Fix auto learn skill (Freeze bug) https://pastebin.com/CUTWh6UV Fix soulshot l2jfrozen 1132 https://pastebin.com/bQTEPc99 Fix bug clan warehouse lost items l2jfrozen 1132 https://pastebin.com/a6rjUXxL Siege announce system https://pastebin.com/RDznqXiA L2JFrozen Fix Auto-Learn Skill https://pastebin.com/xmTmvghx L2JFrozen Boss event https://pastebin.com/kQjMEjPv Skills bug at restart
  10. 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 l2jfrozen 1132 https://pastebin.com/YczLkpUp L2jMobius High-Five https://pastebin.com/aYvSZVC8 L2Mythras (2017.07.12) https://pastebin.com/yTKnHpDD 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
  11. VDS Vote Donate System Implementation of vote global and individual system with itopz donate panel task manager. As title says its an auto donation reward based on DenArt-Designs panel and or https://itopz.com free ones A Vote System & Donate System made for a variety of projects ideas and problems send on github! A project with sources and planned for updates to match a bigger variety of projects and topsites and maybe more codes. Full VDS project source: https://github.com/nightw0lv/iTopZ-Java/ Compiled VDS Jars: https://github.com/nightw0lv/iTopZ-Java/releases/ Developer's Note: the (small) patch its on each project's folder with name Patch.diff Global vote system IP restricted rewards Reward every XX minutes Reward step every XX votes Reward item list will check if item exist Reward item list with chances 0-100% Reward item randomized of min-max values Update console votes and ranking Save votes in case of restarting the server Monthly reset for votes Print response failure message Configured announcement print of server vote statistics Individual vote system Automatically register .itopz command Reward item list will check if item exist Reward item list with chances 0-100% Reward item randomized of min-max values Reward will set as "expired" after 12hours checking server time Reward reuse 12hours Command used after reward will show remaining time (PM/AM) to vote again Check for local ips is restricted Check for response errors Check if player voted Donate Management (upgrade version of https://github.com/nightw0lv/DonatePanel) Player donates through Donate Panel Item will be rewarded in game Configs Fully configured Console Fully configured global reward Fully configured individual reward Console Information buttons Can send global reward in-game manually Prints rewards Prints donates Prints monthly reset Prints database updates Shows server ranking statistics Shows if you use DEMO or API key as mode status Auto scrolling messages Fully configured Revisions Version 1.2 Minimal Requirement on server resources and class consistency along projects. Addition of Thread class. Addition of Random class. Addition of Logs class. Addition of Url class. Addition of Rewards class. SQL independence on tables with vds_individual and vds_global tables automatic install by default Addition of topsites and their configs. Hopzone. L2Network. L2TopGameServer. L2TopServers. L2Votes. L2JBrasil. Gui Addition of Debug on/off button. Addition of Bug report button. Removed Debug mode. Rework on the class to update all topsite statistics. Rework on console size and re-arrange information and console. Fixed Bug that made global with individual rewards conflict. Improved custom JSon parser for wannabe-called APIs on a lot of topsites. Improved Debug with External IP Address. Version 1.1 Refactor on URL to prepare extend Added missing default values on config for console RGB colors Fixed output paths on project dir Updated dictionary and workspace project files HWID Protection fallback to IP that fallback into player name in case of null refactor ips to fingerprint removed ip check added objects null coalesce check on HWID, IP, player name on this order Game console string separator Updated script version Version 1.0 Initial commit Special thanks to Rationale Images https://raw.githubusercontent.com/nightw0lv/iTopZ-Java/master/images/1.png https://raw.githubusercontent.com/nightw0lv/iTopZ-Java/master/images/2.png https://raw.githubusercontent.com/nightw0lv/iTopZ-Java/master/images/3.png https://raw.githubusercontent.com/nightw0lv/iTopZ-Java/master/images/4.png https://raw.githubusercontent.com/nightw0lv/iTopZ-Java/master/images/5.png https://raw.githubusercontent.com/nightw0lv/iTopZ-Java/master/images/6.png https://raw.githubusercontent.com/nightw0lv/iTopZ-Java/master/images/7.png
  12. That's a fix for acis 399 is just a check when entering the valakas zone probably the TK forgot about it. https://pastebin.com/raw/3EeEsbeN
  13. Index: aCis_datapack/data/xml/zones/ArenaZone.xml IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/aCis_datapack/data/xml/zones/ArenaZone.xml b/aCis_datapack/data/xml/zones/ArenaZone.xml --- a/aCis_datapack/data/xml/zones/ArenaZone.xml (revision fe710a9694c725982e80c3db5037128ed3f0ca02) +++ b/aCis_datapack/data/xml/zones/ArenaZone.xml (revision c59220ae01b62d03a4f1394ba1ce52853868bbab) @@ -6,18 +6,21 @@ <node x="12937" y="183019"/> <node x="12943" y="184010"/> <node x="11941" y="184010"/> + <spawn type="NORMAL" x="12661" y="181687" z="-3560"/> </zone> <zone shape="NPoly" minZ="-3752" maxZ="-3352"><!-- gludin_pvp --> <node x="-88411" y="141732"/> <node x="-87429" y="141733"/> <node x="-87429" y="142708"/> <node x="-88408" y="142708"/> + <spawn type="NORMAL" x="-86979" y="142402" z="-3643"/> </zone> <zone shape="NPoly" minZ="-3850" maxZ="-3350"><!-- giran_pvp_battle --> <node x="72493" y="142263"/> <node x="73493" y="142264"/> <node x="73493" y="143261"/> <node x="72495" y="143258"/> + <spawn type="NORMAL" x="73890" y="142656" z="-3778"/> </zone> <zone shape="NPoly" minZ="-3498" maxZ="-3298"><!-- colosseum_battle --> <node x="150948" y="46483" /> @@ -36,5 +39,6 @@ <node x="151220" y="47493" /> <node x="151216" y="47259" /> <node x="150947" y="46960" /> + <spawn type="NORMAL" x="147451" y="46728" z="-3298"/> </zone> </list> \ No newline at end of file Index: aCis_gameserver/java/net/sf/l2j/gameserver/data/xml/MapRegionData.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/data/xml/MapRegionData.java b/aCis_gameserver/java/net/sf/l2j/gameserver/data/xml/MapRegionData.java --- a/aCis_gameserver/java/net/sf/l2j/gameserver/data/xml/MapRegionData.java (revision fe710a9694c725982e80c3db5037128ed3f0ca02) +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/data/xml/MapRegionData.java (revision 1ff70bc80187be81e9301b350b234e26f781a3d9) @@ -22,6 +22,8 @@ import net.sf.l2j.gameserver.model.entity.Castle; import net.sf.l2j.gameserver.model.entity.Siege; import net.sf.l2j.gameserver.model.location.Location; +import net.sf.l2j.gameserver.model.zone.ZoneForm; +import net.sf.l2j.gameserver.model.zone.type.ArenaZone; import net.sf.l2j.gameserver.model.zone.type.TownZone; import org.w3c.dom.Document; @@ -46,7 +48,7 @@ private static final int REGIONS_Y = 16; private static final Location MDT_LOCATION = new Location(12661, 181687, -3560); - + private final int[][] _regions = new int[REGIONS_X][REGIONS_Y]; protected MapRegionData() @@ -228,7 +230,15 @@ // The player is in MDT, move him out. if (player.isInsideZone(ZoneId.MONSTER_TRACK)) return MDT_LOCATION; - + + // The player is in Arena zone type, move him out. + if (player.isInsideZone(ZoneId.ARENA)) { + ArenaZone arenaZone = ZoneManager.getInstance().getZone(player, ArenaZone.class); + if(arenaZone != null && !arenaZone.getSpawns(SpawnType.NORMAL).isEmpty()){ + return arenaZone.getRndSpawn(SpawnType.NORMAL); + } + } + if (teleportType != TeleportType.TOWN && player.getClan() != null) { if (teleportType == TeleportType.CLAN_HALL) Index: aCis_gameserver/java/net/sf/l2j/gameserver/enums/ZoneId.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/enums/ZoneId.java b/aCis_gameserver/java/net/sf/l2j/gameserver/enums/ZoneId.java --- a/aCis_gameserver/java/net/sf/l2j/gameserver/enums/ZoneId.java (revision fe710a9694c725982e80c3db5037128ed3f0ca02) +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/enums/ZoneId.java (revision 1ff70bc80187be81e9301b350b234e26f781a3d9) @@ -21,7 +21,8 @@ CAST_ON_ARTIFACT(16), NO_RESTART(17), SCRIPT(18), - BOSS(19); + BOSS(19), + ARENA(20); private final int _id; Index: aCis_gameserver/java/net/sf/l2j/gameserver/model/zone/type/ArenaZone.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/model/zone/type/ArenaZone.java b/aCis_gameserver/java/net/sf/l2j/gameserver/model/zone/type/ArenaZone.java --- a/aCis_gameserver/java/net/sf/l2j/gameserver/model/zone/type/ArenaZone.java (revision fe710a9694c725982e80c3db5037128ed3f0ca02) +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/model/zone/type/ArenaZone.java (revision 1ff70bc80187be81e9301b350b234e26f781a3d9) @@ -3,13 +3,14 @@ import net.sf.l2j.gameserver.enums.ZoneId; import net.sf.l2j.gameserver.model.actor.Creature; import net.sf.l2j.gameserver.model.actor.Player; +import net.sf.l2j.gameserver.model.zone.type.subtype.SpawnZoneType; import net.sf.l2j.gameserver.model.zone.type.subtype.ZoneType; import net.sf.l2j.gameserver.network.SystemMessageId; /** * A zone extending {@link ZoneType}, where summoning is forbidden. The place is considered a pvp zone (no flag, no karma). It is used for arenas. */ -public class ArenaZone extends ZoneType +public class ArenaZone extends SpawnZoneType { public ArenaZone(int id) { @@ -24,6 +25,7 @@ character.setInsideZone(ZoneId.PVP, true); character.setInsideZone(ZoneId.NO_SUMMON_FRIEND, true); + character.setInsideZone(ZoneId.ARENA, true); } @Override @@ -31,7 +33,8 @@ { character.setInsideZone(ZoneId.PVP, false); character.setInsideZone(ZoneId.NO_SUMMON_FRIEND, false); - + character.setInsideZone(ZoneId.ARENA, false); + if (character instanceof Player) ((Player) character).sendPacket(SystemMessageId.LEFT_COMBAT_ZONE); }
  14. Well, one friend asked to me to help him coding a simple "pvp zone" and then asked to me to add an item checker... etc So I coded a "MultiFunction", "AIO"... whatever... zone. Easy to modify, with configs... and I wanted to share it with you. Simply if you don't like it or you don't like me, don't spam here. We know that some of this features could be already shared over the net... blabla... But here are all together, are configurable and I think that it's 90% without bugs. Note: Default zone: Crystal Caverns Quickly enumeration of which configs it has: -Enable/Disable pvp flag on enter -Enable/Disable revive delay & set the time -Specify (unlimited) random respawns if revive enabled -Specify random respawn radius -Enable/Disable noblesse blessing on enter -Enable/Disable remove buffs on enter -Enable/Disable remove pets on enter -Specify special reward when hunting inside -Specify items that will be unequiped & blocked to use inside the zone -Specify items by grades that will be unequiped & blocked to use inside the zone -Specify an enchant level. Items with that level or more, will be unequiped & blocked to use inside the zone -Specify classes id's that won't be able to enter to this zone V.1.3 - 14/02/2013 Coded for l2jserver Freya. - Wyatt L2jServer Freya patch Addapted to l2jfrozen Interlude. - Wyatt L2jFrozen Interlude patch. Addapted to l2jserver H5 Beta, rev core:5639 datapack:9185. - Valanths L2jServer H5 Beta patch Addapted to l2jserver H5 Beta, rev core:6165 datapack:9909. - Valanths L2jServer H5 Beta patch Addapted to Acis, Changeset 309. - Tяαnce Acis patch Addapted to Acis, rev:299. - Dεbian Acis patch Credits: Wyatt
  15. PT-BR EN https://pastebin.com/yfBeK9r0
  16. Hello members, I made a useful search action only for gms in order to save some of your time while you want to search items (ids,actual names etc). (Its 15 min code since i copied Bookmarks code and edited it) write //search to open the html or //search {word} for directly search Coded in aCis 370 rev Video Code Html P.s Dont forget to add the commands in adminCommands.xml ps2. i didnt design the html cause im lazy. Edit: Updated by @StinkyMadness
  17. Set your dressme the way you prefer. Like this : <dressme itemId="3470"> <appearance hairId="0" chestId="9210" legsId="0" glovesId="6380" feetId="6381" /> </dressme> OR <dressme itemId="3470"> <appearance hairId="0" chestId="9210" /> </dressme> code : Skin aCis
  18. Hello. I share nothing special but i think many will use it right way. With this patch you can make zones with only craft,sell and buy. For example, on Giran, you can make right side only buy, left side only sell and back side only craft. [/img] ### Eclipse Workspace Patch 1.0 #P Hero-GS Index: java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreBuy.java =================================================================== --- java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreBuy.java (revision 14) +++ java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreBuy.java (working copy) @@ -23,6 +23,7 @@ import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.PrivateStoreType; import net.sf.l2j.gameserver.model.tradelist.TradeList; +import net.sf.l2j.gameserver.model.zone.ZoneId; import net.sf.l2j.gameserver.network.SystemMessageId; import net.sf.l2j.gameserver.util.Util; @@ -79,6 +80,12 @@ if (!player.isInsideRadius(storePlayer, 150, true, false)) return; + if(!player.isInsideZone(ZoneId.BUY)) + { + player.sendMessage("You can't buy items on this area."); + return; + } + if (!(storePlayer.getPrivateStoreType() == PrivateStoreType.SELL || storePlayer.getPrivateStoreType() == PrivateStoreType.PACKAGE_SELL)) return; Index: java/net/sf/l2j/gameserver/network/clientpackets/RequestRecipeShopListSet.java =================================================================== --- java/net/sf/l2j/gameserver/network/clientpackets/RequestRecipeShopListSet.java (revision 14) +++ java/net/sf/l2j/gameserver/network/clientpackets/RequestRecipeShopListSet.java (working copy) @@ -61,13 +61,13 @@ player.sendPacket(SystemMessageId.CANT_OPERATE_PRIVATE_STORE_DURING_COMBAT); return; } - - if (player.isInsideZone(ZoneId.NO_STORE)) + + if(!player.isInsideZone(ZoneId.CRAFT)) { player.sendPacket(SystemMessageId.NO_PRIVATE_WORKSHOP_HERE); player.sendPacket(ActionFailed.STATIC_PACKET); return; - } + } if (_count == 0) player.forceStandUp(); Index: java/net/sf/l2j/gameserver/model/zone/type/L2CraftZone.java =================================================================== --- java/net/sf/l2j/gameserver/model/zone/type/L2CraftZone.java (revision 0) +++ java/net/sf/l2j/gameserver/model/zone/type/L2CraftZone.java (working copy) @@ -0,0 +1,55 @@ +/* + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see <http://www.gnu.org/licenses/>. + */ +package net.sf.l2j.gameserver.model.zone.type; + +import net.sf.l2j.gameserver.model.actor.L2Character; +import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; +import net.sf.l2j.gameserver.model.zone.L2ZoneType; +import net.sf.l2j.gameserver.model.zone.ZoneId; + +/** + * @author Leki + */ +public class L2CraftZone extends L2ZoneType +{ + public L2CraftZone(final int id) + { + super(id); + } + + @Override + protected void onEnter(final L2Character character) + { + if (character instanceof L2PcInstance) + character.setInsideZone(ZoneId.CRAFT, true); + } + + @Override + protected void onExit(final L2Character character) + { + if (character instanceof L2PcInstance) + character.setInsideZone(ZoneId.CRAFT, false); + } + + @Override + public void onDieInside(final L2Character character) + { + } + + @Override + public void onReviveInside(final L2Character character) + { + } +} \ No newline at end of file Index: java/net/sf/l2j/gameserver/model/zone/type/L2BuyZone.java =================================================================== --- java/net/sf/l2j/gameserver/model/zone/type/L2BuyZone.java (revision 0) +++ java/net/sf/l2j/gameserver/model/zone/type/L2BuyZone.java (working copy) @@ -0,0 +1,55 @@ +/* + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see <http://www.gnu.org/licenses/>. + */ +package net.sf.l2j.gameserver.model.zone.type; + +import net.sf.l2j.gameserver.model.actor.L2Character; +import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; +import net.sf.l2j.gameserver.model.zone.L2ZoneType; +import net.sf.l2j.gameserver.model.zone.ZoneId; + +/** + * @author Leki + */ +public class L2BuyZone extends L2ZoneType +{ + public L2BuyZone(final int id) + { + super(id); + } + + @Override + protected void onEnter(final L2Character character) + { + if (character instanceof L2PcInstance) + character.setInsideZone(ZoneId.BUY, true); + } + + @Override + protected void onExit(final L2Character character) + { + if (character instanceof L2PcInstance) + character.setInsideZone(ZoneId.BUY, false); + } + + @Override + public void onDieInside(final L2Character character) + { + } + + @Override + public void onReviveInside(final L2Character character) + { + } +} \ No newline at end of file Index: java/net/sf/l2j/gameserver/model/zone/ZoneId.java =================================================================== --- java/net/sf/l2j/gameserver/model/zone/ZoneId.java (revision 14) +++ java/net/sf/l2j/gameserver/model/zone/ZoneId.java (working copy) @@ -38,7 +38,10 @@ DANGER_AREA(15), CAST_ON_ARTIFACT(16), NO_RESTART(17), - SCRIPT(18); + SCRIPT(18), + SELL(19), + BUY(20), + CRAFT(21); private final int _id; Index: java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreSell.java =================================================================== --- java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreSell.java (revision 14) +++ java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreSell.java (working copy) @@ -20,6 +20,7 @@ import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.PrivateStoreType; import net.sf.l2j.gameserver.model.tradelist.TradeList; +import net.sf.l2j.gameserver.model.zone.ZoneId; import net.sf.l2j.gameserver.network.SystemMessageId; public final class RequestPrivateStoreSell extends L2GameClientPacket @@ -74,6 +75,12 @@ if (!player.isInsideRadius(storePlayer, 150, true, false)) return; + if(!player.isInsideZone(ZoneId.SELL)) + { + player.sendMessage("You can't sell items on this area."); + return; + } + if (storePlayer.getPrivateStoreType() != PrivateStoreType.BUY) return; Index: java/net/sf/l2j/gameserver/model/zone/type/L2SellZone.java =================================================================== --- java/net/sf/l2j/gameserver/model/zone/type/L2SellZone.java (revision 0) +++ java/net/sf/l2j/gameserver/model/zone/type/L2SellZone.java (working copy) @@ -0,0 +1,55 @@ +/* + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see <http://www.gnu.org/licenses/>. + */ +package net.sf.l2j.gameserver.model.zone.type; + +import net.sf.l2j.gameserver.model.actor.L2Character; +import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; +import net.sf.l2j.gameserver.model.zone.L2ZoneType; +import net.sf.l2j.gameserver.model.zone.ZoneId; + +/** + * @author Leki + */ +public class L2SellZone extends L2ZoneType +{ + public L2SellZone(final int id) + { + super(id); + } + + @Override + protected void onEnter(final L2Character character) + { + if (character instanceof L2PcInstance) + character.setInsideZone(ZoneId.SELL, true); + } + + @Override + protected void onExit(final L2Character character) + { + if (character instanceof L2PcInstance) + character.setInsideZone(ZoneId.SELL, false); + } + + @Override + public void onDieInside(final L2Character character) + { + } + + @Override + public void onReviveInside(final L2Character character) + { + } +} \ No newline at end of file After this go to data/xml/zones. Create files SellZone.xml, BuyZone.xml and CraftZone.xml and put inside <zone type="SellZone" shape="NPoly" minZ="-x" maxZ="-z"> <node X="-x" Y="y" /> <node X="-x" Y="y" /> </zone> Zone type put that type you want, and about making zone you can look on SweeTs Guide http://www.maxcheaters.com/topic/188679-how-to-check-remove-and-add-zone Thank you.
  19. 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
  20. Some people are trying to sell shared stuff but there it is for free even if they sell it for like 5/10 € still waste of money Index: aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/Player.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== 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 --- a/aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/Player.java (revision 33bdb515614e31c09ae565ef3c2bec0cd9c1fb08) +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/Player.java (date 1623023055776) @@ -3,15 +3,7 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.Set; +import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentSkipListMap; import java.util.concurrent.Future; @@ -6122,7 +6114,47 @@ { return _subclassLock.isLocked(); } - + + + /** + * Send siege info for this player after logging in into the world. + */ + private void sendSiegeInfo(){ + for (Castle castle : CastleManager.getInstance().getCastles()) { + sendMessage(String.format("Castle : %s will have its siege on: %s", getCastleName(castle.getCastleId()), castle.getSiegeDate().getTime())); + } + } + + /** + * Get Name for castle id + * @param id id of the castle + * @return return the right name for the requested name + */ + private String getCastleName(int id){ + switch(id){ + case 1: + return "Gludio"; + case 2: + return "Dion"; + case 3: + return "Giran"; + case 4: + return "Oren"; + case 5: + return "Aden"; + case 6: + return "Innadril"; + case 7: + return "Goddard"; + case 8: + return "Rune"; + case 9: + return "Schuttgart"; + default: return "Not found"; + } + } + + public void onPlayerEnter() { if (isCursedWeaponEquipped()) @@ -6182,6 +6214,8 @@ whItem.scheduleLifeTimeTask(); } } + //Send siege info + sendSiegeInfo(); } public long getLastAccess()
  21. Hello everyone, I would like to share this simple event. A registration npc spawns at a specific time and announces the registration as any event, after that everyone will have a time to register and those that are registered will be taken to a configured location where they will have time to kill the boss that will spawn. Each must achieve a minimum damage to the boss to receive the rewards. There are also two active functions: Last Attacker Reward and Main Damage Dealer reward. Both announced on the boss's death. Enjoy. Code
  22. 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:
  23. Hello Folks. Here is a code for items that bestow augment skills by double click. Code is for L2jfrozen but is very easy to adapt everywhere. Credits: Gabrieljdb. + Some Features and fixed from Yo_Sarada and me. Java Part: Client Part: Sql Query:
  24. Some time ago i helped someone with disabling shot spells. So, the next code it's more elegant solution than my previous guide. Example of course will for aCis but adapt for any other pack not a problem, i guess. For broadcasting all shot spells except soulshot uses broadcastPacketInRadius method into Creature.java. So, then we changing him. public void broadcastPacketInRadius(GameServerPacket packet, int radius) { if (radius < 0) radius = 600; // Check if packet is MagicSkillUse. final boolean isMagicSkillUse = (packet instanceof MagicSkillUse); for (final Player player : getKnownTypeInRadius(Player.class, radius)) { // Check if magicSkillUse contains Shot's skill and check if player disabled shot spells. if (isMagicSkillUse && SkillTable.isShotSkill(((MagicSkillUse) packet).getSkillId()) && player.getGameSettings().isBlockedShotEffect()) continue; player.sendPacket(packet); } } Next one step we add fix for soulshot spells broadcasting via broadcastPacket() method. public void broadcastPacket(GameServerPacket packet, boolean selfToo) { final boolean isAttackWithShots = (packet instanceof Attack) && ((Attack) packet).soulshot; Attack attackPacket = null; if (isAttackWithShots) { attackPacket = new Attack(((Attack) packet).getAttacker(), false, 0); final HitHolder[] holder = ((Attack) packet).getHits(); final HitHolder[] newHolder = new HitHolder[holder.length]; // This magic need for cleanup FLAG bit mask from SS usage. for (int i = 0; i < newHolder.length; i++) newHolder[i] = new HitHolder(holder[i]._target, holder[i]._damage, holder[i]._crit, holder[i]._miss, holder[i]._shld); // Generating FLAG bit mast anew. attackPacket.processHits(newHolder); } for (final Player player : getKnownType(Player.class)) { if (isAttackWithShots && player.getGameSettings().isBlockedShotEffect() && attackPacket != null) { player.sendPacket(attackPacket); continue; } player.sendPacket(packet); } } Next one step we add return methods for some fields in Attack packet. Don't forget change field INT to Creature for storing attaker as object, and not object ID. And add changes into constuct method also. public Creature getAttacker() { return _attacker; } public HitHolder[] getHits() { return _hits; } Next one step add method inside MagicSkillUse packet for getting skill id of sendable skill. public int getSkillId() { return _skillId; } Next one step add into SkillTable array with shot's skill IDs and method for checking them. private static final int[] _shotSkillsId = { 2008, 2009, 2033, 2039, 2047, 2061, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2181, 2182, 2183, 2184, 2185, 2186 }; public static boolean isShotSkill(int skillId) { for (int id : _shotSkillsId) if (id == skillId) return true; return false; } Next one step is addition trigger option for store player configuration as i'm uses (player.getGameSettings().isBlockedShotEffect()). I uses separated GameSetting instance for all player's settings. You can make directly the new field inside Player.java and use like player.isBlockedShotEffect(). That's all what you need. This code disable all spells (SoulShot, SpritShot, Blessed SpiritShot, Beats Shot, Fishing Shot) from other objects except your spells. If you need add own servitor spell seeing then just add new return method in MagicSkillUse for get caster object IOD and thek him with your servitor object ID.
×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disbaled AdBlock