achievement_get_challenges()
N/A
Cette fonction enverra une requête au serveur pour obtenir des informations sur tous les défis actuels et déclenchera un callback Social Asynchronous Event qui contient le async_load carte remplie avec les paires clé / valeur pertinentes. La clé d' identification de cette ds_map est utilisé pour identifier le rappel correct (il peut y avoir plus d'une fonction de déclenchement pour un événement asynchrone donné), et sera associé à la constante achievement_challenge_list_received ainsi qu'un certain nombre d'autres paires clé / valeur pour chaque défi. Le contenu exact de la carte est indiqué ci-dessous:
- " id " - Pour cette fonction, il devrait être achievement_challenge_list_received
- " numchallenges " - Le nombre de défis (locaux et distants) actuellement disponibles.
- " ChallengeNplayerid " - L'identifiant du joueur pour le défi, où "N" est un entier, EG: "Challenge5playerid" est l'identifiant du joueur pour le cinquième défi de la liste.
- " ChallengeNissuerid " - L'ID de la personne qui a lancé le défi, où "N" est un entier, par exemple: "Challenge2issuerid" est l'identifiant de l'émetteur pour le second défi de la liste.
- " ChallengeNstate " - L'état du défi "N", qui aura une valeur de 0 - 3 (comme une chaîne) pour invalide, en attente, complété ou refusé.
- " ChallengeNmessage " - Le message texte pour le défi "N".
- " ChallengeNissueddate " - Date d'émission du challenge "N".
- " ChallengeNcompleteddate " - La date d'achèvement du défi "N".
- " ChallengeNtype " - Le type de défi donné. Peut être l'une des deux constantes:
- achievement_type_score_challenge - Un défi basé sur la valeur du score.
- achievement_type_achievement_challenge - Un défi basé sur un exploit.
- " ChallengeNidentifier " - La chaîne d'identification pour le défi.
- " ChallengeNscore " - Le score est lié au défi.
NOTE: Cette fonction est pour iOS seulement.
Le code suivant sera probablement appelé après que le joueur s'est connecté à son compte de jeu en utilisant achievement_login:
achievement_get_challenges();
Cela va envoyer une demande pour les informations de défi en cours et générer un rappel asynchrone avec le spécial async_load ds_map contenant les données suivantes:
var ident = ds_map_find_value(async_load, "id");
if ident == achievement_challenge_list_received
{
var numentries = ds_map_find_value(async_load,"numchallenges");
for(var i = 0; i < numentries; i++;)
{
player_id[i] = ds_map_find_value(async_load, "Challenge" + string(i)+"playerid");
issuer_id[i] = ds_map_find_value(async_load, "Challenge" + string(i) +"issuerid");
state[i] = ds_map_find_value(async_load, "Challenge" + string(i)+"state");
message[i] = ds_map_find_value(async_load, "Challenge" + string(i)+"message");
date_completed[i] = ds_map_find_value(async_load, "Challenge" + string(i)+"completeddate");
date_issued[i] = ds_map_find_value(async_load, "Challenge" + string(i)+"issueddate");
ach_type[i] = ds_map_find_value(async_load, "Challenge" + string(i)+"type");
ach_ident[i] = ds_map_find_value(async_load, "Challenge" + string(i)+"identifier");
ach_score[i] = ds_map_find_value(async_load, "Challenge" + string(i)+"score");
}Le code ci-dessus vérifie le retour ds_map dans l' événement asynchrone social et si son "id" correspond à la constante en cours de vérification, il parcourt ensuite la carte stockant toutes les différentes valeurs dans un certain nombre de tableaux. Ces informations peuvent ensuite être utilisées, par exemple, pour créer vos propres pages de défi personnalisées dans le jeu.