Forum Discussion

gg123xyz's avatar
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 you can't play this way the psn can install it and companies like dell and hp, but not do it yourself.

this way when the computer gets charged with hacking you can't switch hw id you need the oem. no oem no game.

and the oem is sent a record that you cheated and might not resell you a computer with the game. so your banned totally, and have to play on your mum or dads pc and if you ruin it on them they get a record that can affect their job and credentials.

36 Replies

  • @gg123xyz 

    #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.

  • @gg123xyz here's another example. this time including dynamic cast. its to separate the users classes' from each other so they don't tamper with each other classes.



    #include<iostream>
    #include<string>
    using namespace std;

    class Creature
    {
    public:
        Creature();

        virtual void SetName(string name);
        virtual string GetName();

        virtual void ObjectFunction()
        {
            cout << "ObjectFunction called. ";
        }

    private:
        
    protected:
        string Name;
    };

    class Goblin : public Creature
    {
    public:
        Goblin();
    private:
        virtual void SetName(string name) override;
        virtual string GetName() override;
        virtual void ObjectFunction() override
        {
            cout << "GoblinFunction called. ";
        }
    };

    class Unicorn : public Creature
    {
    public:
        Unicorn();
    private:
        virtual void SetName(string name) override;
        virtual string GetName() override;
        virtual void ObjectFunction() override
        {
            cout << "UnicornFunction called. ";
        }
    };

    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 << endl;

        for (int i = 0; i < 3; i++)
        {
            Creature* obj = ObjectArray[i];

            Unicorn* unicrn = dynamic_cast<Unicorn*>(obj);

            if (unicrn)
            {
                obj->ObjectFunction();
                cout << "right\n\n";
                continue;
            }

            Goblin* gob = dynamic_cast<Goblin*>(obj);

            if (gob)
            {
                obj->ObjectFunction();
                cout << "left\n\n";
                continue;
            }

            Creature* crtr = dynamic_cast<Creature*>(obj);

            if (crtr)
            {
                obj->ObjectFunction();
                cout << "up\n\n";
            }
        }
        
        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";
    }
  • @gg123xyz First of all, this is not stackoverflow. People here are not developers and have no idea what you wrote, so they're unable to evaluate.

    Second of all, if you'd really have the solution to cheating, you'd be a millionaire by now selling your product to many companies. Are you?
  • 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. 

  • gg123xyz's avatar
    gg123xyz
    5 years ago

    @DoYaSeeMe

    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.


  • - maybe record every players game with the server and play back the last 20 seconds of each kill with a recording you can save and send in as proof of a hacker.