> For the complete documentation index, see [llms.txt](https://docs.decentraland.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decentraland.org/contributor/contributor-pt/runtime-da-scene/modulos-de-runtime/players.md).

# Players

O `Players` módulo permite [cenas](https://github.com/decentraland/docs/blob/main/contributor/content/entity-types/scenes/README.md) procurar Players em seu ambiente e obter informações sobre sua identidade e [profiles](https://github.com/decentraland/docs/blob/main/contributor/content/entity-types/profiles/README.md).

```ts
const Players = require("~system/Players");
```

Contém os seguintes métodos e tipos:

* [`function getPlayersInScene`](#getPlayersInScene)
* [`function getConnectedPlayers`](#getPlayersInScene)
* [`function getPlayerData`](#getPlayerData)
* [`interface Player`](#Player)
* [`interface UserData`](#UserData)

### Métodos

Há dois métodos neste módulo para descobrir Players na cena e um para obter seus profiles.

**`getPlayersInScene`**

Retorna um [`Player`](#Player) array, cada um com um `userId` que pode ser usado em [getPlayerData](#getPlayerData).

```ts
interface Request {}

interface Response {
  players: Player[];
}

function getPlayersInScene(Request): Promise<Response>;
```

**`getConnectedPlayers`**

```ts
interface Request {}

interface Response {
  players: Player[];
}

function getConnectedPlayers(Request): Promise<Response>;
```

**`getPlayerData`**

Retorna o [`UserData`](#UserData) para um usuário, se conhecido para o dado `userId`.

```ts
interface Request {
  // O identificador do usuário (para não-guests, seu endereço Ethereum).
  userId: string;
}

interface Response {
  // As informações de profile para este usuário, se disponíveis.
  data?: UserData;
}

function getPlayerData(Request): Promise<Response>;
```

### Tipos

Há apenas dois tipos neste módulo: [`Player`](#Player) e [`UserData`](#UserData).

**`Player`**

Mantém uma referência para um `userId`.

```ts
interface Player {
  // O identificador do usuário (para não-guests, seu endereço Ethereum).
  userId: string;
}
```

**`UserData`**

Contém informação (possivelmente parcial) sobre um usuário, sua identidade e avatar.

World Explorers obtêm esta informação através do [content system](https://github.com/decentraland/docs/blob/main/contributor/content/overview/README.md).

O [definição de entidade de perfil](https://github.com/decentraland/docs/blob/main/contributor/content/entity-types/profiles/README.md) detalha todos esses campos e mais. Embora a estrutura e as chaves de `UserData` sejam ligeiramente diferentes, o significado de cada campo é o mesmo.

```ts
export interface UserData {
  // O identificador do usuário (ou seja, seu endereço Ethereum).
  userId: string;

  // Um nome para chamá-los na UI.
  displayName: string;

  // A chave pública Ethereum com a qual eles assinam.
  publicKey?: string;

  // Se eles têm funcionalidade web3 habilitada.
  hasConnectedWeb3: boolean;

  // A versão sequencial desta informação, incrementada a cada atualização do usuário.
  version: number;

  // Informação sobre o avatar deles, se disponível.
  avatar?: {
    // Ponteiros para os assets necessários para renderizar este avatar.
    bodyShape: string;
    wearables: string[];

    // Tints de cor RGB/RGBA codificados em hex para diferentes partes do corpo.
    skinColor: string;
    hairColor: string;
    eyeColor: string;

    // Identificadores de arquivo para as "fotos" deste avatar.
    snapshots?: {
      face256: string;
      body: string;
    };
  };
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.decentraland.org/contributor/contributor-pt/runtime-da-scene/modulos-de-runtime/players.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
