Coder Social home page Coder Social logo

rollraw / qo0-csgo Goto Github PK

View Code? Open in Web Editor NEW
316.0 30.0 100.0 7.73 MB

internal cs:go cheat base/template

Home Page: https://www.unknowncheats.me/forum/cs-go-releases/585900-v2-qo0s-internal-cheat-base-template.html

License: MIT License

C++ 99.52% Lua 0.21% CMake 0.27%
base csgo cheat internal cpp20

qo0-csgo's Introduction

๐Ÿ‘พ about

qo0-csgo is a CS:GO game cheat base/template that was intended to be as a starting point to cheat making scene for beginners, it also implies that the end-user is quite familiar with the given programming language, namely C++/C. available under MIT License. it was designed to:

  • have a good, clean and simple file/code structure based on hybrid modular/functional paradigm.
  • have a unified code style. see code style.
  • be user-friendly, most of compile-time things end-user would like to tune is located in all-in-one configuration header file.
  • support most of the popular compilators, such as: MSVC, LLVM/Clang. also comes with code solution generators Premake and CMake configuration files. see project setup.
  • let end-user to make it absolutely self-containing, this means that STL is not longer used (except meta-programming and other call/run-time dependency free features) and not recommended but allowed for future use; implies CRT rebuild; ability to overload WinAPI to call externally; ability to overload memory allocators/deallocators.
  • have decent documentation and side notes with navigation. see hot words.
  • provide a useful game-reverse information to ease keep it updated.

๐Ÿ’ก common features

  • nice and lightweight graphical library used for drawings and user interface, powered by ImGui.
  • simple keyboard/mouse input system.
  • minimal overhead, thread-safe render system, powered by ImGui ImDrawList API.
  • structured, callback-based features manager. following hacks are implemented as basic example of base usage:
    • anti-aim, based on client-server angles desynchronization with animation correction to visuallize.
    • triggerbot, with auto wall feature implemented.
    • overlay, based on auto-positioning components system.
    • glow.
    • chams, based on custom material system to ease material overriding.
    • other, movement, fake-lag, etc.
  • game's console/networkable variables dumper with formatting.
  • extensive library for working with memory, with fast pattern search, virtual method tables search based on RTTI, etc.
  • fast, feature rich configuration manager, with automatic version adaptation algorithm, easist user type registration, single variables load/save/remove and so on. you can select one of customizable formatters. see extensions.
  • safe function hooking and return address spoofer of game's methods calls.
  • easy to use, STL-stream like file/console logging system.

the newest 2.0 version is more adapted to the latest VAC/VACnet and game updates generally, but this does not mean that it is completely safe to use "out of the box", rather a simplification for you to do this.

๐ŸŽฏ to do

currently it is still under development and there are major things that have already been done recently or planned to do in the future, arranged by priority. feel free to open an issue or pull request to speed up the process.

  • custom user types support for json/toml formatters
  • improve the animation correction
  • get rid of the CRT/STL completely
  • different hooking methods selectable by the extensions
  • improve safety against VAC/VACnet
  • merge to the new rendering/GUI library
  • thread-safe logging system and it's code refactor

๐Ÿ› ๏ธ getting started

the language standard requirement are c++20, means minimal supported compilator version is MSVC: 1.16.10; LLVM/Clang: 12.0, accordingly. the repository contains pre-built solution & project files for MSVC or can be auto-generated yourself with premake5.lua file by Premake utility, and CMakeLists.txt for CMake. the project is self-contained and doesn't require any third-party libraries to be compiled by default, but may vary regarding to user.h preferences.

โšก extensions

there are additional functionality, that can be enabled by editing the special user.h configuration file, which allows the user to customize string encryption, configuration file serializer/de-serializer (formatter) WIP; switching logging, return address spoofer; specify and override certain behavior, and so on.

๐Ÿ“„ code style

conditions are indexed by their priority, if a higher priority condition overrides condition with a lower priority, then first is preferred. root directory contains .editorconfig and .clang-format configuration files.

flow control

  1. when comparing an unknown value with a constant/keyword value, first must be on the left side of comparison.
if (flName < 0.0f || flName > M_PI)
  1. check for pointer validity shouldn't look like boolean check and must be compared explicitly with keyword.
if (pName != nullptr)
  1. check for result of expression when it may not be in range [0, 1] shouldn't look like a boolean check and must be compared explicitly.
if ((uName & 0xAF) != 0U)
if (iName < 0 || iName > 0)

literals

  • number literals:

    1. differentiate numbers use with lowercase hex/binary/exponent/binary-exponent literals.

     unsigned int uNameAddress = 0x1EE7;
     unsigned int uNameBits = 0b1100100;
     float flNamePower = 0x1p4f;

    2. specify number data type with UPPERCASE (except float, with lowercase) type literal.

     unsigned int uName = 0U;
     long lName = 0L;
     long long llName = 0LL;
     long double ldName = 0.0L;
     float flName = 0.0f;

    3. wrap long constant numbers with apostrophe literal.

     int iName = 2'147'483'648;
  • string literals

    1. wrap string that frequently contain code escapes with UPPERCASE raw string literal.

     std::string strName = R"(no new \n line)";

    2. specify string/character encoding with case-sensetive literal.

     wchar_t wName = L'\u2764';
     std::wstring wstrName = L"\u2764"s;
     char8_t uchName = u8'\u00AE';
     std::u8string ustrName = u8"\u2764"s;
     char16_t uchName = u'\u2764';
     std::u16string ustrName = u"\u2764"s;
     char32_t uchName = U'\U0010FFFF';
     std::u32string ustrName = U"\U0010FFFF"s;

    3. specify string type with custom literal.

     std::string strName = "string"s;
     std::string_view strName = "string"sv;

break

  1. line breaks must be LF (line feed, single '\n' character without carriage return '\r' character)
  2. braces with short aggregate initialization, short lambda expression can be on same line.
std::array<std::pair<int, float>> arrName{{ { 0, 0.0f } }};
FunctionName([&x](const auto& name) { return name.x > x; });
  1. each brace must be on it's own line, except when enclosed body are empty.
void Function()
{
	int iName = 0;
}

void EmptyFunction() { };
  1. one-line body statements, must be on new-line
if (bCondition)
	Function();

while (bCondition)
	Function();

for (int i = 0; i < n; i++)
	Function(i);

space

  1. must be placed after pointer/reference to align them on left side, except declarations of multiple variables.
void* pName = nullptr;
char *szNameFirst = nullptr, *szNameSecond = nullptr;
std::string& strName = "name";
std::string&& strName = "name";
  1. must be placed around assignment/ternary/binary but not unary/member operators.
iName = -iName;
uName = (uName & 0x2);
bName = (bName ? true : false);
  1. must be placed after keywords in control flow statements.
while (bName)
{
	if (bName)
		bName = !bName;
}
  1. must be placed between empty curve/square braces, such as list initialization, constructor with initializer list, lambda capture etc, but not aggregate initialization.
int iName = { };
std::array<std::pair<int, float>> arrName{{ { 0, 0.0f } }};

Name_t(const int iName) :
	iName(iName) { }

auto Name = [ ](int& nNameCount)
{
	nNameCount++;
};
  1. must be placed after comma and colon, except conditions when new line must be placed instead.
int iName = 0, iSecondName = 0;

class CDerived : IBase { };

Name_t(const int iName) :
	iName(iName) { }

macro

  1. arguments must be enclosed in parenthesis if they can be used as an expression.
#define Q_NAME(X) ((X) * 0.5f)
float flName = Q_NAME(5.0f - 8.0f);
  1. expression must be enclosed in parenthesis.
#define Q_NAME (-1)

comment

  • hot words:

    1. @todo: <explanation> - explains things to do/fix/improve in the future updates.

    2. @note: <info> - recommended information for the user to read.

    3. @test: [date] <reason> - explains things to test for some reason.

    4. @credits: <author> - credentials of the author of used/referenced code.

    5. @source: master/<path> - path to the following file of the VALVE Source SDK.

    6. @ida <full method/variable name if known> [inlined]: (method name of pattern source if known) <module> -> <pattern>

    • syntax:

      pattern itself are enclosed with quotes "" and represent found address.

      address enclosed with brackets [] represent it's dereference.

      address enclosed with parentheses () used to clarify sequence when it's unclear.

      address prefixed with U8/U16/U32/U64 or I8/I16/I32/I64 represent data type for the cast, if not specified, it's U32 by default.

      address prefixed with ABS represent conversion of relative address to absolute.

    7. @xref: (method name of reference source if known) <string/name> - reference to the following pattern.

    • syntax:

      reference by string are enclosed with quotes "".

      reference by name are enclosed with apostrophes ''.

  1. preferred to be in lowercase, except when extra attention is required.
  2. stylistic comments must be written in doxygen style, with spaces around colon.
  3. multi-line comments less than 5 lines must be written in C++ style (double-slash and triple-slash for stylistic), otherwise C style must be used (slash with asterisk and slash with double-asterisk for stylistic).

๐Ÿ”– naming conventions

conditions are sorted by their priority, if a higher priority condition overrides condition with a lower priority, it is preferred. we're prefer concrete and explicit definition over simplicity, but remain readability.

function

  1. function name must be written in PascalCase.
void FunctionName();

variable

  1. variable name must be written in camelCase and prefixed with hungarian notation of data type, if data type isn't specified nor based on STL/WinAPI data type, then lowerCamelCase is used.
    • pointer:

      1. if the variable supposed to be a handle of any data type, prefix with 'h' overriding any other prefix.

       HANDLE hName = nullptr;

      2. if the variable is a function argument and supposed to be used as output, prefix with 'p' and append the variable's data type if specified.

       void Function(unsigned int* puOutput);

      3. if none of the conditions are met, prefix with 'p' overriding any other data type prefix.

       std::uint32_t* pName = &uAddress;
    • function:

      1. no additional conditions.

       void Function();
    • container:

      1. fixed-size C/C++/STL massive variable must be prefixed with 'arr'.

       char arrName[20] = { };
       std::array<char, 20U> arrName = { };

      2. varying-size C/C++/STL container variable must be prefixed with 'vec'.

       int* vecName = malloc(nSize);
       int* vecName = new int[nSize];
       std::vector<int> vecName = { };
    • boolean:

      1. no additional conditions.

       bool bName = false;
    • integer:

      1. if the variable supposed to indicate index/count/size/mode/type, prefix becomes 'n' regardless the data type.

       std::ptrdiff_t nNameIndex = arrName.find(...);
       std::size_t nNameSize = arrName.size();
       std::ptrdiff_t nNameCount = arrName.size() - arrInvalidName.size();
       ENameMode nNameMode = NAME_MODE_FIRST;

      2. if the variable is unsigned, prefix becomes 'u' regardless the data type, except long qualifiers, where it must be appended instead.

       std::uint8_t uNameByte = 0U;
       std::uint16_t uNameShort = 0U;
       std::uint32_t uNameInt = 0U;
       std::uint64_t ullNameLongLongInt = 0ULL;

      3. if none of the conditions are met.

       char chName;
       short shName;
       int iName;
       long long llName;
    • floating point:

      1. no additional conditions.

       float flName = 0.0f;
       double dName = 0.0;
       long double ldName = 0.0L;
    • string:

      1. if the variable is a single character.

       char chName = '\0';
       wchar_t wName = L'\000';
       char8_t uchName = u8'\u0000';
       char16_t uchName = u'\u0000';
       char32_t uchName = U'\U00000000';

      2. if the variable a zero-terminated string it must be prefixed with 'sz' and safe wrapped string variables with 'str'.

       const char* szName = "";
       std::string strName = ""s;

      3. if the variable have character type wchar_t, char8_t, char16_t, char32_t it must append string type to the prefix, other character types don't affect the prefix.

       const wchar_t* wszName = L"Example";
       const char8_t* uszName = u8"Example";
       const char16_t* uszName = u"Example";
       const char32_t* uszName = U"Example";
       std::wstring wstrName = L"Example"s;
       std::u8string ustrName = u8"Example"s;
       std::u16string ustrName = u"Example"s;
       std::u32string ustrName = U"Example"s;
    • other:

      1. if the data type of the variable is part of the STL.

       std::filesystem::path pathName = { };
       std::ifstream ifsName = { };
       std::ofstream ofsName = { };

      2. if the data type of the variable is part of the WinAPI.

       DWORD dwName = 0UL;
       WORD wName = 0U;
       BYTE dName = 0U;
       WPARAM wName = 0U;
       LPARAM lName = 0L;
       HRESULT hName = 0L;
       LRESULT lName = 0L;
  2. if variable defined as auto type, and final type is known, it still requires to include hungarian notation.
auto iName = 0;
  1. if none of the conditions are met, then hungarian notation is redundant.
Unknown_t unknownName = { };

structure

  1. must be suffixed with '_t' to specify that it's an structure.
struct Name_t;

class

  1. if class is interface (have virtual table and doesn't have variables), then it must be prefixed with 'I'.
class IName;
  1. must be prefixed with 'C' to specify that it's an class.
class CName;

enumeration

  1. must be prefixed with 'E' to specify that it's an enumeration.
enum EName : int { };

namespace

  1. if the namespace is part of a particular module, then it must be named by at least one letter of the module name.

font.h

namespace F;

macro

  1. the name must be written in UPPER_SNAKE_CASE.
#define Q_NAME
  1. if the macro is defined in a particular module/header, then it must be prefixed with at least one letter of the module/header name.

math.h

#define M_NAME
  1. arguments must be written in UPPER_SNAKE_CASE.
#define Q_STRINGIFY(PLAIN_NAME) #PLAIN_NAME

qo0-csgo's People

Contributors

bmbkr avatar bruhmoment21 avatar imshyy avatar interwebxplorer avatar lanylow avatar maecry avatar rollraw avatar rxvan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qo0-csgo's Issues

Netvar manager rework

Could rework the netvar manager to use macros instead of grabbing everything at the start,
It'd make adding other netvar way easier

yo man i like the idea

but if ur gonna call it a base u gotta remove some of the features all it needs is esp and then u can call it a base

Observer Target nullptr all the time

Yeah trying to do a speclist but observertarget is always nullptr

`
auto Handle = pBaseEntity->GetObserverTarget();

	const auto Observer = I::ClientEntityList->Get<CBaseEntity>(Handle);

	if (!Observer) {
		I::ConVar->ConsolePrintf("Nullptr \n");
		continue;
	}`

crash

its crashes after selecting the misc tab

Need help

Hey qo0, I need some big help regarding this base, what is your discord? I can't find it anywhere. Thanks!

Instant crash on injection

I have no idea why i'm crashing. So fast as i inject I crash. I don't get a chance to open menu, no nothing. I instantly crash. No idea if there is something i did wrong? But I doubt. didn't change anything in the source before I compiled. I tried a debug build, this time i didn't crash but I can't see the menu... I press home and I can tell the menu is open(Because I can't click on settings ect in csgo) But it doesn't seem to render... Sorry for this stupid question but i'm new to this... I really just want to make a simple legit cheat for me and some friends. Any help is appreciated. Btw, using process hacker to inject. tried some other injectors but had the same issue.

crash when injecting

I have a big problem when injecting, I passed it on to some friends and some managed it and others didn't, could you check something that is crashing our csgo when injecting? Thank you you are awesome!

IGameEvent

Hello, IGameEvent class is not correct it's missing some stuff.

GetTextSize() crashing

hi everyone, i'm trying to call getTextSize in a function that will make the result into a pair like so
auto TextSize(unsigned font, const wchar_t* text) { int width = 0, height = 0; GetTextSize(font, text, std::ref(width), std::ref(height)); return std::make_pair(width, height); }
i always get an exception when it's called and my game crashes, my gettextsize function in ISurface is still normal so idk what the problem is
void GetTextSize(HFont hFont, const wchar_t* wText, int& iWide, int& iTall) { MEM::CallVFunc<void>(this, 79, hFont, wText, iWide, iTall); }
any ideas?

Cringe

Um, yea so.
This base is hardcore cringe, filled with outdated information/texts and using a detected hooking method.
Why would you even release a pile of trash like this into the wild.
You "removed" every possible feature there might be and just left basically empty source/header files behind.
Theres even 2018 fake angle code in your Anti Aim CPP file while there isnt even a glimps of a ragebot.

This has to be a joke + a bad one.

Menu Color

Where do I change the color of the menu?

prediction not running

When I join straight onto a match without joining a bot game first prediction wont run at all and I am having an issue where prediction will randomly just stop any help pls?

autowall not working thru walls

I am trying to make an autowall triggerbot as well as ragebot, but autowall does not work through walls, it works perfectly in the open but as soon as there is the thinnest peice of wall, it does not work

Not an issue, big apologies

I really just wanted to say mad props to you, this is such an awesome base and I wish it got more views. You're a very good developer and I hope you can continue this! Sorry for making this "issue" but I thought maybe you would want to hear this :) Continue the awesome work!
nicejobman

thirdperson/esp

i cant seem to toggle thirdperson at all, second is the esp, sometimes it dosent render on a player or two and im not sure why

triggerBot error

when autowall is enable it only shoots when on head even if filtered others

Menu button

where do i change the menu button? my friend deoesnt have the home button

cant see anti aim on thirdperson

When i enable anti aim and choose any pitch i can see the pitch changed in (sv_showlagcompensation 1; sv_lagcompensateself 1)
but my angle in thirdperson doesnt change

Config system broken

i ve created a config, saved and restarted the game, after that i ve tried to load the config and nothing happened

aimbot

can you add aimbot please? and ragebot?

cannot open input file d3dx9.lib

Hey there,

I'm trying to build the solution, and it doesn't seem to work, I tried x86 and x64, and everything passes but I just get the error "cannot open input file d3dx9.lib"
I did delete the "#include <d3dx9.h>" in common.h, but the reason I did that is cause normally when I just installed your base and all the files and I built it without changing anything it gave me like 27 or 28 errors in ever .cpp file and errors such as "cannot open source file "d3dx9.h"" and Cannot open include file: 'd3dx9.h': No such file or directory (compiling source file features\resolver.cpp) and same error for every other .cpp file. Could you help me with building it?

Failed to initialize netvars

Hello,

First, I need to thanks you for this amazing project ! :) I'm learning since 1 week and it will help me a lot !

But once I built it, injected into CSGO, I got "failed to initialize netvars".

		// version check to know when u need to fix something
		#if ACRONIX_CONSOLE
		if (FNV1A_t uVersionHash = FNV1A::Hash(I::Engine->GetProductVersionString()); uVersionHash != FNV1A::HashConst("1.37.0.3"))
		{
			L::PushConsoleColor(FOREGROUND_RED | FOREGROUND_YELLOW);
			L::Print(fmt::format(XorStr("[warning] version doesnt match! current cs:go version: {}"), I::Engine->GetProductVersionString()));
			L::PopConsoleColor();
		}
		#endif

		/*
		 * fill networkable variables map
		 * dump received netvars to the file
		 */
		if (!CNetvarManager::Get().Setup(XorStr("netvars.qo0")))
			throw std::runtime_error(XorStr("failed to initialize netvars"));

Autowall returning wrong damage

So i am in the process of making a very simplified ragebot for matchmaking but when i used the GetDamage function from the autowall it returns a completely wrong number

`float CRageBot::GetBestHitboxPos(CBaseEntity* pLocal, CBaseEntity* Target,Vector& Hitbox) {
float flHigherDamage = 0.f;

Vector BestHitBox;

static int hitboxesLoop[] =
{
	HITBOX_HEAD,
	HITBOX_PELVIS,
	HITBOX_UPPER_CHEST,
	HITBOX_CHEST,
	HITBOX_NECK,
	HITBOX_LEFT_FOREARM,
	HITBOX_RIGHT_FOREARM,
	HITBOX_RIGHT_HAND,
	HITBOX_LEFT_THIGH,
	HITBOX_RIGHT_THIGH,
	HITBOX_LEFT_CALF,
	HITBOX_RIGHT_CALF,
	HITBOX_LEFT_FOOT,
	HITBOX_RIGHT_FOOT
};

int loopSize = ARRAYSIZE(hitboxesLoop);
for (int i = 0; i < loopSize; ++i)
{
	Vector HitBoxPos = Target->GetHitboxPosition(hitboxesLoop[i]);

	FireBulletData_t dataOut;
	float WrongDamage = CAutoWall::Get().GetDamage(pLocal,HitBoxPos,&dataOut);
	//WrongDamage = returns 0 all the time

	if (!dataOut.flCurrentDamage)
		continue;

	if (dataOut.flCurrentDamage > flHigherDamage)
	{
		flHigherDamage = dataOut.flCurrentDamage;
		Hitbox = HitBoxPos;
	}
}
return flHigherDamage;

}`

The damage it returns, btw at the time of the picture i was only using head hitbox instead of a hitbox loop

Sem Tรญtulo

Error

Hello, can you help me please with one error?
unknown
unknown-1

Adding c structs to the config system.

After a bit of trial and error i didn't come to an solution.

Is it possible to add an c struct into the config system?
Saving the content works, but i did not found a way to load it.
The struct:

KeyBind_t
{
int iKey = 0;
int iMode = 0;
bool bEnable = false;
}

How i save:

case FNV1A::HashConst("KeyBind_t"):
		{
			nlohmann::json sub;
			auto KeyBindVariables = variable.Get<KeyBind_t>();

			sub.push_back(KeyBindVariables.iKey);
			sub.push_back(KeyBindVariables.iMode);
			sub.push_back(KeyBindVariables.bEnable);

			entry[XorStr("value")] = sub.dump();
			break;
		}

Add ImGui.

Hello friend, I really liked the Base, but in my vision using ImGui would be a great advance in the project.

autostrafe problem

If you enable bhop and autostrafer and start jumping forward you will notice that it's going to the right same without anti aim or anything

Viewmodel glow chams break after map change

Possibly a me only issue or something I have changed on the CS:GO settings but on map change or maybe even a server change, haven't exactly checked, glow chams just turn into white flat chams.

Support for manual mapping

Tried to inject via manual map, couldn't seem to work. Native injection has no problems. Will there be support for manual mapping soon?

Features

Hello,
not all options work properly for me, do you have the same problem ?
Have a good day

I pay

how much would you charge to develop an aimbot?

menu color

how to change menu color? where i find

can't get post engine prediction flags

this is how i'm getting pre and post engine prediction flags:

	int iPreFlags = pLocal->GetFlags();

	/*
	 * CL_RunPrediction
	 * correct prediction when framerate is lower than tickrate
	 * https://github.com/VSES/SourceEngine2007/blob/master/se2007/engine/cl_pred.cpp#L41
	 */
	if (I::ClientState->iDeltaTick > 0)
		I::Prediction->Update(I::ClientState->iDeltaTick, I::ClientState->iDeltaTick > 0, I::ClientState->iLastCommandAck, I::ClientState->iLastOutgoingCommand + I::ClientState->nChokedCommands);

	CPrediction::Get().Start(pCmd, pLocal);
	{
		int iPostFlags = pLocal->GetFlags();

		CMiscellaneous::Get().Test(pCmd, iPreFlags, iPostFlags);

that test function does this:

void CMiscellaneous::Test(CUserCmd* pCmd, int iPreFlags, int iPostFlags)
{	
	if (iPreFlags & FL_ONGROUND)
	{
		L::PushConsoleColor(FOREGROUND_RED);
		L::Print(XorStr("PREFLAGS: ONGROUND"));
	}
	else if (!(iPreFlags & FL_ONGROUND))
	{
		L::PushConsoleColor(FOREGROUND_GREEN);
		L::Print(XorStr("PREFLAGS: ONAIR"));
	}

	if (iPostFlags & FL_ONGROUND)
	{
		L::PushConsoleColor(FOREGROUND_RED);
		L::Print(XorStr("POSTFLAGS: ONGROUND"));
	}
	else if (!(iPostFlags & FL_ONGROUND))
	{
		L::PushConsoleColor(FOREGROUND_GREEN);
		L::Print(XorStr("POSTFLAGS: ONAIR"));
	}
}

here's an example of what it looks like:
image

as you can see, post and pre engine prediction flags update at the same time, even tho post should update 1 tick before pre.

Compile Error

I have directx sdk and c++ redistributables like it requires, and it give me this error
image
I'm not sure how to fix this and any help would be appreciated.
I've tried compiling in release and debug, they both give the same error seen above.
I'm using windows SDK version 10.0.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.