Исходник Код телепорта, невидимки и многое другое WarFace [21.06.23]

Начинающий
Статус
Оффлайн
Регистрация
27 Фев 2020
Сообщения
420
Реакции[?]
19
Поинты[?]
14K
Данная реализация не моя, да и в общем-то пользуйтесь пока не пофиксили, надеюсь обновить сможете


Код:
enum ESMType {
 
    eSMT_None = 0xFFFFFFFF,
    eSMT_Haste = 0x0,
    eSMT_Climb = 0x1,
    eSMT_Slide = 0x2,
    eSMT_KnockBack = 0x3,
    eSMT_RaiseAssist = 0x4,
    eSMT_Vault = 0x5,
    eSMT_CoopCinematic = 0x6,
    eSMT_CoopClimb = 0x7,
    eSMT_CoopAssist = 0x8,
    eSMT_InteractionAction = 0x9,
    eSMT_HoldEntity = 0xA,
    eSMT_RopeClimb = 0xB,
    eSMT_NumSpecialMoves = 0xC,
};


C++:
enum EMessageType : int {
 
    eMT_Start = 0x0,
    eMT_End = 0x1,
    eMT_Message = 0x2,
};

C++:
class CEidSerializer {
public:
    __int32 m_id; //0x0000
    __int32 m_valid; //0x0004
};


C++:
namespace SM_Network {
 
    struct SMessage {
 
        void* handler;
        ESMType type;
        SM_Network::EMessageType msgType;
        CTimeValue serverTime;
        int opcode;
        bool instant;
    }; //Size=0x0018
 
    struct SHoldEntityMessage : SM_Network::SMessage
    {
        unsigned int entityId;
        unsigned int playerId;
        CryStringT<char> itemName;
    };
 
    struct SKnockBackMessage : SMessage {
 
        Quat_tpl<float> animStartLocalRot;
        Vec3_tpl<float> startPos;
        CEidSerializer standingOn;
    }; //Size=0x0040
 
    struct SVaultMessage : SMessage {
        int animIndex;
        QuatT_tpl<float> animStartPose;
        Vec3_tpl<float> helperClosestPoint;
        bool animFinished;
    }; //Size=0x0048
 
    struct SClimbMessage : SMessage {
 
        int animIndex;
        QuatT_tpl<float> animStartPose;
        Vec3_tpl<float> helperClosestPoint;
        bool animFinished;
    };
 
    struct SCoopAssistMessage : SMessage {
 
        int animIndex;
        bool singleClimb;
        Vec3_tpl<float> animStartPos;
        Vec3_tpl<float> helperClosestPoint;
        unsigned int climber;
        Lineseg_tpl<float> edge;
        __int64 ServerStartFrame;
    };
 
    struct SCoopCinematicMessage : SMessage {
        EntityId locatorId;
    };
 
    struct SCoopClimbMessage : SMessage {
        EntityId targetId;
    };
 
    struct SRaiseAssistMessage : SMessage {
        unsigned int targetId;
    };
 
    struct SInteractionActionMessage : SMessage {
        CryStringT<char> action;
        float interactionTime;
        int stance;
        unsigned int interactionTrigger;
        Vec3_tpl<float> moveToPos;
        Vec3_tpl<float> lookAtPos;
        unsigned int attachmentId;
        CryStringT<char> attachmentModel;
        bool attachModelOnStart;
        bool holsterInBeforeAction;
        bool holsterOutAfterAction;
    };
}
C++:
SM_Network::SClimbMessage msg;
::memset(&msg, 0, sizeof(SM_Network::SClimbMessage));
{
    msg.type = ESMType::eSMT_Climb;
    msg.msgType = SM_Network::EMessageType::eMT_End;
    msg.instant = false;
    msg.opcode = 0;
    msg.animIndex = 3;
    msg.animFinished = true;
    msg.animStartPose = QuatT();
    msg.helperClosestPoint = position;
    msg.animStartPose.t = position;
    msg.animStartPose.q.v = position;
    msg.serverTime = time;
}
 
auto method = this->m_pGameObject->Create(msg);
if (method) {
    _InterlockedIncrement(&method->m_cnt);
    this->m_pGameObject->DoInvokeRMI(&method, 256, -1);
}

C++:
if (this->m_pGameObject == nullptr
    || this->m_pEntity == nullptr) {
    return;
}
 
SM_Network::SKnockBackMessage msg;
::memset(&msg, 0, sizeof(SM_Network::SKnockBackMessage));
{
    msg.type = ESMType::eSMT_KnockBack;
    msg.msgType = SM_Network::EMessageType::eMT_Start;
    msg.startPos = ZERO;
}
 
auto method = this->m_pGameObject->Create(msg);
if (method != nullptr) {
 
    _InterlockedIncrement(&method->m_cnt);
    this->m_pGameObject->DoInvokeRMI(&method, 256, -1);
 
    msg.msgType = SM_Network::EMessageType::eMT_End;
    msg.startPos = ZERO;
 
    method = this->m_pGameObject->Create(msg);
    if (method != nullptr) {
 
        _InterlockedIncrement(&method->m_cnt);
        this->m_pGameObject->DoInvokeRMI(&method, 256, -1);
    }
}

C++:
if (this->m_pGameObject == nullptr
    || this->m_pEntity == nullptr) {
    return;
}
 
SM_Network::SKnockBackMessage msg;
::memset(&msg, 0, sizeof(SM_Network::SKnockBackMessage));
{
    msg.type = ESMType::eSMT_KnockBack;
    msg.msgType = SM_Network::EMessageType::eMT_Message;
    msg.instant = false;
    msg.opcode = NULL;
    msg.startPos = position;
    msg.serverTime = time;
}
 
auto method = this->m_pGameObject->Create(msg);
if (method != nullptr) {
    _InterlockedIncrement(&method->m_cnt);
    this->m_pGameObject->DoInvokeRMI(&method, 256, -1);
}

C++:
CTimeValue time;
m_pFramework->GetServerTime(&time);
m_pActor->SendTeleportPacket(m_pActor->m_pEntity->GetPhysics()->m_pos + m_pActor->GetFireDirection() * 3.f, time);
СДЕЛАНО ПРИ ПОМОЩИ ACEID
 
Пользователь
Статус
Оффлайн
Регистрация
5 Июл 2022
Сообщения
1,000
Реакции[?]
86
Поинты[?]
23K
Данная реализация не моя, да и в общем-то пользуйтесь пока не пофиксили, надеюсь обновить сможете


Код:
enum ESMType {

    eSMT_None = 0xFFFFFFFF,
    eSMT_Haste = 0x0,
    eSMT_Climb = 0x1,
    eSMT_Slide = 0x2,
    eSMT_KnockBack = 0x3,
    eSMT_RaiseAssist = 0x4,
    eSMT_Vault = 0x5,
    eSMT_CoopCinematic = 0x6,
    eSMT_CoopClimb = 0x7,
    eSMT_CoopAssist = 0x8,
    eSMT_InteractionAction = 0x9,
    eSMT_HoldEntity = 0xA,
    eSMT_RopeClimb = 0xB,
    eSMT_NumSpecialMoves = 0xC,
};


C++:
enum EMessageType : int {

    eMT_Start = 0x0,
    eMT_End = 0x1,
    eMT_Message = 0x2,
};

C++:
class CEidSerializer {
public:
    __int32 m_id; //0x0000
    __int32 m_valid; //0x0004
};


C++:
namespace SM_Network {

    struct SMessage {

        void* handler;
        ESMType type;
        SM_Network::EMessageType msgType;
        CTimeValue serverTime;
        int opcode;
        bool instant;
    }; //Size=0x0018

    struct SHoldEntityMessage : SM_Network::SMessage
    {
        unsigned int entityId;
        unsigned int playerId;
        CryStringT<char> itemName;
    };

    struct SKnockBackMessage : SMessage {

        Quat_tpl<float> animStartLocalRot;
        Vec3_tpl<float> startPos;
        CEidSerializer standingOn;
    }; //Size=0x0040

    struct SVaultMessage : SMessage {
        int animIndex;
        QuatT_tpl<float> animStartPose;
        Vec3_tpl<float> helperClosestPoint;
        bool animFinished;
    }; //Size=0x0048

    struct SClimbMessage : SMessage {

        int animIndex;
        QuatT_tpl<float> animStartPose;
        Vec3_tpl<float> helperClosestPoint;
        bool animFinished;
    };

    struct SCoopAssistMessage : SMessage {

        int animIndex;
        bool singleClimb;
        Vec3_tpl<float> animStartPos;
        Vec3_tpl<float> helperClosestPoint;
        unsigned int climber;
        Lineseg_tpl<float> edge;
        __int64 ServerStartFrame;
    };

    struct SCoopCinematicMessage : SMessage {
        EntityId locatorId;
    };

    struct SCoopClimbMessage : SMessage {
        EntityId targetId;
    };

    struct SRaiseAssistMessage : SMessage {
        unsigned int targetId;
    };

    struct SInteractionActionMessage : SMessage {
        CryStringT<char> action;
        float interactionTime;
        int stance;
        unsigned int interactionTrigger;
        Vec3_tpl<float> moveToPos;
        Vec3_tpl<float> lookAtPos;
        unsigned int attachmentId;
        CryStringT<char> attachmentModel;
        bool attachModelOnStart;
        bool holsterInBeforeAction;
        bool holsterOutAfterAction;
    };
}
C++:
SM_Network::SClimbMessage msg;
::memset(&msg, 0, sizeof(SM_Network::SClimbMessage));
{
    msg.type = ESMType::eSMT_Climb;
    msg.msgType = SM_Network::EMessageType::eMT_End;
    msg.instant = false;
    msg.opcode = 0;
    msg.animIndex = 3;
    msg.animFinished = true;
    msg.animStartPose = QuatT();
    msg.helperClosestPoint = position;
    msg.animStartPose.t = position;
    msg.animStartPose.q.v = position;
    msg.serverTime = time;
}

auto method = this->m_pGameObject->Create(msg);
if (method) {
    _InterlockedIncrement(&method->m_cnt);
    this->m_pGameObject->DoInvokeRMI(&method, 256, -1);
}

C++:
if (this->m_pGameObject == nullptr
    || this->m_pEntity == nullptr) {
    return;
}

SM_Network::SKnockBackMessage msg;
::memset(&msg, 0, sizeof(SM_Network::SKnockBackMessage));
{
    msg.type = ESMType::eSMT_KnockBack;
    msg.msgType = SM_Network::EMessageType::eMT_Start;
    msg.startPos = ZERO;
}

auto method = this->m_pGameObject->Create(msg);
if (method != nullptr) {

    _InterlockedIncrement(&method->m_cnt);
    this->m_pGameObject->DoInvokeRMI(&method, 256, -1);

    msg.msgType = SM_Network::EMessageType::eMT_End;
    msg.startPos = ZERO;

    method = this->m_pGameObject->Create(msg);
    if (method != nullptr) {

        _InterlockedIncrement(&method->m_cnt);
        this->m_pGameObject->DoInvokeRMI(&method, 256, -1);
    }
}

C++:
if (this->m_pGameObject == nullptr
    || this->m_pEntity == nullptr) {
    return;
}

SM_Network::SKnockBackMessage msg;
::memset(&msg, 0, sizeof(SM_Network::SKnockBackMessage));
{
    msg.type = ESMType::eSMT_KnockBack;
    msg.msgType = SM_Network::EMessageType::eMT_Message;
    msg.instant = false;
    msg.opcode = NULL;
    msg.startPos = position;
    msg.serverTime = time;
}

auto method = this->m_pGameObject->Create(msg);
if (method != nullptr) {
    _InterlockedIncrement(&method->m_cnt);
    this->m_pGameObject->DoInvokeRMI(&method, 256, -1);
}

C++:
CTimeValue time;
m_pFramework->GetServerTime(&time);
m_pActor->SendTeleportPacket(m_pActor->m_pEntity->GetPhysics()->m_pos + m_pActor->GetFireDirection() * 3.f, time);
СДЕЛАНО ПРИ ПОМОЩИ ACEID
Прикольно) Но можно чуть проще реализовать. Я думаю те, кто шарят, поймут.
 
Забаненный
Статус
Оффлайн
Регистрация
29 Янв 2023
Сообщения
76
Реакции[?]
6
Поинты[?]
5K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Дайте код телепорта щита с кнопками)
Гугл вроде не блокали ещё
ну ладно

Код:
exemple:
if (setTelepot) {
if (*(DWORD64*)((DWORD64)pClient + 0x0C90) = 7) {
Vec3 Telepotpos;
if (pTeleport)
Telepotpos = { 674.915405f, 706.425842f, 46.875000f };
if (pTeleport1)
Telepotpos = { 855.9778442, 1346.8364258f, 75.4551239f };
if (pTeleport2)
Telepotpos = { 1809.648926f, 424.261902f, 95.510071f };
if (GetAsyncKeyState(B))pClient->GetEntity()->SetLocalPos(Telepotpos);
}
}
CEntity:
void SetLocalPos(Vec3& LocalPos, int64 Flag = 0) { CallFunction<void(__fastcall*)(PVOID, Vec3&, int64)>(this, 0xD8)(this, LocalPos, Flag); }
 
Пользователь
Статус
Оффлайн
Регистрация
21 Окт 2019
Сообщения
348
Реакции[?]
48
Поинты[?]
15K
Гугл вроде не блокали ещё
ну ладно

Код:
exemple:
if (setTelepot) {
if (*(DWORD64*)((DWORD64)pClient + 0x0C90) = 7) {
Vec3 Telepotpos;
if (pTeleport)
Telepotpos = { 674.915405f, 706.425842f, 46.875000f };
if (pTeleport1)
Telepotpos = { 855.9778442, 1346.8364258f, 75.4551239f };
if (pTeleport2)
Telepotpos = { 1809.648926f, 424.261902f, 95.510071f };
if (GetAsyncKeyState(B))pClient->GetEntity()->SetLocalPos(Telepotpos);
}
}
CEntity:
void SetLocalPos(Vec3& LocalPos, int64 Flag = 0) { CallFunction<void(__fastcall*)(PVOID, Vec3&, int64)>(this, 0xD8)(this, LocalPos, Flag); }
C++:
if (*(DWORD64*)((DWORD64)pClient + 0x0C90) = 7) {
Эта проверка на щит в руках уже давно не работает если что. Да и зачем она когда можно чекать уровни миссии, чтобы не переключаться между точками вручную.
 
Начинающий
Статус
Оффлайн
Регистрация
29 Окт 2021
Сообщения
7
Реакции[?]
2
Поинты[?]
0
C++:
if (*(DWORD64*)((DWORD64)pClient + 0x0C90) = 7) {
Эта проверка на щит в руках уже давно не работает если что. Да и зачем она когда можно чекать уровни миссии, чтобы не переключаться между точками вручную.
Все работает, обнови смещение.
 
Последнее редактирование:
Забаненный
Статус
Оффлайн
Регистрация
29 Янв 2023
Сообщения
76
Реакции[?]
6
Поинты[?]
5K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
А какое новое смещение не подскажешь?
0xCF8
C++:
if (*(DWORD64*)((DWORD64)pClient + 0x0C90) = 7) {
Эта проверка на щит в руках уже давно не работает если что. Да и зачем она когда можно чекать уровни миссии, чтобы не переключаться между точками вручную.
Ну он попросил код телепорта я дал ему который слили
 
Начинающий
Статус
Оффлайн
Регистрация
2 Фев 2023
Сообщения
41
Реакции[?]
2
Поинты[?]
0
Разве новое не это

if (*(DWORD64*)((DWORD64)pActor + 0xD00) == 7) {
Разве новое не это

if (*(DWORD64*)((DWORD64)pActor + 0xD00) == 7) {
Как выше сказал Tramadolid не обязательно юзать проверку она не нужна он всеравно и без проверки может тепать к турелям
 
Забаненный
Статус
Оффлайн
Регистрация
29 Янв 2023
Сообщения
76
Реакции[?]
6
Поинты[?]
5K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Разве новое не это

if (*(DWORD64*)((DWORD64)pActor + 0xD00) == 7) {

Как выше сказал Tramadolid не обязательно юзать проверку она не нужна он всеравно и без проверки может тепать к турелям
ну на другом форуме было такой оффсет
 
Начинающий
Статус
Оффлайн
Регистрация
12 Авг 2023
Сообщения
34
Реакции[?]
0
Поинты[?]
0
Гугл вроде не блокали ещё
ну ладно

Код:
exemple:
if (setTelepot) {
if (*(DWORD64*)((DWORD64)pClient + 0x0C90) = 7) {
Vec3 Telepotpos;
if (pTeleport)
Telepotpos = { 674.915405f, 706.425842f, 46.875000f };
if (pTeleport1)
Telepotpos = { 855.9778442, 1346.8364258f, 75.4551239f };
if (pTeleport2)
Telepotpos = { 1809.648926f, 424.261902f, 95.510071f };
if (GetAsyncKeyState(B))pClient->GetEntity()->SetLocalPos(Telepotpos);
}
}
CEntity:
void SetLocalPos(Vec3& LocalPos, int64 Flag = 0) { CallFunction<void(__fastcall*)(PVOID, Vec3&, int64)>(this, 0xD8)(this, LocalPos, Flag); }
Спасибо. куда пихать теперь это
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
6 Фев 2021
Сообщения
99
Реакции[?]
19
Поинты[?]
10K
Начинающий
Статус
Оффлайн
Регистрация
12 Авг 2023
Сообщения
34
Реакции[?]
0
Поинты[?]
0
Забаненный
Статус
Оффлайн
Регистрация
29 Янв 2023
Сообщения
76
Реакции[?]
6
Поинты[?]
5K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
29 Янв 2023
Сообщения
76
Реакции[?]
6
Поинты[?]
5K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сверху Снизу