Jump to content

Recommended Posts

  • 2 weeks later...
Posted

As many are aware, INERA is in it for the long haul, for you to play the chronicles that you love without having a concern for frequent wipes or issues. This means we will focus our attention to areas that need work and do our best to implement features that will work with the dynamics of hosting a Lineage II server. For starters we have now implemented a Newbie Bonus pack for players that may decide to join PlayINERA and make it their home to play.

 

The Newbie Bonus pack includes:

-Newbies will receive Rune of EXP 7 days.
-Newbies will receive Rune of SP 7 days.
-Newbies will receive 5 Revita-Pop.
-Newbies will receive 5 Potion of Energy Maintenance.
-Newbies will receive One Random Costume – 48h Expiration.

 

This will help jump start the new players and allow them to catch up to the more veteran players. The Newbie Pack will be given to any new players that creates an account.

 

Currently we are working on a geoengine overhaul to improve some of the geoissues that have been reported across the world. We'll announce any improvements as they develop.

  • 2 weeks later...
Posted

INNOVA COPYRIGHT STRIKE

 

The new year is fast approaching and we need to set some resolutions. Some of may know that PlayINERA has been served with a copyright strike by INNOVA on the grounds that our website is responsible for distributing the client and copyrighted content to users for entrepreneurial activities. INNOVA is concerned that we have stripped them from profits that would otherwise be theirs, and this is certainly the case for many servers. But PlayINERA is different; this is not an enterprise for us, this is a hobby. Despite INNOVA’s speculation, the owner of PlayINERA – Vice – has in no way made a profit from your donations, they have been set aside for infrastructure and maintenance. It would be our pleasure to cooperate with INNOVA as we have nothing to fear.

It has been a rocky road and we have been accused of many things by content creators and MMO shills, but one thing that remains true is that we stand our ground as we always have done, regardless of the adversary. The world is a tumultuous place but know one thing, there are many ways to skin a cat, whether we are faced with a DMCA take down or otherwise, we will survive.

 

Our resolution this year is to keep the smiles on your face and we will do just that. When giants come knocking, we greet them. And should anyone accuse us of being money-driven mongrels, I believe it becomes quite obvious that our love for our community extends past that. Only those with dedication and fervor dance with giants.

 

When others would run and close their gates, we see no reason to do so. And if they are shut forcibly, we shall persevere forward and reignite the flame.

 

We wish everyone a blessed holiday and we hope you stand by us.

 

EPILOGUE IS DAWNING

 

Gracia Epilogue is right around the corner. The transition will not be instant. There will be a delay period to enable the transition and ensure a smooth migration. Rest assured the update will be processed in a timely fashion and we will follow up the transition with several campaigns to encourage growth. Happy hunting!

 

– Vice will address the community on the copyright strike in the form of a video relatively soon.

Posted

The Gracia Epilogue patch is now live. We will be starting some new campaigns to attract prospective players to our Epilogue update. Looking forward to seeing everyone again and events should resume now that all the major milestones are out of the way. See you in game.

 

Patch notes can we found here: https://forum.playinera.com/topic/4472-epilogue-update-patch-notes/

Posted

I'm starting to sound like a broken record, but L2Warland including auto-farm assistant in older chronicles is the best way to tackle bots. So without knowing about INERA's policy to bots, I really doubt they're worse than 99% of the servers out there right now.  

 

Bots won, pure and simple. You cannot eliminate them entirely, so you might as well give the wider population that joins a server a tool that is close to it. At least that way the playing field becomes somewhat even. 

 

We cant play the game as it used to be played back in 2006. The player base has become optimized. Everything is about reaching maximum efficiency, and unfortunately, L2Adrenaline is the most efficient way to play the game by a landslide. 

 

Intense competitiveness in gaming culture ensures that people will always seek the most optimized way to win. 

 

 

Posted

People were kinda cool the the whole "no botting thing" and active gms hunting for bots. One month down the process when the server lost the "top cps" gms simply ignored the bots. you could see the same bot train 24/7 at HB dessert and a douzin report for the same bot party on discord and guess what happened.

 

nothing...

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...