# Links Externos

Você pode adicionar links a partir da sua scene para outro conteúdo, seja para outras scenes ou para websites externos.

## Use o Scene Editor no Creator Hub

A maneira mais fácil de adicionar um link externo ou um teleporte é usar o Scene Editor. Use o **Teleport** [Smart Item](https://github.com/decentraland/docs/blob/main/creator/sdk7/scene-editor/interactivity/smart-items.md) para adicionar teleporte para outra scene em Genesis City, ou use qualquer um dos **Social Links** 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)

## Teleports

Para teleportar um player para outra scene, chame a seguinte função, indicando as coordinates para as quais você quer que os players sejam teleportados.

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

(...)

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

Os players recebem uma tela de confirmação antes de serem teleportados; essa tela exibe informações do `arquivo scene.json`da scene de destino, incluindo o `nome`, `descrição` e `navmapThumbnail`. Veja [scene metadata](https://github.com/decentraland/docs/blob/main/creator/sdk7/sdk7/projects/scene-metadata.md) para detalhes sobre como definir esses dados.

Tenha em mente que os teleports levam você a uma scene nas coordinates indicadas, mas não necessariamente a essas mesmas coordinates. Isso significa que, ao viajar para uma scene que tem múltiplos parcels, os players podem não estar chegando às mesmas coordinates especificadas, mas sim a um dos spawn points designados pelo criador da scene.

Para mover um player para outro conjunto de coordinates dentro da scene atual, use a `movePlayerTo()` função em vez disso. Veja [Mover um Player](https://docs.decentraland.org/creator/content-creator-pt/scenes-sdk7/player-avatar#move-player).

## Teleportar para um WORLD

Para enviar um player para uma scene que não foi publicada no mapa do mundo aberto Genesis City, mas sim para um [Decentraland WORLD](https://docs.decentraland.org/creator/content-creator-pt/worlds/about), use a função `changeRealm()`.

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

(...)

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

Os players recebem uma tela de confirmação antes de serem teleportados; essa tela exibe informações do `arquivo scene.json`da scene de destino, incluindo o `nome`, `descrição` e `navmapThumbnail`. Veja [scene metadata](https://github.com/decentraland/docs/blob/main/creator/sdk7/sdk7/projects/scene-metadata.md) para detalhes sobre como definir esses dados.

O player aparecerá em um dos spawn points da scene nesse world, independentemente de suas coordinates atuais no mapa.

Para enviar um player de volta para Genesis City a partir de um world, use `changeRealm` definindo o campo `realm` para *'<https://realm-provider-ea.decentraland.org/main>'*.

## External links

Para adicionar um link a um website externo, use o comando `openExternalUrl()` .

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

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

Para evitar qualquer uso abusivo desse recurso para enviar spam aos players, só é possível chamar o `openExternalUrl` a partir de um click explícito ou de um evento de button em uma entity. Não é possível chamar essa função como resultado de um timer, de uma collision area ou de um evento global de click. Veja [Button events](https://github.com/decentraland/docs/blob/main/creator/sdk7/sdk7/interactivity/button-events/click-events.md) para detalhes sobre como fazer isso.

Quando `openExternalUrl` é chamado, os players recebem uma tela de confirmação, onde são informados para onde o link os levará e onde podem aceitar ou recusar visitar o link.

O link é aberto em uma nova aba, mantendo a aba original no Decentraland.

Se os players marcarem a checkbox *trust this domain* , eles não serão solicitados novamente durante a sessão, desde que o link venha da mesma scene e seja para o mesmo domínio.

## Copy to clipboard

Para copiar uma string para a clipboard do player, use `CopyToClipboard()`. Depois disso, quando o player fizer *paste* no chat do Decentraland ou em qualquer outro aplicativo em sua máquina, ele colará a sua string.

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

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