Исходник Телепорт щита по мостам - самая простейшая реализация

Пользователь
Статус
Оффлайн
Регистрация
21 Окт 2019
Сообщения
348
Реакции[?]
48
Поинты[?]
15K
Начинающий
Статус
Оффлайн
Регистрация
25 Июл 2022
Сообщения
74
Реакции[?]
2
Поинты[?]
1K
C++:
        Vec3 teleportPositions[3] =
        {
          {674.915405f, 706.425842f, 46.875000f},
          {855.9778442f, 1346.8364258f, 75.4551239f},
          {1809.648926f, 424.261902f, 95.510071f}
        };

        int LevelIndex = pGameRules->m_pMissionComposition->m_curSubLevelIndex;

        if (pInput->GetKeyState(EKeyId::eKI_L, false))
        {
            LocalActor->GetEntity()->SetLocalPos(teleportPositions[LevelIndex]);
        }


Код:
    void teleport() {


        auto Game = SSystemGlobalEnvironment::Singleton()->GetIGame();
        if (!Game) return;
        auto pInput = SSystemGlobalEnvironment::Singleton()->GetInput(); 
        if (!pInput) return;
        auto pKey = new UIKeyState(pInput);
        auto sGameFramework = Game->GetIGameFramework();
        if (!sGameFramework) return;
        auto pRules = sGameFramework->GetGameRules();
        if (!pRules) return;
        auto pActorSystem = sGameFramework->GetActorSystem();
        if (!pActorSystem) return;
        auto nActor = sGameFramework->GetClientActor();                                           
        if (!nActor) return;

        if (pKey->GetKeyState(EKeyId::eKI_F5) & 1) nActor->GetEntity()->SetLocPos({ 674.915405f, 706.425842f, 46.875000f });
        if (pKey->GetKeyState(EKeyId::eKI_F5) & 1) nActor->GetEntity()->SetLocPos({ 855.9778442f, 1346.8364258f, 75.4551239f });
        if (pKey->GetKeyState(EKeyId::eKI_F5) & 1) nActor->GetEntity()->SetLocPos({ 1809.648926f, 424.261902f, 95.510071f });
    };
 
Последнее редактирование:
Пользователь
Статус
Оффлайн
Регистрация
21 Окт 2019
Сообщения
348
Реакции[?]
48
Поинты[?]
15K
if (pKey->GetKeyState(EKeyId::eKI_F5) & 1) nActor->GetEntity()->SetLocPos({ 674.915405f, 706.425842f, 46.875000f }); if (pKey->GetKeyState(EKeyId::eKI_F5) & 1) nActor->GetEntity()->SetLocPos({ 855.9778442f, 1346.8364258f, 75.4551239f }); if (pKey->GetKeyState(EKeyId::eKI_F5) & 1) nActor->GetEntity()->SetLocPos({ 1809.648926f, 424.261902f, 95.510071f });
Кринге
 
Начинающий
Статус
Оффлайн
Регистрация
2 Янв 2024
Сообщения
56
Реакции[?]
0
Поинты[?]
1K
Более понятнее и удобнее, а так ты тема сделал 90% не поняли что да как.
в его способе понятно всё, просто не все могут взять и скопировать и вставить к себе
 
Начинающий
Статус
Оффлайн
Регистрация
5 Сен 2021
Сообщения
263
Реакции[?]
14
Поинты[?]
6K
в его способе понятно всё, просто не все могут взять и скопировать и вставить к себе
Оно то понятно, я сделал все как у него в способе но в итоге крашит.Способ выше работает но кик системой защиты
 
Пользователь
Статус
Оффлайн
Регистрация
21 Окт 2019
Сообщения
348
Реакции[?]
48
Поинты[?]
15K
У тебя хотябы оффсеты верные?

C++:
struct CEntity {

    void SetPos(Vector3 LocalPos, int Flag = 0) { // for internal
        CallVFunction<void>(this, 27, LocalPos, Flag);
    }
    void SetPos(Vector3 vPos) // for external
    {
        Matrix3x4 Matrix = *(Matrix3x4*)((DWORD64)this + 0x40);
        Matrix.m03 = vPos.x;
        Matrix.m13 = vPos.y;
        Matrix.m23 = vPos.z;
        *(Matrix3x4*)((DWORD64)this + 0x40) = Matrix;
    }
}

struct CMissionComposition {

    char padding[0x70]; 
    unsigned int m_curSubLevelIndex;
};


struct CGameRules {

    char padding[0x438];
    CMissionComposition m_pMissionComposition;
};
 
Начинающий
Статус
Оффлайн
Регистрация
22 Дек 2023
Сообщения
267
Реакции[?]
16
Поинты[?]
17K
Предложи тогда свою реализацию для экстернала
я их делал еще лет 7-8 назад, свои координаты ты должен менять через PhysicalEntity чтобы это не работало так дерьмого как у тебя.. считаю что ты как всегда где-то спастил этот мусор.

знаешь ли ты почему PhysicalEntity, а не Entity?
 
Пользователь
Статус
Оффлайн
Регистрация
5 Июл 2022
Сообщения
1,000
Реакции[?]
86
Поинты[?]
23K
я их делал еще лет 7-8 назад, свои координаты ты должен менять через PhysicalEntity чтобы это не работало так дерьмого как у тебя.. считаю что ты как всегда где-то спастил этот мусор.
Хоть в чем то я согласен с усатым дураком
 
Пользователь
Статус
Оффлайн
Регистрация
21 Окт 2019
Сообщения
348
Реакции[?]
48
Поинты[?]
15K
Хоть в чем то я согласен с усатым дураком
Как будто ты тут что-то понял из вышесказанного. Что мой способ первоначальный, что через СPhysicalEntity - разницы в работе через драйвер я не увидел
 
Сверху Снизу