Advertisement
Guest User

Untitled

a guest
Feb 16th, 2019
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.13 KB | None | 0 0
  1. void RenderScreen( ID3D11DeviceContext* pContext )
  2. {
  3. static auto Image = reinterpret_cast< std::uintptr_t >( GetModuleHandleW( nullptr ) );
  4.  
  5. auto World = *( UWorld** )( Image + OFFS_UWORLD );
  6. Aimbot::BeginFrame();
  7. if (World)
  8. {
  9. auto OwningGameInstance = World->OwningGameInstance;
  10.  
  11. if (OwningGameInstance)
  12. {
  13. auto LocalPlayer = OwningGameInstance->LocalPlayers[0];
  14.  
  15. if (LocalPlayer)
  16. {
  17. auto ViewportClient = LocalPlayer->ViewportClient;
  18.  
  19. if (ViewportClient)
  20. {
  21. World = ViewportClient->World;
  22.  
  23. if (World)
  24. {
  25. auto PlayerController = LocalPlayer->PlayerController;
  26.  
  27. /*PlayerController->AcknowledgedPawn->bBlockInput = bMenuOpened;*/
  28.  
  29. if (PlayerController)
  30. {
  31. auto PersistentLevel = World->PersistentLevel;
  32.  
  33. if (PersistentLevel)
  34. {
  35. auto Actors = PersistentLevel->Actors;
  36.  
  37. for (auto Index = 0; Index < Actors.Num(); Index++)
  38. {
  39. if (!Actors.IsValidIndex(Index))
  40. continue;
  41.  
  42. auto Actor = Actors[Index];// *( AActor** )Actors[ Index ];
  43.  
  44. if (!Actor)
  45. continue;
  46.  
  47. auto RootComponent = Actor->RootComponent;
  48.  
  49. if (!RootComponent)
  50. continue;
  51.  
  52. //auto Character = PlayerController->Character;
  53. //if (!Character)
  54. // continue;
  55.  
  56. auto Location = RootComponent->RelativeLocation;
  57. FVector2 Screen = {};
  58. FVector2 Head2D = {};
  59. FVector2 Legs2D = {};
  60. FVector2 RHand2D = {};
  61. FVector2 LHand2D = {};
  62. if (WorldToScreen(PlayerController, Location, &Screen))
  63. {
  64. auto name = ToWString(Actor->Name.GetName());
  65. if (GetAsyncKeyState(VK_NUMPAD0))
  66. {
  67. if (!name.empty()) {
  68. pFontWrapper->DrawString(pContext, name.c_str(), 14.f, Screen.X, Screen.Y, 0xFFFFFFFF, FW1_RESTORESTATE);
  69. }
  70. }
  71. bInLobby = name.find(L"Lobby") != std::string::npos;
  72. if (!bInLobby) {
  73. if (espcars) {
  74. if (name.find(L"Buggy") != std::string::npos)
  75. {
  76. if (!name.empty()) {
  77. pFontWrapper->DrawString(pContext, L"Buggy", 14.f, Screen.X, Screen.Y, 0xFFFFFFFF, FW1_RESTORESTATE | FW1_ALIASED);
  78. }
  79. }
  80. if (name.find(L"UAZ") != std::string::npos)
  81. {
  82. if (!name.empty()) {
  83. pFontWrapper->DrawString(pContext, L"UAZ", 14.f, Screen.X, Screen.Y, 0xFFFFFFFF, FW1_RESTORESTATE | FW1_ALIASED);
  84. }
  85. }
  86. if (name.find(L"MiniBus") != std::string::npos)
  87. {
  88. if (!name.empty()) {
  89. pFontWrapper->DrawString(pContext, L"MiniBus", 14.f, Screen.X, Screen.Y, 0xFFFFFFFF, FW1_RESTORESTATE | FW1_ALIASED);
  90. }
  91. }
  92. if (name.find(L"PickUp_02_") != std::string::npos)
  93. {
  94. if (!name.empty()) {
  95. pFontWrapper->DrawString(pContext, L"PickUp", 14.f, Screen.X, Screen.Y, 0xFFFFFFFF, FW1_RESTORESTATE | FW1_ALIASED);
  96. }
  97. }
  98. if (name.find(L"Dacia") != std::string::npos)
  99. {
  100. if (!name.empty()) {
  101. pFontWrapper->DrawString(pContext, L"Dacia", 14.f, Screen.X, Screen.Y, 0xFFFFFFFF, FW1_RESTORESTATE | FW1_ALIASED);
  102. }
  103. }
  104. if (name.find(L"Motorbike") != std::string::npos)
  105. {
  106. if (!name.empty()) {
  107. pFontWrapper->DrawString(pContext, L"Motorbike", 14.f, Screen.X, Screen.Y, 0xFFFFFFFF, FW1_RESTORESTATE | FW1_ALIASED);
  108. }
  109. }
  110. if (name.find(L"AirDropPlane") != std::string::npos)
  111. {
  112. if (!name.empty()) {
  113. pFontWrapper->DrawString(pContext, L"AirDrop (PLANE)", 20.f, Screen.X, Screen.Y, 0xFF0000FF, FW1_RESTORESTATE | FW1_ALIASED);
  114. }
  115. }
  116. if (name.find(L"AirDropBox") != std::string::npos)
  117. {
  118. if (!name.empty()) {
  119. pFontWrapper->DrawString(pContext, L"AirDrop (BOX)", 20.f, Screen.X, Screen.Y, 0xFF0000FF, FW1_RESTORESTATE | FW1_ALIASED);
  120. }
  121. }
  122. }
  123. APawn * pawn = (APawn*)Actor;
  124. if (pawn != PlayerController->Pawn) {
  125. if (name == std::wstring(L"BP_PlayerPawnPC_C")) {
  126. if (!name.empty()) {
  127. /*pFontWrapper->DrawString(pContext, name.c_str(), 14.f, Screen.X, Screen.Y, 0xFFFFFFFF, FW1_RESTORESTATE);*/
  128.  
  129. FVector Zero;
  130. auto Pawn = (APawn*)Actor;
  131. auto ActorCharacter = (ACharacter*)Actor;
  132. auto ActorMesh = ActorCharacter->Mesh;
  133. if (!ActorMesh)
  134. ActorMesh = ActorCharacter->Mesh;
  135. bool IsVisible = LineOfSightTo(PlayerController, Pawn, &Zero);
  136. bool ShouldNoDraw = espbox_visibleonly && !IsVisible;
  137. FVector Head;
  138. FVector Body;
  139. FVector Max;
  140. FVector Min;
  141.  
  142. FVector Max2;
  143. FVector Min2;
  144.  
  145.  
  146. FVector Left;
  147. FVector Right;
  148.  
  149. GetBoneLocation(ActorMesh, &Max, 6);
  150. GetBoneLocation(ActorMesh, &Min, 0);
  151. GetBoneLocation(ActorMesh, &Head, 6);
  152. GetBoneLocation(ActorMesh, &Body, 1);
  153.  
  154. GetBoneLocation(ActorMesh, &Max2, 6);
  155. GetBoneLocation(ActorMesh, &Min2, 0);
  156.  
  157. GetBoneLocation(ActorMesh, &Left, 35);
  158. GetBoneLocation(ActorMesh, &Right, 1);
  159.  
  160. Max2.Z = Location.Z + (Max.Z - Min.Z) / 2;
  161. Min2.Z = Location.Z - (Max.Z - Min.Z) / 2;
  162.  
  163. Left.X += 5;
  164. Right.X -= 5;
  165. /*FVector Offset = FVector(0 , 30, 0);*/
  166. FVector vecaim = GetAsyncKeyState(VK_SHIFT) ? Head : Body;
  167. FVector localPos = PlayerController->PlayerCameraManager->CameraCache.POV.Location;
  168. FRotator localRot = PlayerController->PlayerCameraManager->CameraCache.POV.Rotation;
  169. AController * Controller = (AController *)PlayerController;
  170. Aimbot::EvaluateTarget(Actor, vecaim, localPos, localRot);
  171.  
  172. if (GetAsyncKeyState(aimbot_key) && aimbot_enable)
  173. {
  174. Aimbot::AimToTarget(localRot, Controller);
  175. }
  176. if (espskeleton_enable && !ShouldNoDraw) {
  177. Color clrt = IsVisible ? Color{ 0 , 1 , 0 , 1 } : Color{ 1 , 0 , 0 , 1 };
  178. DrawBone(ActorMesh, PlayerController, 6, 5, clrt);
  179. DrawBone(ActorMesh, PlayerController, 5, 11, clrt);
  180. DrawBone(ActorMesh, PlayerController, 11, 12, clrt);
  181. DrawBone(ActorMesh, PlayerController, 12, 13, clrt);
  182. DrawBone(ActorMesh, PlayerController, 13, 14, clrt);
  183.  
  184. DrawBone(ActorMesh, PlayerController, 5, 32, clrt);
  185. DrawBone(ActorMesh, PlayerController, 32, 33, clrt);
  186. DrawBone(ActorMesh, PlayerController, 33, 34, clrt);
  187. DrawBone(ActorMesh, PlayerController, 34, 35, clrt);
  188.  
  189. DrawBone(ActorMesh, PlayerController, 5, 4, clrt);
  190. DrawBone(ActorMesh, PlayerController, 4, 3, clrt);
  191. DrawBone(ActorMesh, PlayerController, 3, 2, clrt);
  192. DrawBone(ActorMesh, PlayerController, 2, 1, clrt);
  193.  
  194. DrawBone(ActorMesh, PlayerController, 1, 53, clrt);
  195. DrawBone(ActorMesh, PlayerController, 53, 54, clrt);
  196. DrawBone(ActorMesh, PlayerController, 54, 55, clrt);
  197.  
  198. DrawBone(ActorMesh, PlayerController, 1, 57, clrt);
  199. DrawBone(ActorMesh, PlayerController, 57, 58, clrt);
  200. DrawBone(ActorMesh, PlayerController, 58, 59, clrt);
  201. }
  202. if (WorldToScreen(PlayerController, Max2, &Head2D))
  203. {
  204. if (WorldToScreen(PlayerController, Min2, &Legs2D))
  205. {
  206. if (espbox_enable && !ShouldNoDraw) {
  207. //if (Settings.Visuals.bCornerBox) {
  208. // if (Settings.Visuals.bOutlineBox)
  209. // DrawCornerBoxDX(x - 1, y - 1, w + 2, h + 1, 3, 5, DXColor::Black());
  210. // DrawCornerBoxDX(x, y, w, h - 1, 3, 5, clrColor);
  211. //}
  212. //else
  213. //{
  214. // if (Settings.Visuals.bOutlineBox)
  215. // Render->render_Border(x - 1, y - 1, w + 2, h + 1, DXColor::Black());
  216. // Render->render_Border(x, y, w, h - 1, clrColor);
  217.  
  218. /*float bWidth = ((Head2D.Y-Legs2D.Y) / 4);*/
  219.  
  220.  
  221. float H = Head2D.Y - Legs2D.Y;
  222. float W = (Head2D.Y - Legs2D.Y) / 2;
  223. float X = Screen.X - W / 2;
  224. float Y = Head2D.Y - H;
  225.  
  226. if (espbox_3D) {
  227. FVector min2 = FVector(Location.X - (Max.Z - Min.Z) / 4, Location.Y - (Max.Z - Min.Z) / 4, Location.Z - (Max.Z - Min.Z) / 2);
  228. FVector max2 = FVector(Location.X + (Max.Z - Min.Z) / 4, Location.Y + (Max.Z - Min.Z) / 4, Location.Z + (Max.Z - Min.Z) / 2);
  229.  
  230. FVector points[] = {
  231. FVector(min2.X, min2.Y, min2.Z),
  232. FVector(min2.X, max2.Y, min2.Z),
  233. FVector(max2.X, max2.Y, min2.Z),
  234. FVector(max2.X, min2.Y, min2.Z),
  235. FVector(min2.X, min2.Y, max2.Z),
  236. FVector(min2.X, max2.Y, max2.Z),
  237. FVector(max2.X, max2.Y, max2.Z),
  238. FVector(max2.X, min2.Y, max2.Z) };
  239.  
  240. int edges[12][2] = { { 0, 1 },{ 1, 2 },{ 2, 3 },{ 3, 0 },
  241. { 4, 5 },{ 5, 6 },{ 6, 7 },{ 7, 4 },
  242. { 0, 4 },{ 1, 5 },{ 2, 6 },{ 3, 7 }, };
  243.  
  244. for (auto it : edges)
  245. {
  246. FVector2 p1, p2;
  247. if (WorldToScreen(PlayerController, points[it[0]], &p1) && WorldToScreen(PlayerController, points[it[1]], &p2))
  248. renderer->drawLine(Vec2(p1.X, p1.Y), Vec2(p2.X, p2.Y), IsVisible ? Color{ 0 , 1 , 0 , 1 } : Color{ 1 , 0 , 0 , 1 });
  249. }
  250. }
  251. else
  252. {
  253. //renderer->drawLine(Vec2(Center.X - bWidth, Min.Y), Vec2(Center.X + bWidth, Min.Y), color);
  254. //renderer->drawLine(Vec2(Center.X - bWidth, Max.Y), Vec2(Center.X + bWidth, Max.Y), color);
  255. //renderer->drawLine(Vec2(Center.X - bWidth, Min.Y), Vec2(Center.X - bWidth, Max.Y), color);
  256. //renderer->drawLine(Vec2(Center.X + bWidth, Max.Y), Vec2(Center.X + bWidth, Min.Y), color);
  257. if (espboxcorner_enable) {
  258. if (espboxoutline_enable)
  259. DrawCornerBox(X - 1, Y - 1, W + 2, H + 1, 3, 5, Color{ 0 , 0 , 0 , 1 });
  260. DrawCornerBox(X, Y, W, H - 1, 3, 5, IsVisible ? Color{ 0 , 1 , 0 , 1 } : Color{ 1 , 0 , 0 , 1 });
  261. }
  262. else
  263. {
  264. if (espboxoutline_enable)
  265. renderer->drawOutlinedRect(Vec4(X - 1, Y - 1, W + 2, H + 1), 1.f, Color{ 0 , 0 , 0 , 1 }, Color{ 0, 0,0, 0 });
  266. 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 });
  267. }
  268. }
  269. }
  270. }
  271.  
  272. /*float h = Head2D.Y - Legs2D.Y;
  273. float w = h / (2 + 2 / 3); 160 60 40
  274. 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 });*/
  275. }
  276. }
  277. }
  278. }
  279. else
  280. {
  281.  
  282. if (RootComponent->ComponentVelocity.Z > 0 && GetAsyncKeyState(VK_SPACE) && GetAsyncKeyState(18))
  283. {
  284. pawn->bActorEnableCollision = !anticollision_enable;
  285. }
  286. else
  287. {
  288. pawn->bActorEnableCollision = 1;
  289. }
  290.  
  291.  
  292. /* std::wcout << Actor->f_Health() << std::endl;*/
  293.  
  294. }
  295. }
  296. else
  297. {
  298.  
  299. if (GetAsyncKeyState(18))
  300. {
  301. //static auto fn = UObject::FindObject<UFunction>("Function PlayerPawn_v2.PlayerPawn_v2_C.FixupThirdPersonCamera");
  302.  
  303. //APlayerPawn_v2_C_FixupThirdPersonCamera_Params params;
  304. //params.AttachComponent = AttachComponent;
  305.  
  306. //auto flags = fn->FunctionFlags;
  307.  
  308. //UObject::ProcessEvent(fn, &params);
  309.  
  310. //fn->FunctionFlags = flags;
  311. /*auto ActorCharacter = (ACharacter*)PlayerController->Pawn;
  312. auto CharacterMovement = ActorCharacter->RootComponent->;*/
  313.  
  314. /*CharacterMovement->MaxWalkSpeedCrouched = CharacterMovement->MaxWalkSpeed;*/
  315.  
  316.  
  317.  
  318. }
  319. }
  320. }
  321. }
  322. }
  323. }
  324. }
  325. }
  326. }
  327. }
  328. }
  329. }
  330.  
  331. present
  332. ....
  333. render->begin();
  334. RenderScreen(pContext);
  335. render->end();
  336. ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement