5 years ago
anti cheat idea?
only the seller of the computer can install the game and that game is linked to that computer and that oem. so only oem can install the game on the computer and if you don't have a oem install it yo...
@E9ine_ACi know they could change their pc, to hide it to make it look any way they wanted, but without the oem there is no other way in on pc.
maybe they would create multiple oem accounts when they change the hw id. maybe if they used windows but if there was some way to verify the hw without booting into windows, that might work. like a sw that starts during boot can go online and verify hw status.
this hw os sw program cannot be booted into from windows or the pc only online from the oem. this program reads the hw status and is what allows there to be accounts made. it could even be written in some exotic language so if tampered with it would make no sense to the hacker.
@gg123xyzthis code is a bit more complicated since the previous code was too crude.. the first example is bad because the Goblin class set is accessible from the unicorn class:
#include<iostream>
#include<string>
using namespace std;
class Creature
{
public:
Creature();
void SetName(string name);
string GetName();
private:
protected:
string Name;
};
class Goblin : private Creature
{
public:
Goblin();
void SetName(string name);
string GetName();
};
class Unicorn : private Creature
{
public:
Unicorn();
Goblin Gobby;
};
int main()
{
Goblin Gobby;
cout << Gobby.GetName() << endl;
Unicorn uni;
system("pause");
}
Creature::Creature()
{
cout << "A Creature has been created\n";
}
void Creature::SetName(string name)
{
Name = name;
}
string Creature::GetName()
{
return Name;
}
Goblin::Goblin()
{
SetName("Gobby");
}
void Goblin::SetName(string name)
{
Name = name;
}
string Goblin::GetName()
{
return Name;
}
Unicorn::Unicorn()
{
Gobby.SetName("Green Goblin");
cout << Gobby.GetName() << endl;
}
this second example is good because the Goblin Set is not accessible from the unicorn class:
#include<iostream>
#include<string>
using namespace std;
class Creature
{
public:
Creature();
void SetName(string name);
string GetName();
private:
protected:
string Name;
};
class Goblin : private Creature
{
public:
Goblin();
string GetName();
};
class Unicorn : private Creature
{
public:
Unicorn();
Goblin Gobby;
};
int main()
{
Goblin Gobby;
cout << Gobby.GetName() << endl;
Unicorn uni;
system("pause");
}
Creature::Creature()
{
cout << "A Creature has been created\n";
}
void Creature::SetName(string name)
{
Name = name;
}
string Creature::GetName()
{
return Name;
}
Goblin::Goblin()
{
SetName("Gobby");
}
string Goblin::GetName()
{
return Name;
}
Unicorn::Unicorn()
{
//Gobby.SetName("Green Goblin"); commented out because setname is inaccessible
SetName("Uni");
cout << Gobby.GetName() << endl;
cout << GetName() << endl;
}
#include<iostream>
#include<string>
using namespace std;
class Creature
{
public:
Creature();
virtual void SetName(string name);
virtual string GetName();
private:
protected:
string Name;
};
class Goblin : public Creature
{
public:
Goblin();
private:
virtual void SetName(string name) override;
virtual string GetName() override;
};
class Unicorn : public Creature
{
public:
Unicorn();
private:
virtual void SetName(string name) override;
virtual string GetName() override;
};
int main()
{
Creature* ptrToCreature = new Creature;
cout << "Creature object made\n\n";
Goblin* ptrToGoblin = new Goblin;
cout << "Goblin object made\n\n";
Unicorn* ptrToUnicorn = new Unicorn;
cout << "Unicorn object made\n\n";
Creature* ObjectArray[] = { ptrToCreature, ptrToGoblin, ptrToUnicorn};
cout << "ObjectArray object made\n\n";
ObjectArray[0]->SetName("Creature");
ObjectArray[1]->SetName("Goblin");
ObjectArray[2]->SetName("Unicorn");
cout << ObjectArray[0]->GetName() << endl;
cout << ObjectArray[1]->GetName() << endl;
cout << ObjectArray[2]->GetName() << endl;
delete ptrToCreature;
delete ptrToGoblin;
delete ptrToUnicorn;
system("pause");
}
Creature::Creature()
{
cout << "A Creature has been created\n";
}
void Creature::SetName(string name)
{
Name = name;
}
string Creature::GetName()
{
return Name + " dot";
}
Goblin::Goblin()
{
cout << "A Goblin has been created\n";
}
void Goblin::SetName(string name)
{
Name = name;
}
string Goblin::GetName()
{
return Name + " dot dot";
}
Unicorn::Unicorn()
{
cout << "A Unicorn has been created\n";
}
void Unicorn::SetName(string name)
{
Name = name;
}
string Unicorn::GetName()
{
return Name + " dot dot dot";
}
its to keep the players which is the goblin and unicorn unable to add or remove anything from each others class variables. the creature class is the server which acts to set and get from each players class.
After seeing a wall of text for a code:
On a serious note, if it would be that easy I'm pretty sure that the devs would've done that by now. Also there are no developers in this forum that could look at what you've posted. At this point I think the devs can't stop all the cheaters. They could at least lessen the cheating though.
i was happy not to write much code until i was told the code was too simple so i made it more complex. by a programmer.