Macro vs Script - Why choose one over the other?
Jaseowns Youtube video breaks down why you might use a macro or script, the video goes over how to make a macro, a script, how to convert a macro to a script and how you might be able to learn the razor syntax!
TLDR: They are very much the same thing, however scripts have more options once you learn the syntax. Use what makes you happy!
What is a Macro?
A macro is an action or multiple actions that can tied into a single caller. In UO we setup macros to do specific actions in game like saying Bank or casting a spell. Razor introduced additional actions that are not available inside the actual client. This allows us to make some pretty unique sets of actions that are just not possible using an in game macro.
What is a Script?
In Razor a script is the same thing as a macro but it is written using the Razor script syntax. The idea behind the Razor Script syntax is being easier to write and share those scripts in a more human readable manner. On Outlands, the Razor Script language has been extended beyond the community edition with additional features to mimic another assistant called UO Steam. These unique additions make scripts much more powerful then regular razor macros.
I'm not a programmer, I can't script.
I would say the advantage of a macro vs a script is the fact that macro gives you drop down options to choose from when creating your masterpiece. This allows people that aren't interested in learning programming to create some pretty neat things. Scripts require you to know a bit more about the syntax before you can really get that same level of creation but once you learn the basics you should be able to create scripts much faster than macros.
Learning how to script can be hard at first but very rewarding. If you have even the smallest interest in learning how to script, that is all you need to get started. The best way to learn is to have an idea in your head of what you would like to do and then find out the correct syntax for making that action happen. An easy way to get a base line is to use the record feature. The record feature is available on both the Macro and Script tabs.
One "gotcha" with the record button is it may not always record the exact actions you want, or it may add in additional things you don't need for the script to function.
Be sure to check out the scripts list for examples or inspiration.