ID:134826
 
A good feature would be the ability to turn off the macro's on the preferences tab. This would prevent people from "cheating" on games like seika. What do you think?
I think it is a bad thing. You cannot use them to cheat if the programmer does a few simple things in the code to disallow it.

It is not macroes directly that is the problem, and you will still be in a bad spot if you take them out; as now people who type faster will have an advantage. Besides, there are still ways around disabling macroes. The arrow keys are all a macro, and you cannot disable those without removing walking from the game, therefor I could change one of the movement keys to send a verb signal instead of a movement signal and get around your disabling system.

The way to do it is to make your verbs only usable a certain number of times per day.
mob/var/attacking = 0
mob/verb/attack()
if(attacking) return
attacking = 1
//do attacking stuff here
sleep(10) //or however long you want
attacking = 0

There are better examples on the forum that you can find using a forum search, including one I did using bit flags that has one byte keep track of all similar action data.
In response to Loduwijk
mob/verb/dis_click(T as command_text){set name=".click";return "ROFL LOSAR"}
mob/verb/dis_dblclick(T as command_text){set name=".dblclick";return "ROFL LOSAR"}
Or you can use Crashed's Macro Nullifer in a game.
In response to Loduwijk
I prefere a system where you slow the player down isntead of disabling macros, because I am a VERY keyboard oriented player. That may come from playing MUDs a lot, but I almost NEVER use the command or stat panels for my commands, as I just type things. (IE get/attack/equip).

The only time I use the .click macro was when I played BYOND Arena and was sick of constantly having to reach over to my mouse to click. Yeah, sounds lazy, but my mouse is not in a convenient place. :)
In response to Tinari
Tinari wrote:
I prefere a system where you slow the player down isntead of disabling macros, because I am a VERY keyboard oriented player.

Agreed.

Also remember that BYOND, like any Windows program, can be macroed using third-party programs. So just disabling BYOND macros won't solve the problem; you need to enforce a delay between commands. Better still, implement features like auto-attacking where your attacking speed doesn't depend on your clicking speed; you click once to set your target, and your character automatically attacks as fast as it can. This has the additional benefit of lessening the impact of slow connections.