[Include] [INC] mxINI - Самый быстрый INI ридер/райтер
#7

если я правильно понял, то в этом примере секции нужны только, чтобы при ручном редактировании видеть разные группы ключей. Не в одной из этих групп нет одинаковых ключей! Т.е. в этом примере ваще использование секций не только не оправдано, оно вовсе не нужно. Чтобы вручную редактировать и знать в каком месте какие группы значений находятся - достаточно

Код:
ИГРОК
	ники		= cookies
	время		= 0
	ссылки		=
	пароль		= lol

СТАТИСТИКА
	убийств		= 0
	смертей		= 10

СОХРАНЕНО
	жись		= 85.000000
	бронь		= 0.000000
где, слова большими буквами это комменты. Или вовсе подойдет

Код:
ники	= cookies
время	= 0
ссылки	=
пароль	= lol
убийств	= 0
смертей	= 10
жись	= 85.000000
бронь	= 0.000000
причем, все равно будет ясно, что хранит каждый ключ.




Кстати, заметили, что INI ридер/райтер не создает файлы, если они не существуют? Это большой плюс, объясню почему: если нужен специальный формат INI файла, который еще не существует, то достаточно создать в моде строку с этим самым форматом, создать новый файл с помощью fopen и записать в открытый файл эту строку, далее файл закрыть.

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

Код:
// это формат файла для аккаунтов игроков
#define accountFileFormat \
"[PLAYER]\r\n\
nicks=%s\r\n\
time=%d\r\n\
links=%s\r\n\
password=%s\r\n\
\r\n\
[STATS]\r\n\
kills=%d\r\n\
deaths=%d\r\n\
\r\n\
[SAVED]\r\n\
hp=%.2f\r\n\
ap=%.2f"


public OnPlayerCommandText ( playerid, cmdtext[] )
{
	if ( strcmp( cmdtext, "/register", true, 9 ) == 0 ) // если игрок ввел в чате /register
	{
		new regName[20]; GetPlayerName( playerid, regName, 20 ); // узнаем ник игрока

		if ( fexist(regName) ) // если файл для этого ника уже существует
		{
			SendClientMessage( playerid, 0xFF00000AA, " * Этот аккаунт уже зарегистрирован! Выбери другой ник." );
			return 1;
		}

		if ( cmdtext[9] == 0 || cmdtext[10] == 0 ) // если не указан пароль
		{
			SendClientMessage( playerid, 0xFF00000AA, " * Не указан пароль! Формат: /register пароль" );
			return 1;
		}


		new File: pFile = fopen( regName, io_write ); // создадим файл с именем игрока

		if ( pFile ) // если файл создан
		{
			new playerFileContent[255]; // создадим и сформируем строку для записи со стандартными значениями файла
			format( playerFileContent, 255, accountFileFormat, "", 0, "", cmdtext[10], 0, 0, 100.0, 0.0 );

			fblockwrite( pFile, playerFileContent ); // запишем строку в файл
			fclose( pFile ); // закроем файл

			SendClientMessage( playerid, 0x00FF00AA, " * Аккаунт успешно зарегистрирован! Используй /login, чтобы войти в него." );
			return 1;
		}


		// если не удалось создать файл
		SendClientMessage( playerid, 0xFF00000AA, " * Не удалось создать файл для аккаунта! Попробуй еще раз. " );
		return 1;
	}


	return 0;
}
Теперь при регистрации будет сразу же создаваться файл аккаунта со стандартными настройками. Такой файл будет читать/писать любой INI ридер/райтер и мой тем более (: . В итоге получен нужный результат без всяких секций.
Reply


Messages In This Thread
[INC] mxINI - Самый быстрый INI ридер/райтер - by MX_Master - 03.12.2009, 16:48
Re: [PRE.INC] mxINI - Самый быстрый INI ридер/райтер - by Serafim_sd - 03.12.2009, 19:32
Re: [PRE.INC] mxINI - Самый быстрый INI ридер/райтер - by Riaz - 03.12.2009, 20:05
Re: [PRE.INC] mxINI - Самый быстрый INI ридер/райтер - by xomka - 04.12.2009, 07:49
Re: [PRE.INC] mxINI - Самый быстрый INI ридер/райтер - by MX_Master - 04.12.2009, 11:28
Re: [PRE.INC] mxINI - Самый быстрый INI ридер/райтер - by xomka - 04.12.2009, 13:03
Re: [PRE.INC] mxINI - Самый быстрый INI ридер/райтер - by MX_Master - 04.12.2009, 14:46
Re: [PRE.INC] mxINI - Самый быстрый INI ридер/райтер - by Serafim_sd - 04.12.2009, 14:49
Re: [PRE.INC] mxINI - Самый быстрый INI ридер/райтер - by Riaz - 04.12.2009, 15:32
Re: [PRE.INC] mxINI - Самый быстрый INI ридер/райтер - by MX_Master - 04.12.2009, 16:07
Re: [PRE.INC] mxINI - Самый быстрый INI ридер/райтер - by Serafim_sd - 04.12.2009, 17:40
Re: [PRE.INC] mxINI - Самый быстрый INI ридер/райтер - by Riaz - 04.12.2009, 20:55
Re: [PRE.INC] mxINI - Самый быстрый INI ридер/райтер - by MX_Master - 05.12.2009, 05:48
Re: [PRE.INC] mxINI - Самый быстрый INI ридер/райтер - by Riaz - 05.12.2009, 12:42
Re: [INC] mxINI - Самый быстрый INI ридер/райтер [v0.2] - by MX_Master - 07.12.2009, 21:53
Re: [INC] mxINI - Самый быстрый INI ридер/райтер - by Zlayer - 08.12.2009, 18:36
Re: [INC] mxINI - Самый быстрый INI ридер/райтер - by Riaz - 08.12.2009, 18:51
Re: [INC] mxINI - Самый быстрый INI ридер/райтер - by MX_Master - 09.12.2009, 09:42
Re: [INC] mxINI - Самый быстрый INI ридер/райтер - by JesterX - 10.12.2009, 17:41
Re: [INC] mxINI - Самый быстрый INI ридер/райтер - by MX_Master - 10.12.2009, 18:46
Re: [INC] mxINI - Самый быстрый INI ридер/райтер - by JesterX - 11.12.2009, 04:26
Re: [INC] mxINI - Самый быстрый INI ридер/райтер - by ^Woozie^ - 12.12.2009, 13:29
Re: [INC] mxINI - Самый быстрый INI ридер/райтер - by MX_Master - 12.12.2009, 18:05
Re: [INC] mxINI - Самый быстрый INI ридер/райтер - by ^Woozie^ - 12.12.2009, 18:28
Re: [INC] mxINI - Самый быстрый INI ридер/райтер - by MX_Master - 13.12.2009, 10:48
Re: [INC] mxINI - Самый быстрый INI ридер/райтер - by ^Woozie^ - 13.12.2009, 11:01
Re: [INC] mxINI - Самый быстрый INI ридер/райтер - by MX_Master - 14.12.2009, 06:46
Re: [INC] mxINI - Самый быстрый INI ридер/райтер - by [JIeXa] - 15.12.2009, 06:39
Re: [INC] mxINI - Самый быстрый INI ридер/райтер - by MX_Master - 16.12.2009, 16:24
Re: [INC] mxINI - Самый быстрый INI ридер/райтер - by ^Woozie^ - 17.12.2009, 12:08
Re: [INC] mxINI - Самый быстрый INI ридер/райтер (v0.4 final) - by MrDeath537 - 16.09.2010, 09:06
Re: [INC] mxINI - Самый быстрый INI ридер/райтер (v0.4 final) - by ZiGGi - 16.09.2010, 10:23
Re: [INC] mxINI - Самый быстрый INI ридер/райтер (v0.4 final) - by Johnny_Xayc - 16.09.2010, 11:04
Re: [INC] mxINI - Самый быстрый INI ридер/райтер (v0.4 final) - by ZiGGi - 16.09.2010, 11:38
Re: [INC] mxINI - Самый быстрый INI ридер/райтер (v0.4 final) - by Johnny_Xayc - 16.09.2010, 12:14
Re: [INC] mxINI - Самый быстрый INI ридер/райтер (v0.4 final) - by toneysix - 16.09.2010, 14:59
Re: [INC] mxINI - Самый быстрый INI ридер/райтер (v0.4 final) - by ZaR - 16.09.2010, 15:02
Re: [INC] mxINI - Самый быстрый INI ридер/райтер (v0.4 final) - by Stepashka - 16.09.2010, 15:24
Re: [INC] mxINI - Самый быстрый INI ридер/райтер (v0.4 final) - by DANGER1979 - 16.09.2010, 18:40
Re: [INC] mxINI - Самый быстрый INI ридер/райтер (v0.4 final) - by ZiGGi - 17.09.2010, 03:09

Forum Jump:


Users browsing this thread: 3 Guest(s)