> 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/creator/content-creator-pt/scenes-sdk7/interatividade/external-links.md).

# Ligações externas

Ligar a outras cenas ou sites externos

Pode adicionar links a partir da sua scene para outro conteúdo, quer para outras scenes quer para websites externos.

## Use o Scene Editor no Creator Hub

A maneira mais fácil de adicionar um link externo ou um teleport é usar o Scene Editor. Use o **Teletransportar** [Smart Item](/creator/content-creator-pt/scene-editor/interatividade/smart-items.md) para adicionar um teleport para outra scene em Genesis City, ou use qualquer um dos **Links Sociais** smart items para adicionar links para sites externos.

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-be65d3e84db80b872ee31e90d17c016a7b520fbc%2Fsocial-links.png?alt=media\&token=aae35e9f-eaa6-42ad-ac88-ae670c9b849a)

## Teletransportes

Para teletransportar um jogador para outra scene, chame a seguinte função, indicando as coordenadas para onde quer que os jogadores sejam teleportados.

```ts
import { teleportTo } from "~system/RestrictedActions"

(...)

teleportTo({ worldCoordinates: { x: -51, y: 1 } })
```

Os jogadores veem um ecrã de confirmação antes de serem teleportados; este ecrã apresenta informações do `ficheiro scene.json`, incluindo a scene `name`, `description` e `navmapThumbnail`. Veja [metadados da cena](/creator/content-creator-pt/scenes-sdk7/tipos-de-projetos/scene-metadata.md) para mais detalhes sobre como definir estes dados.

Tenha em mente que os teleports levam-no para uma scene nas coordenadas indicadas, mas não necessariamente para essas mesmas coordenadas. Isto significa que, ao viajar para uma scene com vários parcels, os jogadores podem não aterrar nas mesmas coordenadas especificadas, mas sim num dos spawn points designados pelo criador da scene.

Para mover um jogador para outro conjunto de coordenadas dentro da scene atual, use o `movePlayerTo()` função em vez disso. Veja [Mover um Jogador](/creator/content-creator-pt/scenes-sdk7/interatividade/avatares/move-player.md).

## Teleportar para um WORLD

Para enviar um jogador para uma scene que não está publicada no mapa aberto de Genesis City, mas sim para um [Decentraland WORLD](/creator/content-creator-pt/scenes-sdk7/publicacao/publishing-options.md#decentraland-worlds), passe um `realm` como `teleportTo()`.

```ts
import { teleportTo } from "~system/RestrictedActions"

(...)

teleportTo({ realm: 'mannakia.dcl.eth' })
```

`realm` aceita quer um nome de World como `mannakia.dcl.eth`, ou uma URL de realm.

Sem `worldCoordinates`, o jogador aterra num dos spawn points do destino. Adicione coordenadas para escolher um Parcel específico dentro desse World:

```ts
// Aterrar no Parcel 12,34 de um World específico
teleportTo({
	realm: 'mannakia.dcl.eth',
	worldCoordinates: { x: 12, y: 34 },
})
```

Os jogadores veem um ecrã de confirmação antes de mudarem de realm. Ele pergunta *"Tem a certeza de que quer entrar neste World?"* e mostra o destino (o nome do World, ou o host da URL do realm). O jogador só é movido se aceitar.

Para enviar um jogador de volta para Genesis City a partir de um world, não inclua o `realm` campo, que por omissão aponta para Genesis City.

{% hint style="warning" %}
**📔 Observação**: A `realm` campo requer `@dcl/sdk` versão 7.28.0 ou mais recente.
{% endhint %}

### changeRealm está obsoleto

Scenes mais antigas usavam `changeRealm()` para chegar a um world. Ainda funciona, mas use `teleportTo({ realm })` em vez disso. `changeRealm()` também mostra um ecrã de confirmação; o seu `message` campo apenas substitui o texto padrão do aviso.

`changeRealm()` é resolvido assim que o jogador aceita o aviso, não quando o novo realm está realmente ativo. Uma `teleportTo()` chamada logo a seguir iria ser executada no **realm antigo** e colocaria o jogador no lugar errado. `teleportTo({ realm })` faz as duas etapas numa única chamada, por isso essa lacuna não existe.

## Links externos

Para adicionar um link para um site externo, use o `openExternalUrl()` comando.

```ts
import { openExternalUrl } from '~system/RestrictedActions'

openExternalUrl({ url: 'google.com' })
```

Para impedir qualquer utilização abusiva desta funcionalidade para enviar spam aos jogadores, só é possível chamar o `openExternalUrl` a partir de um clique explícito ou de um evento de botão numa Entity. Não é possível chamar esta função como resultado de um timer, de uma collision area, ou de um global click event. Veja [Eventos de botão](/creator/content-creator-pt/scenes-sdk7/interatividade/eventos-de-botao/click-events.md) para mais detalhes sobre como fazer isto.

Quando `openExternalUrl` é chamada, os jogadores veem um ecrã de confirmação, onde são informados de para onde o link os levará e onde podem aceitar ou recusar visitar o link.

O link é aberto num novo separador, mantendo o separador original no Decentraland.

Se os jogadores assinalarem a *confiar neste domínio* caixa de verificação, não voltarão a ser avisados durante a sessão, desde que o link venha da mesma scene e seja para o mesmo domínio.

## Copiar para a área de transferência

Para copiar uma string para a área de transferência do jogador, use `copyToClipboard()`. Depois disto, quando o jogador fizer *colar* no chat do Decentraland ou em qualquer outra aplicação no seu computador, estará a colar a sua string.

```ts
import { copyToClipboard } from "~system/RestrictedActions"

copyToClipboard( { text: 'My text to copy' } )
```


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.decentraland.org/creator/content-creator-pt/scenes-sdk7/interatividade/external-links.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
