Вопрос Warface trigger.

Paste is my life
Начинающий
Статус
Оффлайн
Регистрация
28 Янв 2017
Сообщения
144
Реакции[?]
13
Поинты[?]
0
Всем привет, при попытке запилить триггер получаю краш, класс описанный в коде не актуален?
Код:
uint32_t Trigger()
    {
        uintptr_t offset_0 = *(uintptr_t*)(uintptr_t(this + 0x18));
        if (!offset_0)
            return 0;

        uintptr_t offset_1 = *(uintptr_t*)(uintptr_t(offset_0 + 0x60));
        if (!offset_1)
            return 0;

        uintptr_t offset_2 = *(uintptr_t*)(uintptr_t(offset_1 + 0x20));
        if (!offset_2)
            return 0;

        return *(uint32_t*)(uintptr_t(offset_2 + 0x170));
    }
C++:
                                            if (auto mWeapon = MePlayer1->GetCurrentItem()->GetIWeapon())
                                            {
                                                mTriggerId = MePlayer1->Trigger();
                                                if (mTriggerId && GetAsyncKeyState(VK_RBUTTON))
                                                {
                                                    if (IActor * pActor = pFrameWork->GetIActorSystem()->GetActor(mTriggerId))
                                                    {

                                                        mWeapon->StartFire();
                                                        Sleep(1);
                                                        mWeapon->StopFire();
                                                    }
                                                }
                                               
                                            }
 
Последнее редактирование:
get good, get zeus, for ever
Пользователь
Статус
Оффлайн
Регистрация
1 Июн 2018
Сообщения
555
Реакции[?]
90
Поинты[?]
37K
а sleep разве не всю игру замораживает ?
 
Paste is my life
Начинающий
Статус
Оффлайн
Регистрация
28 Янв 2017
Сообщения
144
Реакции[?]
13
Поинты[?]
0
как ты получаешь mWeapon?

как ты вызываешь? StartFire(); StopFire();
Сори
IWeapon* GetIWeapon()
{
return f_virtual<IWeapon * (__thiscall*)(PVOID)>(this, 0x278)(this);
}
//mWepon, ну тут все нормально, это точно, со стартфаером тоже все нормально, если его без мТриггера вызывать, то фаер работает, зажимает и все
void StartFire()
{
CallFunction<void(__thiscall*)(PVOID)>(this, 0x58)(this);
}

void StopFire()
{
CallFunction<void(__thiscall*)(PVOID)>(this, 0x60)(this);
}
 
Paste is my life
Начинающий
Статус
Оффлайн
Регистрация
28 Янв 2017
Сообщения
144
Реакции[?]
13
Поинты[?]
0
т.е. если сделать так
Код:
auto m_pItem = mActor->GetCurrentItem();
    if (m_pItem)
    {
        auto m_pWeapon = m_pItem->GetIWeapon();
        if (GetAsyncKeyState(VK_RBUTTON))
        {
            if (!mActor->isDead())
            {
                m_pWeapon->StartFire();
                m_pWeapon->StopFire();
            }
        }
    }
То просто начинаеется зажим прокликом при заатой правой клавише мыши
 
Paste is my life
Начинающий
Статус
Оффлайн
Регистрация
28 Янв 2017
Сообщения
144
Реакции[?]
13
Поинты[?]
0
т.е. если сделать так
Код:
auto m_pItem = mActor->GetCurrentItem();
    if (m_pItem)
    {
        auto m_pWeapon = m_pItem->GetIWeapon();
        if (GetAsyncKeyState(VK_RBUTTON))
        {
            if (!mActor->isDead())
            {
                m_pWeapon->StartFire();
                m_pWeapon->StopFire();
            }
        }
    }
То просто начинаеется зажим прокликом при заатой правой клавише мыши
а так краш
Код:
    auto m_pItem = mActor->GetCurrentItem();
    if (m_pItem)
    {
        auto m_pWeapon = m_pItem->GetIWeapon();
        if (m_pItem)
        {
            mTriggerId = mActor->get_modele_id();
            if (mTriggerId)
            {
                if (!mActor->isDead())
                {
                    if (IActor * pActor = pFrameWork->GetIActorSystem()->GetActor(mTriggerId))
                    {
                        m_pWeapon->StartFire();
                        m_pWeapon->StopFire();
                    }
                }
            }
        }
    }
 
godeless owner btw
Забаненный
Статус
Оффлайн
Регистрация
26 Июн 2019
Сообщения
530
Реакции[?]
132
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Paste is my life
Начинающий
Статус
Оффлайн
Регистрация
28 Янв 2017
Сообщения
144
Реакции[?]
13
Поинты[?]
0
Скинь сюда код, пожалуйста)
C++:
if (GetAsyncKeyState(VK_RBUTTON))
                                            {
                                                if (!MePlayer->isDead())
                                                {
                                            
                                                    if (auto mWeapon = MePlayer->GetCurrentItem()->GetIWeapon())
                                                    {
                                                        mTriggerId = MePlayer->IsTriggerID();
                                                        if (mTriggerId)
                                                        {
                                                            if (IActor * pActor = pFrameWork->GetIActorSystem()->GetActor(mTriggerId))
                                                            {
                                                            
                                                                mWeapon->StartFire();

                                                                mWeapon->StopFire();
                                                            }
                                                        }
                                                    }
                                                }
                                                
                                            }
C++:
auto IsTriggerID()
    {
        auto u = *(int*)((uintptr_t)this + 0x18);
        u = *(int*)((uintptr_t)u + 0x60);
        u = *(int*)((uintptr_t)u + 0x20);
        return (int) * (uintptr_t*)((uintptr_t)u + 0x170);
    }
 
Paste is my life
Начинающий
Статус
Оффлайн
Регистрация
28 Янв 2017
Сообщения
144
Реакции[?]
13
Поинты[?]
0
Вопрос шарящим, как сделать задержку перед выстрелом, не слип, естественно
 
godeless owner btw
Забаненный
Статус
Оффлайн
Регистрация
26 Июн 2019
Сообщения
530
Реакции[?]
132
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
if (GetAsyncKeyState(VK_RBUTTON))
                                            {
                                                if (!MePlayer->isDead())
                                                {
                                           
                                                    if (auto mWeapon = MePlayer->GetCurrentItem()->GetIWeapon())
                                                    {
                                                        mTriggerId = MePlayer->IsTriggerID();
                                                        if (mTriggerId)
                                                        {
                                                            if (IActor * pActor = pFrameWork->GetIActorSystem()->GetActor(mTriggerId))
                                                            {
                                                           
                                                                mWeapon->StartFire();

                                                                mWeapon->StopFire();
                                                            }
                                                        }
                                                    }
                                                }
                                               
                                            }
C++:
auto IsTriggerID()
    {
        auto u = *(int*)((uintptr_t)this + 0x18);
        u = *(int*)((uintptr_t)u + 0x60);
        u = *(int*)((uintptr_t)u + 0x20);
        return (int) * (uintptr_t*)((uintptr_t)u + 0x170);
    }
А можно скомпленный вариант? Лень визуалку открывать
 
Paste is my life
Начинающий
Статус
Оффлайн
Регистрация
28 Янв 2017
Сообщения
144
Реакции[?]
13
Поинты[?]
0
godeless owner btw
Забаненный
Статус
Оффлайн
Регистрация
26 Июн 2019
Сообщения
530
Реакции[?]
132
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
godeless owner btw
Забаненный
Статус
Оффлайн
Регистрация
26 Июн 2019
Сообщения
530
Реакции[?]
132
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Paste is my life
Начинающий
Статус
Оффлайн
Регистрация
28 Янв 2017
Сообщения
144
Реакции[?]
13
Поинты[?]
0
Буду очень благодарен если сделаешь что-бы ничего зажимать не надо было)
Т.е. чтобы стреляло и от бедра? Ты представляешь, что будет, если учитывать, что стреляет по своим)?
 
godeless owner btw
Забаненный
Статус
Оффлайн
Регистрация
26 Июн 2019
Сообщения
530
Реакции[?]
132
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Т.е. чтобы стреляло и от бедра? Ты представляешь, что будет, если учитывать, что стреляет по своим)?
Представляю))) В своих просто целится не надо) Сделаешь?)
 
Сверху Снизу