Jump to content

Recommended Posts

Posted

The best Interlude faction server has just started.
And you made the right choice coming here!
Hundreds of players and growing, don't miss out the fun!
Many new features, unique events and more awaits.
Will you be the best?
http://l2ovc.com

 

28872810_2050592471621510_73640276773400

 

29025863_2050592481621509_17888724416326

 

28951196_2050592841621473_96172164662689

 

29101724_2050592944954796_61350539412824

Posted

Its Sunday, and that blooded war from yestarday 2 AM is yet to be forgotten.
13 minutes of constant battle for Queen Ant, which almost ended in a tie.
But a small mistake changed everything and Order managed to take over in the last 2 minutes.

 

Think you can do better? then join the war now and show everyone ---> http://l2ovc.com

 

29027291_2051623821518375_68477015137672

 

29067041_2051623841518373_71637531805289

Posted

Some more of recent activity on L2 OvC Interlude Faction Server, just started !!!
We've already released our first update which includes improvements to features, you can now get 3 more Expert Books by just leveling up !
Aren't part of our community yet? then join now: http://l2ovc.com

 

29136688_2053363524677738_53625741801244

 

29101722_2053363544677736_23300531042060

 

29136709_2053363531344404_59415628470990

 

29101217_2053363778011046_75326567778049

 

29133668_2053363928011031_58913939998344

 

29101849_2053363951344362_23008502299911

Posted

Only the 3rd day at L2 Order VS Chaos Interlude Faction Server.

Community is up and growing, aren't part of it yet?
join now and enjoy the best Interlude faction server exists.
You are not alive if you are not here :D

http://l2ovc.com

 

 

Posted
4 hours ago, OLSI said:

L2Mafia 4 Ever,Shit server... wipe in 2 months you know the way buddy :D

Yea yea, you only lying to yourself there mate - I saw what l2mafia really is, a disgrace to l2.

A gm that lies to his own players (rofl at 1000+ online when the server is set to have 600 online maximum) and couldn't even manage to setup a forum yet.

Just go back to your cave and play your crappy server where spawn killing is the way to go and where all players go around with blue, purple and pink weapons.

Posted
7 minutes ago, L2 OvC said:

Yea yea, you only lying to yourself there mate - I saw what l2mafia really is, a disgrace to l2.

A gm that lies to his own players (rofl at 1000+ online when the server is set to have 600 online maximum) and couldn't even manage to setup a forum yet.

Just go back to your cave and play your crappy server where spawn killing is the way to go and where all players go around with blue, purple and pink weapons.

Atleast you'll have those Items for years,not for weeks. Like your crappy servers.

Posted
2 minutes ago, OLSI said:

Atleast you'll have those Items for years,not for weeks. Like your crappy servers.

nice  i want also items for years but i will be there alone :( 

Posted
3 minutes ago, OLSI said:

Atleast you'll have those Items for years,not for weeks. Like your crappy servers.

Yea, for years, with 0 online, just because he doesn't give shit about the server.

Only blind ppl will play there, who don't see he doesn't care about you at all.

He is on his way to end up like Skylord, and it'll be much faster than you know it.

Posted

So what do you do at Tuesday evening?
Our players know, OvC is the choice!
Hundreds of players already enjoy a good time here.
Dare to accept the challenge?
>> http://l2ovc.com <<

 

29214117_2054717357875688_28534973857980

 

29133180_2054717344542356_38474765346254

 

29176821_2054717371209020_50334632272126

 

29133488_2054718834542207_32058756239563

  • Like 1
Posted

We've added 2 new events to the game:
* Lair of the Snowman (Instance)
* Guardians (Mini Event)

 

In addition, here's some photos to show how our day went by :)
You can be a part of it: http://l2ovc.com

P.S. Don't forget, first siege this weekend!

 

29214740_2057481307599293_44452016270616

 

29216156_2057481280932629_71623409738071

 

29214267_2057481317599292_92315564492246

 

29216567_2057481430932614_30642768658091

Posted

From Squish the Squash through Zombie Apocalypse and Snowman Attack.
Only in L2 OvC you will find such a big variety of activities to do.
Join today and enjoy your time! http://l2ovc.com

 

29261121_2058383447509079_17154068198761

 

29216848_2058383547509069_45976934616536

 

29249651_2058383410842416_52090313412653

 

29261988_2058383490842408_54322561805063

Posted

Players request, we provide, everyone is happy!
After we've added 3 additional Expert Books by simply leveling up.
We've now improved the ranks system.
Now you can choose which of the requirements you wish to complete in order to proceed with the ranks!
We also reduced a few requirements from the first few ranks so newcomers can get them easy.
Join us now! http://l2ovc.com

 

29314572_2058838957463528_34038370360654

 

29216665_2058838914130199_91781185090774

  • SweeTs locked this topic
Guest
This topic is now closed to further replies.



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