Первая моя статья!
Это очень полезная функция!!!
Она мне помогла сделать кланы из файла!
ПРиступим к описанию:
1. Она вытаскивает Вам из строки символы от начала и до указанново вами символа.
2. Ей можно делать самые разные функции. Допустим: new colorr[256], index, nameglava[256];//создаём переменные
newf=fopen("clans.txt",io_read);//открываем файл в формате "read"
while(fread(newf,string,256) > 0)//читаем весь файл
{
index = 0;//на всякий случай приравниваем индекс к 0
index = token_by_delim(string,clanforp,'=',index);//берём символы из строки string, до символа "=", и затем засовываем это в clanforp
if(index == (-1)) continue;//если функция удалась то продолжаем
index = token_by_delim(string,colorr,'=',index+1);//берём символы из строки string, до символа "=", и затем засовываем это в colorr(не забываем к indexу прибавить 1!)
if(index == (-1)) continue;//если всё получилось то продолжаем
index = token_by_delim(string,nameglava,';',index+1);//берём символы из строки string, до символа ";", и затем засовываем это в nameglava(не забываем к indexу прибавить 1!)
if(index == (-1)) continue;//это просто так, т.к. дальше продолжать уже некуда, что нам требовалось мы выполнили!
//и теперь можно сделать с этими данными всё что угодно! Допустим присвоить игроку цвет из переменной colorr.
SetPlayerColor(playerid, strval(colorr);
//либо присоединить игрока к клану, записанному в переменной clanforp!
GetPlayerName(playerid, string, 256);
format(string, 256, "%s_%s", clanforp, string);
SetPlayerName(playerid, string);
}//закрываем функцию
3. Сама функция:
token_by_delim(const string[], return_str[], delim, start_index)
{
new x=0;
while(string[start_index] != EOS && string[start_index] != delim) {
return_str[x] = string[start_index];
x++;
start_index++;
}
return_str[x] = EOS;
if(string[start_index] == EOS) start_index = (-1);
return start_index;
}
Надеюсь моя статья кому-нибудь поможет! И я надеюсь профи нашего сайта ещё не видели этой функции