Jump to content

Recommended Posts

Posted
InglésPortuguésEspañol---------------Detectar idiomaAfrikáansAlbanésAlemánAmáricoÁrabeArmenioAzerbaiyanoBengalíBielorrusoBirmanoBosnioBúlgaroCanarésCatalánCebuanoChecoChino (Simplificado)Chino (Tradicional)CingalésCoreanoCorsoCriollo haitianoCroataDanésEslovacoEslovenoEspañolEsperantoEstonioEuskeraFinésFrancésFrisón occidentalGaélico escocésGalésGallegoGeorgianoGriegoGuyaratíHausaHawaianoHebreoHindiHmongHúngaroIgboIndonesioInglésIrlandésIslandésItalianoJaponésJavanésJemerKazajoKirguísKurdoLaoLatínLetónLituanoLuxemburguésMacedonioMalayalamMalayoMalgacheMaltésMaoríMaratíMongolNeerlandésNepalíNoruegoNyanjaPanyabíPastúnPersaPolacoPortuguésRumanoRusoSamoanoSerbioShonaSindhiSomalíSotho meridionalSuajiliSuecoSundanésTagaloTailandésTamilTayikoTeluguTurcoUcranianoUrduUzbekoVietnamitaXhosaYidisYorubaZulúEspañol
 
 
What is that?
Posted

As I know, Master Toma has kept the project private. Now, to have it, it means that he has trusted you. You now share it in the community. This automatic does not make you very trusted. Good luck.

Posted
Quote

Here you have several things done by me and by mastertoma.

Check my shares and contributions (1, 2, 3, 4, 5, 6, 7) and the gustavo ones. He didn't share anything apart from this  work.

 

Now ask the question - would some one share his job? Maybe, but not the gustavo. 95% of shared content belongs to me and ppl from CONTRIBUTORs file (old one, from 06.2018, nowadays more ppl helped me, including @zconll and other)

 

Master Toma <master.toma87@gmail.com>
Smelyj # helping with porting AuthD to support C1-C4, C6 client protocols with extenders (based on C1, like SINA)
Volodymyr Melnychenko <lordofdest@gmail.com> # porting numerous of CacheD packeet handlers
Renege # porting all admin packets, BBS packets
Pulentolento <pulentolento@gmail.com> # Supported on CacheD admin packet handlers

 

And Gustavo is missed there, since he did nothing.

 

After few months of guiding and helping, gustavo finally completed copy-paste from C1 to C4 IDA to LogD and AuthD with my overview. Then I fixed most of C4 new methods. I prepared CacheD C4, sent it to him together with C1.

 

But then gustavo imagined, that he is a King of RE, and would be able to decompile it by himself. So he ignored me for 2 months, saying that his grandma was sick, etc etc. And then he wrote that I exploit every one (hey, c'mon, whom did I exploit? Please write here in that topic!). 

 

Check the dates of files, especially C4 IDA's - they are all old, mostly done by me. C4 CacheD is 100% of mine (even thought it's quite empty - no value at all).

 

Few days ago he was pissed off, since he realized, how miserable his RE/C++ skills, and I declined to help him. He tried to blackmail me, writing that he would share this stuff. 

 

I don't care much about this share, since one should be quite intelligent to use it. This PR should remind you how sneaky gustavo is.

 

Now listen to his lie, since he didn't have literally anything to say. Cheated, lied, shared. 

 

Be aware of this guy. He will do the same again. 

Posted (edited)
14 minutes ago, MasterToma said:

 

 

I had the files more than 1 year, your only thing is to take advantage of my work, as you do with others. I've been in the forum for 11 years, and never post anything, you deserved it!! Greetings.

Edited by guytis
Posted

not really surprised it happened though, closing off the project was always gonna end up like this cuz you get people who you think are there to contribute but actually are there for personal gain meanwhile others who might've actually contributed aren't much interested anymore

  • Like 1
Posted
1 hour ago, MimisK said:

As I know, Master Toma has kept the project private. Now, to have it, it means that he has trusted you. You now share it in the community. This automatic does not make you very trusted. Good luck.

 

I'm not interested in being reliable, I do not need anything from this community. here all they do is make pictures for the l2 .. jeje good bye

Posted
6 minutes ago, Anarchy said:

not really surprised it happened though, closing off the project was always gonna end up like this cuz you get people who you think are there to contribute but actually are there for personal gain meanwhile others who might've actually contributed aren't much interested anymore

Here the only person who has personal benefit is mastertoma. hehe
he is living everyone to complete his project hehe
Posted (edited)

@guytis actually you are wrong. @MasterToma shared a lot of useful things here in this forum. If it was for his personal benefit he would have shared nothing. Also you are the one probably that signed up to help him with his project, so it’s your fault and your mistake that you published this team’s work. Nasty.

Edited by PARADISE
Posted
39 minutes ago, PARADISE said:

@guytis actually you are wrong. @MasterToma shared a lot of useful things here in this forum. If it was for his personal benefit he would have shared nothing. Also you are the one probably that signed up to help him with his project, so it’s your fault and your mistake that you published this team’s work. Nasty.

 

I have no obligation to anyone. If I have something in my possession, I have the right to share :)

Posted
5 minutes ago, PARADISE said:

You still sound like a little kid(b****) that nobody plays with it. 

 

I do not understand why ... I do not understand why it bothers you that I shared this ...
You must be some stupid guy who lives selling things ... I do not need to sell anything because I have 7 online servers ....
and everything that does not hurt me I will publish it quietly ...

Posted (edited)

@guytis, you missed something. When I shared that stuff with you, you wrote me many many times, that you will never share it without my approval. That's the key. I have full skype of your swears, that you would never share it.

 

I can't demand you to contribute. It's your decision. You can leave. No-one contributes to project JUST from scratch. I always GIVE more, and GIVE first. 

 

And when you decided to quit, instead of leave/stop working on project, like other (you get a lot for nothing), you started blaming me, cursing and blackmailing me. I don't care about pathetic persons like you. 

 

My comments here are just a warnings for other, that your word costs nothing, and that you are quite sneaky. Warnings, nothing more. You started this PR, and did bring it to public.

 

PS: just few works about my status (not related to topic, but to my work): I'm going to publish original NASC for C4 in few weeks. There are plenty of my leaks here and there, but I'm not going to stop my work, because it's my hobby ;)

Edited by MasterToma
Posted
7 hours ago, MasterToma said:

@guytis, you missed something. When I shared that stuff with you, you wrote me many many times, that you will never share it without my approval. That's the key. I have full skype of your swears, that you would never share it.

 

I can't demand you to contribute. It's your decision. You can leave. No-one contributes to project JUST from scratch. I always GIVE more, and GIVE first. 

 

And when you decided to quit, instead of leave/stop working on project, like other (you get a lot for nothing), you started blaming me, cursing and blackmailing me. I don't care about pathetic persons like you. 

 

My comments here are just a warnings for other, that your word costs nothing, and that you are quite sneaky. Warnings, nothing more. You started this PR, and did bring it to public.

 

PS: just few works about my status (not related to topic, but to my work): I'm going to publish original NASC for C4 in few weeks. There are plenty of my leaks here and there, but I'm not going to stop my work, because it's my hobby ;)

 

 

toma.png

 

 

You gave me permission. otherwise, I did not publish it ...

  • Like 1
Posted (edited)

Luck that no is complete.

Anyway, I will not be able to do anything with it.

This may be bad but may be good, the effect will only be discovered in the future.

Many people go look for Master Toma ago from solutions.

Thx

Edited by N43L

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