Jump to content

Recommended Posts

Posted

New Project http://dump.ru/file/2748035

paword  www.la2base.ru

- Fixed: Little fix in formulas (cleaning if -> switch)

- Updated: Increased max adena to 99.9kkk

- Updated: XP percentage lost on death now is configurable. Supports modification per each level out of core

- Cleanup: NEGATE optimization

- Added: Dual daggers support

- Updated: Removing spell books

- Added: Support for skills that should not trigger item skill on cast (e.g. common craft used on Olympiad)

- Added: Support S84 Items

- Added: Support for flying npc

- Added: Support for flying players through flying transformations (only inside gracia)

- Added: Support for CPHEAL_PERCENT

- Added: Support for magicDamVul

- Added: Support for critDamEvas

- Added: Support for CANCEL_STATS

- Added: Support for longer item counts

- Added: Support for landing zone (required for flying transformations)

- Added: Support to disable all potions while transformed in flying state (fly state have theirs own potions)

- Added: Support for Admin command: remove clan penalty. Thanks Salpe

- Added: Fortress Logistics Officer and Support Unit Captain.

- Added: Support for Clan Notice.

- Updated: Atk/Cast speed is removed from skill reuse calculation

- Updated: Master Work items can be part of armour sets excluding chest item. The code is based on L2Emu version.

- Updated: Item count support in clan skill learn tree. Retail clan skill learn tree

- Updated: You wont loose XP in a registered Siege if a siege NPC kills you.

- Added: Support for Characters global quest variable and now only the first completed 1Class quest give bonus rewards.

- Added: Support for infinite buff time.

- Added: Support for residential skills

- Removed: old temporary hardcoded heavy armor resist from Blow damage formula

- Added: Prevent someone using a bot to crash clients with an overflow of text.

- Updated: If you set death penalty to 0% chance then no one can get it.

- Updated: dbfactory so now idle connections can be configured and max poolsize should be at least min poolsize.

- Charges rework

- Added: Elemental system.

- Added: Functions for two new fortress NPC.

- Added: Automatic Air Ship support.

- Added: Support for chance skills added through effects

- Fixed: "Unevenly distributed hash code - Degraded Preformance" javolution message (Credits to L2JMatrix).

- Fixed: a bug in Drops.

- Fixed: a bug in Duels.

- Fixed: clan lvl sp consume messages.

- Fixed: java.sql.Connection imports.

- Fixed: close() on resultset, statement and connection (missing or wrong order).

- Fixed: 7s (no adena check for players under 2. class transfer when joining 7s).

- Updated: Javolution 5.3.1.

- Bluff Retail Like

 

DataPack

- A Mana burning effect has been added to Aura Sink and Seal of Gloom.

- The reuse time for the following skills has been changed to 4 seconds and consumed spirit ores have been increased to 10: Prophecy of Fire, Prophecy of Water, and Prophecy of Wind.

- The reuse time of the following skills has been changed to 15 minutes: Ultimate Defense, Servitor Ultimate Defense, Ultimate Evasion, Vengeance, and Shield of Faith.

- The reuse time of the following skills has been changed to 10 minutes: Guts, Frenzy, Decoy, Quiver of Arrows: A/S, Quiver of Bolts: A/S, Summon Treasure Key, Summon Cursed Bones, and Summon CP Potion.

- The following skills have been changed so that they can be used only on party members: Prophecy of Fire, Prophecy of Water, and Prophecy of Wind.

- The instantaneous death effect that occurs when Lethal Shot and Lethal Blow skills are used has been changed to a half instantaneous death effect.

- The Touch of Death skill has been changed. A player's HP no longer has to be at 75% or lower to cast. In addition, the HP cost has been lowered while the success rate has been increased.

 

- The effect of the increased range of a crossbow by the Increase Range skill has been changed.

Existing: 1st stage 150 increase, 2nd stage 300 increase.

Change: 1st stage 200 increase, 2nd stage 400 increase.

 

- The Hamstring skill has been changed to a physical skill and the magic casting time has been decreased.

- The additional affect of decreasing the resistance to polearm weapons has been added to the Provoke skill.

- The casting time for the Remedy skill has been decreased.

- The Focus Attack skill has changed from a buff type to a toggle.

- When the following skills are acquired, your magic attack resistance rate is increased: Magic Resistance, Magic Immunity, and Anti Magic.

- The chance to evade critical damage has been added to the Light Armor Mastery skill that can be learned by Rogues, Elven Scounts, Assassins, and Monks.

- Updating Duration in Fear Skills.

- Touch of Shilen has been changed to Spirit of Shilen, and its skill effect has been changed to a buff.

- The Hate skills of Knights no longer consume MP.

- The reuse time of the following skills has been changed to 1.2 seconds: Blaze, Prominence, Death Spike, Aqua Swirl, Wind Strike, Twister, Hydro Blast, Frost Bolt, Ice Dagger, Hurricane, and Curse Death Link

- The following Warder skills have been changed as follows:

*The reuse time of the skill Warp has been decreased considerably.

*Warder acquires the 1st level of Furious Soul at level 24.

*Warder acquires the 1st level of Ultimate Escape at level 36.

- Arbalester now acquires the 2nd level of Ultimate Escape at level 52.

 

- Changing one skillType to CPHEAL_PERCENT.

- Changing three skillTypes to CANCEL_STATS.

 

- Added 4 Quests:

* 1st one for flying transformation.

* 2nd one for collecting skill.

* 3rd and 4th for seed instances (not instances itself, just go from 1npc to another) once quest completed u actually can do seed instances (not yet in l2).so u know what i mean xD without these quests u cant do instances inside xD

 

- Partial support for collecting skills (collecting skills required for items that are needed for buying potions that can be used while in transformed flying state only and recipes).

 

- Added valley fortress teleports

- Added skill: Deflect Magic.

- Added skill: Break Duress.

- Added skill: Weapon Blockade.

- Added skill: Soul Harmony.

- Added skill: Throne Root.

- Added skill: Wild Shot.

- Added skill: Ghost Piercing.

- Added skill: Summon Imperial Phoenix.

- Added skill: Special Ability: Critical Damage (Duals +4).

- Added skill: Bless the Blood.

- Added skill: Seal of Limit.

- Added handler for learning skills through items (forgotten scrolls).

- Added Quest: Zero Hour.

- Added Quest: The Seed of Destruction.

- Added Quest: The Seed of Infinity.

- Added Quest: Journy to Gracia.

- Added Quest: Containing The Attribute Power

- Added Town zone: for Keucereus area.

- Added Landing zones: for aerial cleft entrance/keucereus area.

- Added Flying transformations.

- Added Vesper Armor Sets.

- Added Passive Skills Bonus for Vesper Armor Sets.

- Added Valley fortress teleports.

- Cleanup: invalid items from armor.sql, etcitem.sql & weapon.sql.

- Cleanup: where castRange or effectRange = -1.

- Cleanup: where count or time = 1.

- Cleanup: negateStat from CANCEL skillTypes, no longer necessary.

- Cleanup: where expPenalty = 0.

- Fixed: exploit with: COMMON_CRAFT & DWARVEN_CRAFT skillTypes.

- Updated: Stealth Skill, now is a TARGET_AURA skill.

- Updated: partially skill_trees.sql to CT2.3.

- Updated: armors/weapons/etcitems.

- Updated: "reuseDelay" in several skills.

- Updated: "Armor Sets" in GmShop menu.

- Updated: "magicLvl" in several skills.

- Updated: Spawnlist (gracia survivor, dimensional merchant, adventurers guide).

 

Core TODO:

- Disable melee attack for flying transforms

- Disable AI follow mode for flying transforms while using skills (use messages: target out of range/cannot see target/too high or low Z)

- Effectlist rework

- Fix for duplicate entry error on Grandboss saving

- CharEffectList cleaning

 

DataPack TODO:

- Landing zones for seed entrances

- Skills for fly transformations

- Skill container

- Recipes

- New pots allowed only while in flying transfor

http://www.4shared.com/file/106324283/812c382c/L2jofficial_rev_226.htmlthis link dont need pasowrd and it works fine

Guest
This topic is now closed to further replies.


  • Posts

    • what pack you use  send me on discord for it
    • package custom.events.RandomZoneEvent; import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.concurrent.ScheduledFuture; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.commons.time.SchedulingPattern; import org.l2jmobius.commons.time.TimeUtil; import org.l2jmobius.commons.util.IXmlReader; import org.l2jmobius.gameserver.managers.ZoneManager; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.quest.Event; import org.l2jmobius.gameserver.model.zone.ZoneId; import org.l2jmobius.gameserver.model.zone.ZoneType; import org.l2jmobius.gameserver.model.zone.type.RandomZone; import org.l2jmobius.gameserver.util.Broadcast; /** * Random Zone Event - Activates one random PvP zone temporarily. No modifica la clase de la zona: usa flags PvP en runtime. * @author Juan */ public class RandomZoneEvent extends Event { private static final String CONFIG_FILE = "data/scripts/custom/events/RandomZoneEvent/config.xml"; private static int EVENT_DURATION_MINUTES = 15; private static boolean _isActive = false; private ScheduledFuture<?> _eventTask = null; private final List<ZoneType> _availableZones = new ArrayList<>(); private ZoneType _activeZone = null; public RandomZoneEvent() { loadConfig(); loadZones(); registerZoneListeners(); } /** * Registra listeners a TODAS LAS ZONAS random */ private void registerZoneListeners() { for (ZoneType zone : _availableZones) { addEnterZoneId(zone.getId()); addExitZoneId(zone.getId()); LOGGER.info("[RandomZoneEvent] Registered listener for zone: " + zone.getName()); } } private void loadConfig() { new IXmlReader() { @Override public void load() { parseDatapackFile(CONFIG_FILE); } @Override public void parseDocument(Document doc, File file) { forEach(doc, "event", eventNode -> { final StatSet att = new StatSet(parseAttributes(eventNode)); final String name = att.getString("name"); for (Node node = eventNode.getFirstChild(); node != null; node = node.getNextSibling()) { if ("schedule".equals(node.getNodeName())) { final StatSet attributes = new StatSet(parseAttributes(node)); final String pattern = attributes.getString("pattern"); final SchedulingPattern schedulingPattern = new SchedulingPattern(pattern); final StatSet params = new StatSet(); params.set("Name", name); params.set("SchedulingPattern", pattern); final long delay = schedulingPattern.getDelayToNextFromNow(); getTimers().addTimer("Schedule_" + name, params, delay + 5000, null, null); LOGGER.info("[RandomZoneEvent] Event " + name + " scheduled at " + TimeUtil.getDateTimeString(System.currentTimeMillis() + delay)); } } }); } }.load(); } private void loadZones() { for (ZoneType zone : ZoneManager.getInstance().getAllZones(RandomZone.class)) { if ((zone.getName() != null) && zone.getName().toLowerCase().startsWith("random_zone")) { _availableZones.add(zone); LOGGER.info("[RandomZoneEvent] Loaded zone: " + zone.getName() + " (id=" + zone.getId() + ")"); } } LOGGER.info("[RandomZoneEvent] Total random zones loaded: " + _availableZones.size()); } @Override public void onTimerEvent(String event, StatSet params, Npc npc, Player player) { if (event.startsWith("Schedule_")) { eventStart(null); final SchedulingPattern schedulingPattern = new SchedulingPattern(params.getString("SchedulingPattern")); final long delay = schedulingPattern.getDelayToNextFromNow(); getTimers().addTimer(event, params, delay + 5000, null, null); LOGGER.info("[RandomZoneEvent] Rescheduled for " + TimeUtil.getDateTimeString(System.currentTimeMillis() + delay)); } } @Override public boolean eventStart(Player eventMaker) { if (_isActive) { if (eventMaker != null) { eventMaker.sendMessage("RandomZoneEvent already active."); } return false; } if (_availableZones.isEmpty()) { Broadcast.toAllOnlinePlayers("[RandomZoneEvent] No zones configured."); return false; } _isActive = true; Broadcast.toAllOnlinePlayers("⚔️ Random Zone Event has started!"); _eventTask = ThreadPool.schedule(this::activateRandomZone, 5_000); return true; } private void activateRandomZone() { _activeZone = _availableZones.get(new Random().nextInt(_availableZones.size())); _activeZone.setEnabled(true); Broadcast.toAllOnlinePlayers("🔥 Random Zone Event: " + _activeZone.getName() + " is now PvP for " + EVENT_DURATION_MINUTES + " minutes!"); _eventTask = ThreadPool.schedule(this::eventStop, EVENT_DURATION_MINUTES * 60 * 1000L); } @Override public boolean eventStop() { if (!_isActive) { return false; } _isActive = false; if (_eventTask != null) { _eventTask.cancel(true); _eventTask = null; } if (_activeZone != null) { _activeZone.setEnabled(false); Broadcast.toAllOnlinePlayers("🏁 Random Zone Event ended. " + _activeZone.getName() + " is back to normal."); _activeZone = null; } else { Broadcast.toAllOnlinePlayers("🏁 Random Zone Event ended."); } return true; } @Override public void onEnterZone(Creature creature, ZoneType zone) { if (!_isActive || (_activeZone == null)) { return; } if ((zone == _activeZone) && creature.isPlayable()) { creature.setInsideZone(ZoneId.PVP, true); if (creature.isPlayer()) { creature.sendMessage("Esta zona está en modo PvP temporalmente."); } } } @Override public void onExitZone(Creature creature, ZoneType zone) { if (!_isActive || (_activeZone == null)) { return; } if ((zone == _activeZone) && creature.isPlayable()) { creature.setInsideZone(ZoneId.PVP, false); if (creature.isPlayer()) { creature.sendMessage("Abandonaste la zona PvP temporal."); } } } @Override public boolean eventBypass(Player player, String bypass) { return true; } @Override public String onEvent(String event, Npc npc, Player player) { return super.onEvent(event, npc, player); } @Override public String onFirstTalk(Npc npc, Player player) { return null; } public static void main(String[] args) { new RandomZoneEvent(); } } i have this but its not working
    • ZonePvPSpawnBossRadio=0 ZonePvPSpawnBossBarakiel=0 at the Customs.ini in L2Server folder. Im prety sure this is it because i had the same problem with you in cruma 1 floor for example and i couldn't fix it but i fixed it finally by changing these 2 lines
    • Siege Reward Start PM Msg Rework Config root BossDieAnnounce and BossDieSound in the L24Team.properties and Config.java files for global raid boss death notifications and sounds. Adds a new reward_list table to the DB.sql file to track castle rewards. Improves character creation logic for thread safety and validation. Adds extensive state checks to the RequestEnchantItem method to prevent enchantments during inappropriate player states. Fixed auto-attack animation bug (there was no attack animation, only damage animation) Clean Code Other fixes I forgot to list! Java 14 Fixed issue where deleting a character would prevent it from leaving the screen or being removed, or even after a delete CD (it would only exit when re-logging in or creating a new character). Added Premium System from the other C2 project (Needs testing and improvement). Added the "Improved" Community Board (incomplete).
  • Topics

×
×
  • 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 Disabled AdBlock