Log in

View Full Version : What Everybody Wants: Shorter, Simpler Macros



Tamarsamar
03-09-2011, 02:18 AM
In wake of the <wait #> macro command, it is clear that the devs show an interest in alleviating player macro space. However, allowing the /wait command to be placed on the same line as the previous command is, to use an analogy that has particularly amused me, "like applying a bandage to a severed head."

Most unfortunately, with the way this game is designed, the playerbase can only make the most of what they are given by repeatedly switching out different pieces of gear, even mid-combat, to handle different situations. At end-game this can even get as extreme as a need to switch out all 13 slots of non-TP-resetting equipment at once. As much as I would personally like for the need for on-the-spot equipment changes to be removed from the game entirely, that also unfortunately seems extremely unlikely at this point, with more and more situational equipment finding its way in to the game over the years.

The solution I propose? A /equipset command. This hypothetical command is followed by a number. By typing "/equipset ## add", you would be able to "save" the equipment you are currently using to that number, and later, by typing simply "/equipset ##", the equipment that you "saved" is automatically all equipped. Imagine it as 16 different /equip commands, saved to memory, and accessible with one line. Be it front-line, mage, or (especially) both, it is every combat-oriented person's dream to be able to switch all necessary equipment on the fly with just a single command, like this.

Truly, if such a solution to the current macro space problem existed, the devs would have the eternal gratitude of many adventurers within Vana'diel; they already have my gratitude for reading and considering this thread.

Chibisawa
03-09-2011, 02:25 AM
Macro system really needs an overhaul, playing on PS2, I have several pieces of gear that I either have to place in multiple macros (ws gear) or gear that I just can't use (Ichi recast items, cure items) because it's just not practical to have two macros for a motion that needs to be performed quickly. Ideally you should be able to potentially swap all slots, do a spell/ja and then swap back to your idle set with a recast timer as well, but I know that's rough. The /equipset idea seems to be something they could work in though.

Revalus
03-09-2011, 02:28 AM
I fully support this endeavor. It would be unfortunate if this was not considered.

Teakwood
03-09-2011, 02:28 AM
Seconded; I think this is actually a feasible solution for evening out the disparity between gear swap ease-of-use. I'd be interested to know whether this would actually be possible given the game's architecture.

Gadanae
03-09-2011, 02:37 AM
/applaud. Right now, and SE knows about these things. 3rd party windower programs such as Spellcast take care of this dilemna, but there are drawbacks. One major one is ya gotta play on PC to use it. 2, it's against SE's rules to use 3rd party programs and can get you banned. 3. Even if you do stick your neck out there to use this program, it's insanely hard to understand the scripting unless you are savvy to it.

Your solution of /equipset is an awesome idea, and I do pray and hope that SE reads this thread and does something if they can within the game's architecture, like Teak said, to implement it.

Either that or make upgraded gear have all the stats we need so we don't need to switch? Dreamin I know.....

Maquis
03-09-2011, 02:45 AM
Yes, equipsets sounds like the way forward. Would be best to view the equipment sets in menu, just like you have 20 macro books, you can view 20 equipment sets. They can re-use the equipment window they already have, but modify it to show the equipment of the set. Or 20 equipment sets per macro book, where each equipment set is only available to use in that macro book?

In anyway, I fully support this suggestion.

ffxkenshin
03-09-2011, 02:48 AM
SE do please consider the /equipset, if it's maybe too hard, then just give us a 20 line per macro (hope memory is not the limit here >.>), this will allow us to have:
/recast xxx
/ja /magic /pet xxx
change all 13 non-tp-reset or change all 16 slot for mage that doesn't care tp-reset
an extra 2 line for communication maybe /party or /linkshell

Rasantath
03-09-2011, 02:56 AM
i like the idea, but i dont think it will happen, they have already run into memory limitations (just try to load the list of key items you have now into the auto translator, the key item category goes away entirely), so i dont think holding your equip sets in memory will work for them.
something should be done though.

LeChuck
03-09-2011, 05:03 AM
Considering the idea of adding more lines to the macroes is not viable because of memory limits and maybe the excellent idea of an /equipset command is not possible for the same reason (memory issues), let us have a /command to call another macro. Like I press ALT + macro1 and last line of this macro is "/recall book xx set xx <alt||ctrl> macro2". This will let the second macro be executed at the end of the first one (add more at the end of each macro if needed)

Tamarsamar
03-09-2011, 05:10 AM
LeChuck, the problem with that that I think the devs would be a little wary about implementing is that it would allow people to set up infinite macro loops. To give just one example of how this can not be a good thing, consider that /shout can be put in to macros, as well, and then a problem becomes obvious.

Anyway, we already have Grand Greedaloxes clamoring for yet more inventory, and I think that what I am asking for is slightly more reasonable (and, to be blunt, much more necessary) than that, don't you?

Momohko
03-09-2011, 05:44 AM
If they gave more lines I would be so thankful and happy... the additional books was nice... and the /wait is nice as well and appreciated but to me its MORE LINES that the people really want! the problem may be ps2 limitations... >.> upgrade to ps3! lol @.@;; but in all srsness it is very frustrating to have a macro change half of my gear and go to another set to change the rest of it and cast the spell it slows down things and at times is very frustrating. That second counts that it takes to get to the other macro set it can be the difference between life and death lol

Nickdogg
03-09-2011, 05:55 AM
Now see this thread is a great "I want change" thread. Delete all the "I want higher drop rates" threads and focus on threads like this. ^^

Bump

ffxkenshin
03-09-2011, 07:11 AM
Yes, this is much more "useful" thread to really enhance the gaming experience, delete all the "I want lower drop rate" abyssea is "too easy" thread and we have more productive discussion =)

LeChuck
03-09-2011, 08:08 AM
I do see your point Tamarsamar, something I didn't thought of, the recursiveness of the system. I consider your idea an excellent one but, if for any reason it's not possible, i.e. for memory reasons, mine's is definitely not memory consuming. Sure, it's explitable, but at least it's technically possible, no doubt on it. Then again, the macro limits had been risen countless and countless times again and SE never even agreed to them being a problem to be addressed so, I won't bet a single penny this time it will be any different, not even if we come with a perfect code to implement that works great on PS2 too :(

Pyrsos
03-09-2011, 02:55 PM
wow the /equipset command is a great idea! and doesn't seem too hard to implement (not knowing the internals). if it is not possible, then calling macros within macros would be a decent hack, and it could probably be limited somehow to avoid abuse.

another clumsy but usable option would be to put more than one command in one line, using some kind of separator (";" from c-derived languajes would be a good choice).

Jenenibui
03-09-2011, 06:27 PM
Yes to /equipset or something like it! or let us equip multiple pieces of equipment in one macro line. or could maybe get rid of the whole command "/equip XXXX"(XXXX is armor slot), since the game knows what type of armor a certain equip is, and be able to do "/equip "Optical Hat";"Wahlara Turban"" in one line to the character limit. Something like that alone would make like way easier.

Arcon
03-09-2011, 07:13 PM
I think this is a really excellent idea. FFXI macros have been bugging me for a really long time, the <wait #> thing was a great addition, and if something like /equipset is implemented, I would finally start using them again.

As for the memory thing... I don't think it would be an issue. There's a certain memory space allocated for macros right now, and it's rather big.. 20x10x2x10x(6x60+8) = 147200 characters. A gear set could be stored very efficiently.. there's 3000 different weapons in the game right now (distinct weapon names) and 5257 pieces of armor, meaning 8257 pieces of equippable items. Stored numerically, this could be done by easily a 16bit value for each item (and would still leave tons of space for future items), storing one gear set would require 256bit, which (pessimistically speaking, since I'm not sure how characters are stored) would equal 32 characters. And that's for a whole set, 16 items worth, in about half a macro line.

So even if we stored a set for every single macro button, it would still probably be less memory than we currently use for macros. So if we cut macro lines by half (which shouldn't be a problem, since most macros are gear swaps anyway), we'd still actually saved some space. Thinking about it, SE could even store the items in the set by 16 character names, like it does in the inventory list, it would still be enough to store one set per macro line, although it would take up ~71% of the current macro space, but if they limit the maximum number of available gear sets to, say, 2000, which is more than enough for every spell in the game (1542 and some other actions like healing, ranged attack, tp, eva, etc.), and still an unrealistically high number, it would only exhaust ~36% of the whole current macro memory.

All in all, great idea and sounds viable (feel free to point out errors in my math), let's only hope SE implements something like this, I'm sure it would be greatly appreciated.

Xilk
03-09-2011, 07:33 PM
This is a fantastic solution.
I would go 1 step further in suggesting how it is implemented. When you are at your Equip screen, Have another button or category so you can simply asign your currently equiped gear to a slot for an equip set.
This way, players are not endlessly going through names and text. You equip it like you normally would, then you pretty much say "save as... set01" or something like that.

any blank slots in the saved set, simply will not be switched (this allows for swapping or not swapping tp affecting slots)

Rambus
03-09-2011, 07:56 PM
I have a lot of macros that uses 3 buttions of gear, sometimes I do not hit them all if I am in a tight spot.

SE needs to make more Universal gear or make macros long enough to hold 15 lines ( since mages dont care about mp)
If PS2 stops this for some reason can we drop the ps2 already? is in it hard to buy PS2s with harddrives at this point? or even getting those ps2s serviced?

If SE can do saved gear sets that would be helpful too. I would love the game not need windor scripts. I am tried of people talking to me like im gimp for not using them

Shibaa
03-09-2011, 08:35 PM
LeChuck, the problem with that that I think the devs would be a little wary about implementing is that it would allow people to set up infinite macro loops. To give just one example of how this can not be a good thing, consider that /shout can be put in to macros, as well, and then a problem becomes obvious.

Anyway, we already have Grand Greedaloxes clamoring for yet more inventory, and I think that what I am asking for is slightly more reasonable (and, to be blunt, much more necessary) than that, don't you?

People always mention this, saying it will not be done because of possible infinite loops, the solution to which has already been established which is that when 1 macro calls the next, the next macro can only return back to the first after execution, and it will return back at the line it left off, So you have a 6 line macro each line can call another macro of 6 lines, and that is it. So for example:

in a macro:

/call macro1
/call macro 2
/call macro 3
/call macro 4
/call macro 5
/call macro 6

Then in macro 1 you have that do whatever with the 6 lines available and after that is done, it will come back and execute the /call macro 2, then do those 6 lines and come back and execute /call macro 3. In this way the most you will get is 6 macros of 6 lines each (36 lines total) before completion and it will not automatically repeat in an endless cycle. The requirements are that a called macro can only return back to the macro that called it, and upon return will continue in execution of original macro from where it left off.

I would also like to be able to put multiple /equips on a same line, separated by a ; or a , some /equips are so short that you can do multiple on a line.

hiko
03-09-2011, 09:05 PM
can also replace /equip slot gear with something like <slot gear> you can put in same line (like it have been done with <wait #>

Rambus
03-09-2011, 09:09 PM
More then one gear change per line? that could work, but the lines need to be long enough to fit like 2 or 3 slots worth of gear changing. The lines in the macro are not very long (you can type more information manually then what you can fit in a macro). Reason I say this is because some gear has very long names -.-

Bobeflo
03-09-2011, 09:39 PM
Buummmmmppppppp!

Krystal
03-09-2011, 10:49 PM
funny thing about that is there is a 3rd party viewer that does allow that via addons...too bad SE gets ticked off when they bust people using it. i myself have never used the thing(for fear of account being banned) but front i've read on their website that they DO NOT condone or support the creation of addons that gives players an unfair advantage in world..in fact they claim to have put a scripting restriction into the viewer itself so you CAN'T make such an addon for it. idk about you guys but i wish SE would stop being picky and let users use 3rd party viewers as long as they don't allow the use of unfair advantages. it might make the game more enjoyable for people.

Vanar
03-10-2011, 06:33 AM
I actually submitted a similar Idea to this to SE before they even created the twitter account, and then again to the twitter account lol

It wouldn't be that hard to implement really, they'd just have to create a fucntion that writes current equipment as /equip <slot> <item> to a text file locally

then when the /equipset <name> comes up it executes each line in the text file as a command.

This would require no additional memory as the command would be loading the line of text directly into the chat bar and pressing enter

Windower has been doing this for years, one line equip full changes SE just has to implement 1-3 functions on their end 1) write current equip set to a file, 2) read line for line from a text file 3)execute said text file as a standard typed command. Rhis could really be a reality, I really don't see it taking more than a day to actually code i.



Many Many Many ppl would love u long time SE if u were to help us out with this ^^

Tamarsamar
03-10-2011, 09:06 AM
Shibaa, in your example, consider that the macro you just listed is, in fact, "macro 2." Your macro then simply endlessly repeats, calling macro 1 and then itself again. Repetition under your system becomes trivial.

Bobeflo, while I appreciate you giving my thread some attention, please post some more useful feedback than a simple "bump" next time. ^^;

Krystal (and Vanar), it's stupidly easy for an unmonitored third party to say they're doing one thing, and then do something completely different, and potentially malicious. This is why Square-Enix cannot afford to promote or allow promotion for anybody, no matter what; it'd be a clustaru of potential problems if they did arbitrarily allow exceptions.

Vanar
03-10-2011, 08:33 PM
I wasn't saying allow windower, but more like take the principal of what they saying they doing, and apply it using their own code to achieve thee same result, but in a secure non-malicious form.

Xilk
03-10-2011, 08:36 PM
I wasn't saying allow windower, but more like take the principal of what they saying they doing, and apply it using their own code to achieve thee same result, but in a secure non-malicious form.

thats pretty much exactly what this thread is promoting. the functionality built into the game.

noodles355
03-11-2011, 01:05 AM
On a similar point, relating to gear swapping and how much more people want to be able to do: I would very much like to see commands to move things to and from your Mog Sack or Mog Satchel. I currently carry about 97 pieces of gear on Rdm yet only 80 inventory slots, and it takes a long time to switch gear between Inventory and Mog Sack. That's 97 without any meds or other items and without any silly situational gear like melee gear.

Eadieni
03-11-2011, 02:00 AM
This is not possible if its done client side, because of the PS2.
However if equipment sets were to be stored on the server .... anything is possible

If you could equip a set of armor, and "save" it to a server storage equipment macro, you could also recall it.

It could fix the problem, but you might see a partial loading every time you call one of those macros.
Still, given that you can load all your macros at once in about 3 seconds from the server after saving, I don't see a problem with a 1-2 second delay when calling an equipment set change macro.

This could also lead to a method that pulls data from the Porter Moogles to be able to summon a set of your favorite armor, rather than piece by piece. Like "Withdraw saved set 8" or something.

I think this is going to have to be the future of FFXI, saving things on the server instead of the client. The PS2 doomed everyone, but in 2003 who would have known the game would go into 2011 and still be popular? Most PS2 online games have had their servers shut down, the fact that EQOA is online still is nothing short of a miracle.

Arcon
03-11-2011, 06:56 AM
This is not possible if its done client side, because of the PS2.

As I said before, it should definitely be possible, depending on how it's stored. But even using trivial storage methods the PS2 should still provide plenty of memory to deal with this. Server side could work, but it would require some extra storage on their part, compared to having it distributed among all the players.

Digi
03-11-2011, 07:14 AM
How about an idea like this: /equip Main "Item" Head "Item" Legs "Item" allow up to maybe 3 or 4 items to equip per line :3 Less lines but not easier but its a thought.

Sorka
03-11-2011, 07:29 AM
I hardly ever gear swap on my jobs because of the lines issues in the macro windows. I know it's silly but I don't want to have to hit several macros just to swap out more than 6 things at a time. This needs to get fixed somehow and damn the PS2 limitations! I'm sick of that excuse, SE. ):<

Tsukino_Kaji
03-11-2011, 07:52 AM
Any shortening or simplification is not neccissary. All SE needs to do is add one more line. ONE more line.

GlobalVariable
03-11-2011, 08:24 AM
semicolon parsing please! /equip head "thing"; /equip hands "thing"; /equip r.ring "thing"; /equip l.ring "thing"...


Alternatively, <equip head "thing">

GlobalVariable
03-11-2011, 08:25 AM
Any shortening or simplification is not neccissary. All SE needs to do is add one more line. ONE more line.

Or a page button?

Seyomeyo
03-11-2011, 03:14 PM
Best idea ever. only ammendment I would make is the possible renaming of "/equipset ##" to "/equipset <name>". Naming them would be very convenient, especially given the fact we can already name macro books

Xilk
03-11-2011, 03:52 PM
Naming an equipset is by far the most powerful and user-friendly approach to this.
it would take as much memory as the current equip set does... that is to say, not much. Its a few saved tables with 16 entries in each.

Then easily inclued 1 macro line for the exact gear you want for a ja, spell, etc.. It would save tons of time for all players.

Miiyo
03-11-2011, 04:52 PM
Lazyyyyyyy. 20 mins of macro editing to last you months with the occasional 2 min adjustment.

Laraul
03-11-2011, 05:33 PM
Macros are stored in UTF-16 format... All combined it's less than 300Kb for every possible Macro, Map marker, etc... and these aren't fetched from the HDD until needed...

I would just like an /optimize command... for equipping the optimal gear for a specific job or level. I would also like to cycle thru multiple ways of inventory sorting... like name, job, level, slot, type, etc...

Arcon
03-11-2011, 06:26 PM
Macros are stored in UTF-16 format... All combined it's less than 300Kb for every possible Macro, Map marker, etc... and these aren't fetched from the HDD until needed...

If macros are stored in UTF-16, then every macro book is ~288KB, so storing all macros would take ~2.7MB. This shouldn't be any issue at all for the PS2 to handle (and makes my calculations on a previous mage even more feasible, since I assumed 8-bit encoding).


I would just like an /optimize command... for equipping the optimal gear for a specific job or level. I would also like to cycle thru multiple ways of inventory sorting... like name, job, level, slot, type, etc...

If I understand it correctly, it would be hard to implement. How do you even define optimal? For so much situational gear.. I believe it would require quite some computational power and would only give approximate results. Equipment description is stored in text form, so either it would have to be parsed (which is not possible to do correctly, due to translation errors and hidden/unclear effects) or every item would have to be stored as some sort of struct with all its stats stored internally, which would require a lot of space.

On the other hand, if you wanna do the computation server side, it would be nearly impossible to manage with thousands of active players spamming spells all the time. Or did I misunderstand what you said?

Tsukino_Kaji
03-11-2011, 07:52 PM
Thought.
Most of the macro issuing is because of equips. So;
Have a toggle switch. Flip the switch, this maco now has 16 spaces, but now can only be used for equip specific lines. This would allow people to have thier equip macro sets in any spot they want.

Primetime
03-23-2011, 12:21 PM
Been waiting for more macro lines for years now, hitting 2 macros to change gear is very annoying. Please SE make this happen.

Twille
03-23-2011, 12:45 PM
I think the /equipset idea is pure genius.

Selzak
03-23-2011, 12:47 PM
Not really...I'd love to be able to access more complex commands. Shorter is definitely good though.

Auredant
03-23-2011, 02:38 PM
I think the /equipset idea is pure genius.
same...would be a shame if this wasn't explored

Macrom
03-23-2011, 03:08 PM
I also agree, this thread has some great ideas, i will be intrested to see if SE would implement such a macro system.

Kits
03-23-2011, 04:28 PM
However, allowing the /wait command to be placed on the same line as the previous command is, to use an analogy that has particularly amused me, "like applying a bandage to a severed head."

Since I came back i heard they changed the /wait macro system. I use macros frequently and usually have a /wait in each one..

I remember before it had to be /wait for like 3 seconds? idk. How is the /wait command used in macros?

Arcon
03-23-2011, 04:34 PM
They changed it so you can do <wait 5> in the same macro line as the previous command. Like this

/ja "Provoke" <t>
/wait 15
/echo Provoke ready in 15.
/wait 15
/echo Provoke ready.

This can now be done this way:
/ja "Provoke" <t> <wait 15>
/echo Provoke ready in 15. <wait 15>
/echo Provoke ready.

Kits
03-23-2011, 04:38 PM
oh so you just use the <>'s, i see.
what does /echo do? tell it to your pt?

Tsukino_Kaji
03-23-2011, 04:41 PM
oh so you just use the <>'s, i see.
what does /echo do? tell it to your pt?Echo is the yellow reminder text like when it gives you a timer. Only you can see it.
Also remember that anything you put after the <wait #> wont work. It has to be in a second line.

Linh
03-23-2011, 04:57 PM
I agree with OP.

/sign

Kits
03-23-2011, 04:59 PM
Thank you!!!!

Arcon
03-23-2011, 05:49 PM
oh so you just use the <>'s, i see.
what does /echo do? tell it to your pt?

I don't want to promote /p macros, so /echo was the best I could offer.

Tsukino_Kaji
03-23-2011, 05:52 PM
I don't want to promote /p macros, so /echo was the best I could offer.Yes, don't be like me and have /em in all of your SMN macros. ^^

Tamarsamar
04-03-2011, 10:56 AM
May I request that this thread be moved to the "Other" forum under the "GAMEPLAY" category (or possibly the "Battle Content" forum, depending on which seems more appropriate)?

(. . . and while I'm at it, may I request that something be done about Tsukino_Kaji's eyesore of a signature? >_>; )

Alhanelem
04-03-2011, 12:23 PM
Macro system really needs an overhaulThe whole reason the <wait #> was introduced was because they wanted to help us in a way that was reasonable for them to implement. According to them, totally revamping the macro system is not feasible.

Celedh
04-03-2011, 01:33 PM
I had the idea of equip sets long ago. I don't think it would require alot more memory processing since they can handle it mostly like how macros are stored : client side. You could essentially equip yourself, use something like /equipset ## save and it would essentially save what you have equipped into a macro-like data file. Since the game uses ID numbers for equipment, it probably wouldn't take alot of space either on a HD.

Swords
04-03-2011, 03:52 PM
I don't think it will be possible really, not because of the PS2 but the overall design of the game. Each video game computer or console is built up on a game engine. A game engine contains all the neccessary code to run and operate the game, proccess files, actions, ect.

When SE add's something like a sword, they would run through the simple process of giving the object a type: weapon, wepon Type: sword, graphic, stats, if its crafted, what its made from, skill needed, ect. and it gets saved as a file in the database on your computer (Similar to a RPG maker type program). Because of that most things in the game are created in a similar manner from pre-exsisting data methods that the game engine uses. Dynamis for example, is just being revamped with pre-exsisting methods, so there would likely be nothing done we haven't seen somewhere in the game already.

Since Macros are literal game engine code, they are likely built in the game engine. When you are using a macro you are basically writing game engine code telling it what to do. And when it comes to programming a game engine no matter how good or experienced a programmer you are, they dread editing source code. Why you might ask, because any time you edit code you have to edit all the refrences associated with that code. Let me give an example.

Say you got an item in the code thats called "Bacon" that holds a value. Now the value of "Bacon" may change but there may be 50 different math formulas in the program use Bacon.

Simplified Quick Visual Refrence:

Before Change:

Program Bacon
{
main Bacon = 20

Bacon = 4 + 3 <--- Refrence to where the value of "Bacon" changes, and "Bacon" takes a new value.

End of Bacon
}


Now let's say someone decided they wanted to change "Bacon" into "Pie". While "Pie" has replaced "Bacon" the formulas that used "Bacon" are now useless because there is no "Bacon" item anymore. So when the computer does the math it doesn't have any place to put the new value.

After change:

Program Bacon
{
main Pie = 20 <----- Pie is useless because it's not used in the program.

Bacon = 4 + 3 <----- Formula is now useless because the program is saying "There is no Bacon refrence to hold the formulas value."

End of Bacon
}

Now in order to fix this problem you have three choices. 1. Change "Pie" back into "Bacon", 2. Rewrite the program entirely to use "Pie", or the most painstakingly difficult choice 3. Go through every part of the program and edit every refrence of "Bacon" into "Pie" which is what example Fixed is made after.

Fixed:

Program Bacon <---- Merely the Title of the program.
{
main Pie = 20

Pie = 4 + 3 <---- Formula now works because it's looking for "Pie" instead of "Bacon" to store the value.

End of Bacon <----- Merely the End of the Program
}

Now the cons of those choices.
1. Changing everything back defeats the purpose of editing the program at all.

2. Rewriting the program from scratch requires a great deal of time and effort debugging and fixing the new program.

3. Just like 2, it requires a good deal of time and effort. The thing thats sets choice 3 apart from 2 however is you have to search out potentially hundreds or thousands of refrences, maybe rewrite entire sections of code, and the more editing you do to the core program the greater potential you have for errors and bugs and fixing them.

The change to the <wait #> command might leave what I explained up to interpritation, however all it did was allow already exsisting code to be on the same line. Which is significantly different than changing the code or adding new code.

Merton9999
04-04-2011, 12:20 AM
/sign

I've been hoping for something like /equipset #, or /macro "Name" for years.

I never buy the "not possible" arguments. I've managed a programming group for 12 years. Techs want to come into my office with long explanations of why something can't work. I smile while I ignore what they're saying. Then I tell them to think more creatively. Most of the time, they come in a week or less later with a working solution, from a different angle. If they don't someone else does.

Arcon
04-06-2011, 07:31 AM
I don't think it will be possible really, not because of the PS2 but the overall design of the game. Each video game computer or console is built up on a game engine. A game engine contains all the neccessary code to run and operate the game, proccess files, actions, ect.

[..]

Since Macros are literal game engine code, they are likely built in the game engine. When you are using a macro you are basically writing game engine code telling it what to do. And when it comes to programming a game engine no matter how good or experienced a programmer you are, they dread editing source code. Why you might ask, because any time you edit code you have to edit all the refrences associated with that code. [..]

That's not quite accurate. Macros are abbreviated code, often easily human readable/writeable, that, when processed, expand into the actual code that's being used by a compiler/engine/whatever.

So /equipset xx could simply look up which set xx is, then put all the items in an associative array. Example:

Set=25 {

neck=Stone Gorget
hands=Stone Mufflers
waist=Siegel Sash
legs=Haven Hose
}

This would put all the items in an array where array[slot] = piece. Then you just have to iterate through the array, and for every key => value input the following line:
/equip key "value"

The result is this:
/equip neck "Stone Gorget"
/equip hands "Stone Mufflers"
/equip waist "Siegel Sash"
/equip legs "Haven Hose"

Now these are several lines of normal commands and they can be executed as such.

How SE would execute the actual code depends on the structure of their program, if the sets are all stored client side it could be done by a simple function that catches the macro before it's sent to the server and formats it to proper commands (like the equip commands just now). If it's done server side, it could be either done with the preprocessor, that expands the macro into proper code, or the engine could even transform the code itself, also by a simple function. Either way, this is a very elegant and feasible solution, both to implement and use. And unlike most other suggestions, it doesn't enable/encourage cheating/botting in any way, so that's a major plus.

Would love to see it at least considered.