Naja...ich habe da auch nochmal was:
stock format_money(string[], geld, charakter[]) {
if(geld <= 0) return 0;
valstr(string,geld);
for(new i=strlen(string)-3; i>=0; i-=3) strins(string,charakter,i,strlen(string)+11);
if(strcmp(string[0],charakter,true) == 7) strdel(string,0,1);
return 1;
}
Durch diese Funktion, kann man geld in einen String mit einen Zeichen seiner Wahl umwandeln, sprich so:
new string[32],geld=1000500;
format_money(string,geld,"."); //Wenn man hier anstatt dem . ein , macht, steht es auch so im string
printf("%s",string);
//->Gibt aus: 1.000.500
//Edit: War doch noch ein fehler..
//Edit²: Okay..jetzt gehts 
//edit³:
Okay, ich habe mal wieder etwas lustiges.
Mir ist aufgefallen, das die Split Funktion (von wem auch immer) total langsam ist, also ich rede von dieser:
stock split(const strsrc[], strdest[][], delimiter)
{
new i, li, aNum, len;
while(i <= strlen(strsrc))
{
if(strsrc[i] == delimiter || i == strlen(strsrc))
{
len = strmid(strdest[aNum], strsrc, li, i, 128);
strdest[aNum][len] = 0;
li = i+1;
aNum++;
}
i++;
}
return 1;
}
Aus diesem Grund, habe ich die mal verbessert, schaut so aus:
stock f_split(const src[], dest[][], delimiter[]) {
new pos = strfind(src,delimiter),n_pos,num,bool:end;
for(;;) {
if(!num) strmid(dest[num], src, 0, pos, 128),num++;
else strmid(dest[num], src, n_pos+1, pos, 128),num++;
n_pos = strfind(src,delimiter,false,pos+1);
if(n_pos == -1) n_pos = strlen(src),end=true;
strmid(dest[num], src, pos+1, n_pos, 128),num++;
pos = strfind(src,delimiter,false,n_pos+1);
if(end) break;
}
return 1;
}
Hier ein paar Speedtests:
//Edit 4:
Also...mir ist wieder langweilig und ich habe mir überlegt...welche Funktionen schlecht sind und ich verbessern könnte.
Also und ich bin auf strtok gestoßen, diese Funktion ist sehr sehr langsam, aus diesen Grund, habe ich die Funktion mal sehr verbessert:
Alter Code:
stock strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
Mein Code:
stock _strtok(const string[], &index) {
new pos = strfind(string, " ", false, index+1),buffer[128];
if(pos == -1) pos = strlen(string);
strmid(buffer,string,index,pos,128),index = pos;
return buffer;
}
Also, damit ihr einen Vergleich habt, wie viel schneller meine Funktion ist, habe ich wieder ein paar Speedtests gemacht:
Viel Spaß eure Funktionen zu verschnellern.
mfg. 