Привет друганы.
Не нашёл хорошей инфы по описанию функций работы с файлами, поэтому пробовал сам. Научился читать и записывать файлы, но вот как сравнивать их не догнал((
Плыз помогите кто может.
Суть вот в чём. Надоели на сервере игроки с динамикой, но которым сетку не нельзя банить, так как много игроков нормальных на ней. А эти уроды к тому же привязываются к своему нику, чтобы быть в топах. Админы не могут всё время находится, вот и решил я поробовать сделать файл чёрный список. Чтобы при спауне игрок проверялся с файлом и если ни схожк нему применялось наказание, да хоть тот же бан по типу amx_ban vasya ну или в этом роде. Пробовал разными способами(я понимаю, что они возможно безграмотные, но раздуплял по кодам других программ, которые не делали подобных действий):
Quote
new infp = fopen(conffile, "rt")
if (!infp)
return 0
new name[31]
get_user_name(id,name,49)
while(!feof(infp))
{
fgets(infp, buffer, 63)
эта проверка не понял зачем, но использовал у себя тоже
if(!buffer[0] || buffer[0] == ';' || (buffer[0] == '/' && buffer[1] == '/'))
{
continue
}
а вот как пытался сравнить
if(buffer[0]==name[0])
{
client_cmd(id,"say rabotaet!")
}
И вроде действительно работает, но дело в том что оно и работает с именами похожими, или теми у которых меньше букв, например нужен ник DDDD а работает и DD.
Пробовал и код с этого сайта, по итпу этого
Quote
new lines = file_size(conffile,1)
new file[1024], len
for(new i=0;i<=lines;i++)
{
read_file(conffile,i,file,1023,len)
if(equal(file,"")) {
continue
}
тут я не делал проверку сразу на ник, а пробовал хотябы в ручную написать.
if(!equal(file,"Sadist",6)
{
client_print(0, print_chat, "%s",file)
client_print(id,print_chat,"Sovpalo!")
}
}
return PLUGIN_HANDLED
}
Вот что пробовал. Но пока не вышло. Может я и доделаю, но с моей нехваткой времени это может затянуться н месяцы((
Помогите друзья!