Meskipun saya membuat komentar pertama yang mempertanyakan titik merendahkan pengalaman sebagian audiens Anda tanpa keuntungan yang jelas, saya masih menemukan itu pertanyaan yang menarik dari sudut pandang teknis.
Saya hanya punya ide ini: Apa yang dilakukan curang adalah menemukan nilai yang mengubah dan membekukannya. Pencarian kemudian akan terjadi hanya antara kematian atau peristiwa yang mengubah kesehatan pemain. Selain itu, penipu bisa menyempurnakan pencarian dengan menyaring apa yang berubah ketika dia "tidak sekarat".
Bagaimana jika penghitung "kesehatan" berubah sepanjang waktu? Jadikan sebagai pointer dan realokasi setiap frame atau setiap frame N jika hit kinerja terlalu besar. Atau XOR dengan nilai acak yang mengubah setiap frame (XOR lagi terhadap nilai yang sama untuk mendekripsi sebelum mengenkripsi dengan nilai acak baru).
Jika Anda memiliki data dalam game lainnya yang juga mengubah seluruh waktu (termasuk posisi x dan y dari karakter pemain, atau penghitung waktu), yang mungkin membuat lebih sulit untuk mengetahui dari mana semua data yang berubah adalah kesehatan. Dan membekukan seluruh kondisi permainan adalah hal yang tidak boleh dilakukan oleh penipu.
Untuk menyesatkan lebih lanjut, Anda sebenarnya dapat menyimpan kesehatan dalam variabel hanya-tulis yang berarti pot madu.
Edit :
Namun, penipu mungkin mencoba menemukan variabel mana yang berubah sepanjang waktu yang dibekukan melalui coba-coba. Solusi yang mungkin adalah menggabungkan pasangan variabel.
Sebuah contoh:
Alih-alih menyimpan kesehatan (h) dan posisi (x), Anda menyimpannya dalam dua variabel a dan b, dari mana Anda dapat mengambil nilai nanti:
a = x+h; b = x-h
x = (a+b)/2; h = (a-b)/2
Dengan cara ini, jika penipu hanya membekukan salah satu dari mereka dan kemudian memindahkan karakter, posisi terpengaruh dan, tergantung pada yang dibekukan, h menjadi negatif (kematian instan). Anda dapat beralih di antara rumus di atas dan:
a = x-h; b = x+h
x = (a+b)/2; h = (b-a)/2
Dalam frame yang berurutan, dan Anda menjamin bahwa paling banyak 2 frame setelah salah satu variabel dibekukan, kesehatan akan berubah 0 saat x berubah. Ingatlah bahwa Anda hanya menyimpan a dan b. Gabungkan ini dengan XOR kontinu seperti yang disebutkan di atas. Hasilnya adalah kumpulan variabel yang mengubah setiap frame ke nilai yang tampaknya acak, dan membekukan satu atau sebagian dari mereka hanya menghasilkan efek samping yang tidak diinginkan dalam permainan, kematian instan menjadi salah satunya.