Исходник Много буллет трейсеров

Участник
Статус
Оффлайн
Регистрация
21 Сен 2019
Сообщения
594
Реакции[?]
250
Поинты[?]
23K
Капец тут умников со своими свичами, хотя уже один человек и написал максимально правильный ответ, но продублирую, тут самым правильным решением будет использовать массив, ибо свич также щиткодит, и говорит о незнании языка.
 
🫶🫶🫶
Участник
Статус
Оффлайн
Регистрация
1 Ноя 2018
Сообщения
813
Реакции[?]
182
Поинты[?]
47K
соглашусь, что тут шит код, но более верным было бы в этом треде ответить со своим рекодом, тк сказать показать всем.
 
Участник
Статус
Оффлайн
Регистрация
21 Сен 2019
Сообщения
594
Реакции[?]
250
Поинты[?]
23K
Так как человек выше посоветовал показать на примере, то вот правильный код.
C++:
if (g_cfg.esp.bullet_tracer)
{
    string sprites[] = {
    "sprites/1.vmt",
    "sprites/physbeam.vmt",
    "sprites/radio.vmt",
    "sprites/bubble.vmt",
    "sprites/glow04.vmt",
    "sprites/purpleglow1.vmt",
    "sprites/purplelaser1.vmt",
    "sprites/white.vmt",
    "sprites/glow01.vmt",
    "sprites/blueglow1.vmt"
    };

    beam_info.m_vecEnd = end;
    beam_info.m_nType = TE_BEAMPOINTS;
    beam_info.m_pszModelName = sprites[g_cfg.esp.bullet_tracer_mode];
    beam_info.m_nModelIndex = -1;
    beam_info.m_flHaloScale = 0.0f;
    beam_info.m_flLife = 5.0f;
    beam_info.m_flWidth = 2.0f;
    beam_info.m_flEndWidth = 2.0f;
    beam_info.m_flFadeLength = 0.0f;
    beam_info.m_flAmplitude = 1.f;
    beam_info.m_flBrightness = (float)color.a();
    beam_info.m_flSpeed = 0.2f;
    beam_info.m_nStartFrame = 0;
    beam_info.m_flFrameRate = 0.0f;
    beam_info.m_flRed = (float)color.r();
    beam_info.m_flGreen = (float)color.g();
    beam_info.m_flBlue = (float)color.b();
    beam_info.m_nSegments = 2;
    beam_info.m_bRenderable = true;
    beam_info.m_nFlags = FBEAM_ONLYNOISEONCE | FBEAM_NOTILE | FBEAM_HALOBEAM;
}
C++:
if (!g_cfg.esp.bullet_tracer)
    return;

const char* sprites[] = {
"sprites/1.vmt",
"sprites/physbeam.vmt",
"sprites/radio.vmt",
"sprites/bubble.vmt",
"sprites/glow04.vmt",
"sprites/purpleglow1.vmt",
"sprites/purplelaser1.vmt",
"sprites/white.vmt",
"sprites/glow01.vmt",
"sprites/blueglow1.vmt"
};

beam_info.m_vecEnd = end;
beam_info.m_nType = TE_BEAMPOINTS;
beam_info.m_pszModelName = sprites[g_cfg.esp.bullet_tracer_mode];
beam_info.m_nModelIndex = -1;
beam_info.m_flHaloScale = 0.0f;
beam_info.m_flLife = 5.0f;
beam_info.m_flWidth = 2.0f;
beam_info.m_flEndWidth = 2.0f;
beam_info.m_flFadeLength = 0.0f;
beam_info.m_flAmplitude = 1.f;
beam_info.m_flBrightness = (float)color.a();
beam_info.m_flSpeed = 0.2f;
beam_info.m_nStartFrame = 0;
beam_info.m_flFrameRate = 0.0f;
beam_info.m_flRed = (float)color.r();
beam_info.m_flGreen = (float)color.g();
beam_info.m_flBlue = (float)color.b();
beam_info.m_nSegments = 2;
beam_info.m_bRenderable = true;
beam_info.m_nFlags = FBEAM_ONLYNOISEONCE | FBEAM_NOTILE | FBEAM_HALOBEAM;
 
Участник
Статус
Оффлайн
Регистрация
21 Сен 2019
Сообщения
594
Реакции[?]
250
Поинты[?]
23K
Также хочу сказать новичкам, что так можно любую настройку массивом делать, допустим, если вам нужны другие размеры буллет трейсеров для каждого типа, то делаете также, только уже массив типа данных INT, FLOAT, и т.д.

C++:
const int WidthArray[] {5.0f, 4.0f, 3.f, 1.f, ...};
const float flWidthEndArray[] {5.3f, 4.6f, 3.3f, 1.2f, ...};

beam_info.m_flWidth = WidthArray[g_cfg.esp.bullet_tracer_mode];
beam_info.m_flEndWidth = flWidthEndArray[g_cfg.esp.bullet_tracer_mode];
 
Последнее редактирование:
Хех.......)#манипулятор #кукловод #манипуляция
Участник
Статус
Оффлайн
Регистрация
28 Дек 2019
Сообщения
557
Реакции[?]
223
Поинты[?]
3K
Так как человек выше посоветовал показать на примере, то вот правильный код.
C++:
if (g_cfg.esp.bullet_tracer)
{
    string sprites[] = {
    "sprites/1.vmt",
    "sprites/physbeam.vmt",
    "sprites/radio.vmt",
    "sprites/bubble.vmt",
    "sprites/glow04.vmt",
    "sprites/purpleglow1.vmt",
    "sprites/purplelaser1.vmt",
    "sprites/white.vmt",
    "sprites/glow01.vmt",
    "sprites/blueglow1.vmt"
    };

    beam_info.m_vecEnd = end;
    beam_info.m_nType = TE_BEAMPOINTS;
    beam_info.m_pszModelName = sprites[g_cfg.esp.bullet_tracer_mode];
    beam_info.m_nModelIndex = -1;
    beam_info.m_flHaloScale = 0.0f;
    beam_info.m_flLife = 5.0f;
    beam_info.m_flWidth = 2.0f;
    beam_info.m_flEndWidth = 2.0f;
    beam_info.m_flFadeLength = 0.0f;
    beam_info.m_flAmplitude = 1.f;
    beam_info.m_flBrightness = (float)color.a();
    beam_info.m_flSpeed = 0.2f;
    beam_info.m_nStartFrame = 0;
    beam_info.m_flFrameRate = 0.0f;
    beam_info.m_flRed = (float)color.r();
    beam_info.m_flGreen = (float)color.g();
    beam_info.m_flBlue = (float)color.b();
    beam_info.m_nSegments = 2;
    beam_info.m_bRenderable = true;
    beam_info.m_nFlags = FBEAM_ONLYNOISEONCE | FBEAM_NOTILE | FBEAM_HALOBEAM;
}
C++:
if (!g_cfg.esp.bullet_tracer)
    return;

const char* sprites[] = {
"sprites/1.vmt",
"sprites/physbeam.vmt",
"sprites/radio.vmt",
"sprites/bubble.vmt",
"sprites/glow04.vmt",
"sprites/purpleglow1.vmt",
"sprites/purplelaser1.vmt",
"sprites/white.vmt",
"sprites/glow01.vmt",
"sprites/blueglow1.vmt"
};

beam_info.m_vecEnd = end;
beam_info.m_nType = TE_BEAMPOINTS;
beam_info.m_pszModelName = sprites[g_cfg.esp.bullet_tracer_mode];
beam_info.m_nModelIndex = -1;
beam_info.m_flHaloScale = 0.0f;
beam_info.m_flLife = 5.0f;
beam_info.m_flWidth = 2.0f;
beam_info.m_flEndWidth = 2.0f;
beam_info.m_flFadeLength = 0.0f;
beam_info.m_flAmplitude = 1.f;
beam_info.m_flBrightness = (float)color.a();
beam_info.m_flSpeed = 0.2f;
beam_info.m_nStartFrame = 0;
beam_info.m_flFrameRate = 0.0f;
beam_info.m_flRed = (float)color.r();
beam_info.m_flGreen = (float)color.g();
beam_info.m_flBlue = (float)color.b();
beam_info.m_nSegments = 2;
beam_info.m_bRenderable = true;
beam_info.m_nFlags = FBEAM_ONLYNOISEONCE | FBEAM_NOTILE | FBEAM_HALOBEAM;
очень крутой вариант!1! и не нужно делать классные switch и 1000 проверок!1! ?
Также хочу сказать новичкам, что так можно любую настройку массивом делать, допустим, если вам нужны другие размеры буллет трейсеров для каждого типа, то делаете также, только уже массив типа данных INT.
zachem делать массив, если можно сделать обычную переменную.... ?
 
Участник
Статус
Оффлайн
Регистрация
21 Сен 2019
Сообщения
594
Реакции[?]
250
Поинты[?]
23K
zachem делать массив, если можно сделать обычную переменную.... ?
Я же написал, если допустим 4 на выбор значения шифта тиков даблтапа, то можно их записать в массив, и вот так использовать.
 
Участник
Статус
Оффлайн
Регистрация
30 Дек 2020
Сообщения
400
Реакции[?]
293
Поинты[?]
1K
брат, в программировании ценится такая вещь как "чистый, лаконичный код", но в твоем случае это просто ужас.
пожалуйста, перед тем как что-то выкладывать другим людям, подумай, этот код заслуживает внимания или все же нужно его доработать.

для тебя рекомендую прочитать -
Пожалуйста, авторизуйтесь для просмотра ссылки.

и если уже делать через if, else if, то не нужно было по сто раз вставлять одно и тоже самые строчки, ты же мог просто менять материал трейсеров и все
 
Участник
Статус
Оффлайн
Регистрация
21 Сен 2019
Сообщения
594
Реакции[?]
250
Поинты[?]
23K
брат, в программировании ценится такая вещь как "чистый, лаконичный код", но в твоем случае это просто ужас.
пожалуйста, перед тем как что-то выкладывать другим людям, подумай, этот код заслуживает внимания или все же нужно его доработать.

для тебя рекомендую прочитать -
Пожалуйста, авторизуйтесь для просмотра ссылки.

и если уже делать через if, else if, то не нужно было по сто раз вставлять одно и тоже самые строчки, ты же мог просто менять материал трейсеров и все
В данном случае самым правильным решением - использовать массивную переменную, а не свичи. Но конечно свичи ему также надо изучить.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Сверху Снизу