Jump to content

Recommended Posts

  • 2 weeks later...
Posted (edited)

Are you going to use OFF files or Java for C4? Is that True Russians Paid for items under the Table? Many thinks we heard about those Syndicates if am correct

Edited by ~ILAWJUNIOR~
  • 2 weeks later...
Posted

this server would be cool, BUT, there's always a downside in most of projects.

they need to get rid of the negative spanish administration, because they are the most corrupt people you can ever imagine

 

there's more than one topic in max cheaters/pmfun regarding spanish corruption in L2reborn, same problem happens in ElmoreLab.com

 

https://forum.pmfun.com/viewtopic.php?p=311931

 

7zvqvWw.png

 

jeez, what a scandal guys :laughing: i wouldn't like to be in your damn shoes

  • Upvote 1
  • Downvote 2
Posted

Meanwhile, online continues to grow. We have broken a new record. And this summer, in the most unpopular season for the game!

 

  online.jpg.ebe6a8c9f89e704fbb39c89d6fe50318.jpg

On 7/9/2021 at 3:29 AM, ~ILAWJUNIOR~ said:

Are you going to use OFF files or Java for C4? Is that True Russians Paid for items under the Table? Many thinks we heard about those Syndicates if am correct

Elmorelab - OFF PTS server
We do not have a donation that affects the balance. You can only buy the second profession, blue nickname, or change your hairstyle. And no, of course we do not single out any nationality, players from all over the world play on our server and we are glad to everyone.

  • 2 weeks later...
Posted

Meanwhile, the development of our server continues.
We have populated the locations: 

 

- Ketra Orc Outpost
- Forest Of The Dead
- Devil's Pass
- Varka Silenos Barracks 
- Valley of the Saints
- Swamp of Screams
- Forge Of The Gods

 

Added new С4 mechanics for mobs, some raid bosses and many other little things 

 

 

1.jpg

  • 1 month later...
Posted

In the meantime, we have confidently crossed the mark of 1500 players, new hunting zones have been added:


1. WoA
2. Gardeon of the Beasts
3. Beast Farm

 

And here is a video from the recent battle for Baium:

 

  • Upvote 1
  • MasterToma changed the title to [L2OFF] C4 ElmoreLab
  • 2 months later...
Posted (edited)

Meanwhile, on the Elmorelab.com server, the maximum online has exceeded 1800
The following updates have been added:

 

1) Added zones Hot Springs, Imperial Tomb
2) Added manor system
3) The "Furry Beasts Invasion" event was held
4) Work is underway on 3 professions

 

Event: 

 

Recent Sieges: https://www.youtube.com/watch?v=22Yfv6gX0A0

Edited by Zonner
  • 1 month later...
  • 1 month later...
Posted

Valakas is coming

Heralds of the dead warned of the awakened Demon of the Fiery Depths. Valakas is awakening!

05.03.2022 at 19.00 server time (UTC+1) the dragon Valakas will appear in the world of Elmore-Aden

 

 

  • 2 weeks later...
Posted (edited)

Improved follow mechanism

Perhaps some of the players have already noticed that we have added a more improved follow mechanism. Originally on retail, the following character often got stuck, bumped into corners and stopped running. Now he will find the way by himself, bypassing minor obstacles. You do not need to activate anything, following character, as usual, is attached through the "attack" action

 

 

Edited by Zonner
  • 4 months later...
  • 2 weeks later...
Posted

The world of Elmorelab is not only battles with monsters, not only overcoming difficulties and the joy of victory over a defeated enemy, it is also beautiful stories from life, here is one of them...

 

 

  • 1 year later...
Posted

Dear players!
The transition to Interlude took place at 06.01.



Already available:

- Primeval Island location;
- New skills for 2nd profession;
- Shadow Weapons;
- The amount of experience points reduced upon player character death has been changed. The amount is unchanged for levels 1-75. After level 76, the amount will be reduced as the character's level increases;
- It is now possible to enchant some 2nd class skills that previously could not be enchanted;
And much more. More details can be found in the road map

Part of the content will be available after the merge with the Lionna server.

The new client can be downloaded in advance from the link below

GoogleDrive l Mega.nz l pCloud

Alternatively, you can update the client with your current updater after the server switches to Interlude.

IL patches

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




  • Posts

    • hello, i want to wtt my charracter in l2elmorelab 1x harbor for 1.5kkk adena in l2reborn 10x new. Or if you interested tell me your offer. :)) Clean Mail 30 lvl Cleric Naked   Updated.
    • package ai.npc.NFWalker; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; import l2r.gameserver.enums.CtrlIntention; import l2r.gameserver.model.Location; import l2r.gameserver.model.actor.L2Npc; import l2r.gameserver.model.quest.Quest; import l2r.gameserver.network.clientpackets.Say2; import l2r.gameserver.network.serverpackets.NpcSay; public class NFWalkerAI extends Quest { private static final int WALKER_NPC_ID = 20116; private final Map<String, Route> routes = new HashMap<>(); private final Map<Integer, Integer> npcIndexes = new HashMap<>(); private final Map<Integer, Boolean> npcReverse = new HashMap<>(); private final Map<Integer, String> npcCurrentRoute = new HashMap<>(); public NFWalkerAI() { super(-1, NFWalkerAI.class.getSimpleName(), "ai/npc/NFWalker"); loadRoutes(); addSpawnId(WALKER_NPC_ID); } private void loadRoutes() { // Route 1 Data Route route1 = new Route("route1"); route1.addPoint(new RoutePoint(0, 149363, 172341, -941, 0, false, "")); route1.addPoint(new RoutePoint(1, 148568, 172328, -980, 5, true, "Puff")); route1.addPoint(new RoutePoint(2, 148536, 172792, -980, 0, false, "")); // Route 2 Data Route route2 = new Route("route2"); route2.addPoint(new RoutePoint(0, 149363, 172341, -941, 0, false, "")); route2.addPoint(new RoutePoint(1, 150248, 172328, -980, 5, true, "Rise my children! Bring me the servants of the god! Let them be offered to our god Bifrons!")); route2.addPoint(new RoutePoint(2, 150248, 172776, -980, 0, false, "")); // Add routes to the map routes.put("route1", route1); routes.put("route2", route2); } @Override public String onSpawn(L2Npc npc) { if (npc.getId() == WALKER_NPC_ID) { selectInitialRouteForNpc(npc); } return super.onSpawn(npc); } @Override public String onAdvEvent(String event, L2Npc npc, l2r.gameserver.model.actor.instance.L2PcInstance player) { if (event.equalsIgnoreCase("move")) { moveNpc(npc); } else if (event.equalsIgnoreCase("check_reached")) { checkIfReached(npc); } return null; } private void moveNpc(L2Npc npc) { String routeName = npcCurrentRoute.get(npc.getObjectId()); Route route = routes.get(routeName); Integer pointIndex = npcIndexes.get(npc.getObjectId()); if (route != null && pointIndex != null) { RoutePoint point = route.getPoints().get(pointIndex); if (point.isRun()) { npc.setRunning(); } else { npc.setWalking(); } if (!point.getChat().isEmpty()) { npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), point.getChat())); } npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(point.getX(), point.getY(), point.getZ())); // Log movement intention System.out.println("NPC " + npc.getObjectId() + " moving to " + point.getX() + ", " + point.getY() + ", " + point.getZ()); // Schedule a check to see if the NPC has reached its destination startQuestTimer("check_reached", 1000, npc, null); } } private void checkIfReached(L2Npc npc) { String routeName = npcCurrentRoute.get(npc.getObjectId()); Route route = routes.get(routeName); Integer pointIndex = npcIndexes.get(npc.getObjectId()); if (route != null && pointIndex != null) { RoutePoint point = route.getPoints().get(pointIndex); Location currentLocation = npc.getLocation(); Location targetLocation = new Location(point.getX(), point.getY(), point.getZ()); // Check if the NPC has reached the target location if (currentLocation.equals(targetLocation)) { // Log that the NPC has reached the target System.out.println("NPC " + npc.getObjectId() + " reached target " + targetLocation); // Schedule the next movement startQuestTimer("move", point.getDelay() * 1000, npc, null); if (!npcReverse.get(npc.getObjectId())) { pointIndex++; if (pointIndex >= route.getPoints().size()) { npcReverse.put(npc.getObjectId(), true); pointIndex = route.getPoints().size() - 1; } } else { pointIndex--; if (pointIndex < 0) { npcReverse.put(npc.getObjectId(), false); pointIndex = 0; // Choose a new route after completing the current one in both directions switchRouteForNpc(npc); return; } } npcIndexes.put(npc.getObjectId(), pointIndex); } else { // Check again after 1 second startQuestTimer("check_reached", 1000, npc, null); } } } private void selectInitialRouteForNpc(L2Npc npc) { // Randomly select either route1 or route2 String selectedRouteName = "route" + (new Random().nextInt(2) + 1); npcCurrentRoute.put(npc.getObjectId(), selectedRouteName); npcIndexes.put(npc.getObjectId(), 0); npcReverse.put(npc.getObjectId(), false); startQuestTimer("move", 5000, npc, null); // Log initial route selection System.out.println("NPC " + npc.getObjectId() + " selected initial route " + selectedRouteName); } private void switchRouteForNpc(L2Npc npc) { String currentRoute = npcCurrentRoute.get(npc.getObjectId()); String newRoute = currentRoute.equals("route1") ? "route2" : "route1"; npcCurrentRoute.put(npc.getObjectId(), newRoute); npcIndexes.put(npc.getObjectId(), 0); npcReverse.put(npc.getObjectId(), false); startQuestTimer("move", 5000, npc, null); // Log route switching System.out.println("NPC " + npc.getObjectId() + " switched to route " + newRoute); } private static class Route { private List<RoutePoint> points = new ArrayList<>(); public Route(String name) { } public void addPoint(RoutePoint point) { points.add(point); } public List<RoutePoint> getPoints() { return points; } } private static class RoutePoint { private int id; private int x, y, z, delay; private boolean run; private String chat; public RoutePoint(int id, int x, int y, int z, int delay, boolean run, String chat) { this.id = id; this.x = x; this.y = y; this.z = z; this.delay = delay; this.run = run; this.chat = chat; } public int getId() { return id; } public int getX() { return x; } public int getY() { return y; } public int getZ() { return z; } public int getDelay() { return delay; } public boolean isRun() { return run; } public String getChat() { return chat; } } } I looking for help, with this, the npc not start to move. Im trying to create, an NPC wich have multiple walk routes basic logic is  random pick a route complite the route  like Route 1 start form zero (0 -> 1 -> 2(or more) -> 1 -> 0) When the npc return to 0, the script should pic the other route and start again.  And if there is a message like point 1 here     "route1.addPoint(new RoutePoint(1, 148568, 172328, -980, 5, true, "Puff"));" The npc should display the chat message. Currently my problem is the npc not moving, but if I manage it to start moving its randomly move between the route 1 and 2 set of coordinates. Currently for me its  a nightmare. I hope anyone can help somhow.
    • We are certainly not an ambulance, but we will definitely cure you of blacklists and empty pockets. Live freely with SX! Each of you will receive a trial version of SX to familiarize yourself with the product, all you have to do is post in this thread
    • qual e o valor pra atualizar o java da soucer ?
  • Topics

×
×
  • Create New...