Вопрос по созданию [ZP] Hook

Сообщения
418
Реакции
-7
Предупреждения
8
Тема вопроса, как можно set_user_rendering(...) занести RGB цвета из .ini файла?
 
Сообщения
893
Реакции
149
Помог
25 раз(а)
RedGamer, парсить числа из файла в массив, и указывать его, посмотри по примеру, если в твоём хуке есть работа с ини файлом.
 
Сообщения
418
Реакции
-7
Предупреждения
8
ImmortalAmxx,
new szParse[256], szParseName[64], szParseColor[32], szParseDefault[32], szParseRed[32], szParseGreen[32], szParseBlue[32], szParseDefaultNum, szLine, szNum

Парсы из color типо цвета паутинки
16 Апр 2023
@RedGamer,но как их добавить к set_user_rendering
16 Апр 2023
set_user_rendering(id,kRenderFxGlowShell, szParseRed[id], szParseGreen[id], szParseBlue[id],kRenderNormal, 25) ?
 
Сообщения
494
Реакции
341
Помог
11 раз(а)
Код:
#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;
}
color.ini:
Код:
// конфиг

// цвет
color_render = 255 0 255

//
...
 
Сообщения
418
Реакции
-7
Предупреждения
8
@bizon,это понял) как именно в set_user_rendering записать данные цвета?)
 
Сообщения
494
Реакции
341
Помог
11 раз(а)
RedGamer, отступ нужно соблюдать между тэгом и запятой. Почему-то все к семантике плохо тут относятся. Просто чтобы хотя бы уведомление приходило к тому, кого тэгаешь.

Массив g_iSettingColorRender хранит все нужные три цвета, пример же наглядный. 0 - красный, 1 - зеленый, 2 - синий.
 
Сообщения
418
Реакции
-7
Предупреждения
8
@bizon,да это понятно, сама суть добавления свечения игрока при полёте на паутинке (если поподробнее)
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу