Лямбда-выражение не поддерживает встроенный ассемблерный код

Начинающий
Статус
Оффлайн
Регистрация
22 Май 2019
Сообщения
19
Реакции[?]
0
Поинты[?]
0
Товары в продаже
4
bool CAutoWall::FireBullet(C_CSPlayer* pLocal, CBaseCombatWeapon* pWeapon, Vector& direction, float& currentDamage, int& possibleHitsRemaining) const
{
if (!pWeapon)
return false;

static auto UTIL_ClipTraceToPlayers = [](const Vector& vecAbsStart, const Vector& vecAbsEnd, unsigned int mask, ITraceFilter* filter, trace_t* tr)
{
static uintptr_t clptrtp = Utils::FindSignature(Utils::get_client_dll(), XorStr("53 8B DC 83 EC ? 83 E4 ? 83 C4 ? 55 8B 6B 04 89 6C 24 ? 8B EC 81 EC ? ? ? ? 8B 43 10 56 57 52 F3 0F 10 40"));

if (!clptrtp)
return false;

__asm {
push tr
push filter
push mask
lea edx, vecAbsEnd
lea ecx, vecAbsStart
call clptrtp
add esp, 0xC
}
};
1582274064648.png
 
Участник
Статус
Оффлайн
Регистрация
27 Дек 2018
Сообщения
1,428
Реакции[?]
376
Поинты[?]
0
смени tools (пкм по проекту в визуалке -> свойства проекта -> tools -> измени на v142)
 
Олдфаг
Статус
Оффлайн
Регистрация
6 Мар 2019
Сообщения
2,936
Реакции[?]
1,002
Поинты[?]
0
Так у тебя эта функция нихуя не возвращает - по факту она вообще не работает.
просто закомменть и всё
__asm {
push tr
push filter
push mask
lea edx, vecAbsEnd
lea ecx, vecAbsStart
call clptrtp
add esp, 0xC
}
 
B.O.M.J
Эксперт
Статус
Оффлайн
Регистрация
19 Май 2017
Сообщения
2,399
Реакции[?]
897
Поинты[?]
3K
Поддержку подобного убрали еще в 141 версии, закоменти лямбда выражение и все. Это как в гладиаторе, она там нахуй не нужна, как собственно и тут
 
Начинающий
Статус
Оффлайн
Регистрация
22 Май 2019
Сообщения
19
Реакции[?]
0
Поинты[?]
0
Товары в продаже
4
B.O.M.J
Эксперт
Статус
Оффлайн
Регистрация
19 Май 2017
Сообщения
2,399
Реакции[?]
897
Поинты[?]
3K
C++:
bool CAutoWall::FireBullet(C_CSPlayer* pLocal, CBaseCombatWeapon* pWeapon, Vector& direction, float& currentDamage, int& possibleHitsRemaining) const
{
if (!pWeapon)
return false;

static auto UTIL_ClipTraceToPlayers = [](const Vector& vecAbsStart, const Vector& vecAbsEnd, unsigned int mask, ITraceFilter* filter, trace_t* tr) 
{
static uintptr_t clptrtp = Utils::FindSignature(Utils::get_client_dll(), XorStr("53 8B DC 83 EC ? 83 E4 ? 83 C4 ? 55 8B 6B 04 89 6C 24 ? 8B EC 81 EC ? ? ? ? 8B 43 10 56 57 52 F3 0F 10 40"));

if (!clptrtp)
return false; 

    /*__asm
    {
        mov eax, filter
        lea ecx, tr
        push ecx
        push eax
        push mask
        lea edx, absEnd
        lea ecx, absStart
        call clptrtp
        add esp, 0xC
    }*/
}
 
Начинающий
Статус
Оффлайн
Регистрация
22 Май 2019
Сообщения
19
Реакции[?]
0
Поинты[?]
0
Товары в продаже
4
C++:
bool CAutoWall::FireBullet(C_CSPlayer* pLocal, CBaseCombatWeapon* pWeapon, Vector& direction, float& currentDamage, int& possibleHitsRemaining) const
{
if (!pWeapon)
return false;

static auto UTIL_ClipTraceToPlayers = [](const Vector& vecAbsStart, const Vector& vecAbsEnd, unsigned int mask, ITraceFilter* filter, trace_t* tr)
{
static uintptr_t clptrtp = Utils::FindSignature(Utils::get_client_dll(), XorStr("53 8B DC 83 EC ? 83 E4 ? 83 C4 ? 55 8B 6B 04 89 6C 24 ? 8B EC 81 EC ? ? ? ? 8B 43 10 56 57 52 F3 0F 10 40"));

if (!clptrtp)
return false;

    /*__asm
    {
        mov eax, filter
        lea ecx, tr
        push ecx
        push eax
        push mask
        lea edx, absEnd
        lea ecx, absStart
        call clptrtp
        add esp, 0xC
    }*/
}
шото не
 
Сверху Снизу