Jump to content

Recommended Posts

Posted

Give it up already, it's obvious you are alt account from on of your beloved serber staff... I wont comment who's server is better or who knows more about L2 and coding, just wait until servers open and comment there. I will ignore any of ur further posts because it's not worth arguing with you.

you have an answer for this ?? you obviously read it but not asnwer ....  mmm

 

 

well if  some1 does it once it's ok but twice ?? i mean he did it on L2Forever and now on L2Revenge twice stolen names. Now this can tell us 2 things :

1)Either BBanfailure is so stupid that he can't think of a name for his server (so retard)

or

2)That he steals famous server's name's on purpose cause he wanna bring a little more ppl to his server to gain more money.

 

These are 2 logic reasons, there can't be third only this 2 so choose wisely.

 

 

Posted

you have an answer for this ?? you obviously read it but not asnwer ....  mmm

 

 

well if  some1 does it once it's ok but twice ?? i mean he did it on L2Forever and now on L2Revenge twice stolen names. Now this can tell us 2 things :

1)Either BBanfailure is so stupid that he can't think of a name for his server (so retard)

or

2)That he steals famous server's name's on purpose cause he wanna bring a little more ppl to his server to gain more money.

 

These are 2 logic reasons, there can't be third only this 2 so choose wisely.

 

 

 

Could you just get the fuck out?

Goodness gracious...

Posted

If you were smart enough you would stop replying him.

 

If you were smart enough you'd come to think of those replies as bumps for the server.

Posted

L2 Forever was a failure,it was funny i  got jailed and logged in next day and picked up baium ring and another lots of crap so tell me how they ended up there GM was messing around in jail then forgot to clean it up or? .....anyways best of luck for the server  :-\

Posted

If you were smart enough you'd come to think of those replies as bumps for the server.

If you were smart enough you should'd know that these replies counts for spam and they can get deleted.

Posted

If you were smart enough you should'd know that these replies counts for spam and they can get deleted.

 

If you were smart enough you would know the the bumps would be effective either way.

Posted

UPDATE ON CUSTOM FEATURES:

 

Today I have been working on a retail feature upgrade... you all know all those treasure chests that lie around that none wants to open? Why?.. because they contain nothing special - this is about to change.

 

All custom farming and leveling zones will contain special chests (different kinds) for specific player level (if your too high or too low you will not be able to open the chest.

 

Wat do they contain? They contain all sorts of things, from custom materials, adena, some even weapons... you might even stumble on one that gives you good experience.

 

Here's screen of the chests in VOS :)

 

treasure_chests.jpg

Posted

Many servers are doing this feature where you open the chest you get FREE ITEMS omg IMM RICCCCH NOW!!!!!!!!!!!!  :D

 

Well.. its risky xD You'll either get some coins or.. items, nothing, or die :D

Posted

Today I have been working on a feature to prevent raid luring for their spawns. I want this server to experience as much pvp as possible, therefore I have decided to implement s.c "Back to Spawn" features for grand raids (includes Sekhmet, Osiris and 14 VOS raids).

 

How does it work? Well once you lure the raid too far it will port back to it's spawn (note all grand raids are located in pvp zones).

 

back_to_spawn.jpg

 

The second thing is new event called "Speedy Bunny" that will be automatic and will happen each day in different town.

 

How does it work?

 

Each day at specific predefined time automatic announcement will be made that "Speedy Bunny" has appeared in town (Giran, Gludin, Goddart and soo on.. each day different).

 

Once someone finds him you can talk with him. You will receive reward and bunny will despawn and spawn again in a different place in town (each time someone finds him he will shout the name of player that found him and respawn). This circle will repeat few times and after the end of event will be announced.

 

Same kind of event will be also managed by GMs from time to time (imagine 100 players running from one place to another to catch the bunny :D ).

 

And the final but not nearly last L2Revenge.ORG features are custom weapons made by Sycento

 

Weapons from Underworld  -  Limbo - Gate of Oblivion

 

Here is a screeny

 

oplivionweaponsl2reveng.jpg

Posted

Well even i know you will not keep your promises i want to wish you good luck with your server.

Dont screw it up this time.

Posted

too bad there's the sh1tty custom weaps/armors

im out lol

 

Don't judge before you even know what they do and how they are obtained. If you do not like retail like servers then this is defenetly not a server for you. Custom doesn't necessary mean unbalanced or bad, it depends on how much effort and time is put into it.

 

Anyhow, if you prefer retail-like server then this is not for you, for those who have open mind, your more then welcome.

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