GameMaker Studio · GML
Друзья
Система дружбы: приглашения, список ожидающих, управление друзьями и таблицы лидеров, отфильтрованные только по друзьям.
Отправка приглашения
Пригласите игрока по ключу, с необязательным сообщением, и прочитайте invite_sent.
gmda_sendFriendInvite("player_key", "team up?"); // -> invite_sent# invitation: Dictionary (the one just created)
{
"id": String,
"to_player_key": String,
"to_player_name": String,
"status": "pending",
"message": String,
"created_at": String,
"expires_at": String
}Ожидающие приглашения
Получите список входящих и исходящих ожидающих приглашений и прочитайте invitations_listed (срабатывает один раз для каждого направления).
gmda_listPendingInvitations(); // -> invitations_listed# invitations: Array, each invitation:
{
"id": String, # pass this to respond/cancel
"direction": "incoming" | "outgoing",
"counterpart": {
"player_key": String,
"player_name": String
},
"status": "pending",
"message": String, # may be empty
"created_at": String, # ISO date
"responded_at": String, # null while pending
"expires_at": String # ISO date
}Ответ
Примите или отклоните приглашение по его id, либо отмените отправленное вами.
gmda_respondInvitation("invitation_id", true); // accept -> invitation_responded
gmda_cancelInvitation("invitation_id"); // -> invitation_cancelledВаши друзья
Получите список подтверждённых друзей (по желанию отфильтрованных по имени) и прочитайте friends_loaded.
gmda_listFriends(); // -> friends_loaded
gmda_listFriends(50, "cor"); // limit + name filter# friends: Array, each friend:
{
"player_key": String,
"player_name": String,
"friends_since": String # ISO date
}Удаление друга
Удалите друга по ключу и прочитайте friend_removed.
gmda_removeFriend("player_key"); // -> friend_removed