أفكار وميزات للعبة

ميزتك التالية

الإجراءات الموثّقة

اجعل الخادم يتحقّق من إجراءات اللعبة.

SDK: فرع developتتطلب جلسة لاعب
Unity
النتيجة المرئية

يُقبل الإجراء الصحيح ويُرفض الإجراء غير الصحيح.

الفيديو قادم لاحقًا

لا يوجد فيديو لهذه الخطوة بعد. الدليل وطلب MCP متاحان للاستخدام.

التحقق من إجراءات اللعبة

أضف هذه الميزة

يمكنك الاطلاع على الدليل. يتطلب التنفيذ مفتاح مشروع نشطًا. تجهيز المشروع

SDK مُثبّت وإعداد المشروع مُستورد واللاعب مسجّل الدخول.

يستخدم مثال SDK هذا فرع develop. تحقّق من وجود واجهات API المطلوبة في SDK المثبّت.

C#
Assets/Scripts/ValidatedActionsDemo.cs
استدعاء horizOnالتهيئة
1using UnityEngine;
2using PM.horizOn.Cloud.Core;
3using PM.horizOn.Cloud.Manager;
4​
5// أرفق هذا السكربت بـ GameObject في المشهد الأول.
6public class ValidatedActionsDemo : MonoBehaviour
7{
8 async void Start()
9 {
10 // التهيئة: التهيئة والاتصال وتسجيل دخول لاعب.
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: ابدأ جولة، وسجّل المدخلات، وأرسل النتيجة الموثّقة.
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}

اختبر ميزتك الجديدة.

يُقبل الإجراء الصحيح ويُرفض الإجراء غير الصحيح.

اختر في لوحة التحكم المشروع نفسه الموجود في إعداد لعبتك.

نقاط النهاية
  • POST/validated-actions/runs
  • POST/validated-actions/submit
كل نقاط النهاية في مرجع API
اقتراحنا لخطوتك التالية

أضف رقمًا قياسيًا لكل جولة.

احفظ النتيجة بعد الجولة وأظهر المتصدر. واصل استخدام اتصالك وجلسة اللاعب.