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

  • Автор темы Автор темы abbc
  • Дата начала Дата начала
Капец тут умников со своими свичами, хотя уже один человек и написал максимально правильный ответ, но продублирую, тут самым правильным решением будет использовать массив, ибо свич также щиткодит, и говорит о незнании языка.
 
соглашусь, что тут шит код, но более верным было бы в этом треде ответить со своим рекодом, тк сказать показать всем.
 
Так как человек выше посоветовал показать на примере, то вот правильный код.
C++:
Expand Collapse Copy
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++:
Expand Collapse Copy
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;
 
Также хочу сказать новичкам, что так можно любую настройку массивом делать, допустим, если вам нужны другие размеры буллет трейсеров для каждого типа, то делаете также, только уже массив типа данных INT, FLOAT, и т.д.

C++:
Expand Collapse Copy
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];
 
Последнее редактирование:
Так как человек выше посоветовал показать на примере, то вот правильный код.
C++:
Expand Collapse Copy
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++:
Expand Collapse Copy
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 делать массив, если можно сделать обычную переменную.... ?
 
zachem делать массив, если можно сделать обычную переменную.... ?
Я же написал, если допустим 4 на выбор значения шифта тиков даблтапа, то можно их записать в массив, и вот так использовать.
 
брат, в программировании ценится такая вещь как "чистый, лаконичный код", но в твоем случае это просто ужас.
пожалуйста, перед тем как что-то выкладывать другим людям, подумай, этот код заслуживает внимания или все же нужно его доработать.

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

и если уже делать через if, else if, то не нужно было по сто раз вставлять одно и тоже самые строчки, ты же мог просто менять материал трейсеров и все
 
брат, в программировании ценится такая вещь как "чистый, лаконичный код", но в твоем случае это просто ужас.
пожалуйста, перед тем как что-то выкладывать другим людям, подумай, этот код заслуживает внимания или все же нужно его доработать.

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

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