← Todas las guías
Guía 2

Crea tu primer tycoon

Un dropper fabrica cubos, una cinta los transporta, un colector los convierte en dinero y un botón compra un segundo dropper.

Gratis60 minutos · Principiante · Roblox Studio
1
Paso 1 / 9

Prepara el lugar

  1. Abre Roblox Studio, haz clic en New Experience y elige la plantilla Baseplate.
  2. En Explorer pasa el ratón sobre Workspace, haz clic en + y añade un Folder. Llámalo Tycoon.
  3. Todo lo que construyas en esta guía va dentro de ese Folder. Así Explorer se mantiene ordenado.

Más detalles

  • La plantilla Baseplate está en la lista de plantillas de la pantalla de inicio.
  • Cuando haces clic en +, se abre una lista. Escribe la palabra Folder para encontrarla rápido y haz clic en ella.
  • Para cambiarle el nombre a la carpeta, haz clic en ella una vez, pulsa F2, escribe Tycoon y pulsa Enter.
  • En un Mac, usa la tecla Cmd cada vez que esta guía diga Ctrl.
Consejo. Cambia el nombre de cada Part justo después de crearla. Los scripts encuentran las Parts por su nombre, así que una Part que aún se llama Part no funcionará.
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 / 9

Dale dinero a cada jugador

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

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

	local cash = Instance.new("IntValue")
	cash.Name = "Cash"
	cash.Value = 0
	cash.Parent = stats
end)

Qué hace cada parte

  • PlayerAdded se ejecuta una vez por cada jugador que entra.
  • Una carpeta llamada leaderstats es especial. Roblox muestra los valores que hay dentro en la lista de jugadores.
  • Un IntValue guarda un número entero. Aquí guarda el dinero del jugador.

Más detalles

  • ServerScriptService está en la lista de Explorer. Los scripts que hay dentro se ejecutan en el servidor, donde los jugadores no pueden cambiarlos.
  • 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.
  • Vuelve a tu mundo haciendo clic en la pestaña con el nombre de tu lugar.
  • La lista de jugadores está en la esquina superior derecha del juego. Pulsa F5 para empezar y Shift+F5 para detener.
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 / 9

Construye el dropper

  1. Añade una Part dentro del Folder Tycoon. Pon Size en 4, 1, 4, activa Anchored y llámala Dropper.
  2. Súbela unos 10 studs sobre el suelo con la herramienta Move (Ctrl+2).
  3. Añade un Script a Dropper y pega este código.
  4. Pulsa Play. Un cubo amarillo cae cada 2 segundos.
Dropper > Script
local Debris = game:GetService("Debris")
local dropper = script.Parent

while true do
	task.wait(2)

	local cube = Instance.new("Part")
	cube.Name = "Cube"
	cube.Size = Vector3.new(1.5, 1.5, 1.5)
	cube.Color = Color3.fromRGB(255, 200, 60)
	cube.Position = dropper.Position - Vector3.new(0, 2, 0)
	cube.Parent = workspace

	Debris:AddItem(cube, 20)
end

Qué hace cada parte

  • Instance.new crea una Part nueva desde el código.
  • Position coloca el cubo 2 studs por debajo del dropper.
  • Debris quita cada cubo después de 20 segundos, así los cubos viejos nunca se acumulan.

Más detalles

  • Para meter la pieza en la carpeta, arrastra su nombre en Explorer hasta el nombre Tycoon.
  • Con la herramienta Move, arrastra la flecha verde hacia arriba. El campo Position de Properties muestra la altura en el número del medio.
  • El cubo aparece 2 studs por debajo del dropper y luego cae. Si el dropper está demasiado bajo, los cubos se amontonan debajo.
  • El primer cubo llega 2 segundos después de que empieza el juego.
Error común. No aparecen cubos: revisa que el script esté dentro de Dropper y que Dropper tenga Anchored activado.
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 / 9

Añade la cinta transportadora

  1. Añade una Part, pon Size en 6, 1, 30, activa Anchored y llámala Conveyor.
  2. Colócala en el suelo de modo que un extremo quede justo debajo del dropper.
  3. Añade un Script a Conveyor y pega este código.
  4. Pulsa Play. Los cubos caen sobre la cinta y se deslizan por ella.
Conveyor > Script
local conveyor = script.Parent

conveyor.AssemblyLinearVelocity = conveyor.CFrame.LookVector * 8

Qué hace cada parte

  • AssemblyLinearVelocity le dice a Roblox qué tan rápido deben moverse las cosas que están encima de la Part.
  • LookVector es la dirección hacia la que mira el frente de la Part. El número 8 es la velocidad en studs por segundo.

Más detalles

  • Toda pieza tiene un frente. La cinta transportadora empuja los cubos hacia su frente.
  • El lado largo de la cinta, el de 30 studs, debe apuntar lejos del dropper, hacia el lugar donde estará el recolector.
  • La cinta en sí no se mueve. Solo se deslizan las cosas que están encima.
  • Si los cubos se caen por el lado, haz la cinta más ancha o mueve el dropper al medio de ella.
Error común. Los cubos se deslizan hacia el lado equivocado: gira la cinta 180 grados con la herramienta Rotate (Ctrl+4).
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 / 9

Recoge los cubos

  1. Añade una Part en el otro extremo de la cinta. Pon Size en 6, 4, 1, activa Anchored, hazla verde y llámala Collector.
  2. Ponla de pie como una pared, para que los cubos choquen con ella.
  3. Añade un Script a Collector y pega este código.
  4. Pulsa Play. Cada cubo que llega al colector suma 5 a Cash.
Collector > Script
local Players = game:GetService("Players")
local collector = script.Parent

collector.Touched:Connect(function(hit)
	if hit.Name ~= "Cube" then return end
	hit:Destroy()

	for _, player in ipairs(Players:GetPlayers()) do
		local stats = player:FindFirstChild("leaderstats")
		if stats then
			stats.Cash.Value += 5
		end
	end
end)

Qué hace cada parte

  • El script ignora todo lo que no se llame Cube. Tus pies no cuentan.
  • Destroy quita el cubo del juego.
  • El bucle da 5 de dinero a todos los jugadores del servidor. Un tycoon con un dueño por parcela es una lección avanzada.

Más detalles

  • Size 6, 4, 1 ya se queda de pie: 6 de ancho, 4 de alto y 1 de grosor. Ponla de lado a lado en el extremo de la cinta, como una puerta cerrada.
  • Su borde de abajo debe tocar la cinta, para que ningún cubo se cuele por debajo.
  • Para hacerla verde, haz clic en el campo Color de Properties.
  • Para probar: pulsa F5 y mira la lista de jugadores. Cash sube 5 cada vez que un cubo llega a la pared.
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 / 9

Prepara el segundo dropper

  1. Selecciona Dropper y pulsa Ctrl+D. Llama a la copia Dropper2 y muévela junto a la primera, aún encima de la cinta.
  2. Arrastra Dropper2 desde Workspace hasta ServerStorage.
  3. Desaparece del mundo. Los objetos en ServerStorage esperan allí hasta que un script los devuelva.

Más detalles

  • La copia está justo encima de la original. Arrástrala hacia un lado con la herramienta Move para ver las dos.
  • Cambia el nombre de la copia con F2. El nombre debe ser Dropper2, con una D mayúscula y sin espacio.
  • ServerStorage está en la lista de Explorer. Arrastra el nombre Dropper2 hasta él.
  • El script que había dentro de la copia vino con ella. No necesitas añadirlo otra vez.
Consejo. Los scripts dentro de ServerStorage no se ejecutan. Por eso el segundo dropper se queda quieto hasta que alguien lo compra.
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 / 9

Añade un botón de compra

  1. Añade una Part en el suelo cerca de la cinta. Pon Size en 4, 1, 4, activa Anchored, hazla azul brillante y llámala BuyDropper.
  2. Añade un Script a BuyDropper y pega este código.
  3. Para ponerle una etiqueta al botón, pasa el ratón sobre BuyDropper, haz clic en + y añade un BillboardGui. Pon su Size en {0, 200}, {0, 50} y su StudsOffset en 0, 3, 0.
  4. Añade un TextLabel dentro del BillboardGui. Pon su Size en {1, 0}, {1, 0}, activa TextScaled y escribe este texto: Second dropper - 50
BuyDropper > Script
local Players = game:GetService("Players")
local ServerStorage = game:GetService("ServerStorage")

local button = script.Parent
local PRICE = 50
local bought = false

button.Touched:Connect(function(hit)
	if bought then return end

	local player = Players:GetPlayerFromCharacter(hit.Parent)
	local stats = player and player:FindFirstChild("leaderstats")
	if not stats or stats.Cash.Value < PRICE then return end

	bought = true
	stats.Cash.Value -= PRICE
	ServerStorage.Dropper2.Parent = workspace
	button:Destroy()
end)

Qué hace cada parte

  • PRICE es el costo. Cambia el número para que el botón sea más barato o más caro.
  • El script comprueba que un jugador de verdad tocó el botón y que tiene suficiente dinero.
  • Al mover Dropper2 a workspace se enciende. Su script empieza a funcionar enseguida.

Más detalles

  • Los jugadores compran caminando sobre el botón, así que ponlo en el suelo, en un sitio fácil de alcanzar.
  • 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 las palabras y pulsa Enter.
  • La etiqueta flota sobre el botón. Si no la ves, sube el número del medio de StudsOffset.
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 / 9

Prueba todo el ciclo

  1. Pulsa F5. Mira cómo caen los cubos, viajan por la cinta y se convierten en dinero.
  2. Espera hasta tener 50 de dinero y luego pisa el botón azul.
  3. Aparece el segundo dropper, el botón desaparece y tu dinero crece el doble de rápido.
  4. Pulsa Shift+F5 para parar. Si algo falla, abre la ventana Output desde el menú Window y lee el texto rojo.

Más detalles

  • Hacen falta 10 cubos, es decir, al menos 20 segundos, para llegar a 50 de cash.
  • Después de comprar, Cash baja 50. Eso es correcto. Pagaste por el dropper.
  • El botón se destruye después de la compra, así que no se puede comprar dos veces.
  • Si el segundo dropper aparece en un sitio equivocado, detén el juego, arrastra Dropper2 de ServerStorage de vuelta a Workspace, muévelo y arrástralo otra vez a ServerStorage.
Error común. Cash nunca cambia: las piezas que caen deben llamarse Cube, exactamente como en el script del dropper.
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 →

9
Paso 9 / 9

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, el dinero se pierde. 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ú

  • Haz que cada cubo valga 10 de dinero en lugar de 5.
  • Añade un tercer dropper que cueste 200 de dinero.
  • Haz que el segundo dropper sea más rápido que el primero. ¿Qué número cambias?