สร้างโลกของคุณเอง
โซเชียล
กระดานผู้นำ
17นาที
การตั้งค่าอันดับ อันดับคือโมดูลที่ให้ฟังก์ชันสำหรับการบันทึกและจัดการอันดับและคะแนนสูงสุดของผู้เล่นแต่ละคน ขั้นตอนที่ 1 สร้างอันดับ ในการสร้างอันดับ ให้เลือกปุ่ม \[get leaderboardinfo] ใน projectsettings → zepeto → zepetoleaderboard เมนู เลือก \[add leaderboard] เพื่อเพิ่มอันดับใหม่ หากมีอันดับที่มีอยู่แล้ว อันดับจะปรากฏบนหน้าจอการตั้งค่า ขั้นตอนที่ 2 ปรับแต่งกระดานคะแนน หน้าต่างป๊อปอัพที่แสดงด้านล่างจะปรากฏเมื่อเลือกปุ่ม \[เพิ่มกระดานคะแนน] คุณจะสามารถปรับค่าพารามิเตอร์แต่ละค่าได้ พารามิเตอร์ คำอธิบาย ชื่อ ชื่อกระดานคะแนน กฎการอัปเดต กฎการอัปเดตคะแนน คะแนนสูงสุด บันทึกคะแนนสูงสุดของผู้ใช้ คะแนนต่ำสุด บันทึกคะแนนต่ำสุดของผู้ใช้ สะสมคะแนน เพิ่มคะแนนของผู้ใช้และบันทึกเป็นบันทึก resetinfo(s) คุณสามารถตั้งระยะเวลาในการรีเซ็ตคะแนนได้ \ นี่มีประโยชน์หากกระดานคะแนนต้องการการอัปเดตทุกฤดูกาล \ คะแนนจะไม่ถูกรีเซ็ตโดยค่าเริ่มต้น แต่คุณสามารถปรับเปลี่ยนได้โดยการตั้งระยะเวลารีเซ็ต (รายเดือน, รายสัปดาห์, รายวัน) ขั้นตอนที่ 3 ตั้งค่าการรีเซ็ตคะแนน กฎการรีเซ็ตคะแนนมีดังนี้ ช่วงเวลา คำอธิบาย ไม่มี คะแนนจะไม่ถูกรีเซ็ต วัน คะแนนจะถูกรีเซ็ตทุกวันในเวลาที่กำหนด (เช่น การจัดอันดับรายวัน) สัปดาห์ คะแนนจะถูกรีเซ็ตทุกสัปดาห์ในวันที่และเวลาที่กำหนด (เช่น การจัดอันดับรายสัปดาห์) เดือน คะแนนจะถูกรีเซ็ตทุกเดือนในวันที่และเวลาที่กำหนด (เช่น การจัดอันดับรายเดือน; ค่าสูงสุดของวันคือ 31 แต่ถ้าเดือนนั้นไม่มี 31 วัน จะปรับให้เป็นวันสุดท้ายของเดือนโดยอัตโนมัติ) ขั้นตอนที่ 4 รหัสลีดเดอร์บอร์ด ในการใช้ zepetoscript และลีดเดอร์บอร์ด คุณต้องมีข้อมูลรหัสลีดเดอร์บอร์ด ในการเข้าถึงข้อมูลลีดเดอร์บอร์ด คุณสามารถไปที่การตั้งค่า (ภายใต้การแก้ไขในเมนูการตั้งค่าโปรเจกต์ ไปที่ zepeto → zepeto leaderboard → แก้ไข) หรือโหลดจาก api ของ zepetoscript 📘 กรุณาอ้างอิงจากคู่มือต่อไปนี้ \[ กระดานผู้นำ docid\ wj3mhm2fyp2tpfjnkvvhu ] เมื่อกฎการรีเซ็ตถูกตั้งค่าแล้ว ลีดเดอร์บอร์ดไม่สามารถแก้ไขได้ ในการเปลี่ยนกฎการรีเซ็ต คุณต้องสร้างลีดเดอร์บอร์ดใหม่ เวลาที่รีเซ็ตจะอิงตาม utc+0 จะมีการจัดเตรียมการปรับเวลาเพื่อให้สามารถเปลี่ยนเขตเวลาในอนาคตได้ การบันทึกคะแนน leaderboardapi setscore() เป็น api ที่บันทึกคะแนนของผู้ใช้ในกระดานคะแนน รหัสกระดานคะแนน, ค่าคะแนน, จุดที่เสร็จสมบูรณ์ และจุดที่เกิดข้อผิดพลาดจะถูกส่งเป็นอาร์กิวเมนต์ ข้อมูลผู้ใช้สำหรับคะแนนจะถูกบันทึกโดยอัตโนมัติ ต่อไปนี้คือตัวอย่างสำหรับการโหลดฟังก์ชัน leaderboardapi setscore leaderboardapi setscore(this leaderboardid, this score, this onresult, this onerror); ต่อไปนี้คือตัวอย่างโค้ดสำหรับการดึงคะแนนของผู้ใช้ไปยังกระดานคะแนน import { zepetoscriptbehaviour } from 'zepeto script'; import { setscoreresponse, leaderboardapi } from 'zepeto script leaderboard'; export default class setscoreexample extends zepetoscriptbehaviour { public leaderboardid string; public score number; start() { leaderboardapi setscore(this leaderboardid, this score, this onresult, this onerror); } onresult(result setscoreresponse) { console log(`result issuccess ${result issuccess}`); } onerror(error string) { console error(error); } } รายละเอียดการค้นหารายการ รับข้อมูลการจัดอันดับในช่วงที่เฉพาะเจาะจง ใช้ฟังก์ชัน leaderboardapi getrangerank() เพื่อโหลดรายละเอียดการจัดอันดับในช่วงที่เฉพาะเจาะจง ค่าบูลีนเพื่อดึงข้อมูล id ของกระดานผู้นำ, การจัดอันดับเริ่มต้น, การจัดอันดับสุดท้าย, กฎการรีเซ็ต และข้อมูลการจัดอันดับของฤดูกาลล่าสุด และฟังก์ชัน callback จากเวลาที่เสร็จสิ้นและเวลาที่เกิดข้อผิดพลาดจะถูกส่งเป็นอาร์กิวเมนต์ ข้อมูลผู้ใช้ที่สอบถามข้อมูลการจัดอันดับจะถูกกรอกโดยอัตโนมัติ และสามารถประมวลผลข้อมูลการจัดอันดับได้สูงสุดถึง 100 รายการต่อการสอบถาม (เช่น การแบ่งหน้าใน 1 100, 101 200 รูปแบบสำหรับการใช้งาน) ❗️ ระวัง หากโหลดข้อมูลมากกว่า 100 รายการในครั้งเดียว อาจทำงานไม่ถูกต้องเนื่องจากปัญหาการโหลด api และการจำกัดอัตรา ตัวอย่างการเรียกฟังก์ชัน ตัวอย่างการเรียกฟังก์ชัน leaderboardapi getrangerank() มีดังนี้ leaderboardapi getrangerank(this leaderboardid, this startrank, this endrank, this resetrule, false, this onresult, this onerror); โค้ดต่อไปนี้เป็นตัวอย่างสำหรับการโหลดข้อมูลการจัดอันดับในช่วงที่เฉพาะเจาะจง คุณสามารถใช้ค่าของสมาชิกจาก onresult เพื่อโหลดรูปโปรไฟล์ 📘 โปรดดูคู่มือต่อไปนี้ \[ ข้อมูลผู้ใช้ docid\ cl33fgnsabafjr7nprfyi ] import { zepetoscriptbehaviour } from 'zepeto script'; import { getrangerankresponse, leaderboardapi, resetrule } from 'zepeto script leaderboard'; export default class getrangerankexample extends zepetoscriptbehaviour { public leaderboardid string; public startrank number; public endrank number; public resetrule resetrule; start() { leaderboardapi getrangerank(this leaderboardid, this startrank, this endrank, this resetrule, false, this onresult, this onerror); } onresult(result getrangerankresponse) { console log(`result issuccess ${result issuccess}`); if (result rankinfo myrank) { console log(`member ${result rankinfo myrank member}, rank ${result rankinfo myrank rank}, 	 score ${result rankinfo myrank score}, name ${result rankinfo myrank name}`); } if (result rankinfo ranklist) { for (let i = 0; i < result rankinfo ranklist length; ++i) { const rank = result rankinfo ranklist get item(i); console log(`i ${i}, member ${rank member}, rank ${rank rank}, score ${rank score}, name ${rank name}`); } } } onerror(error string) { console error(error); } } การค้นหารายละเอียดกระดานคะแนน ค้นหากระดานคะแนนทั้งหมด ใช้ฟังก์ชัน leaderboardapi getallleaderboards เพื่อโหลดข้อมูลกระดานคะแนนทั้งหมดในโลกที่กำหนด ฟังก์ชัน callback จากเวลาที่เสร็จสิ้นจนถึงเวลาที่เกิดข้อผิดพลาดจะถูกส่งเป็นอาร์กิวเมนต์ ตัวอย่างการโหลดฟังก์ชัน leaderboardapi getallleaderboards มีดังนี้ leaderboardapi getallleaderboards(this onresult, this onerror); ต่อไปนี้คือตัวอย่างการโหลดข้อมูลทั้งหมดของกระดานผู้นำ import { zepetoscriptbehaviour } from 'zepeto script'; import { getallleaderboardsresponse, leaderboardapi } from 'zepeto script leaderboard'; export default class getallleaderboardexample extends zepetoscriptbehaviour { start() { leaderboardapi getallleaderboards(this onresult, this onerror); } onresult(result getallleaderboardsresponse) { console log(`result issuccess ${result issuccess}`); if (result leaderboards) { for (let i = 0; i < result leaderboards length; ++i) { const leaderboard = result leaderboards\[i]; console log(`i ${i}, id ${leaderboard id}, name ${leaderboard name}`); } } } onerror(error string) { console error(error); } } ค้นหากระดานผู้นำเฉพาะ ใช้ฟังก์ชัน leaderboardapi getleaderboards เพื่อโหลดข้อมูลกระดานผู้นำเฉพาะ ฟังก์ชัน callback สำหรับ id ของกระดานผู้นำ เวลาที่เสร็จสิ้น และเวลาที่เกิดข้อผิดพลาดจะถูกส่งเป็นอาร์กิวเมนต์ ตัวอย่างการโหลดฟังก์ชัน leaderboardapi getleaderboard มีดังนี้ leaderboardapi getleaderboard(this leaderboardid, this onresult, this onerror); ต่อไปนี้คือตัวอย่างสำหรับการโหลดข้อมูลลีดเดอร์บอร์ดบางส่วน import { zepetoscriptbehaviour } from 'zepeto script'; import { getleaderboardresponse, leaderboardapi } from 'zepeto script leaderboard'; export default class getleaderboardexample extends zepetoscriptbehaviour { public leaderboardid string; start() { leaderboardapi getleaderboard(this leaderboardid, this onresult, this onerror); } onresult(result getleaderboardresponse) { console log(`result issuccess ${result issuccess}`); if (result leaderboard) { console log(`id ${result leaderboard id}, name ${result leaderboard name}`); } } onerror(error string) { console error(error); } } ตัวอย่างการใช้งานลีดเดอร์บอร์ด ต่อไปนี้คือตัวอย่างของลีดเดอร์บอร์ดที่ใช้ในงาน slime party ของ zepeto world อย่างเป็นทางการ โดยการตั้งค่า การอ่าน และการใช้ api เพื่อดึงอันดับภายในช่วงที่กำหนด คุณสามารถจัดโครงสร้างได้ดังนี้ใน ui