创造你的世界
社交
排行榜
17 分
设置排行榜 排行榜是一个模块,提供保存和管理每个玩家排名和高分的功能。 步骤 1 创建排行榜 要创建排行榜,请在 projectsettings → zepeto → zepetoleaderboard 菜单中选择 \[获取排行榜信息] 按钮。 选择 \[添加排行榜] 以添加新的排行榜。 如果已经存在排行榜,排行榜将出现在设置屏幕上。 步骤 2 自定义排行榜 当选择 \[添加排行榜] 按钮时,将出现如下弹出窗口。您将能够调整每个参数的值。 参数 描述 名称 排行榜名称 更新规则 得分更新规则 最高分 记录用户的最高分 最低分 记录用户的最低分 累计得分 添加用户的得分并保存为记录 重置信息(s) 您可以设置一个周期来重置得分。 如果排行榜需要每个赛季更新,这将很有帮助。 默认情况下,得分不会被重置,但您可以通过设置重置周期(每月、每周、每天)进行调整。 步骤 3 设置分数重置 分数重置规则如下: true left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type 步骤 4 排行榜 id 要使用 zepetoscript 和排行榜,您必须拥有排行榜 id 信息。 要访问排行榜信息,您可以前往设置(在项目设置菜单的编辑下,转到 zepeto → zepeto 排行榜 → 编辑),或从 zepetoscript api 加载。 一旦重置规则设置完成,排行榜将无法修改。 要更改重置规则,您必须创建一个新的排行榜。 重置时间基于 utc+0。将提供偏移量,以便将来可以更改时区。 记录分数 leaderboardapi setscore() 是一个记录用户在排行榜上得分的 api。 排行榜 id、得分值、完成点和错误点作为参数传递。 得分的用户信息将自动保存。 以下是加载 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、起始排名、最后排名、重置规则和上赛季的排名信息,完成时间和错误发生时间的回调函数作为参数传递。 查询排名信息的用户信息会自动输入,每次查询最多可以处理 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 中的 member 值加载个人资料照片。 📘 请参考以下指南。 \[ docid\ llhncmccxktu lkeb14qb ] 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 函数加载指定世界中的所有排行榜信息。 从完成时到发生错误时的回调函数作为参数传递。 加载 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函数加载特定排行榜信息。 排行榜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); } } 排行榜使用示例 以下是应用于官方zepeto世界史莱姆派对的排行榜示例。 通过设置、读取和利用api调用来获取特定范围内的排名,您可以在ui中将其结构化如下。

