Jump to content

Recommended Posts

Posted

I will offer 50% discount for our new TOP build included all new features  ( facebook, twitch etc... )

The build will work only on one IP and you will be able to change it as many time you want for FREE

You will be able to change license IP from your account in our website  http://fandc.ro

  • 4 weeks later...
  • 1 month later...
  • 4 weeks later...
Posted

8. Static data are moved from sql to xml for increase server performance

 

I really looked at your pack and it really made me confident, but then i saw this line, which showed me that you write things just to be there, to have a bigger list or you just do not know what you write.

 

I mean like really, what's the difference on performance? That maybe, and remember i say maybe it loads the server with 5-10 seconds faster? What's the actual gain that your restart is a little bit more fast?

I assume that all your static data you put it in some variables where you keep them so it's only one time loaded. 

 

if you think to say that is loaded everytime is needed, then you might think why after you change a skill you need to //reload skill.

 

Let's try to be more profi here please, You are selling a pack for 1000 euro which are a lot of money. If you want to make something nice transform from a list of skill classes( Java class) to a list of  skill structures and then yes you can see a big improvement( because structs are value type, objects are reference and values are one near another in the memory bla bla)...

 

Please be professional if you sell something so expansive!

 

 

Posted (edited)

I really looked at your pack and it really made me confident, but then i saw this line, which showed me that you write things just to be there, to have a bigger list or you just do not know what you write.

 

I mean like really, what's the difference on performance? That maybe, and remember i say maybe it loads the server with 5-10 seconds faster? What's the actual gain that your restart is a little bit more fast?

I assume that all your static data you put it in some variables where you keep them so it's only one time loaded.

 

if you think to say that is loaded everytime is needed, then you might think why after you change a skill you need to //reload skill.

 

Let's try to be more profi here please, You are selling a pack for 1000 euro which are a lot of money. If you want to make something nice transform from a list of skill classes( Java class) to a list of skill structures and then yes you can see a big improvement( because structs are value type, objects are reference and values are one near another in the memory bla bla)...

 

Please be professional if you sell something so expansive!

this team only scamming another's files and change @author name, full scamming l2cccp board, datapack, voice and more fixes russian l2dev community. Why do you ask a person question thats he does not know the answers to? 0)))0))) Edited by jopacoderu
Posted

I really looked at your pack and it really made me confident, but then i saw this line, which showed me that you write things just to be there, to have a bigger list or you just do not know what you write.

 

I mean like really, what's the difference on performance? That maybe, and remember i say maybe it loads the server with 5-10 seconds faster? What's the actual gain that your restart is a little bit more fast?

I assume that all your static data you put it in some variables where you keep them so it's only one time loaded.

 

if you think to say that is loaded everytime is needed, then you might think why after you change a skill you need to //reload skill.

 

Let's try to be more profi here please, You are selling a pack for 1000 euro which are a lot of money. If you want to make something nice transform from a list of skill classes( Java class) to a list of skill structures and then yes you can see a big improvement( because structs are value type, objects are reference and values are one near another in the memory bla bla)...

 

Please be professional if you sell something so expansive!

You can dig deep about that and if you check the features of the pack, price is actually low.

Other teams are selling almost at same price clean packs and i'm selling for few more bucks alot of custom features which cost more than entire pack if you ask a dev to make them separately for you.

The description is from my 1st revision and that means 2011 when nobody knew about those things.

Posted

You can dig deep about that and if you check the features of the pack, price is actually low.

Other teams are selling almost at same price clean packs and i'm selling for few more bucks alot of custom features which cost more than entire pack if you ask a dev to make them separately for you.

The description is from my 1st revision and that means 2011 when nobody knew about those things.

5. Simulate Official Kernels

 

 

Show me the implementation of the group buff in the Dragon Valley. Completely according to the official?

Posted

FandC Top Source - 1300 euro

FandC top Build - 550 Euro

 

Are you out of ur mind ? there is people offering services for cheaper price .....

  • 3 weeks later...
Posted (edited)

Which new events do you have in your latest pack? Can you name them?

 

Thanks

I made same question, but he cleaned topic, maybe he don't have new events :/

Edited by Own
Posted

Which new events do you have in your latest pack? Can you name them?

 

Thanks

 

Team vs Team

Protect the King

Last Man Standing

Korean Style

Capture the flag

Fight for throne

Deatj Match

Treasure Hunt

  • 2 weeks later...
Posted

Team vs Team

Protect the King

Last Man Standing

Korean Style

Capture the flag

Fight for throne

Deatj Match

Treasure Hunt

These exist since 2014 if I'm not wrong

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