GameMaker Studio · GML
Friends
A friendship system: invitations, a pending list, friend management, and leaderboards filtered to friends only.
Sending an Invite
Invite a player by key, with an optional message, and read 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
}Pending Invitations
List incoming and outgoing pending invitations and read invitations_listed (it fires once for each direction).
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
}Responding
Accept or decline an invitation by its id, or cancel one you sent.
gmda_respondInvitation("invitation_id", true); // accept -> invitation_responded
gmda_cancelInvitation("invitation_id"); // -> invitation_cancelledYour Friends
List confirmed friends (optionally filtered by name) and read 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
}Removing a Friend
Remove a friend by key and read friend_removed.
gmda_removeFriend("player_key"); // -> friend_removed