Coder Social home page Coder Social logo

Comments (6)

Nipodemos avatar Nipodemos commented on May 12, 2024 1

closing since we have now eventMacro

from openkore.

Henrybk avatar Henrybk commented on May 12, 2024

Well, I'll try to list some problems of macro plugin and try to propose solutions to them.

1- It rechecks all automacro keywords each cycle, which is tremendously cpu intensive.
proposed solution: Get totally rid of 'AI_Pre' hook in automacro checking, instead hook everything else that would change something we want to know of. Example of an automacro and it's hooks below.
automacro equipStuffForBradeGrounds { quest 7122 inactive inventory 13040 = 1 equipped rightHand not 13040 location new_1-3, new_2-3, new_3-3, new_4-3, new_5-3 call TalkAgainToBrade }
Hooks: inventory_item_added, inventory_item_removed, quest_added, quest_removed, item_equipped, item_unequipped, map_loaded.
(Hook names not right, just wrote them out of memory)

2- Macros are not parsed until execution, which, again, is tremendously cpu intensive and makes debugging REALLY hard.
proposed solution: Parse all macro lines in the files loading, and if any erros are found, kill the instance, we don't want to have something ad important as macros running with erros.

3- We don't have support for global | local variables, all we have is globals.
proposed solution: Add support for it (lol)

4- We list support we have in macros is (really) bad, and hash support is even worse (varvar?).
proposed solution: Add perl-like support for arrays and hashes.

5- We have lots of functions in macro which are almost equal to checkSelfCondition
proposed solution: Find a way to integrate checkSelfCondition on macro plugin.

6- The support for loops is not really good, it exists though.
proposed solution: Add support for perl-like loops (while and for?, continue, next and last also)

7- There's no way of pausing a macro without totally interrupting it

8- There's no support for everlasting variables (continue existing after instance is closed, should we have it?)

9- There's no support for concurrent macros.

10- The parsing of automacros is really bad, there's no error message on duplicate keywords and duplicate names.

11- There is no separation between automacro 'conditions' like job, location, and automacro 'parameters', like exclusive and run-once.

12- We have support of if, elsif and else, but also to goto and label, isn't this unnecessary?

Also, our sintax is not really good, should we use semicolon or something else and make the parsing character wise instead of line wise?

from openkore.

kaliwanagan avatar kaliwanagan commented on May 12, 2024

I'm all for this. What do we need to do to get this rolling?

from openkore.

Nipodemos avatar Nipodemos commented on May 12, 2024

I guess that with eventMacro we can close this issue... right? ( although there is a few things that werent implemented yet )

from openkore.

Fadreus avatar Fadreus commented on May 12, 2024

guess that with eventMacro we can close this issue... right?

No love for old macros.
Sob sob..
Welp, the only reason I stick to macro is because of condition console .
Too lazy to write long script, console is my love πŸ˜„

from openkore.

Nipodemos avatar Nipodemos commented on May 12, 2024

No love for old macros.
Sob sob..
Welp, the only reason I stick to macro is because of condition console .
Too lazy to write long script, console is my love

hahahahahahah
i also have this lazyness but i still love eventMacro even whithout console condition

from openkore.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.