← Todas las guías
Guía 3

Crea tu primer simulador

Haz clic en un cristal para ganar poder, vende el poder por monedas y compra mejoras que hacen más fuerte cada clic.

Gratis50 minutos · Principiante · Roblox Studio
1
Paso 1 / 8

Prepara el lugar

  1. Abre Roblox Studio, haz clic en New Experience y elige la plantilla Baseplate.
  2. Construirás tres cosas en el suelo: un cristal para hacer clic, una plataforma para vender y una plataforma para comprar mejoras.
  3. Deja unos 20 studs entre ellas, para que los jugadores tengan que caminar.

Más detalles

  • La plantilla Baseplate está en la lista de plantillas de la pantalla de inicio.
  • El campo Position de Properties muestra dónde está una pieza. Dos piezas cuyos primeros números se llevan 20 de diferencia están a 20 studs una de otra.
  • Mantén las tres cosas cerca de la SpawnLocation, la plataforma donde aparecen los jugadores.
  • En un Mac, usa la tecla Cmd cada vez que esta guía diga Ctrl.
Consejo. Dibuja primero el plano en papel. Un simulador se siente bien cuando el camino entre hacer clic, vender y mejorar es corto.
Este paso no me funciona

Revisa primero estas tres cosas

  • El nombre de cada Part y de cada Script es exactamente igual al de la guía, con las mismas mayúsculas.
  • El Script está dentro del objeto correcto. Mira la etiqueta que hay encima del cuadro de código.
  • Abre la ventana Output desde el menú Window. El texto en rojo te dice qué script y qué línea tienen el problema.

¿Sigues atascado? Escríbenos →

2
Paso 2 / 8

Crea las estadísticas del jugador

  1. Pasa el ratón sobre ServerScriptService, haz clic en + y añade un Script. Llámalo Stats.
  2. Borra la línea que ya está y pega este código.
  3. Pulsa Play. La lista de jugadores muestra Power 0 y Coins 0.
ServerScriptService > Stats
local Players = game:GetService("Players")

Players.PlayerAdded:Connect(function(player)
	local stats = Instance.new("Folder")
	stats.Name = "leaderstats"
	stats.Parent = player

	for _, name in ipairs({"Power", "Coins"}) do
		local value = Instance.new("IntValue")
		value.Name = name
		value.Parent = stats
	end

	local multiplier = Instance.new("IntValue")
	multiplier.Name = "Multiplier"
	multiplier.Value = 1
	multiplier.Parent = player
end)

Qué hace cada parte

  • El bucle crea dos valores con un solo trozo de código: Power y Coins.
  • Multiplier es cuánto poder da un clic. Empieza en 1.
  • Multiplier está en el jugador y no en leaderstats, así que queda oculto en la lista de jugadores.

Más detalles

  • Cuando haces clic en +, escribe la palabra Script para encontrarlo rápido.
  • El script se abre en una pestaña nueva. Haz clic dentro del código, pulsa Ctrl+A y luego Ctrl+V para reemplazarlo todo.
  • Cambia el nombre del script en Explorer con F2. El nombre es solo para ti. Te ayuda a encontrar el script más tarde.
  • La lista de jugadores está en la esquina superior derecha del juego.
Este paso no me funciona

Revisa primero estas tres cosas

  • El nombre de cada Part y de cada Script es exactamente igual al de la guía, con las mismas mayúsculas.
  • El Script está dentro del objeto correcto. Mira la etiqueta que hay encima del cuadro de código.
  • Abre la ventana Output desde el menú Window. El texto en rojo te dice qué script y qué línea tienen el problema.

¿Sigues atascado? Escríbenos →

3
Paso 3 / 8

Construye el cristal

  1. Añade una Part. Pon Size en 6, 8, 6, activa Anchored y llámala Crystal. Elige un color brillante y pon Material en Neon.
  2. Pasa el ratón sobre Crystal, haz clic en + y añade un ClickDetector.
  3. Añade un Script a Crystal y pega este código.
  4. Pulsa Play y haz clic en el cristal. Power sube 1 con cada clic.
Crystal > Script
local crystal = script.Parent
local clickDetector = crystal.ClickDetector

clickDetector.MouseClick:Connect(function(player)
	local power = player.leaderstats.Power
	power.Value += player.Multiplier.Value
end)

Qué hace cada parte

  • Un ClickDetector hace que se pueda hacer clic en una Part. También funciona con toques en el celular.
  • MouseClick le dice al script qué jugador hizo clic.
  • El script suma el Multiplier del jugador a Power, así que las mejoras hacen más fuerte cada clic.

Más detalles

  • Escribe el tamaño en el campo Size de Properties y pulsa Enter. Luego sube el cristal con la herramienta Move hasta que quede apoyado en el suelo.
  • Cuando haces clic en +, escribe ClickDetector para encontrarlo. En Explorer debe quedar un paso a la derecha, debajo de Crystal.
  • En el juego, el puntero del ratón se convierte en una mano cuando está sobre el cristal.
  • Tienes que estar lo bastante cerca. Un ClickDetector funciona desde 32 studs de distancia o menos.
Error común. No pasa nada al hacer clic: el ClickDetector debe estar directamente dentro de Crystal, junto al script.
Este paso no me funciona

Revisa primero estas tres cosas

  • El nombre de cada Part y de cada Script es exactamente igual al de la guía, con las mismas mayúsculas.
  • El Script está dentro del objeto correcto. Mira la etiqueta que hay encima del cuadro de código.
  • Abre la ventana Output desde el menú Window. El texto en rojo te dice qué script y qué línea tienen el problema.

¿Sigues atascado? Escríbenos →

4
Paso 4 / 8

Añade la plataforma de venta

  1. Añade una Part en el suelo. Pon Size en 8, 1, 8, activa Anchored, hazla amarilla y llámala Sell.
  2. Añade un Script a Sell y pega este código.
  3. Pulsa Play, haz clic varias veces en el cristal y camina hasta la plataforma. El poder se convierte en Coins.
Sell > Script
local Players = game:GetService("Players")
local pad = script.Parent

pad.Touched:Connect(function(hit)
	local player = Players:GetPlayerFromCharacter(hit.Parent)
	if not player then return end

	local stats = player.leaderstats
	if stats.Power.Value > 0 then
		stats.Coins.Value += stats.Power.Value
		stats.Power.Value = 0
	end
end)

Qué hace cada parte

  • GetPlayerFromCharacter encuentra al jugador que pisó la plataforma.
  • La plataforma suma todo el Power del jugador a Coins y luego vuelve a poner Power en 0.

Más detalles

  • Una plataforma de venta es una pieza plana sobre la que caminan los jugadores.
  • Pon la plataforma plana en el suelo. Si está demasiado alta, los jugadores no pueden subirse a ella.
  • Pisar la plataforma con 0 de poder no hace nada. Eso es correcto.
  • Para probar: haz clic en el cristal 10 veces, camina hasta la plataforma y la lista de jugadores muestra Power 0 y Coins 10.
Este paso no me funciona

Revisa primero estas tres cosas

  • El nombre de cada Part y de cada Script es exactamente igual al de la guía, con las mismas mayúsculas.
  • El Script está dentro del objeto correcto. Mira la etiqueta que hay encima del cuadro de código.
  • Abre la ventana Output desde el menú Window. El texto en rojo te dice qué script y qué línea tienen el problema.

¿Sigues atascado? Escríbenos →

5
Paso 5 / 8

Añade la plataforma de mejoras

  1. Añade otra Part en el suelo. Pon Size en 8, 1, 8, activa Anchored, hazla azul y llámala Upgrade.
  2. Añade un Script a Upgrade y pega este código.
  3. Pulsa Play, consigue 25 monedas y pisa la plataforma. Ahora cada clic da 2 de poder.
Upgrade > Script
local Players = game:GetService("Players")
local pad = script.Parent
local waiting = {}

pad.Touched:Connect(function(hit)
	local player = Players:GetPlayerFromCharacter(hit.Parent)
	if not player or waiting[player] then return end

	local price = player.Multiplier.Value * 25
	local coins = player.leaderstats.Coins
	if coins.Value < price then return end

	waiting[player] = true
	coins.Value -= price
	player.Multiplier.Value += 1

	task.wait(1)
	waiting[player] = nil
end)

Qué hace cada parte

  • El precio es el Multiplier del jugador por 25, así que cada mejora cuesta más que la anterior.
  • La tabla waiting evita que quedarse mucho tiempo en la plataforma compre muchas mejoras a la vez.
  • Después de la compra, el Multiplier sube 1.

Más detalles

  • Pon la plataforma a unos pasos de la plataforma de venta, para que los jugadores no compren sin querer.
  • La primera mejora cuesta 25 monedas. Después, Coins baja 25 y un clic da 2 de poder.
  • Con menos monedas que el precio, la plataforma no hace nada. Bájate, gana más y vuelve.
  • La pausa de 1 segundo es la razón de que quedarse quieto sobre la plataforma compre solo una mejora cada vez.
Este paso no me funciona

Revisa primero estas tres cosas

  • El nombre de cada Part y de cada Script es exactamente igual al de la guía, con las mismas mayúsculas.
  • El Script está dentro del objeto correcto. Mira la etiqueta que hay encima del cuadro de código.
  • Abre la ventana Output desde el menú Window. El texto en rojo te dice qué script y qué línea tienen el problema.

¿Sigues atascado? Escríbenos →

6
Paso 6 / 8

Pon etiquetas a las plataformas

  1. Pasa el ratón sobre Sell, haz clic en + y añade un BillboardGui. Pon su Size en {0, 200}, {0, 50} y su StudsOffset en 0, 4, 0.
  2. Añade un TextLabel dentro del BillboardGui. Pon su Size en {1, 0}, {1, 0}, activa TextScaled y escribe este texto: SELL
  3. Haz lo mismo con Upgrade con el texto: UPGRADE
  4. Haz lo mismo con Crystal con el texto: CLICK ME. Ahí usa un StudsOffset de 0, 7, 0, para que la etiqueta flote sobre el cristal.

Más detalles

  • Para Size y StudsOffset, haz clic en el campo de Properties, escribe los números exactamente como se muestran, con los paréntesis y las comas, y pulsa Enter.
  • Text es una propiedad del TextLabel. Haz clic en el campo Text, escribe la palabra y pulsa Enter.
  • Una forma más rápida: haz clic en el BillboardGui terminado en Explorer, pulsa Ctrl+C, haz clic en la siguiente pieza y pulsa Ctrl+Shift+V. Después cambia solo el texto.
  • Las etiquetas ayudan a los jugadores nuevos a entender el juego sin ninguna explicación.
Consejo. Un BillboardGui siempre se gira hacia la cámara, así que los jugadores pueden leerlo desde cualquier lado.
Este paso no me funciona

Revisa primero estas tres cosas

  • El nombre de cada Part y de cada Script es exactamente igual al de la guía, con las mismas mayúsculas.
  • El Script está dentro del objeto correcto. Mira la etiqueta que hay encima del cuadro de código.
  • Abre la ventana Output desde el menú Window. El texto en rojo te dice qué script y qué línea tienen el problema.

¿Sigues atascado? Escríbenos →

7
Paso 7 / 8

Prueba el ciclo

  1. Pulsa F5. Haz clic, vende, mejora y repite.
  2. Comprueba que el precio de la mejora sube: 25 monedas, luego 50, luego 75.
  3. Pulsa Shift+F5 para parar. Si algo falla, abre la ventana Output desde el menú Window y lee el texto rojo.

Más detalles

  • Cuenta tus clics. Con Multiplier 1, diez clics dan 10 de poder.
  • Después de la primera mejora, diez clics dan 20 de poder, y después de la segunda, 30.
  • Los cambios que haces mientras el juego está en marcha se pierden al detenerlo. Pulsa Shift+F5 primero y después edita.
  • En la ventana Output, haz clic en una línea roja y Studio abre el script en la línea que tiene el error.
Error común. La plataforma no compra nada: necesitas al menos 25 Coins, no 25 Power. Vende primero.
Este paso no me funciona

Revisa primero estas tres cosas

  • El nombre de cada Part y de cada Script es exactamente igual al de la guía, con las mismas mayúsculas.
  • El Script está dentro del objeto correcto. Mira la etiqueta que hay encima del cuadro de código.
  • Abre la ventana Output desde el menú Window. El texto en rojo te dice qué script y qué línea tienen el problema.

¿Sigues atascado? Escríbenos →

8
Paso 8 / 8

Publícalo

  1. Elige File → Publish to Roblox. Ponle un nombre y una descripción corta al juego.
  2. En el sitio web Creator Hub abre tu juego y responde el cuestionario de Maturity.
  3. Pon el juego en Public y envía el enlace a un amigo.

Más detalles

  • La primera vez que publicas, Studio te pide un nombre y una descripción. Haz clic en Create.
  • Creator Hub es el sitio web create.roblox.com. Inicia sesión con la misma cuenta y haz clic en tu juego en la lista.
  • Puede que Roblox te pida más cosas antes de que un juego pueda ser público, por ejemplo una verificación de edad de la cuenta. La página te dice qué falta.
  • Si tienes menos de 18 años, haz este paso junto con tu madre, tu padre o un tutor.
Consejo. El progreso aún no se guarda. Cuando un jugador se va, las monedas se pierden. Guardar datos es una lección avanzada.
Este paso no me funciona

Revisa primero estas tres cosas

  • El nombre de cada Part y de cada Script es exactamente igual al de la guía, con las mismas mayúsculas.
  • El Script está dentro del objeto correcto. Mira la etiqueta que hay encima del cuadro de código.
  • Abre la ventana Output desde el menú Window. El texto en rojo te dice qué script y qué línea tienen el problema.

¿Sigues atascado? Escríbenos →

Ahora cámbialo tú

  • Añade un segundo cristal que dé 5 de poder por clic pero que esté lejos.
  • Haz que el precio de la mejora se duplique cada vez. Pista: 25 * 2 ^ (player.Multiplier.Value - 1)
  • Haz que el cristal se vuelva un poco más grande con cada clic. Pista: cambia crystal.Size