Pomysły i funkcje gry

Twoja następna funkcja

Zweryfikowane akcje

Zleć serwerowi sprawdzanie działań w grze.

SDK: developWymagana sesja gracza
Unity
Widoczny rezultat

Prawidłowe działanie zostaje zaakceptowane, a nieprawidłowe odrzucone.

Wideo pojawi się później

Ten krok nie ma jeszcze wideo. Instrukcja i polecenie MCP są już dostępne.

Weryfikuj działania w grze

Dodaj tę funkcję

Możesz przeglądać poradnik. Uruchomienie wymaga aktywnego klucza projektu. Przygotuj projekt

Zainstalowany SDK, zaimportowana konfiguracja projektu i zalogowany gracz.

Ten przykład SDK korzysta z develop. Sprawdź, czy wymagane API istnieją w zainstalowanym SDK.

C#
Assets/Scripts/ValidatedActionsDemo.cs
Wywołanie horizOnPrzygotowanie
1using UnityEngine;
2using PM.horizOn.Cloud.Core;
3using PM.horizOn.Cloud.Manager;
4​
5// Dodaj ten skrypt do obiektu GameObject w pierwszej scenie.
6public class ValidatedActionsDemo : MonoBehaviour
7{
8 async void Start()
9 {
10 // Przygotowanie: inicjalizacja, połączenie i logowanie gracza.
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: rozpocznij rozgrywkę, zapisz wejścia, wyślij
18 // zweryfikowany wynik.
19 // 1. Dashboard: turn on "Validated submissions only" for the board "weekly"
20 var va = ValidatedActionsManager.Instance;
21​
22 // 2. Round start: single-use ticket plus server seed
23 var run = await va.StartRun("weekly");
24 if (run == null) { Debug.Log(va.LastErrorCode); return; } // e.g. RUN_RATE_LIMITED
25 var random = new System.Random(run.seed);
26​
27 // ... play, record the inputs into inputLog (byte[]) ...
28​
29 // 3. Round end: score plus input log (the SDK sends its SHA-256 hash)
30 var result = await va.SubmitValidated(18250, inputLog);
31 if (result == null)
32 {
33 Debug.Log($"{va.LastErrorCode}, run kept: {va.HasActiveRun}"); // e.g. DURATION_TOO_SHORT
34 }
35 }
36}

Przetestuj nową funkcję.

Prawidłowe działanie zostaje zaakceptowane, a nieprawidłowe odrzucone.

Wybierz w panelu ten sam projekt co w konfiguracji gry.

Punkty końcowe
  • POST/validated-actions/runs
  • POST/validated-actions/submit
Wszystkie punkty końcowe w dokumentacji API
Nasza propozycja następnego kroku

Daj każdej rundzie najlepszy wynik.

Zapisz wynik po rundzie i pokaż, kto prowadzi. Nadal korzystaj z połączenia i sesji gracza.