You don't need to know the cores of C++.
You need to have a basic understanding on how functions work, and how to use certain values logically.
For example, a function like this:
Code:
int GetSum(int a, int b)
{
return a + b;
}
returns the sum of 2 numbers you passed in.
So for example, if you use that function like this:
Code:
if (GetSum(2, 5) > 5)
{
std::cout << "The sum of 2 and 5 ( 2 + 5 ) is above 5!" << std::endl;
}
else
{
std::cout << "The sum of 2 and 5 ( 2 + 5 ) is not above 5!" << std::endl;
}
You need to understand that return works as replacing. If you have an if statement like the above, what it ends up being is nothing else than
So return is pretty important to understand, and you have to be able to use this.
For example, you want to know if the LocalPlayer is on the ground (Yourself), you can use the GetFlags() function in the Class LocalPlayer (i removed the word Manager in the next update), and it will return you the specific value in Memory.
So you can use
Code:
if (LocalPlayer::GetFlags() == 1 || LocalPlayer::GetFlags() == 3 || LocalPlayer::GetFlags() == 5 || LocalPlayer::GetFlags() == 7) // I know, FL_ONGROUND would be better in this case, or LocalPlayer::GetFlags() == 1 | 3 | 5 | 7
{
// Jump
}
so make your own Bunnyhop.
You have to know the game to a fair amount and how return works.
If statements and while/for loops execute when a certain condition is met (true), so you also have to understand that
will be nothing else than
Code:
while ("Hi Mom" != "Im on TV")
or
These statements above are logically all the same, they are all true.
A is not B, and Hi Mom" is not "Im on TV", so these statements will be true.
So you don't have to know the cores of C++, you have to have a basic understanding on how C++ works, how the game works and how to use certain information logically.
To your second question:
main.cpp
Code:
#include <iostream>
int main()
{
std::cout << "Hello, i'm a string!" << std::endl;
return 0;
}
has a different signature than
main.cpp
Code:
#include <iostream>
int main()
{
std::cout << "Hello, i'm also string!" << std::endl;
return 0;
}
Why? Because the code itself is different.
If someone where to compile the first main.cpp with Visual Studio 2013, and someone else compiles the exact same code with Visual Studio 2013 aswell, with the same Project Settings, the Signature will be the same. If someone else takes a different Compiler and compiles this code, the Signature will be most likely different. Maybe not for such a small project, but for a larger project for sure.
Now, change things in the code, and the signature is different again.