Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Загрузка данных из файла

Статус
В этой теме нельзя размещать новые ответы.

Seregamil

Мастер
Всем привет, решил попробовать создавать загрузку самых простеньких данных из файла, чтобы не открывать мод, переделывать, искать и т.д.
Просто зашел в папку и изменил данные по своему усмотрению

Сейчас расскажу все на самом простом примере: сайт и т.д.
Используется mxINI
В самый конец мода запихиваем

PHP:
LoadConfig()
{
	new File = ini_openFile("logs/set.ini");
	if(File == INI_OK)
	{
	    if(ini_getString(File,"Site",SiteText) == INI_KEY_NOT_FOUND)
	    {
			print("Предупреждение \nЗначение\"Site\" не найдено \nОно было поставлено по дефолту");

		 	SiteText = "YouSite.com";
	    }
	    if(ini_getString(File,"Skype",SkypeAdm) == INI_KEY_NOT_FOUND)
	    {
			print("Предупреждение \nЗначение\"Skype\" не найдено \nОно было поставлено по дефолту");

		 	SkypeAdm = "seregamil";
	    }
	    if(ini_getString(File,"Mode",GameModeName) == INI_KEY_NOT_FOUND)
	    {
  			print("Предупреждение \nЗначение\"Mode\" не найдено \nОно было поставлено по дефолту");
		 	GameModeName = "Fun | DM Server";
	    }
	  	if(ini_getString(File,"Ip",IpServer) == INI_KEY_NOT_FOUND)
	    {
  			print("Предупреждение \nЗначение\"Ip\" не найдено \nОно было поставлено по дефолту");
		 	IpServer = "192.168.1.2:7777";
	    }
		print("Файл конфигурации Успешно загружен\n");
	}
	else if(File == INI_FILE_NOT_FOUND)
	{
		print("Файл конфигурации не существует \nБыл Создан файл конфигурации \nС дефолтными значениями\n");
		ini_closeFile(File);
	 	File = ini_createFile("logs/set.ini");
	    ini_setString(File,"Site","YouSite.com");

		ini_setString(File,"Skype","seregamil");

		ini_setString(File,"Mode","Fun | DM Server");
		
		ini_setString(File,"Ip","192.168.1.2:7777");

	 	SiteText = "YouSite.com";

		SkypeAdm = "seregamil";

	    GameModeName = "Fun | DM Server";
	    
	    IpServer = "192.168.1.2:7777";
	    
	 	ini_closeFile(File);
	 	return 1;
	}
	else if(File == INI_READ_ERROR)
	{
		print("Ошибка \nНевозможно открыть файл конфигурации\n");

		ini_closeFile(File);
		return 0;
	}
	else if(File == INI_TOO_LARGE_FILE)
	{
		print("Ошибка \nФайл конфигурации слишком большой\n");

		ini_closeFile(File);
		return 0;
	}
	else if(File == INI_NO_FREE_SLOT)
	{
		print("Ошибка \nНевозможно открыть файл конфигурации\n");

		ini_closeFile(File);
		return 0;
	}
	return 1;
}
теперь все по порядку...
PHP:
	new File = ini_openFile("logs/set.ini");
Откроем файл который находится в данном случае в scriptfiles/logs
далее
PHP:
	if(File == INI_OK)
	{
	    if(ini_getString(File,"Site",SiteText) == INI_KEY_NOT_FOUND)
	    {
			print("Предупреждение \nЗначение\"Site\" не найдено \nОно было поставлено по дефолту");

		 	SiteText = "YouSite.com";
	    }
	    if(ini_getString(File,"Skype",SkypeAdm) == INI_KEY_NOT_FOUND)
	    {
			print("Предупреждение \nЗначение\"Skype\" не найдено \nОно было поставлено по дефолту");

		 	SkypeAdm = "seregamil";
	    }
	    if(ini_getString(File,"Mode",GameModeName) == INI_KEY_NOT_FOUND)
	    {
  			print("Предупреждение \nЗначение\"Mode\" не найдено \nОно было поставлено по дефолту");
		 	GameModeName = "Fun | DM Server";
	    }
	  	if(ini_getString(File,"Ip",IpServer) == INI_KEY_NOT_FOUND)
	    {
  			print("Предупреждение \nЗначение\"Ip\" не найдено \nОно было поставлено по дефолту");
		 	IpServer = "192.168.1.2:7777";
	    }
		print("Файл конфигурации Успешно загружен\n");
	}
	else if(File == INI_FILE_NOT_FOUND)
	{
		print("Файл конфигурации не существует \nБыл Создан файл конфигурации \nС дефолтными значениями\n");
		ini_closeFile(File);
	 	File = ini_createFile("logs/set.ini");
	    ini_setString(File,"Site","YouSite.com");

		ini_setString(File,"Skype","seregamil");

		ini_setString(File,"Mode","Fun | DM Server");
		
		ini_setString(File,"Ip","192.168.1.2:7777");

	 	SiteText = "YouSite.com";

		SkypeAdm = "seregamil";

	    GameModeName = "Fun | DM Server";
	    
	    IpServer = "192.168.1.2:7777";
	    
	 	ini_closeFile(File);
	 	return 1;
	}
если в файле не указано значение ну например
PHP:
	    if(ini_getString(File,"Site",SiteText) == INI_KEY_NOT_FOUND)
сайта, то он создаст его с стандартными значениями
они будут
PHP:
		 	SiteText = "YouSite.com";
т.е. будет написано YouSite.com
так же и остальное
если все прошло тип-топ и все значения указаны в файле то напишет
PHP:
		print("Файл конфигурации Успешно загружен\n");
Если же файла тупо нету то он его создает со значениями которые указаны в моде, т.е. смотрите сами

PHP:
	else if(File == INI_FILE_NOT_FOUND)
	{
		print("Файл конфигурации не существует \nБыл Создан файл конфигурации \nС дефолтными значениями\n");
		ini_closeFile(File);
	 	File = ini_createFile("logs/set.ini");
	    ini_setString(File,"Site","YouSite.com");

		ini_setString(File,"Skype","seregamil");

		ini_setString(File,"Mode","Fun | DM Server");
		
		ini_setString(File,"Ip","192.168.1.2:7777");

	 	SiteText = "YouSite.com";

		SkypeAdm = "seregamil";

	    GameModeName = "Fun | DM Server";
	    
	    IpServer = "192.168.1.2:7777";
	    
	 	ini_closeFile(File);
	 	return 1;
	}
осталось еще в OnGameModeInit добавить
PHP:
LoadConfig();
Применение:
Например самое простое:
у вас есть TextDraw с названием сайта
например
PHP:
	site = TextDrawCreate(500.000000,7.000000,"__");
	TextDrawAlignment(site,0);
	TextDrawBackgroundColor(site,0x00000099);
	TextDrawFont(site,2);
	TextDrawLetterSize(site,0.299999,1.300000);
	TextDrawColor(site,0xffffffcc);
	TextDrawSetOutline(site,1);
	TextDrawSetProportional(site,1);
	TextDrawSetShadow(site,1);
ищем строчку TextDrawSetString и меняем название сайта на
SiteText
Получится типо такого
PHP:
site = TextDrawCreate(500.000000,7.000000,"__");
	TextDrawAlignment(site,0);
	TextDrawBackgroundColor(site,0x00000099);
	TextDrawFont(site,2);
	TextDrawLetterSize(site,0.299999,1.300000);
	TextDrawColor(site,0xffffffcc);
	TextDrawSetOutline(site,1);
	TextDrawSetProportional(site,1);
	TextDrawSetShadow(site,1);
TextDrawSetString(site,SiteText);
Все вопросы задавайте)

By Seregamil
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу