Nette Funktion. Könntest du evtl noch die restlichen Formatierungen einbauen?
Mhm, ganz ehrlich so wirklich die Nutzung davon würde ich nicht empfehlen ![]()
Es funktioniert zwar, jedoch ist eine das simple Makro besser:
new str2[128];
#define formatEx(%0,%1,%2,%3) format(str2,128,%2,%3) && SendClientMessage(%0,%1,str2)
Weil Pre-Prozessor und so ![]()
Ich habe auch gerade einen sscanf Code aus langeweile geschrieben:
stock sscanf(msg[],alt[],{Float,_}:...) {
new len=strlen(msg),i,count=1,len2 = (strlen(alt)+2);
for(; i<len; i++) {
if(msg[i] == '\0') return 0;
if(msg[i] != ' ') continue;
count++;
if(count > len2) return 0;
switch(alt[count-2]) {
case 's': {
new tmp[32],var;
for(new l=(i+1); l<32; l++) {
if(msg[l] == ' ' || msg[l] == '\0') break;
tmp[var] = msg[l],setarg(count,var,tmp[var]),var++;
}
}
case 'd','i': {
new tmp[32],var;
for(new l=(i+1); l<32; l++) {
if(msg[l] == ' ' || msg[l] == '\0') { setarg(count,0,strval(tmp)); break; }
tmp[var] = msg[l],var++;
}
}
case 'f': {
new tmp[32],var;
for(new l=(i+1); l<32; l++) {
if(msg[l] == ' ' || msg[l] == '\0') { setarg(count,0,_:floatstr(tmp)); break; }
tmp[var] = msg[l],var++;
}
}
}
}
return true;
}
Der Code ist auch um einiges kürzer als der sscanf Code jedoch langsamer, deshalb rate ich auch dazu das Plugin zu benutzen ![]()
Das sind von mir hier nur Beispiele wie man es machen könnte, zur kleinen und übersichtlicheren Veranschaulichung der Codes!
Kaliber hab dafür nen kürtzeren Code den findest du wenn du aufs Profil von "Double-O-Sven" gehst, der hatte das mal irgentwo gepostet.
Kürzer als 1ne Zeile ist nicht wirklich möglich ![]()
mfg. ![]()