Moin, ich habe mir mal die Funktion
#define SendFormattedText(%1,%2,%3,%4) do{new sendfstring[128];format(sendfstring,128,(%3),%4);SendClientMessage((%1), (%2) ,sendfstring);}while(FALSE)
oder auch Macro verschafft ( aus dem englischen Forum ).
Funktionieren tut sie gut, nur falls ich Folgendes mache;
return SendFormattedText(playerid, FARBE_WEISS, "FraktionsID muss zwischen 1 und %i sein.", Max_Fraktionen);
also die Funktion mit einem return beende ( optimales Scripten ), bekomme ich folgende Compilefehler:
Zitaterror 029: invalid expression, assumed zero
error 036: empty statement
Das liegt an dem Return, denke ich, habe ich zumindest so getestet. Ohne return funktioniert es.
Kann mir das jemand fixxen? Und ist diese Funktion / dieser Macro schneller als ein einfaches format + sendclient ( string ) ? Ich versteh nämlich nicht wieso da eine do-while schleife einmal durchgelaufen wird O.o
MfG