Jump to content

Recommended Posts

Posted

dev ur not supposted to be sick?

 

 

OOPS you got him..

 

A/w on topic now and you all should be on topic and dont bother talking about other servers here.

 

The things i saw in l2 goal was pretty good, in the first day they were some mistakes/unbalances but no major, the stuff was there for ppl and fixed everything really fast till the last day that everything was looking perfect. To "be honest" its a really good thing and shows how mature you are. L2goal staff never promised shits like others did. and what they said they did it. Believe me, in the end everyone takes what he deserves and l2goal deserves a good community and i am sure they will get it if they keep it like this.

 

 

Cheers.

Posted

The things i saw in l2 goal was pretty good, in the first day they were some mistakes/unbalances but no major, the stuff was there for ppl and fixed everything really fast till the last day that everything was looking perfect. To "be honest" its a really good thing and shows how mature you are. L2goal staff never promised shits like others did. and what they said they did it. Believe me, in the end everyone takes what he deserves and l2goal deserves a good community and i am sure they will get it if they keep it like this.

 

 

Cheers.

What he said.

 

I have to say that i was really dissapointed with Private serves these last months.

Before they even opened i would join their forum , be an active community member and try to help in every way i could.

Finally all i got each time i tried was a pure failure from their part and a waste of time from my part.

 

This time though i am really hoping for the best.

The team of L2 Goal proved to be way better than the other developing - admin teams that i 've met so far.

Using our reports and our feedback they fixed everything WAY TOO fast. I was like , LOL.

 

Anyway this server really deserves a big community , and i would like to ask you all to , at least, give it a try.

I sure will!

 

See you all there in 10 days.

Posted

What he said.

 

I have to say that i was really dissapointed with Private serves these last months.

Before they even opened i would join their forum , be an active community member and try to help in every way i could.

Finally all i got each time i tried was a pure failure from their part and a waste of time from my part.

 

This time though i am really hoping for the best.

The team of L2 Goal proved to be way better than the other developing - admin teams that i 've met so far.

Using our reports and our feedback they fixed everything WAY TOO fast. I was like , LOL.

 

Anyway this server really deserves a big community , and i would like to ask you all to , at least, give it a try.

I sure will!

 

See you all there in 10 days.

agree with you bro and waiting for the best

and waiting more good enemy's like ur clan >.>

Posted

The things i saw in l2 goal was pretty good, in the first day they were some mistakes/unbalances but no major, the stuff was there for ppl and fixed everything really fast till the last day that everything was looking perfect. To "be honest" its a really good thing and shows how mature you are. L2goal staff never promised shits like others did. and what they said they did it. Believe me, in the end everyone takes what he deserves and l2goal deserves a good community and i am sure they will get it if they keep it like this.

 

Cheers.

 

I have to say that i was really dissapointed with Private serves these last months.

Before they even opened i would join their forum , be an active community member and try to help in every way i could.

Finally all i got each time i tried was a pure failure from their part and a waste of time from my part.

 

This time though i am really hoping for the best.

The team of L2 Goal proved to be way better than the other developing - admin teams that i 've met so far.

Using our reports and our feedback they fixed everything WAY TOO fast. I was like , LOL.

 

Anyway this server really deserves a big community , and i would like to ask you all to , at least, give it a try.

I sure will!

 

See you all there in 10 days.

What they said ;3
Posted

l2 goal gm i hope u will be muc hrs online to check that skills 1st and try balance ..cuz we dont know full armor what players is better..

  • 2 weeks later...
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
  • 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