Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2016, 14:10   #1
SP1K3_CSGO
Новичок
Джуниор
 
Регистрация: 02.04.2016
Сообщений: 1
Вопрос Чтение данных из ini файла

Всем привет, я пишу чит для игры и мне необходимо сделать чтение настроек чита из ini файла.
Вот что мне удалось сделать на данный момент:
Код:
#include <windows.h>
#include <iostream>
#include <cstdlib>

char *IniRead(char *filename, char *section, char *key)
{
	char *out = new char[512];
	GetPrivateProfileString(
		(LPCSTR)section,
		(LPCSTR)key,
		NULL,
		out,
		200,
		(LPCSTR)filename
		);
	return out;
}

void ReadfromIni(int argc, char *argv[])
{
		char *GlowESPIni = new char[];
		char *GlowESP_OEIni = new char[];
			char *GE_R_EIni = new char[];
			char *GE_G_EIni = new char[];
			char *GE_B_EIni = new char[];
			char *GE_A_EIni = new char[];
			//
			char *GE_R_TIni = new char[];
			char *GE_G_TIni = new char[];
			char *GE_B_TIni = new char[];
			char *GE_A_TIni = new char[];


		char *NoFlashIni = new char[];

		char *VisibleChamsIni = new char[];
			char *VB_RIni = new char[];
			char *VB_GIni = new char[];
			char *VB_BIni = new char[];
			char *VisibleChamsTeamIni = new char[];

		char *BunnyHopIni = new char[];

		char *TriggerBotIni = new char[];
		char *TriggerBotDelayIni = new char[];

		char *StrafeHackIni = new char[];
		
		char *SlowSensIni = new char[];
		char *SlowSensValueIni = new char[];

		GlowESPIni = IniRead("c:\\Settings.ini", "Visuals", "GlowESP");
		GlowESP_OEIni = IniRead("c:\\Settings.ini", "Visuals", "GlowESP_OnlyEnemy");
		GE_R_EIni = IniRead("c:\\Settings.ini", "Visuals", "GE_R_Enemy");
		GE_G_EIni = IniRead("c:\\Settings.ini", "Visuals", "GE_G_Enemy");
		GE_B_EIni = IniRead("c:\\Settings.ini", "Visuals", "GE_B_Enemy");
		GE_A_EIni = IniRead("c:\\Settings.ini", "Visuals", "GE_A_Enemy");

		GE_R_TIni = IniRead("c:\\Settings.ini", "Visuals", "GE_R_Team");
		GE_G_TIni = IniRead("c:\\Settings.ini", "Visuals", "GE_G_Team");
		GE_B_TIni = IniRead("c:\\Settings.ini", "Visuals", "GE_B_Team");
		GE_A_TIni = IniRead("c:\\Settings.ini", "Visuals", "GE_A_Team");

		VisibleChamsIni = IniRead("c:\\Settings.ini", "Visuals", "VisibleChams");
		VisibleChamsTeamIni = IniRead("c:\\Settings.ini", "Visuals", "VisibleChams_OnlyEnemy");
		VB_RIni = IniRead("c:\\Settings.ini", "Visuals", "VB_R");
		VB_GIni = IniRead("c:\\Settings.ini", "Visuals", "VB_G");
		VB_BIni = IniRead("c:\\Settings.ini", "Visuals", "VB_B");

		NoFlashIni = IniRead("c:\\Settings.ini", "Visuals", "NoFlash");
		BunnyHopIni = IniRead("c:\\Settings.ini", "Main", "BunnyHop");
		TriggerBotIni = IniRead("c:\\Settings.ini", "Main", "TriggerBot");
		StrafeHackIni = IniRead("c:\\Settings.ini", "Main", "StrafeHack");
		TriggerBotDelayIni = IniRead("c:\\Settings.ini", "Main", "TriggerBotDelay");
		
		SlowSensIni = IniRead("c:\\Settings.ini", "Main", "SlowSens");
		SlowSensValueIni = IniRead("c:\\Settings.ini", "Main", "SlowSensValue");

		int GlowESPIni_Atoi = atoi(GlowESPIni);
		int GlowESP_OEIni_Atoi = atoi(GlowESP_OEIni);
		int GE_R_EIniAtoi = atoi(GE_R_EIni);
		int GE_G_EIniAtoi = atoi(GE_G_EIni);
		int GE_B_EIniAtoi = atoi(GE_B_EIni);
		int GE_A_EIniAtoi = atoi(GE_A_EIni);

		///
		int GE_R_TIniAtoi = atoi(GE_R_TIni);
		int GE_G_TIniAtoi = atoi(GE_G_TIni);
		int GE_B_TIniAtoi = atoi(GE_B_TIni);
		int GE_A_TIniAtoi = atoi(GE_A_TIni);

		int BunnyHopIni_Atoi = atoi(BunnyHopIni);
		int TriggerBotIni_Atoi = atoi(TriggerBotIni);
		int StrafeHackIni_Atoi = atoi(StrafeHackIni);
		int TriggerBotDelayIni_Atoi = atoi(TriggerBotDelayIni);
		int NoFlashIni_Atoi = atoi(NoFlashIni);

		int VisibleChamsIniAtoi = atoi(VisibleChamsIni);
		int VisibleChamsTeamIniAtoi = atoi(VisibleChamsTeamIni);
		int VB_RIniAtoi = atoi(VB_RIni);
		int VB_GIniAtoi = atoi(VB_GIni);
		int VB_BIniAtoi = atoi(VB_BIni);

		int SlowSensIni_Atoi = atoi(SlowSensIni);
		float SlowSensValueIni_Atoi = atoi(SlowSensValueIni);

		TriggerBotDelay = TriggerBotDelayIni_Atoi;
		SlowSensValue1 = SlowSensValueIni_Atoi;

		VB_R1 = VB_RIniAtoi;
		VB_G1 = VB_GIniAtoi;
		VB_B1 = VB_BIniAtoi;

		float GE_R2_E = (GE_R_EIniAtoi * 0.0039215);
		float GE_G2_E = (GE_G_EIniAtoi * 0.0039215);
		float GE_B2_E = (GE_B_EIniAtoi * 0.0039215);
		//
		float GE_R2_T = (GE_R_TIniAtoi * 0.0039215);
		float GE_G2_T = (GE_G_TIniAtoi * 0.0039215);
		float GE_B2_T = (GE_B_TIniAtoi * 0.0039215);

		float GE_A2_E = 0;
		float GE_A2_T = 0;

		GE_R3_E = GE_R2_E;
		GE_G3_E = GE_G2_E;
		GE_B3_E = GE_B2_E;
		GE_A3_E = GE_A2_E;

		GE_R3_T = GE_R2_T;
		GE_G3_T = GE_G2_T;
		GE_B3_T = GE_B2_T;
		GE_A3_T = GE_A2_T;

		if (GE_A_EIniAtoi == 1)
		{
			GE_A3_E = 0.25f;
		}
		if (GE_A_EIniAtoi == 2)
		{
			GE_A3_E = 0.49f;
		}
		if (GE_A_EIniAtoi == 3)
		{
			GE_A3_E = 0.99f;
		}

		if (GE_A_TIniAtoi == 1)
		{
			GE_A3_T = 0.25f;
		}
		if (GE_A_TIniAtoi == 2)
		{
			GE_A3_T = 0.49f;
		}
		if (GE_A_TIniAtoi == 3)
		{
			GE_A3_T = 0.99f;
		}
		if (VisibleChamsTeamIniAtoi == 1)
		{
			bVCTeam = false;
		}
		if (VisibleChamsTeamIniAtoi == 0)
		{
			bVCTeam = true;
		}

		if (VisibleChamsIniAtoi == 1)
		{
			bVisibleChams = true;
		}
		if (VisibleChamsIniAtoi == 0)
		{
			bVisibleChams = false;
		}

		if (BunnyHopIni_Atoi == 1)
		{
			BHop == true;
		}
		if (GlowESPIni_Atoi == 1)
		{
			GlowOn = true;
			TeamGlow = true;
		}
			if (GlowESP_OEIni_Atoi == 1)
			{
				TeamGlow = false;
			}

		if (TriggerBotIni_Atoi == 1)
		{
			TriggerOn = true;
			bShoot = true;
		}

		if (StrafeHackIni_Atoi == 1)
		{
			StrafeHackEnable = true;
		}
		
		if (NoFlashIni_Atoi == 1)
		{
			NoFlash = true;
		}

		if (NoFlashIni_Atoi == 0)
		{
			NoFlash = false;
		}

		if (SlowSensIni_Atoi == 1)
		{
			SlowSens = true;
		}

		if (SlowSensValue1 == 0)
		{
			SlowSensValue1 = 1;
		}
}
Вот собственно сам ini файл:
Код:
[Main]
TriggerBot = 1
TriggerBotDelay = 1

BunnyHop = 1
StrafeHack = 0

SlowSens = 1
SlowSensValue = 10

[Visuals]
NoFlash = 1

GlowESP = 1
GlowESP_OnlyEnemy = 1

GE_R_Enemy = 39
GE_G_Enemy = 255 
GE_B_Enemy = 28
GE_A_Enemy = 2

GE_R_Team = 211
GE_G_Team = 231
GE_B_Team = 11
GE_A_Team = 2

VisibleChams = 1
VisibleChams_OnlyEnemy = 1

VB_R = 25
VB_G = 0
VB_B = 255
У меня есть несколько вопросов.
1) Я считаю, что код очень громоздкий, я уверен что есть способ чтения гораздо более эффективный и быстрый.
2) GE_R_Team = 211
GE_G_Team = 231
GE_B_Team = 11
GE_A_Team = 2 - это не красиво. Гораздо было бы лучше сделать GE_RGBA_Team = 211,231,11,2 - так было бы лучше, но я не знаю как это сделать

Надеюсь на вашу помощь
SP1K3_CSGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение ключа из ini файла NapalmRain C# (си шарп) 4 06.05.2011 01:27
чтение ini файла Жека_ Общие вопросы C/C++ 4 01.05.2011 08:52
Чтение и вывод ini-файла JoLan Общие вопросы Delphi 5 27.07.2010 21:32
Чтение с INI файла. Baaandit Общие вопросы Delphi 3 26.11.2009 17:15
Чтение параметров из ini файла Яр|/||< (^_^) Общие вопросы Delphi 2 29.06.2009 20:54