> 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-es/scenes-sdk7/interactividad/external-links.md).

# Enlaces externos

Enlazar a otras escenas o sitios externos

Puedes agregar enlaces desde tu scene hacia otro contenido, ya sea a otras scenes o a sitios web externos.

## Usa el Scene Editor en Creator Hub

La forma más fácil de agregar un enlace externo o un teletransporte es usar el Scene Editor. Usa el **Teletransportar** [Smart Item](/creator/content-creator-es/scene-editor/interactividad/smart-items.md) para agregar un teletransporte a otra scene en Genesis City, o usa cualquiera de los **Social Links** smart items para agregar enlaces a sitios externos.

![](https://1216664193-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)

## Teleports

Para teletransportar a un jugador a otra scene, llama a la siguiente función, indicando las coordenadas a las que quieres teletransportar a los jugadores.

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

(...)

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

A los jugadores se les presenta una pantalla de confirmación antes de ser teletransportados; esta pantalla muestra información del archivo scene.json de la `scene.json file`, incluyendo la `name`, `description` y `navmapThumbnail`. Consulta [metadatos de la escena](/creator/content-creator-es/scenes-sdk7/tipos-de-proyectos/scene-metadata.md) scene

para obtener detalles sobre cómo configurar estos datos.

Ten en cuenta que los teletransportes te llevan a una scene en las coordenadas indicadas, pero no necesariamente a esas mismas coordenadas. Esto significa que, al viajar a una scene que tiene múltiples parcels, es posible que los jugadores no aterricen en las mismas coordenadas especificadas, sino en uno de los spawn points designados por el creador de la scene. `movePlayerTo()` función en su lugar. Consulta [Mover a un jugador](/creator/content-creator-es/scenes-sdk7/interactividad/avatares/move-player.md).

## Teletransportarse a un WORLD

Para enviar a un jugador a una scene que no está publicada en el mapa abierto de Genesis City, sino a un [Decentraland WORLD](/creator/content-creator-es/scenes-sdk7/publicacion/publishing-options.md#decentraland-worlds), pasa un `realm` en `teleportTo()`.

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

(...)

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

`realm` acepta tanto un nombre de World como `mannakia.dcl.eth`, o una URL de realm.

Sin `worldCoordinates`, el jugador aterriza en uno de los spawn points del destino. Agrega coordenadas para elegir un parcel específico dentro de ese World:

```ts
// Aterriza en el parcel 12,34 de un World específico
teleportTo({
	realm: 'mannakia.dcl.eth',
	worldCoordinates: { x: 12, y: 34 },
})
```

A los jugadores se les presenta una pantalla de confirmación antes de cambiar de realm. Pregunta *"¿Seguro que quieres entrar en este World?"* y muestra el destino (el nombre del World, o el host de la URL de realm). El jugador solo se mueve si acepta.

Para enviar a un jugador de vuelta a Genesis City desde un World, no incluyas el `realm` campo, que por defecto apunta a Genesis City.

{% hint style="warning" %}
**📔 Nota**: La `realm` El campo requiere `@dcl/sdk` la versión 7.28.0 o posterior.
{% endhint %}

### changeRealm está en desuso

Las escenas anteriores usaban `changeRealm()` para llegar a un World. Sigue funcionando, pero usa `teleportTo({ realm })` en su lugar. `changeRealm()` también muestra una pantalla de confirmación; su campo opcional `message` solo reemplaza el texto predeterminado del aviso.

`changeRealm()` se resuelve tan pronto como el jugador acepta el aviso, no cuando el nuevo realm está realmente activo. Una `teleportTo()` llamada justo después se ejecutaría contra el **old** realm y colocaría al jugador en el lugar incorrecto. `teleportTo({ realm })` hace ambos pasos en una sola llamada, así que ese intervalo no existe.

## Enlaces externos

Para agregar un enlace a un sitio web externo, usa el `openExternalUrl()` comando.

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

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

Para evitar cualquier uso abusivo de esta función para hacer spam a los jugadores, solo es posible llamar a `openExternalUrl` desde un evento explícito de click o button en una entity. No es posible llamar a esta función como resultado de un temporizador, un área de colisión o un evento global de click. Consulta [Eventos de botón](/creator/content-creator-es/scenes-sdk7/interactividad/eventos-de-button/click-events.md) para obtener detalles sobre cómo hacerlo.

Cuando `openExternalUrl` Cuando se llama, se muestra a los jugadores una pantalla de confirmación, en la que se les informa a dónde los llevará el enlace y donde pueden aceptar o rechazar visitarlo.

El enlace se abre en una nueva pestaña, manteniendo la pestaña original en Decentraland.

Si los jugadores marcan la *casilla de confiar en este dominio* no se les volverá a pedir durante su sesión, siempre que el enlace provenga de la misma scene y apunte al mismo dominio.

## Copiar al portapapeles

Para copiar una cadena al portapapeles del jugador, usa `copyToClipboard()`. Después de esto, cuando el jugador haga *pegar* en el chat de Decentraland o en cualquier otra aplicación de su máquina, estará pegando tu cadena.

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

copyToClipboard( { text: 'Mi texto para copiar' } )
```


---

# 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-es/scenes-sdk7/interactividad/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.
