Четверг, 17.07.2025, 18:00
Приветствую Вас Гость | RSS
[•X•X•X•X•X•X•X•X•X• SRK •X•X•X•X•X•X•X•X•X•] - 193.107.179.214:7777
Главная | Урок №22 - Форум | Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: DimanCC, Awesome, [Tuner_Life]Nikotin  
Урок №22
AwesomeДата: Пятница, 02.03.2012, 18:17 | Сообщение # 1
Генерал-майор
Группа: Проверенные
Сообщений: 70
Награды: 14
Репутация: 25
Статус: Offline
В этом уроке я научу вас записывать в файл данные стандартными средствами Pawn, т.е без
использования посторонних инклудов. Итак, приступим.
Сначала мы рассмотрим запись в файл. Нам нужно вручную создать новый файл в папке
scriptfiles. Создадим файл Nicks.txt. Дальше переходим к написанию скрипта, создаем переменную
для хранения имени игрока и дальше открываем файл, как это показано в скрипте ниже:
Code
new plname[24];  
File:nFile = fopen(“Nicks.txt”,io_append); //Открывает файл для добавления в него записи


nFile – это как идентификатор файла, название его может быть любое, я выбрал nFile.
fopen – открывает файл.
io_append – это метод открытия файла, все методы приведены в таблице ниже:
io_write Записывает в файл, очищает весь ранее записанный текст
io_read Читает файл, файл должен существовать или крах сервера
io_append Добавление в файл записи
io_readwrite Читает файл или создает новый
Давайте сделаем так, чтобы при подключении игрока, его имя записывалось в файл.
Code
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).
Code
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 – убеждается, что строка начинается сначала, а не где-нибудь посередине.
После записи в файл обязательно нужно закрывать.


я вернулся
 
  • Страница 1 из 1
  • 1
Поиск:

Поддержка пишите на наш форум:Walter & alisa