Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.08 KB | None | 0 0
  1.  
  2. std::vector<Item> GetSlowAnimals() {
  3.  
  4.     std::vector<Item> ret;
  5.  
  6.     ULONG64 gTable;
  7.     DWORD Size;
  8.  
  9.     ULONG64 gEntity;
  10.     ULONG64 gEntityType;
  11.     ULONG64 gModelName;
  12.     ULONG64 gCleanName;
  13.     ULONG64 gVisualState;
  14.  
  15.     ReadMemory((ULONG64)(World + OFFSET_WORLD_SLOWANIMALTABLE), &gTable);
  16.     if (IsValid(gTable)) {
  17.         ReadMemory((ULONG64)(World + OFFSET_WORLD_SLOWANIMALTABLE + 0x8), &Size);
  18.         DWORD HasItem;
  19.         for (size_t i = 0; i < Size; i++) {
  20.  
  21.             ReadMemory((ULONG64)(gTable + (i * 0x18)), &HasItem);
  22.             if (HasItem == 1) {
  23.  
  24.                 Item item;
  25.                 ZeroMemory(item.name, sizeof(item.name));
  26.                 ZeroMemory(item.model, sizeof(item.model));
  27.  
  28.                 ReadMemory((ULONG64)((gTable + (i * 0x18) + 0x10)), &gEntity);
  29.                 ReadMemory((ULONG64)((gEntity + OFFSET_ENTITY_RENDERERVISUALSTATE)), &gVisualState);
  30.                 ReadMemory((ULONG64)((gVisualState + OFFSET_VISUALSTATE_POSITION)), &item.Position);
  31.  
  32.                 item.w2s = WorldToScreen(&VM, item.Position);
  33.                 if (item.w2s.z <= 0.0f)
  34.                     continue;
  35.  
  36.                 ReadMemory((ULONG64)((gEntity + OFFSET_ENTITY_RENDERERENTITYTYPE)), &gEntityType);
  37.                 ReadMemory((ULONG64)((gEntityType + OFFSET_ENTITYTYPE_MODELNAME)), &gModelName);
  38.                 ReadMemory((ULONG64)((gEntityType + OFFSET_ENTITYTYPE_CLEANNAME)), &gCleanName);
  39.  
  40.                 uint32_t modelSize;
  41.                 ReadMemory((ULONG64)(gModelName + 0x8), &modelSize);
  42.                 if (modelSize > 0) {
  43.                     ReadMemory((ULONG64)(gModelName + 0x10), &item.model);
  44.                 }
  45.                 else {
  46.                     continue;
  47.                 }
  48.  
  49.                 ReadMemory((ULONG64)(gCleanName + 0x8), &modelSize);
  50.                 if (modelSize > 0) {
  51.                     ReadMemory((ULONG64)(gCleanName + 0x10), &item.name);
  52.                     if (strncmp("$UNT$", item.name, 3) == 0) {
  53.                         std::string s(item.name);
  54.                         s.erase(0, 5);
  55.                         ZeroMemory(item.name, sizeof(item.name));
  56.                         CopyMemory(item.name, s.c_str(), s.size());
  57.                     }
  58.                     char *p = strchr(item.name, '\n');
  59.                     if (p != NULL) {
  60.                         *p = ' ';
  61.                     }
  62.                 }
  63.                 else {
  64.                     continue;
  65.                 }
  66.  
  67.                 if (strcmp(item.name, "Infected") == 0)
  68.                     continue;
  69.                 //if (modelSize == 0)
  70.                 //  continue;
  71.  
  72.                 ret.push_back(item);
  73.            
  74.             }
  75.         }
  76.     }
  77.    
  78.     return ret;
  79.  
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement