I miss UO. I used to work from home, so I had a box set up that would run a simple c program that would send keys to repeat a macro based on what I wanted to train, but at random intervals. I did this because I wanted to keep up with my buddy, who had the time to actually play. But I also had a small bit of code that I injected that would scrape the text. I would set my character on a boat, and then when a mod would show up, it would beep from the PC internal speaker (so I wouldn't get caught if my wife turned down the volume on the speakers). I can't count the number of times talking to some directoe or VP while this high pitched noise came across on a conference call while I panicked to explain the noise, have a conference call, and type enough to convince that I was a person. I miss that.
Nowadays they have macro programs to help with this that use LUA or custom scripting languages to run the game.
I remember learning LUA by writing scripts. Probably my pinnacle here was one to harvest wood / mine automatically, recalling to a bank to drop everything off and then head to a new mine, rotating mines so they wouldn't run out and playing a siren noise and sending me an email when the anti-macro popup would come up.
At this point I was more playing to see how advanced and resilient I could make my script, and less so to play the game, heh.
I actually co-located a server in a datacenter in 1998 just to macro UO. I would pcanywhere into it from home and keep the macros going, etc., and it never lost connection or ping-timed-out since it was right on the backbone (as we said in those days...)