Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void RenderScreen( ID3D11DeviceContext* pContext )
- {
- static auto Image = reinterpret_cast< std::uintptr_t >( GetModuleHandleW( nullptr ) );
- auto World = *( UWorld** )( Image + OFFS_UWORLD );
- Aimbot::BeginFrame();
- if (World)
- {
- auto OwningGameInstance = World->OwningGameInstance;
- if (OwningGameInstance)
- {
- auto LocalPlayer = OwningGameInstance->LocalPlayers[0];
- if (LocalPlayer)
- {
- auto ViewportClient = LocalPlayer->ViewportClient;
- if (ViewportClient)
- {
- World = ViewportClient->World;
- if (World)
- {
- auto PlayerController = LocalPlayer->PlayerController;
- /*PlayerController->AcknowledgedPawn->bBlockInput = bMenuOpened;*/
- if (PlayerController)
- {
- auto PersistentLevel = World->PersistentLevel;
- if (PersistentLevel)
- {
- auto Actors = PersistentLevel->Actors;
- for (auto Index = 0; Index < Actors.Num(); Index++)
- {
- if (!Actors.IsValidIndex(Index))
- continue;
- auto Actor = Actors[Index];// *( AActor** )Actors[ Index ];
- if (!Actor)
- continue;
- auto RootComponent = Actor->RootComponent;
- if (!RootComponent)
- continue;
- //auto Character = PlayerController->Character;
- //if (!Character)
- // continue;
- auto Location = RootComponent->RelativeLocation;
- FVector2 Screen = {};
- FVector2 Head2D = {};
- FVector2 Legs2D = {};
- FVector2 RHand2D = {};
- FVector2 LHand2D = {};
- if (WorldToScreen(PlayerController, Location, &Screen))
- {
- auto name = ToWString(Actor->Name.GetName());
- if (GetAsyncKeyState(VK_NUMPAD0))
- {
- if (!name.empty()) {
- pFontWrapper->DrawString(pContext, name.c_str(), 14.f, Screen.X, Screen.Y, 0xFFFFFFFF, FW1_RESTORESTATE);
- }
- }
- bInLobby = name.find(L"Lobby") != std::string::npos;
- if (!bInLobby) {
- if (espcars) {
- if (name.find(L"Buggy") != std::string::npos)
- {
- if (!name.empty()) {
- pFontWrapper->DrawString(pContext, L"Buggy", 14.f, Screen.X, Screen.Y, 0xFFFFFFFF, FW1_RESTORESTATE | FW1_ALIASED);
- }
- }
- if (name.find(L"UAZ") != std::string::npos)
- {
- if (!name.empty()) {
- pFontWrapper->DrawString(pContext, L"UAZ", 14.f, Screen.X, Screen.Y, 0xFFFFFFFF, FW1_RESTORESTATE | FW1_ALIASED);
- }
- }
- if (name.find(L"MiniBus") != std::string::npos)
- {
- if (!name.empty()) {
- pFontWrapper->DrawString(pContext, L"MiniBus", 14.f, Screen.X, Screen.Y, 0xFFFFFFFF, FW1_RESTORESTATE | FW1_ALIASED);
- }
- }
- if (name.find(L"PickUp_02_") != std::string::npos)
- {
- if (!name.empty()) {
- pFontWrapper->DrawString(pContext, L"PickUp", 14.f, Screen.X, Screen.Y, 0xFFFFFFFF, FW1_RESTORESTATE | FW1_ALIASED);
- }
- }
- if (name.find(L"Dacia") != std::string::npos)
- {
- if (!name.empty()) {
- pFontWrapper->DrawString(pContext, L"Dacia", 14.f, Screen.X, Screen.Y, 0xFFFFFFFF, FW1_RESTORESTATE | FW1_ALIASED);
- }
- }
- if (name.find(L"Motorbike") != std::string::npos)
- {
- if (!name.empty()) {
- pFontWrapper->DrawString(pContext, L"Motorbike", 14.f, Screen.X, Screen.Y, 0xFFFFFFFF, FW1_RESTORESTATE | FW1_ALIASED);
- }
- }
- if (name.find(L"AirDropPlane") != std::string::npos)
- {
- if (!name.empty()) {
- pFontWrapper->DrawString(pContext, L"AirDrop (PLANE)", 20.f, Screen.X, Screen.Y, 0xFF0000FF, FW1_RESTORESTATE | FW1_ALIASED);
- }
- }
- if (name.find(L"AirDropBox") != std::string::npos)
- {
- if (!name.empty()) {
- pFontWrapper->DrawString(pContext, L"AirDrop (BOX)", 20.f, Screen.X, Screen.Y, 0xFF0000FF, FW1_RESTORESTATE | FW1_ALIASED);
- }
- }
- }
- APawn * pawn = (APawn*)Actor;
- if (pawn != PlayerController->Pawn) {
- if (name == std::wstring(L"BP_PlayerPawnPC_C")) {
- if (!name.empty()) {
- /*pFontWrapper->DrawString(pContext, name.c_str(), 14.f, Screen.X, Screen.Y, 0xFFFFFFFF, FW1_RESTORESTATE);*/
- FVector Zero;
- auto Pawn = (APawn*)Actor;
- auto ActorCharacter = (ACharacter*)Actor;
- auto ActorMesh = ActorCharacter->Mesh;
- if (!ActorMesh)
- ActorMesh = ActorCharacter->Mesh;
- bool IsVisible = LineOfSightTo(PlayerController, Pawn, &Zero);
- bool ShouldNoDraw = espbox_visibleonly && !IsVisible;
- FVector Head;
- FVector Body;
- FVector Max;
- FVector Min;
- FVector Max2;
- FVector Min2;
- FVector Left;
- FVector Right;
- GetBoneLocation(ActorMesh, &Max, 6);
- GetBoneLocation(ActorMesh, &Min, 0);
- GetBoneLocation(ActorMesh, &Head, 6);
- GetBoneLocation(ActorMesh, &Body, 1);
- GetBoneLocation(ActorMesh, &Max2, 6);
- GetBoneLocation(ActorMesh, &Min2, 0);
- GetBoneLocation(ActorMesh, &Left, 35);
- GetBoneLocation(ActorMesh, &Right, 1);
- Max2.Z = Location.Z + (Max.Z - Min.Z) / 2;
- Min2.Z = Location.Z - (Max.Z - Min.Z) / 2;
- Left.X += 5;
- Right.X -= 5;
- /*FVector Offset = FVector(0 , 30, 0);*/
- FVector vecaim = GetAsyncKeyState(VK_SHIFT) ? Head : Body;
- FVector localPos = PlayerController->PlayerCameraManager->CameraCache.POV.Location;
- FRotator localRot = PlayerController->PlayerCameraManager->CameraCache.POV.Rotation;
- AController * Controller = (AController *)PlayerController;
- Aimbot::EvaluateTarget(Actor, vecaim, localPos, localRot);
- if (GetAsyncKeyState(aimbot_key) && aimbot_enable)
- {
- Aimbot::AimToTarget(localRot, Controller);
- }
- if (espskeleton_enable && !ShouldNoDraw) {
- Color clrt = IsVisible ? Color{ 0 , 1 , 0 , 1 } : Color{ 1 , 0 , 0 , 1 };
- DrawBone(ActorMesh, PlayerController, 6, 5, clrt);
- DrawBone(ActorMesh, PlayerController, 5, 11, clrt);
- DrawBone(ActorMesh, PlayerController, 11, 12, clrt);
- DrawBone(ActorMesh, PlayerController, 12, 13, clrt);
- DrawBone(ActorMesh, PlayerController, 13, 14, clrt);
- DrawBone(ActorMesh, PlayerController, 5, 32, clrt);
- DrawBone(ActorMesh, PlayerController, 32, 33, clrt);
- DrawBone(ActorMesh, PlayerController, 33, 34, clrt);
- DrawBone(ActorMesh, PlayerController, 34, 35, clrt);
- DrawBone(ActorMesh, PlayerController, 5, 4, clrt);
- DrawBone(ActorMesh, PlayerController, 4, 3, clrt);
- DrawBone(ActorMesh, PlayerController, 3, 2, clrt);
- DrawBone(ActorMesh, PlayerController, 2, 1, clrt);
- DrawBone(ActorMesh, PlayerController, 1, 53, clrt);
- DrawBone(ActorMesh, PlayerController, 53, 54, clrt);
- DrawBone(ActorMesh, PlayerController, 54, 55, clrt);
- DrawBone(ActorMesh, PlayerController, 1, 57, clrt);
- DrawBone(ActorMesh, PlayerController, 57, 58, clrt);
- DrawBone(ActorMesh, PlayerController, 58, 59, clrt);
- }
- if (WorldToScreen(PlayerController, Max2, &Head2D))
- {
- if (WorldToScreen(PlayerController, Min2, &Legs2D))
- {
- if (espbox_enable && !ShouldNoDraw) {
- //if (Settings.Visuals.bCornerBox) {
- // if (Settings.Visuals.bOutlineBox)
- // DrawCornerBoxDX(x - 1, y - 1, w + 2, h + 1, 3, 5, DXColor::Black());
- // DrawCornerBoxDX(x, y, w, h - 1, 3, 5, clrColor);
- //}
- //else
- //{
- // if (Settings.Visuals.bOutlineBox)
- // Render->render_Border(x - 1, y - 1, w + 2, h + 1, DXColor::Black());
- // Render->render_Border(x, y, w, h - 1, clrColor);
- /*float bWidth = ((Head2D.Y-Legs2D.Y) / 4);*/
- float H = Head2D.Y - Legs2D.Y;
- float W = (Head2D.Y - Legs2D.Y) / 2;
- float X = Screen.X - W / 2;
- float Y = Head2D.Y - H;
- if (espbox_3D) {
- FVector min2 = FVector(Location.X - (Max.Z - Min.Z) / 4, Location.Y - (Max.Z - Min.Z) / 4, Location.Z - (Max.Z - Min.Z) / 2);
- FVector max2 = FVector(Location.X + (Max.Z - Min.Z) / 4, Location.Y + (Max.Z - Min.Z) / 4, Location.Z + (Max.Z - Min.Z) / 2);
- FVector points[] = {
- FVector(min2.X, min2.Y, min2.Z),
- FVector(min2.X, max2.Y, min2.Z),
- FVector(max2.X, max2.Y, min2.Z),
- FVector(max2.X, min2.Y, min2.Z),
- FVector(min2.X, min2.Y, max2.Z),
- FVector(min2.X, max2.Y, max2.Z),
- FVector(max2.X, max2.Y, max2.Z),
- FVector(max2.X, min2.Y, max2.Z) };
- int edges[12][2] = { { 0, 1 },{ 1, 2 },{ 2, 3 },{ 3, 0 },
- { 4, 5 },{ 5, 6 },{ 6, 7 },{ 7, 4 },
- { 0, 4 },{ 1, 5 },{ 2, 6 },{ 3, 7 }, };
- for (auto it : edges)
- {
- FVector2 p1, p2;
- if (WorldToScreen(PlayerController, points[it[0]], &p1) && WorldToScreen(PlayerController, points[it[1]], &p2))
- renderer->drawLine(Vec2(p1.X, p1.Y), Vec2(p2.X, p2.Y), IsVisible ? Color{ 0 , 1 , 0 , 1 } : Color{ 1 , 0 , 0 , 1 });
- }
- }
- else
- {
- //renderer->drawLine(Vec2(Center.X - bWidth, Min.Y), Vec2(Center.X + bWidth, Min.Y), color);
- //renderer->drawLine(Vec2(Center.X - bWidth, Max.Y), Vec2(Center.X + bWidth, Max.Y), color);
- //renderer->drawLine(Vec2(Center.X - bWidth, Min.Y), Vec2(Center.X - bWidth, Max.Y), color);
- //renderer->drawLine(Vec2(Center.X + bWidth, Max.Y), Vec2(Center.X + bWidth, Min.Y), color);
- if (espboxcorner_enable) {
- if (espboxoutline_enable)
- DrawCornerBox(X - 1, Y - 1, W + 2, H + 1, 3, 5, Color{ 0 , 0 , 0 , 1 });
- DrawCornerBox(X, Y, W, H - 1, 3, 5, IsVisible ? Color{ 0 , 1 , 0 , 1 } : Color{ 1 , 0 , 0 , 1 });
- }
- else
- {
- if (espboxoutline_enable)
- renderer->drawOutlinedRect(Vec4(X - 1, Y - 1, W + 2, H + 1), 1.f, Color{ 0 , 0 , 0 , 1 }, Color{ 0, 0,0, 0 });
- renderer->drawOutlinedRect(Vec4(X, Y, W, H - 1), 1.f, IsVisible ? Color{ 0 , 1 , 0 , 1 } : Color{ 1 , 0 , 0 , 1 }, Color{ 0, 0,0, 0 });
- }
- }
- }
- }
- /*float h = Head2D.Y - Legs2D.Y;
- float w = h / (2 + 2 / 3); 160 60 40
- renderer->drawOutlinedRect(Vec4(Screen.X - w / 2, Screen.Y - h / 2 - 20, w, h + 20), 1.f, IsVisible ? Color{ 0 , 1 , 0 , 1 } : Color{ 1 , 0 , 0 , 1 }, Color{ 0, 0,0, 0.3f });*/
- }
- }
- }
- }
- else
- {
- if (RootComponent->ComponentVelocity.Z > 0 && GetAsyncKeyState(VK_SPACE) && GetAsyncKeyState(18))
- {
- pawn->bActorEnableCollision = !anticollision_enable;
- }
- else
- {
- pawn->bActorEnableCollision = 1;
- }
- /* std::wcout << Actor->f_Health() << std::endl;*/
- }
- }
- else
- {
- if (GetAsyncKeyState(18))
- {
- //static auto fn = UObject::FindObject<UFunction>("Function PlayerPawn_v2.PlayerPawn_v2_C.FixupThirdPersonCamera");
- //APlayerPawn_v2_C_FixupThirdPersonCamera_Params params;
- //params.AttachComponent = AttachComponent;
- //auto flags = fn->FunctionFlags;
- //UObject::ProcessEvent(fn, ¶ms);
- //fn->FunctionFlags = flags;
- /*auto ActorCharacter = (ACharacter*)PlayerController->Pawn;
- auto CharacterMovement = ActorCharacter->RootComponent->;*/
- /*CharacterMovement->MaxWalkSpeedCrouched = CharacterMovement->MaxWalkSpeed;*/
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- present
- ....
- render->begin();
- RenderScreen(pContext);
- render->end();
- ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement