El script de combate
Lección 1 de 20 del curso Juego de Roblox: Combates en la arena de Coddy.
En este curso crearás un juego de combate en arenas: una espada, habilidades con teclas y botones del teléfono, combos y bloqueos, y bots que te persiguen por la arena.
El juego tiene dos scripts. BattleServer, un Script, se ejecuta en el servidor de Roblox y controla todas las reglas. BattleClient, un LocalScript en el HUD, se ejecuta en el dispositivo de cada jugador; contiene solo un comentario hasta el capítulo 2. Todos los números que equilibran el juego están en ReplicatedStorage.Settings.
Una espada es una Tool. Las herramientas de un jugador están en su Backpack, y la Backpack se vacía cada vez que reapareces, así que la espada se entrega cada vez que ocurre CharacterAdded, no solo una vez cuando te unes:
player.CharacterAdded:Connect(function()
local sword = ServerStorage.Sword:Clone()
sword.Parent = player.Backpack
end)Pulsa 1 (o toca la espada en la parte inferior de la pantalla) para empuñarla.
Desafío
Fácil- Carga la configuración con
require(game.ReplicatedStorage.Settings). - Imprime
Swords deal 10 damage, construido a partir deSettings.SwordDamage. - Cuando un jugador se una, dale un Folder
leaderstatscon un IntValue llamadoKills. - Cada vez que se active
CharacterAdded, clonaServerStorage.Sworden suBackpack.
Pulsa Jugar, pulsa 1 para sostener la espada y después Comprobar.
Pruébalo tú mismo
-- BattleServer: el Script que ejecuta el juego en el servidor.
local Players = game:GetService("Players")
local ServerStorage = game:GetService("ServerStorage")
-- 1. Carga la configuración: utiliza require con el ModuleScript
-- game.ReplicatedStorage.Settings
-- 2. Muestra cuánto daño hace un golpe de espada usando Settings.SwordDamage
-- 3. Cuando se une un jugador: Kills en la tabla de clasificación (un Folder llamado
-- leaderstats que contiene un IntValue), y cada vez que su personaje
-- aparece, una copia de ServerStorage.Sword en su Backpack
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.