#include <amxmodx>
enum any: RGB { R, G, B };
new g_iSettingColorRender[RGB];
public plugin_cfg()
{
new const szPathFile[] = "addons/amxmodx/configs/color.ini";
if(!file_exists(szPathFile))
set_fail_state("Отсутствует файл конфигурации: `%s`", szPathFile);
new INIParser: iIniParserHandle;
iIniParserHandle = INI_CreateParser();
INI_SetReaders(iIniParserHandle, "@INI_ParseValueHandler");
INI_ParseFile(iIniParserHandle, szPathFile);
INI_DestroyParser(iIniParserHandle);
log_amx("[================]");
log_amx("Red: %i", g_iSettingColorRender[R]);
log_amx("Green: %i", g_iSettingColorRender[G]);
log_amx("Blue: %i", g_iSettingColorRender[B]);
log_amx("[================]");
}
bool: @INI_ParseValueHandler(INIParser: handle, const szKey[], const szValue[], bool: invalid_tokens, bool: equal_token, bool: quotes, curtok, any: data)
{
if(szKey[0] == EOS || szKey[0] == '/')
return true;
if(equal(szKey, "color_render"))
{
new szColor[RGB][4];
parse(szValue,
szColor[R], charsmax(szColor[]),
szColor[G], charsmax(szColor[]),
szColor[B], charsmax(szColor[])
);
g_iSettingColorRender[R] = str_to_num(szColor[R]);
g_iSettingColorRender[G] = str_to_num(szColor[G]);
g_iSettingColorRender[B] = str_to_num(szColor[B]);
}
return true;
}