Jump to content

Recommended Posts

Posted (edited)

I had this for a couple of years now, worked on it, trying to put the info back piece by piece. Thought other would find it useful, so I share it with you.

Its full of great info about L2Off, was the greatest community back then. Miss those times :)

Even today when I play around with off server packs I find myself searching on that archive for info, and in most cases i find it.

Attachments dont work, I still have them but they are scattered all around on my drives. Maybe in time I will mange to put them back.

 

So without further ado:

Spoiler

 

https://pp.criptomnezic.ro

user: guest

pass: letme1n

 

 

Registration is disabled, its for reading purposes only!

Hope you find it useful.

Edited by anivix
link updated
  • Thanks 4
  • Upvote 2
Posted
3 minutes ago, anivix said:

spread it like butter.

Now i feel bad i dint share it years ago.

 

Its part of history, postpacific was the mother of l2off, a downloadable archive, at some point would be very welcome as well.

Posted

 

 

There is an archive of postpacific shared by @smeli in there, haven't tried to import it in a database yet so untested but worth a try if you have a vb installation handy somewhere.

Posted

its the same one i got, the original filename was 123.7z shared on postpacific, dont remember if it was before or after they got hacked.

it was the base i worked on, but it needed a lot of work and research to rebuild the forum. Also it was for vbulletin 3.x had to update it to 4.x

 

Hope ill have time to sort all this l2off stuff i got and share it. been collecting since 2005 :D

Posted

oh, I see, very nice, thanks again for doing all that and making it public in the end without trying to auction it off in the marketplace like a true mxc member would do :D

 

looking forward to seeing more stuff getting shared around!

Posted
On 6/23/2018 at 1:44 AM, sepultribe said:

oh, I see, very nice, thanks again for doing all that and making it public in the end without trying to auction it off in the marketplace like a true mxc member would do :D

 

looking forward to seeing more stuff getting shared around!

L2 was always a hobby, i learned many things because people shared knowledge.

For money i have a job. I have yet to see someone living of only L2 servers no matter how great the server is.

Posted
1 hour ago, anivix said:

L2 was always a hobby, i learned many things because people shared knowledge.

For money i have a job. I have yet to see someone living of only L2 servers no matter how great the server is.

Stalone, averia, la2dream, rpg-club, damage,mouse... And the list goes on for many Russian servers 

Posted
On 6/27/2018 at 11:55 AM, anivix said:

L2 was always a hobby, i learned many things because people shared knowledge.

For money i have a job. I have yet to see someone living of only L2 servers no matter how great the server is.

 

I was joking of course ;) hope you didn't get my post the wrong way. People on this forum would even sell their mothers for cash, it was directed at greedy people, not u.

Posted
6 hours ago, sepultribe said:

 

I was joking of course ;) hope you didn't get my post the wrong way. People on this forum would even sell their mothers for cash, it was directed at greedy people, not u.

its ok i know what your saying.

 

On 6/27/2018 at 1:09 PM, JohnBoy13 said:

Stalone, averia, la2dream, rpg-club, damage,mouse... And the list goes on for many Russian servers 

 

Yea i have no doubt they make shitload of money but,

The bigger the server the more people (staff) involved,

The bigger the server (more money for data center),

i dont know how much it costs to live in Russia im from Romania but i dont think that my L2 uber server with 10kk players will pay for my toilet paper or get my kids trough college.

 

this is not intended to piss anybody off but i just cant believe that you can have a business in the l2 private server scene and have only THAT business and be great.

if im wrong i want arguments, solid arguments its possible im wrong but in that case i want facts. its part of learning the current scene.

Posted

if i can make a business as a developer in l2 scene, imagine what the people who pay people like me actually make, you'd be shocked... $200 for a server, maybe $300 for ddos protect if your datacenter can't do it, most servers don't have large staff, maybe 3-5 people max, if there is support staff they don't usually get paid or they get paid with ig stuff - biggest part is advertising budget and for that it really only takes 1500-2k$ for a modest budget and you'll make that all back on the first hour of launch

 

plus if you look at the kind of servers that launch today, even the big ones, they're mostly just preconfig files with a few minor changes here and there, open the server for 1-3 months, close when money dries up and reopen, rinse and repeat over and over and over

 

making 100k USD / year is not unheard of for even small open/close server operators, hell one server i worked on recently made above that in 3 months and was probably 70% profit after paying staff and costs

 

people don't run servers for the fun of it - at least not large ones anyway, if you've run a server in the current atmosphere you'd understand why, it's not fun lol

  • Upvote 1
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