最初のコメントでは、聴衆の一部の体験を明らかに見返りなく低下させるという点について疑問を投げかけましたが、それでも技術的な観点からは興味深い質問です。
私はちょうどこの考えを持っていました:詐欺師が行うことは、それらを変更し、凍結する値を見つけることです。検索は、死亡またはプレイヤーの健康を変えたイベントの間でのみ行われます。さらに、詐欺師は、「死なない」ときに変化したものを除外することにより、検索を改良できます。
「ヘルス」カウンターが常に変化している場合はどうなりますか?パフォーマンスヒットが大きすぎる場合は、ポインタにして、すべてのフレームまたはNフレームごとに再割り当てします。または、すべてのフレームを変更するランダムな値とXORします(新しいランダムな値で暗号化する前に、同じ値に対して復号化を再度XORします)。
他のゲーム内データが全体の時間(プレイヤーキャラクターのx位置とy位置、またはタイムカウンターを含む)も変更している場合、すべての変更データのどれがヘルスであるかを見つけるのが難しくなる可能性があります。そして、ゲーム全体の状態を凍結することは、詐欺師にとっては不必要です。
さらに誤解を招く可能性がある場合は、実際にハニーポットと呼ばれる単純な書き込み専用変数にヘルスを保存できます。
編集:
それでも、不正行為者は、試行錯誤を繰り返すうちにフリーズするのは、全体的に変化している変数のどれかを見つけようとするかもしれません。考えられる解決策は、変数を結合することです。
例:
ヘルス(h)と位置(x)を保存する代わりに、それらを2つの変数aとbに保存し、そこから後で値を取得できます。
a = x+h; b = x-h
x = (a+b)/2; h = (a-b)/2
このように、詐欺師がそのうちの1つだけをフリーズしてからキャラクターを移動すると、位置が影響を受け、どちらがフリーズしたかに応じて、hが負になります(即時死)。上記の数式と次の数式を切り替えることができます。
a = x-h; b = x+h
x = (a+b)/2; h = (b-a)/2
連続したフレームで、変数のいずれかが凍結された後の最大2フレームで、xが変化したときにヘルスが0になることを保証します。aとbのみを保存していることに注意してください。これを上記の連続XORと組み合わせます。結果は、すべてのフレームを一見ランダムな値に変更する変数のコレクションです。また、単一またはそれらのサブセットをフリーズすると、ゲーム内で望ましくない副作用のみが発生します。