Вопрос Warface trigger.

  • Автор темы Автор темы Stan_Ak
  • Дата начала Дата начала
Paste is my life
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
28 Янв 2017
Сообщения
146
Реакции
13
Всем привет, при попытке запилить триггер получаю краш, класс описанный в коде не актуален?
Код:
Expand Collapse Copy
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++:
Expand Collapse Copy
                                            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();
                                                    }
                                                }
                                               
                                            }
 
Последнее редактирование:
как ты получаешь 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);
}
 
т.е. если сделать так
Код:
Expand Collapse Copy
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();
            }
        }
    }
То просто начинаеется зажим прокликом при заатой правой клавише мыши
 
т.е. если сделать так
Код:
Expand Collapse Copy
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();
            }
        }
    }
То просто начинаеется зажим прокликом при заатой правой клавише мыши
а так краш
Код:
Expand Collapse Copy
    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();
                    }
                }
            }
        }
    }
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Скинь сюда код, пожалуйста)
C++:
Expand Collapse Copy
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++:
Expand Collapse Copy
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);
    }
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
Expand Collapse Copy
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++:
Expand Collapse Copy
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);
    }
А можно скомпленный вариант? Лень визуалку открывать
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Буду очень благодарен если сделаешь что-бы ничего зажимать не надо было)
Т.е. чтобы стреляло и от бедра? Ты представляешь, что будет, если учитывать, что стреляет по своим)?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Т.е. чтобы стреляло и от бедра? Ты представляешь, что будет, если учитывать, что стреляет по своим)?
Представляю))) В своих просто целится не надо) Сделаешь?)
 
Назад
Сверху Снизу