• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

Исходник Кастом текст бомбы

Забаненный
Забаненный
Статус
Оффлайн
Регистрация
2 Июн 2023
Сообщения
6
Реакции
2
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
метод так себе ( нужно добавить проверку начала установки бомбы, или даже можно сделать анимированный текст, просто удерживая бомбу и т. д.)
C++:
Expand Collapse Copy
// "client.dll", "55 8B EC 8B 45 08 85 C0 53"
void __fastcall set_text(
    const std::uintptr* ecx, const std::uintptr_t edx, const char* name
    ) {
    if ( !valve::g_local_player || !valve::g_local_player->weapon( ) || !g_ctx->cmd( ) )
        return o_set_text( ecx, edx, name );
        
    static auto timer = 0.f;
    
    /* haha wtfff */
    if ( valve::g_local_player->weapon( )->item_index( ) == valve::item_index::c4 && g_ctx->cmd( )->m_buttons & valve::e_buttons::in_attack ) {
         if ( !timer )
              timer = valve::g_global_vars->m_cur_time + 0.5f;
              
        auto timer_diff =  valve::g_global_vars->m_cur_time - timer;
        
        /* transition time can be made to scale with text length but idc */
        std::string text{};
        for ( size_t i = 0; i < sizeof( g_menu->main( ).m_misc.m_bomb_buffer ); i++ )
            if ( timer_diff >= (i * 0.18f ) )
                text += g_menu->main( ).m_misc.m_bomb_buffer[ i ];
            else
                break;
                
        o_set_text( ecx, edx, name );
    }
    else
        timer = 0.f;
        
    o_set_text( ecx, edx, name );
}
 
ну прикольна
 
вроде уже было
 
метод так себе ( нужно добавить проверку начала установки бомбы, или даже можно сделать анимированный текст, просто удерживая бомбу и т. д.)
C++:
Expand Collapse Copy
// "client.dll", "55 8B EC 8B 45 08 85 C0 53"
void __fastcall set_text(
    const std::uintptr* ecx, const std::uintptr_t edx, const char* name
    ) {
    if ( !valve::g_local_player || !valve::g_local_player->weapon( ) || !g_ctx->cmd( ) )
        return o_set_text( ecx, edx, name );
       
    static auto timer = 0.f;
   
    /* haha wtfff */
    if ( valve::g_local_player->weapon( )->item_index( ) == valve::item_index::c4 && g_ctx->cmd( )->m_buttons & valve::e_buttons::in_attack ) {
         if ( !timer )
              timer = valve::g_global_vars->m_cur_time + 0.5f;
             
        auto timer_diff =  valve::g_global_vars->m_cur_time - timer;
       
        /* transition time can be made to scale with text length but idc */
        std::string text{};
        for ( size_t i = 0; i < sizeof( g_menu->main( ).m_misc.m_bomb_buffer ); i++ )
            if ( timer_diff >= (i * 0.18f ) )
                text += g_menu->main( ).m_misc.m_bomb_buffer[ i ];
            else
                break;
               
        o_set_text( ecx, edx, name );
    }
    else
        timer = 0.f;
       
    o_set_text( ecx, edx, name );
}
Отлично, а какой конкретно текст Вы, Дмитрий, заменяете? Могли бы Вы показать скриншот с заменой?
 
кто тут у кого спиздил ?
Я у тебя спиздил, и оставил говнокод.
что ты совсем затупок
аххаха
у меня код отличается так конкретно тот что в той теме и то что у меня
Ну у тебя он как-то покороче, но что-то мне он зашел меньше, чем тот, что кинули выше.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Я у тебя спиздил, и оставил говнокод.

Ну у тебя он как-то покороче, но что-то мне он зашел меньше, чем тот, что кинули выше.
я сразу меняю текст в ин гейм функции set_text и мне не придется хукать 8248414 функций чтобы изменить какой то текст в бомбе......
 
я сразу меняю текст в ин гейм функции set_text и мне не придется хукать 8248414 функций чтобы изменить какой то текст в бомбе......
ахуеть придумали еще кароче:NotLikeThis:
Код:
Expand Collapse Copy
void __fastcall h::hkSetText(void* ecx, void* edx, const char* tokenName) {
 
    static auto original = detour::setText.GetOriginal<decltype(&h::hkSetText)>();
 
    if (!g::pLocal || !g::pLocal->GetWeapon() || !g::pCmd)
        return original(ecx, edx, tokenName);
 
    CBaseCombatWeapon* pWeapon = g::pLocal->GetWeapon();
 
    static float timerLmao = 0.f;
    if (g::pLocal->GetWeapon()->GetItemDefinitionIndex() == WEAPON_C4 && g::pCmd->iButtons & IN_ATTACK) {
 
        if (timerLmao == 0.f)
            timerLmao = i::GlobalVars->flCurrentTime + 0.5f;
 
        float flTransition = i::GlobalVars->flCurrentTime - timerLmao;
 
        // transition time can be made to scale with text length but idc
        std::string thisText;
        for (size_t i = 0; i < sizeof(cfg::misc::bombBuffer); i++)
            if (flTransition >= (i * 0.18f))
                thisText += cfg::misc::bombBuffer[i];
            else
                break;
 
        return original(ecx, edx, thisText.c_str());
    }
    else
        timerLmao = 0.f;
 
    return original(ecx, edx, tokenName);
}
 
я сразу меняю текст в ин гейм функции set_text и мне не придется хукать 8248414 функций чтобы изменить какой то текст в бомбе......
Я про то, что мне как то по приятнее там смотреть код
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ахуеть придумали еще кароче:NotLikeThis:
Код:
Expand Collapse Copy
void __fastcall h::hkSetText(void* ecx, void* edx, const char* tokenName) {

    static auto original = detour::setText.GetOriginal<decltype(&h::hkSetText)>();

    if (!g::pLocal || !g::pLocal->GetWeapon() || !g::pCmd)
        return original(ecx, edx, tokenName);

    CBaseCombatWeapon* pWeapon = g::pLocal->GetWeapon();

    static float timerLmao = 0.f;
    if (g::pLocal->GetWeapon()->GetItemDefinitionIndex() == WEAPON_C4 && g::pCmd->iButtons & IN_ATTACK) {

        if (timerLmao == 0.f)
            timerLmao = i::GlobalVars->flCurrentTime + 0.5f;

        float flTransition = i::GlobalVars->flCurrentTime - timerLmao;

        // transition time can be made to scale with text length but idc
        std::string thisText;
        for (size_t i = 0; i < sizeof(cfg::misc::bombBuffer); i++)
            if (flTransition >= (i * 0.18f))
                thisText += cfg::misc::bombBuffer[i];
            else
                break;

        return original(ecx, edx, thisText.c_str());
    }
    else
        timerLmao = 0.f;

    return original(ecx, edx, tokenName);
}
данный код никак не относится к моему
Я про то, что мне как то по приятнее там смотреть код
я не знаю почему ты так думаешь
 
ахуеть придумали еще кароче:NotLikeThis:
Код:
Expand Collapse Copy
void __fastcall h::hkSetText(void* ecx, void* edx, const char* tokenName) {

    static auto original = detour::setText.GetOriginal<decltype(&h::hkSetText)>();

    if (!g::pLocal || !g::pLocal->GetWeapon() || !g::pCmd)
        return original(ecx, edx, tokenName);

    CBaseCombatWeapon* pWeapon = g::pLocal->GetWeapon();

    static float timerLmao = 0.f;
    if (g::pLocal->GetWeapon()->GetItemDefinitionIndex() == WEAPON_C4 && g::pCmd->iButtons & IN_ATTACK) {

        if (timerLmao == 0.f)
            timerLmao = i::GlobalVars->flCurrentTime + 0.5f;

        float flTransition = i::GlobalVars->flCurrentTime - timerLmao;

        // transition time can be made to scale with text length but idc
        std::string thisText;
        for (size_t i = 0; i < sizeof(cfg::misc::bombBuffer); i++)
            if (flTransition >= (i * 0.18f))
                thisText += cfg::misc::bombBuffer[i];
            else
                break;

        return original(ecx, edx, thisText.c_str());
    }
    else
        timerLmao = 0.f;

    return original(ecx, edx, tokenName);
}
1685998859410.png
1685998868279.png


Короче на +1 строку кода
 
ахуеть придумали еще кароче:NotLikeThis:
Код:
Expand Collapse Copy
void __fastcall h::hkSetText(void* ecx, void* edx, const char* tokenName) {

    static auto original = detour::setText.GetOriginal<decltype(&h::hkSetText)>();

    if (!g::pLocal || !g::pLocal->GetWeapon() || !g::pCmd)
        return original(ecx, edx, tokenName);

    CBaseCombatWeapon* pWeapon = g::pLocal->GetWeapon();

    static float timerLmao = 0.f;
    if (g::pLocal->GetWeapon()->GetItemDefinitionIndex() == WEAPON_C4 && g::pCmd->iButtons & IN_ATTACK) {

        if (timerLmao == 0.f)
            timerLmao = i::GlobalVars->flCurrentTime + 0.5f;

        float flTransition = i::GlobalVars->flCurrentTime - timerLmao;

        // transition time can be made to scale with text length but idc
        std::string thisText;
        for (size_t i = 0; i < sizeof(cfg::misc::bombBuffer); i++)
            if (flTransition >= (i * 0.18f))
                thisText += cfg::misc::bombBuffer[i];
            else
                break;

        return original(ecx, edx, thisText.c_str());
    }
    else
        timerLmao = 0.f;

    return original(ecx, edx, tokenName);
}
Зачем вы скинули код fatal_salvatore, только с ужасным код стайлом?
 
C++:
Expand Collapse Copy
    static auto timer = 0.f;
 
    /* haha wtfff */
    if ( valve::g_local_player->weapon( )->item_index( ) == valve::item_index::c4 && g_ctx->cmd( )->m_buttons & valve::e_buttons::in_attack ) {
         if ( !timer )
              timer = valve::g_global_vars->m_cur_time + 0.5f;

советую начать пользоваться головой, какой к черту статик таймер, какой нахуй in_attack. позорники.

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

Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Последнее редактирование:
Назад
Сверху Снизу