LASKA-SAMP.RU
Всё о сервере, форум!
Основы программирования
ИНФОРМАЦИОННО-РАЗВЛЕКАТЕЛЬНЫЙ ПОРТАЛ
PrR[ Проект SAMP - Romashka [0.3e] ™18+™
Pawn :: Основы скриптинга
Запись в файл

Рассмотрим запись в файл.

Нам нужно вручную создать новый файл в папке scriptfiles. Создадим файл Nicks.txt. Дальше переходим к написанию скрипта, создаем переменную для хранения имени игрока и дальше открываем файл, как это показано в скрипте ниже:

new plname[24];
File:nFile = fopen(“Nicks.txt”,io_append);
//Открывает файл для добавления в него записи

nFile – это как идентификатор файла, название его может быть любое, я выбрал nFile.
fopen – открывает файл.
io_append – это метод открытия файла, все методы приведены в таблице ниже:
io_write Записывает в файл, очищает весь ранее записанный текст
io_read Читает файл, файл должен существовать или крах сервера
io_append Добавление в файл записи
io_readwrite Читает файл или создает новый

Давайте сделаем так, чтобы при подключении игрока, его имя записывалось в файл.

public OnPlayerConnect(playerid)
{
new plname[24];
GetPlayerName(playerid,plname,MAX_PLAYER_NAME); //Получаем имя и записываем в plname
File:nFile = fopen(“Nicks.txt”,io_append); //Открывает файл для добавления в него записи
fwrite(nFile, plname); //Записываем имя игрока в файл
fclose(nFile); //Закрываем файл
}


Но у скрипта есть большой недостаток, он записывает имена в строчку, что весьма неудобно.
Давайте сделаем так, чтобы имена игроков были в столбик.
Для этого мы создадим переменную для хранения отформатированной строки (string).

public OnPlayerConnect(playerid)
{
new plname[24], string[24];
GetPlayerName(playerid,plname,MAX_PLAYER_NAME);
format(string,sizeof(string),”%s\r\n”,plname);
File:nFile = fopen(“Nicks.txt”,io_append); //Открывает файл для добавления в него записи
fwrite(nFile, string); //Записываем имя игрока в файл
fclose(nFile); //Закрываем файл
}


\n – начинает новую строку
\r – убеждается, что строка начинается сначала, а не где-нибудь посередине.

После записи в файл, его обязательно нужно закрывать.

Логин: Пароль:
Забыли пароль?Регистрация
При копировании материала с сайта активная ссылка обязательна!
Сайт управляется SiNG cms © 2010-2015