Event Leaderboards #

Read more about the Event Leaderboards system in Hiro here.

Get an event leaderboard #

Get a specified event leaderboard defined for the game.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
void onEventLeaderboardGet(const Hiro::EventLeaderboard& eventLeaderboard)
{
    std::cout << "Found event leaderboard: " << eventLeaderboard.name << '\n';
}

void onError(const Nakama::NError& error)
{
    std::cout << Nakama::toString(error.code) << ": " << error.message << '\n';
}

Hiro::EventLeaderboardGet request;
request.id = "leaderboard_1";

hiroClient->eventLeaderboardGet(session, request, onEventLeaderboardGet, onError);

Update event leaderboard record #

Update an event leaderboard record for a user.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
void onEventLeaderboardUpdate(const Hiro::EventLeaderboard& eventLeaderboard)
{
    std::cout << "Updated event leaderboard: " << eventLeaderboard.name << '\n';
}

void onError(const Nakama::NError& error)
{
    std::cout << Nakama::toString(error.code) << ": " << error.message << '\n';
}

Hiro::EventLeaderboardUpdate request;
request.id = "leaderboard_1";
request.score = "100";
request.subscore = "10";

hiroClient->eventLeaderboardUpdate(session, request, onEventLeaderboardUpdate, onError);

Claim event leaderboard reward #

Claim an event leaderboard reward for a user.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
void onEventLeaderboardClaim(const Hiro::EventLeaderboard& eventLeaderboard)
{
    std::cout << "Claimed event leaderboard reward: " << eventLeaderboard.name << '\n';
}

void onError(const Nakama::NError& error)
{
    std::cout << Nakama::toString(error.code) << ": " << error.message << '\n';
}

Hiro::EventLeaderboardClaim request;
request.id = "leaderboard_1";

hiroClient->eventLeaderboardClaim(session, request, onEventLeaderboardClaim, onError);

Roll a new cohort #

Roll a new cohort for the specified event leaderboard.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
void onEventLeaderboardRoll(const Hiro::EventLeaderboard& eventLeaderboard)
{
    std::cout << "New cohort rolled for event leaderboard: " << eventLeaderboard.name << '\n';
}

void onError(const Nakama::NError& error)
{
    std::cout << Nakama::toString(error.code) << ": " << error.message << '\n';
}

Hiro::EventLeaderboardRoll request;
request.id = "leaderboard_1";

hiroClient->eventLeaderboardRoll(session, request, onEventLeaderboardRoll, onError);