Gäbe es da vll ne andere Lösung?
Ich weiß nicht genau ob das genau das ist was du willst, aber bei mir gibt es beides mal das Gleiche aus, wenn ich dein Makro nehme und das von mir.
new failme[300];
#define SendFail_a(%0,%1,%2) format(failme,sizeof(failme),"{BB0000}[SAHG-Fehler]{FFFFFF}: %s",%1,%2),SendClientMessage(%0,0xFFFFFFFF,failme)
#define SendFail_b(%0,%1) SendFail_a(%0,%1,"")
#define SendFail SendFail_b
new failme2[300];
#define SendFail2(%0,%1,%2) format(failme2,sizeof(failme2),"{BB0000}[SAHG-Fehler]{FFFFFF}: %s",%1,%2),SendClientMessage(%0,0xFFFFFFFF,failme)
SendFail(1, "Hallo Welt");
SendFail(1, "Du (playerid %i), hast nen Fehler!", playerid);
SendFail2(playerid, "Du (playerid %i), hast nen Fehler!", playerid);