L2JMobius

High Five Autopilot Engine

vert · 64 · 29990

Offline vert

  • Knight
  • ***
    • Posts: 70
Thank you!

------------------------------------

Update from last night:

  • Logic of pickup items in ground (adena, some herbs, ...) started


Online Mobius

  • Distinguished King
  • *****
    • Posts: 16010
Maybe add some generic AIs before making everything?
Fighter, Caster, Ranged, Healer.
And extend those?


Offline vert

  • Knight
  • ***
    • Posts: 70
Sounds great!

I'll finish the pickup logic to commit the changes and after, I'll split the CombatAI into some generic files.

Thanks.

EDIT: Guys, I'm out of time now, but I'll post some updates when I can; (I'm out of time to code pet projects, but I enter in forum a lot of times a day, if someone has any question, just let me know).


Offline vert

  • Knight
  • ***
    • Posts: 70
Update:

  • Pickup item logic


---------------------------------------------------------------------------------------

The pickup item logic will be improved in the future with some extra validations and a possible refactoring, but for now, its 100% working and doens't conflit with any other "think and act" logic (like combat).


Offline SmiDmi

  • Elder
  • ****
    • Posts: 118
Very good!
This can turn into a real system of setting up bots on the server.
Still they would remain after server restart?


Offline vert

  • Knight
  • ***
    • Posts: 70
For now, they are not stored into db, but in the "progressive fake players" feature, they will;

Edit: Guys, don't forget, I love L2 and this is a hobbie (like mobius and a lot of you guys), I just code when I can, so... don't worry, I'll post updates as soon as I can.


Offline vert

  • Knight
  • ***
    • Posts: 70
Hi Guys,

Great News!

I have worked some time in this weekend and there is the update list:

Update:

  • Armors from no-grade until S80 are mapped (need map s84 armors)[light and robe]
  • Start mapping items by class and by grade (Weapons)
  • All fixed items for only 3 job classes removed
  • All equips of initial races - done
  • All equips of d-grade for every class - done
  • All weapons of c-b-a-s-s80-s84-grade for all mage class - done
  • All weapons of c-b-a-grade for [Gladiator, Bladedancer, Warlord, Paladin, Dark Avenger, Temple Knight, SwordSinger, Shillen Knight, Warsmith, Bounty Hunter] classes - done
  • All weapons of s-s80-s84-grade for [Duelist, Spectral Dancer, Dreadnought, Phoenix Knight, Hell Knight, Eva Templar, Sword Muse, Shillen Templar, Maestro, Fortune Seeker] classes - done

---------------------------------------------------------------------------------------

Possible Next Update:

  • Finish c-b-a-s-s80-s84 grade weapons to other classes
  • S84 equips for mage
  • S84 equips for light
  • All heavy armors
  • When fake player reaches the necessary level to the next job, they will go to town and rise up to the next class in three (random if has more than 1)
  • Autopilot engine remove all armors and weapons from old class and give the new items

---------------------------------------------------------------------------------------

PS: When the grade has more than one equipe (only S or S+), they will be random, like:

Code: [Select]
                    case "S":
                        if (Rnd.get(0, 1) == 0) {
                            /**
                             * 6608 = Arcana Mace
                             */
                            itemsIds = Arrays.asList(6608);
                        } else {
                            /**
                             * 9860 = Dynasty Phantom (Acumen)
                             */
                            itemsIds = Arrays.asList(9860);
                        }
                        break;

                     case "S80":
                        /**
                         * 10440 = Icarus Spirit
                         */
                        itemsIds = Arrays.asList(10440);
                        break;

                     case "S84":
                        int randomNumber = Rnd.get(0, 2);
                        if (randomNumber == 0) {
                            /**
                             * 14125 = Vesper Buster (Acumen)
                             */
                            itemsIds = Arrays.asList(14125);
                        } else if (randomNumber == 1) {
                            /**
                             * 15856 = Veniplant Sword (Acumen)
                             */
                            itemsIds = Arrays.asList(15856);
                        } else if (randomNumber == 2) {
                            /**
                             * 15900 = Archangel Sword (Acumen)
                             */
                            itemsIds = Arrays.asList(15900);
                        }
                        break;

---------------------------------------------------------------------------------------

I'll finish the initial version of Autopilot engine just with the fake players (with essential interations) and update my HighFive version of mobius project.

For now, the first version as I've planned will have the features bellow:

  • Configuration file.ini
  • Combat AI
  • Pick items AI
  • Some character classes (AI)
  • Specific places to farm and level up by level (fake player will go to the place automatic)
  • When fake die, start the flow of item above
  • Maybe but I'm not sure: Fake players stored in DB and be progressive (when restarts, restore all fakes...)

Q: Your engine is named as 'AutoPilot', where is the bot ? The "auto farm" ?
A: The "bot" feature will use the same functions of fake players, so, when they are very refined and working very nice, the "auto pilot" will be very nice.

Q: Your engine will be free or paid ?
A: Free. When I'm done with the first release, I'll talk with mobius how we can organize to update JMobius source (I prefer work with Git, so, probability will be a private git repository who mobius will have full access and the engine is just a package with 1 line altered in mobius source and some admin html added to source. Will provide the source of engine and  the .diff to te current version of HighFive branch).

Q: You will provide any support ?
A: No, I'm coding for l2j as a hobbie, so... Will help in forum but not in personal messages or in other channels.

Q: You will update the engine ? Fast ? Everyday ? One time/year ? Slow ?
A: Yeah, I'll update the engine everytime I can, when I said, I'm coding for l2j as a hobbie, so, does not expect releases everyday or everyweek, but I'll.

I hope you guys enjoy the engine.


Offline ReynalDev

  • Knight
  • ***
    • Posts: 92
  • https://reynaldev.pythonanywhere.com/
    • ReynalDev
Why so much effort in creating fake players, what is the point of the server being full of these?

:sadface:


Offline vert

  • Knight
  • ***
    • Posts: 70
Why so much effort in creating fake players, what is the point of the server being full of these?

:sadface:

Well, I like It.
I like the idea to have a project for l2 related to AI who I can use in my university and a project who I love to code.

I'll earn anything ? Probability no.

Q: So, why don't work on fixes from official servers to mobius branchs ? Why don't spent time with some event mods instead fake players and auto pilot ?
A: Because I don't want  :) .

I don't have time to log in into official servers and compare htmls or anything.

I work full time and go to university, so: I wake up, go to my work, after work I'll to my university, after university I go to my house, I sleep, I wake up, go to my work...




Offline ReynalDev

  • Knight
  • ***
    • Posts: 92
  • https://reynaldev.pythonanywhere.com/
    • ReynalDev
You are free to do what you want with your time.


Offline vert

  • Knight
  • ***
    • Posts: 70
Hi Guys,

Update's note:

  • All weapons by grade and class defined for all classes except Judicator
  • Add s84 sets to light and mage classes
  • Move DY from s80 to S grade sets

---------------------------------------------------------------------------------------

Next possible updates:

  • All heavy armors
  • When fake player reaches the necessary level to the next job, they will go to town and rise up to the next class in three (random if has more than 1)
  • Autopilot engine remove all armors and weapons from old class and give the new items


Online jorfan

  • Baron
  • *****
    • Posts: 229
    • Facebook Profile
To sad to read the changelog work in the posts without the chance to try it :(


Offline vert

  • Knight
  • ***
    • Posts: 70
You guys will can teste and use in few updates, I'm coding Just the critical and necessary things.

I'll refine the engine after lauch It, but I want launch a First release more stable as I can.


Offline vert

  • Knight
  • ***
    • Posts: 70
Hi Guys,

Update's note:

  • All classes heavy armors added
  • Fix id of tallum light armors (before: dark crystal ids) (my fault hahaha)
  • Map all classes (except judicator) to receive items (robe, light, heavy)
  • Only pick items in ground if is his owner
  • Pick items in ground disabled by default until more tests

---------------------------------------------------------------------------------------

Next possible updates:

  • When fake player die, back or go to a zone for you respective lvl / farm
  • When fake player reaches the necessary level to the next job, they will go to town and rise up to the next class in three (random if has more than 1)
  • Autopilot engine remove all armors and weapons from old class and give the new items
  • Progressive fake players system (store fake in DB)


Offline LudinTheGaT

  • Vassal
  • *
    • Posts: 4