Jump to content

Recommended Posts

Posted

This sounds amazing, is there an open beta or an ETA for when the server will go live?

opening? nice features,,,,

When Grand Opening ??

 

Hello everyone,

 

we still have plenty of things to do on the server! I hope we don't make you guys all crazy while waiting.

There is no ETA yet, as we wouldn't like to promise something we cannot keep and as every day passes by, we keep finding stuff we would like to polish or even rework before we give our blessings on it. We will try hard to open something like a test phase as soon as we can to find and fix bugs we may have missed, cannot promise anything like that before the beginning of the next month. However, if there is demand, I can release more info about the server, such as detailed descriptions of custom classes, unique weapon descriptions (although, we would like to keep this as a secret to leave people explore these by themselves), the PvE tattoo skills, drop lists, etc.

 

If you guys would like to do us a huge favor, gather your friends, tell them about the server and continue giving us motivating words! We love to hear those!

 

______________________________________

 

 

Here is a little something to read for those who are interested in lore, I know there aren't many, but still.

This is Shavhr's background story. Shavhr is one of the 13 NPCs that look like players and have an interesting html story to tell. He can be found in the starting area, where everyone spawns right after entering the game after creating a character. You have to run by these NPCs, they are each wearing a unique weapon. This brings a little bit of role-playing into the server and might help a few players to identify themselves better with their characters. They don't have any particular use, you might aswell ignore them, but it's the details the make people fall in love with a server, this is what I hoped to achieve with these NPCs.

 

The lores were/are written by me.

 

o8qsa94.png

 

Shavhr

 

Who hasn't heard of Shavhr's gruesome deeds, glorious battles and legendary raiding skills?!

But he didn't come by fame by doing nothing.

A long and cruel journey is what he had to face, learned from experience and hardened in combat... all this by the will of Pa'agrio.

 

To explain his story further, we need to look back on the creation of our world and gods.

By nature (and by nature I mean, by the will of Einhasad, The Goddess Of Creation), in every creature with orcish origins, there burns an inner flame inside the body.

They are all creations of Einhasad, created from the element Fire. Pa'agrio is the God of Fire and a child of Einhasad.

Fire symbolises physical strength and mental resistance. Being born as an orc means nothing but a feeling of endless lust for battle and measuring strength.

   

But how does this have anything to do with Shavhr's history? Just like amongst other races, single orcs vary in strength and in the intensity of battle-lust.

They are all driven by it, but their genes and their breeding is what makes them different. Also training and their path of choice will define what or who they will become.

   

Shavhr chose to be a warrior, but aren't we all warriors? Wether we use magic or steel, we fight one way or another.

No... he chose to be a warrior who strengthens the orcish tribes with the intentions of restoring what was once lost during the great war against the elven-human alliance.

Lost to the pale skinned weaklings, called Elves, who hide behind magic and their bold slaves, the inferior Humans.

No orc-bred in his right mind can resign with these thoughts and let anyone get away with actions like this.

   

Shavhr fought, he fought hard. Recklessnes and the insatiable appetite for battle and blood made him be acknowledged amongst the orcs.

Legends started spreading around the towns of Elmoreden about his unmatched strength, through which he was able to take on beasts about 3 times his size, alone.

Aspiring orcish warriors streamed into their homeland to take part in his trials and soon, Shavhr's army of hand-picked champions grew stronger and stronger...

 

Posted

i actually tried the server for a day or so to give an opinion. even though it is extremely customised the stats were kept low. and i managed to alter my char/gameplay just by trying different items.more news on beta testing!

Posted

What do u mean ?

 

for the brief time i "played" i didnt see stats that were extremely abnormal. no 50k patk and 20k def with 1234234234235hp. ofcourse i didnt see everything on server, but what i saw didnt remind extremely modified server (as far as stats are concerned) i will know more if i test it in length

Posted (edited)

 

 


hmmm fail i hope custum here will be extremaly But i will try For Sure.
P.S Waiting for admin answer about "extremaly custom(stats)"


Hello malecki7!

To clarify possible misunderstandings, I'd like to answer to your request.

Short answer: No overall extreme stats.




Long answer: While stats might not skyrocket and reach galactical numbers, we tried our best to give the people a wide variety of options to setup their characters and play a build they prefer. Please let me explain this better to you by using 2 screenshots I made for clarification reasons. Keep in mind that I try not to reveal item descriptions, to spare this adventure and exploration to the player when he decides to join.

OzJ80ud.jpg


While not using the absolute best gear and maximum enchants here, I can fairly say that the items are falling into the more advanced category.
As you can see, I tried to go for the maximum damage possible, straight offensive stats such as attack speed, P.atk, critical rate. While the BD's critical rate is naturally high, focusing on near-maximum values(999 = 99%) will greatly increase your damage output. As said in my previous sentences, I was focusing on increasing my direct offensive stats and for that I chose accessories, jewels, talismans, buffs and an armor that help me with that.

Now let's see how much I can transform my BD into something else, also again, please keep in mind that this is only one of the ways of building for your preferred playstyle. There are plenty of other ones, thanks to the huge variety of items.


QVmJdcq.jpg


Much has changed compared to the previous build. I am using the unique duals that hard-set my P.atk to 2000. This means that I cannot decrease or increase it with anything. While the 2000 P.atk appears to be a bit low, why not use this feature to our advantage?

- I removed everything that increased my P.atk, including: Dyes, Armor, Necklace, Accessories, Buffs
- I chose an accessory that increases my defensive stats in exchange for reducing offensive ones (offensive penalty doesn't apply to me, P.atk can't be reduced)
- I switched my buffs to complement my current build and removed Berserker, Greater Might, Gift of Queen and Stun Resistance. Now using Greater Shield, Blessing of Queen, Debuff Resistance(since the def stats are my strength now, I made sure I get extra resistance against debuffs that reduce these. I decided not to use stun resistance because of an active buff a BD has, if you are comfortable with using it, you can resist the incoming stuns/roots and other skills by pressing it at the right time)
- Switched to a necklace that doesn't increase P.atk, but HP and CP instead
- Changed to an upgraded Dagger Master Armor that slightly reduces P.atk, but gives more Crit Dmg instead, given that my best damage source is crit damage and crit rate now.
- Removed the +STR - CON and +DEX -CON dyes to switch them to +CON -STR and +DEX -STR (in this screenshot, the +DEX dye is -CON. I forgot to change it, no excuses. So the my total health is 23400 with that.)

I also have the option to use Heavy Armors on a BD, but I chose to wear light for increased Evasion.

As you can see, while stats often don't hit values above 10k, you are still able to play around with builds and find the one that is best suited to your style. The Unique Weapon made me change my build around extremely in this case, but not all uniques are like that. I am positive that you will find the one best suited to you and enjoy the crap out of it.

I hope I managed to blow away your doubts and you are again fully motivated to try the server with us! Edited by ranzor
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