Jump to content

Recommended Posts

Posted (edited)

Does this work for you? It seems to me that the condition (NpcList.Items(i).Target = User) never gives true. Maybe it doesn't work in interlude?

var AggroMobs:integer; 

function MobsAttacking : integer; //Сколько мобов нас атакует?
var i, n: Integer;
begin
n := 0;
AggroMobs:=0;
for i := 0 to NpcList.Count - 1 do
if (NpcList.Items(i).Target = User) and not NpcList.Items(i).Dead then inc(n);
AggroMobs:= n;
Result := n;
end;

begin
print(MobsAttacking);
end.

How do I configure the bot interface to attack only agro mobs?

Edited by darknesscrysis
Posted

Does this work for you? It seems to me that the condition (NpcList.Items(i).Target = User) never gives true. Maybe it doesn't work in interlude?

var AggroMobs:integer; 

function MobsAttacking : integer; //Сколько мобов нас атакует?
var i, n: Integer;
begin
n := 0;
AggroMobs:=0;
for i := 0 to NpcList.Count - 1 do
if (NpcList.Items(i).Target = User) and not NpcList.Items(i).Dead then inc(n);
AggroMobs:= n;
Result := n;
end;

begin
print(MobsAttacking);
end.

How do I configure the bot interface to attack only agro mobs?

yes this doesnt work for interlude, check this http://www.maxcheaters.com/topic/189997-l2-adrenaline-scripts/?p=2637922

Posted (edited)

 

function checkAgro: boolean;

var npc: TL2Npc;

begin

result := Engine.FindEnemy(npc, user, 1100));

end;

 

begin

engine.moveto(123,123,123);

engine.useskill(123);

engine.facecontrol(0,true);

while checkAgro do delay(1111);

engine.facecontrol(0,false);

end.

 

 

The problem with that is that it only kills the mobs after it arrives to the point. So when you cross a chamber you would have a lot of mobs to kill at once.

 

I think this way would work better, you create a config that doesn't attack any mob but beat off attacking mobs, you load that config before moving to the hunting zone, and when you arrive you change it for the usual config to attack all the mobs in that zone.

BEGIN
  Engine.LoadConfig ('KillAggroMobs');
  Engine.FaceControl (0, True);
  Engine.MoveTo ...
  move..
  move..
  ...
  if  User.InRange (x, y, z, range, zRange)  then begin
    Print ('Arrived to hunting zone');
    Engine.LoadConfig (User.Name);
    Engine.LoadZone ('huntingZoneName.zmap');
  end;
END.
Edited by darknesscrysis
Posted

 

The problem with that is that it only kills the mobs after it arrives to the point. So when you cross a chamber you would have a lot of mobs to kill at once.

 

I think this way would work better, you create a config that doesn't attack any mob but beat off attacking mobs, you load that config before moving to the hunting zone, and when you arrive you change it for the usual config to attack all the mobs in that zone.

BEGIN
  Engine.LoadConfig ('KillAggroMobs');
  Engine.FaceControl (0, True);
  Engine.MoveTo ...
  move..
  move..
  ...
  if  User.InRange (x, y, z, range, zRange)  then begin
    Print ('Arrived to hunting zone');
    Engine.LoadConfig (User.Name);
    Engine.LoadZone ('huntingZoneName.zmap');
  end;
END.

i still prefer that function xd

Posted (edited)

It would be nice if it stopped when there's a mob attacking, but it would need to pause the movement. How would that be? Something like..

function checkAgro: boolean;
var
  npc: TL2Npc;
begin
  result := Engine.FindEnemy(npc, user, 1100));
end;

procedure  killAgroMobs;
begin
  if  checkAgro // suspend thread movingToHuntingZone
  // resume thread after killing mobs
end;

procedure  movingToHuntingZone;
  ...

begin
  script.newThread(@killAgroMobs);
  script.newThread(@movingToHuntingZone);
end.
Edited by darknesscrysis
Posted (edited)

 

It would be nice if it stopped when there's a mob attacking, but it would need to pause the movement. How would that be? Something like..

procedure  checkAgroMobs;
  ... // if true suspend thread movingToHuntingZone
      // resume thread after killing mobs

procedure  movingToHuntingZone;
  ...

begin
  script.newThread(@checkAgroMobs);
  script.newThread(@movingToHuntingZone);
end.

simply before each move check for agro mobs, and if agro true then turn on bot and do delay for example

procedure CustomMoveTo(x,y,z:integer);
begin
if checkAgro then begin
engine.facecontro(0, true);
while checkAgro do delay(20);
engine.facecontrol(0,false);
end;
engine.moveto(x,y,z);
end;


begin
CustomMoveTo(123,123,123);
end.

it before start use engine.moveto it will check if mobs hit u, gl!

Edited by adr.bot

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • Hello everyone,   A long time ago I was also a Lucera customer. After all these years, I started wondering why the source code was never offered publicly, even as a paid option, while customers were still depending on monthly updates, extensions and closed binaries.   Because of that, I decided to start researching the project deeper from a technical point of view. I spent a lot of time analyzing how Lucera was structured, how the protections and bindings were implemented, how the core communicates with the scripts/extensions, and how everything is connected internally.   After a long process of analysis, cleanup and reconstruction, I managed to create my own decompiled Lucera based source environment. This means I can now work directly inside the source, modify core logic, change systems, fix bugs, rewrite scripts, remove limitations and develop features without depending only on external extensions or closed compiled files.   I know that some people already had access to private source versions, but for most customers the answer was always the same: “we do not sell source code.” So I decided to take a different path and build my own working source base from what I had.   This is not just a random claim or forum drama. I have already been working directly with the source, rebuilding parts of it, fixing decompilation issues, compiling scripts, correcting runtime errors and testing everything in-game.   The goal is simple: full control, full customization and the ability to continue development independently.   For anyone who doubts whether this is real or not, I will include a video demonstration showing the project, the source structure, the build process and in-game results..    
    • HOT NEWS: Gemini Spark BETA LAUNCHED! Google has officially released the Beta version of Gemini Spark, its highly anticipated modular AI workspace. Access to the new interface is currently exclusive to Google AI Ultra subscribers located within the United States. The groundbreaking update shifts the Gemini experience from a standard chat window to a clean, real-time code editor and dynamic canvas. ------------------------------------------- CONTACT Order Here: BUY GEMINI PRO Email: support@klouditem.com Telegram Channel: @klouditemcom Telegram Support: klouditem All Contact: https://linktr.ee/klouditem Website: https://klouditem.com Hours: 24/7 -- Always online SHOP NOW: klouditem.com  Gemini Pro can be useful for many daily online tasks, especially if you work with content, marketing, or websites. Some practical use cases:   ✅ Writing product descriptions ✅ Creating ad copy ideas ✅ Summarizing long documents ✅ Rewriting emails professionally ✅ Planning blog content ✅ Creating social media captions ✅ Explaining technical topics in simple words ✅ Brainstorming business ideas ✅ Checking grammar and tone ✅ Creating step-by-step guides   Best tip: don’t use AI output directly every time. Use it as a first draft, then edit it with your own experience. That gives much better and more natural results. ------------------------------------------- CONTACT Order Here: BUY GEMINI PRO Email: support@klouditem.com Telegram Channel: @klouditemcom Telegram Support: klouditem All Contact: https://linktr.ee/klouditem Website: https://klouditem.com Hours: 24/7 -- Always online SHOP NOW: klouditem.com
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..