- 0
-
Posts
-
🌟 Arena Fights – PvP System for Lineage II servers 📋 Overview The Arena Fights Manager is a fully automated and battle-proven PvP tournament system built for Lineage 2 servers (based on aCis pack standards). It offers hourly or custom-scheduled 1v1 fights, spectator options, disconnection handling, automatic NPC managers, and dynamic rescheduling, ensuring continuous and engaging PvP without the need for GM intervention. Ideal for any serious server that wants to offer competitive, organized, rewarding PvP content. ⚙️ Features ✅ Full Automation Automatic start/stop based on your custom schedule (Config.ARENA_FIGHTS_SCHEDULE). Reschedules every day at 23:59 for the next day's tournaments. Server restarts during an event? No problem — the system self-detects and continues! ✅ Matchmaking System Smart queue system for 1v1 match creation. Automatic pairing: when two players are queued, a match is instantly created. Validation checks to remove disconnected or invalid players from the queue. ✅ Dynamic PvP Arenas Predefined player teleport locations for fair 1v1 battles. Spectator mode available: players can view live battles through the event interface. ✅ NPC Manager Control Spawns special Arena Manager NPCs during event times. NPCs are deleted when the event finishes to keep the world clean. Multiple Managers can be placed easily. ✅ Robust Player Handling Handles disconnects gracefully: Saves disconnected players. Restores them to a safe location on reconnection. Removes them from the queue or match without crashes or bugs. Players receive a system message upon restoration. ✅ Clean Coding Practices Fully integrated with ThreadPool tasks for efficient, non-blocking performance. Uses CopyOnWriteArrayList for thread-safe collections (queues, matches, disconnected players). Singleton Pattern ensures only one Arena Manager instance exists. ✅ Visual Enhancements World Announcements during important event phases ("Arena Fights have started!", "Battles are over!"). Red Sky Effect (ExRedSky) during Arena start and end for immersive atmosphere. ✅ Admin-Friendly Commands Allows NPC broadcast announcements. Easy to check current running matches and spectate them. Display list of ongoing matches dynamically. 📦 Technical Highlights Built with a modular and clean structure. Zero dependency on hardcoded values — everything configurable via the server Config. Handles dynamic spawning and safe deletion of NPCs through SpawnTable. Utilizes InstanceManager to safely handle player instances. 🎯 Why Choose This Arena System? Feature Other Arena Fights Disconnection handling ❌ ✅ Fully automatic scheduling ❌ ✅ Daily rescheduling ❌ ✅ Manager NPC auto-spawn/despawn ❌ ✅ Queue matchmaking without GMs ❌ ✅ Clean code with thread-safety ❌ ✅ Integrated visual effects (Red Sky) ❌ ✅ Instant spectating capabilities ❌ ✅ 📈 Expandability Can be adapted to reward players with custom currencies (e.g., Arena Trophy). Could integrate ranking systems based on wins/loses. Room to add betting systems for spectators! 🔥 Screenshots / Preview (Optional) Lobby NPC screenshots Battle happening Spectator UI Disconnection restoration notification 💬 Final Words The Arena Fights Manager is not just a PvP mini-event — it's a major daily PvP engine that will boost: Player activity Server competitiveness Community engagement It’s optimized for performance, designed for smoothness, and built for growth. 🛒 Available for purchase! Interested? Contact me and let's make your server shine. PM me directly for inquiries and purchases. Discord: @Luminous Pricing: Full License: 70e (One-time payment) Support & Updates: included on full licence
-
By tomlondon12 · Posted
We are taking new orders. DM us on Telegram!
-
Topics
Question
erodz
can someone help with flagzone.java? i have code i put in to models/zone/type. and then i trying to compile server it give errror message. any ideas whats wrong? im using this code : Index: java/com/l2jserver/gameserver/model/zone/type/L2FlagZone.java
===================================================================
--- java/com/l2jserver/gameserver/model/zone/type/L2FlagZone.java (revision 0)
+++ java/com/l2jserver/gameserver/model/zone/type/L2FlagZone.java (revision 0)
@@ -0,0 +1,62 @@
+/*
+ * 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.l2jserver.gameserver.model.zone.type;
+
+import com.l2jserver.gameserver.model.actor.L2Character;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.zone.L2ZoneType;
+
+/**
+ * @author UnAfraid
+ */
+public class L2FlagZone extends L2ZoneType
+{
+ public L2FlagZone(int id)
+ {
+ super(id);
+ }
+
+ @Override
+ protected void onEnter(L2Character character)
+ {
+ if (character instanceof L2PcInstance)
+ {
+ ((L2PcInstance) character).startPvPFlag();
+ ((L2PcInstance) character).broadcastUserInfo();
+ }
+ }
+
+ @Override
+ protected void onExit(L2Character character)
+ {
+ if (character instanceof L2PcInstance)
+ {
+ ((L2PcInstance) character).stopPvPFlag();
+ ((L2PcInstance) character).broadcastUserInfo();
+ }
+ }
+
+ @Override
+ public void onDieInside(L2Character character)
+ {
+ onExit(character);
+ }
+
+ @Override
+ public void onReviveInside(L2Character character)
+ {
+ onEnter(character);
+ }
+}
7 answers to this question
Recommended Posts