Wenn ich mich nicht irre sind enums wie Variablen, d.h. es wird Arbeitsspeicher benötigt.
Ein Define frisst jedoch keine Ressourcen. da die stellen wo das define stehen beim Compilen einfach mit dem definierten Wert erstezt wird.
Hm. also Beim Define
sieht es so aus:
vor dem compilen:
#define TESTDEFINE 15
SetPVarInt(playerid,"Intager",TESTDEFINE);
beim Compilen wird daraus:
SetPVarInt(playerid,"Intager",15);
Wie gesagt so hab ich das im Kopf, kann mich da aber auch stark irren.
Alles anzeigen
Enums sind wie Variablen?
Bitte Ohrfeige dich für diese Aussage 
Enums sind keine Variablen.
Sie sind strukturen, wie man sie aus anderen Programmiersprachen wie C(++), VB, C# usw. auch kennt.
Und was ist Hauptziel dieser Strukturen?
Richtig etwas zu strukturieren, das man nicht durcheinander kommt.
Es spart definitv keine Ressourcen, da sie konstaten sind.
Man kann die Struktureninhalte als Werte benutzen, allerdings nicht zum speichern.
#defines sind Macros
Sie setzen sich beim Compilen ein.
Genauso wie du es beschrieben hast.
Auch sie brauchen keine Ressourcen, doch die des Präprozessors, aber der wird während der Runtime eh nicht ausgeführt,
sondern NUR beim compilen.
Jeder sollte also selber wissen, wie er seine Scripte strukturiert.
Es ist nur total bescheuert, alles über Macros zu machen
Dort geht die Übersicht einfach nur verloren und das Risiko einer überschneidung ist höher,
einfach weil man den Überblick über die Dialoge verloren hat.