Jump to content

Recommended Posts

Posted (edited)

L2Maven have to announce our new server interlude pvp , the launch time is on 29.01.2014 at 20:00 gmt +2

Don't lose our event for clan you can check more info here or the share event here

 

10ic4lf.jpg

 

Our website is : www.l2maven.com

Forum is : www.l2maven.com/forum

 

ACCOUNTS ARE AUTOCREATED

Type any username and password in the login window and you will create an account.
(if you get a message that the password is incorrect, it means that the account is already taken)

Rates

# XP: x1000
# SP: x1000
# Drop: x1
# Spoil: x1
# Adena: x1 (Adena rate is much higher in farm zone)
# Quest Drop: x1
# Quest Reward: x1
# Quest Exp/Sp Reward: x1
# Quest Adena Reward: x1
# Raid Boss drop: x1
# Grand Boss drop: x1
# Manor: x1
# Rate Extract Fish: x1
# Max Enchant +16
# Safe Enchant +3
# Normall Enchant: 70% (up to +12)
# Blessed Enchant: 100% (up to +12)
# Crystal Enchant: 65%-13,60%-14,55%-15,50%-16 (from +12 to +16 when you fail the enchant it turn to +12)
# Top Life Stone: 20%.
# High Life Stone: 5%.
Grand Boss Spawn Time

#Antharas = 4h+1
#Valakas = 4h+1
#Baium = 3h+1
#Core = 2h+1
#Orfen = 2h+1
#Queen Ant = 3h+1
#Zaken = 3h+1
#Frintezza = 4h+1
#Barakiel =1h

Farm Zone

#Cave Of Trials
#The Forbidden GateWay

Raid Boss Zone

#Tower of Insolence (floor 1-4 )

Custom PvP Zone

#We created Pagan Temple PvP Zone for solo players who like to pvp , no healer allowed here.

Full NPC Buffer:

# Max buffs: Normal – 36+4 divine inspiration; D
# All buffs: PP,SE,EE,WC,OL,BD,SWS,Pet Buff!
# Includes a scheme buffer where you can manage your own buff sets.
# All buffs are free.

GM Shop:

# Up to S Weapons, armors, Jewels
# Shots, Potions, Consumables
# Quest items for Clan level 3, 4, 5, & others.
# Pets, Event reward items & more…
# Custom Clan Reputation Coins

Class Master:

# 1st class transfer – FREE.
# 2nd class transfer – FREE.
# 3rd class transfer – FREE.

Server Events :

# Auto Event: TvT,CTF.
# Events managed by the GMs.

More Information:

# Sub-classes are without quest. Max 3 subclasses are allowed.Subclass start lvl 80.
# Start lvl 80.
# Clan war rewards increased.
# All skills are auto-learned.
# All Skills 100% work.
# Geodata 100% work
# Siege Only Aden , Giran
# Clan Leveling needs 5,10,15 members for lvl 6,7,8
# Reputation coin can be used only by clan leader and it gives 3000 clan points
# Custom Vote System in game with reward “vote box” , reward at every 5 votes
# Vote Box can be open with a chance to obtain Clan coins, crystal scrolls,Top Life Stone,Book Of Giants and low chance for Boss Jewelers.
# Grand Boss (epic) drop one jeweler .
# Tower of Insolence Bosses drop Clan Coins,Crystal Scrols and Maven Gold.
# Server Farm Coin is Maven Gold
# Epic Boss Zone is Flaged Zone
# Carradine Letter from barakiel 5-9 letters or you can buy it with event coins , all chars start with noblesse blessing skill.
# High Life Stone can be obtained with Maven Gold , Top Life Stone only from Vote Box .
# Augmentation – you can use one active and one passive.

 

Server Machine:

# CPU: Intel Core i7
# RAM: 16 GB DDR3 RAM
# 1 x 160GB SSD
# 1 Gbps Connection.
# Operating System: Linux Debian.
 

Edited by Maven
Posted

Fun pvp server, geodata sucks. but i must say instead of other servers with big community that open and have 432454 buggs this one is not bad.

 

the only bad is that the admin is a kid maven and the fake countes. he says 450 online i saw 500 online by the command .online but servrer has no more than 60-70

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

    • Verify if following is supposed to be the way to handle movement npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(point.getX(), point.getY(), point.getZ())); For me, it's not enough. And if it's the case, whole AI system is probably buggy.
    • 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.
  • Topics

×
×
  • Create New...