Ich hab mich grad mal hingesetzt und habe hier eine dcmd gebastelt, welche auch mit alternativen Funktionen klar kommt.
Das heißt: Ihr benutzt dieses dcmd wie gewohnt, ausser, dass ich noch 2 weitere Parameter hinzugefügt habe: Alternativ Funktion, Alternativ Länge.
Somit ist es möglich, dass man zB die Chat Funktionen "/autorufen" und "/ar" auf die gleiche Funktion dcmd_autorufen weiterleiten kann!
Meiner meinung nach ist dies sehr praktisch, da ich man nun statt "/autoliste" auf meinen Server auch "/al" eingeben kann, ohne dass
ich eine leere Funktion im Script erstellen muss. (Und dass sich alte User nicht umgewöhnen müssen).
Naja, lange rede, kurzer Sinn
#define dcmd_alt(%1,%2,%3,%4,%5) if ((!strcmp((%3)[1], #%1, true, (%2))&&(((((%3)[(%2) + 1] == '\0')&&(dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == ' ')&&(dcmd_%1(playerid, (%3)[(%2) + 2]))))))||(!strcmp((%3)[1], #%4, true, (%5))&&(((((%3)[(%5) + 1] == '\0')&&(dcmd_%1(playerid, "")))||(((%3[(%5) + 1] == ' ')&&(dcmd_%1(playerid, (%3)[(%5) + 2])))))))) return 1
Beispiel anhand des report Befehls:
// Vorher
dcmd (report, 6, cmdtext);
// Nachher
dcmd_alt (report, 6, cmdtext, r, 1); // "r" ist der alternative Befehl
Wie man sieht, habe ich das Makro nach "dcmd_alt" umbenannt, so dass man nicht seinen ganzen Code umschreiben muss
Ich würde mich über Kommentare freuen
PS: Übrigens kann man damit ohne viel Arbeit alle Befehle zweisprachig machen
MfG xMine