Ide dan fitur game

Fitur berikutnya

Aksi tervalidasi

Minta server memvalidasi tindakan game.

SDK: developMemerlukan sesi pemain
Unity
Hasil yang terlihat

Tindakan yang valid diterima dan tindakan tidak valid ditolak.

Video akan tersedia

Langkah ini belum memiliki video. Panduan dan permintaan MCP sudah dapat digunakan.

Validasi tindakan dalam gim

Tambahkan fitur ini

Kamu dapat membaca panduan. Untuk menjalankannya, diperlukan kunci proyek aktif. Siapkan proyek

SDK terpasang, konfigurasi proyek diimpor, dan pemain sudah masuk.

Contoh SDK ini menggunakan develop. Periksa apakah API yang diperlukan tersedia di SDK yang terpasang.

C#
Assets/Scripts/ValidatedActionsDemo.cs
Panggilan horizOnPersiapan
1using UnityEngine;
2using PM.horizOn.Cloud.Core;
3using PM.horizOn.Cloud.Manager;
4​
5// Pasang skrip ini pada sebuah GameObject di adegan pertamamu.
6public class ValidatedActionsDemo : MonoBehaviour
7{
8 async void Start()
9 {
10 // Persiapan: inisialisasi, hubungkan, dan masukkan seorang pemain.
11 HorizonApp.Initialize();
12 await new HorizonServer().Connect();
13 await UserManager.Instance.SignUpAnonymous("PlayerName");
14​
15 byte[] inputLog = System.Array.Empty<byte>();
16​
17 // horizOn: mulai putaran, rekam input, kirim skor yang tervalidasi.
18 // 1. Dashboard: turn on "Validated submissions only" for the board "weekly"
19 var va = ValidatedActionsManager.Instance;
20​
21 // 2. Round start: single-use ticket plus server seed
22 var run = await va.StartRun("weekly");
23 if (run == null) { Debug.Log(va.LastErrorCode); return; } // e.g. RUN_RATE_LIMITED
24 var random = new System.Random(run.seed);
25​
26 // ... play, record the inputs into inputLog (byte[]) ...
27​
28 // 3. Round end: score plus input log (the SDK sends its SHA-256 hash)
29 var result = await va.SubmitValidated(18250, inputLog);
30 if (result == null)
31 {
32 Debug.Log($"{va.LastErrorCode}, run kept: {va.HasActiveRun}"); // e.g. DURATION_TOO_SHORT
33 }
34 }
35}

Uji fitur barumu.

Tindakan yang valid diterima dan tindakan tidak valid ditolak.

Pilih proyek yang sama di dasbor dan konfigurasi game.

Titik akhir
  • POST/validated-actions/runs
  • POST/validated-actions/submit
Semua titik akhir di referensi API
Saran kami untuk langkah berikutnya

Berikan skor tertinggi untuk setiap ronde.

Simpan skor setelah ronde dan tampilkan siapa yang unggul. Tetap gunakan koneksi dan sesi pemainmu.