Menu
CoddyTech

Golpe

Lección 2 de 20 del curso Juego de Roblox: Combates en la arena de Coddy.

Con una herramienta en la mano, al hacer clic (o tocar la pantalla) se dispara el evento Activated de la herramienta, también en el servidor. Un golpe reproduce el tajo de espada propio de Roblox: una Animation lo identifica mediante su id y el Animator del personaje, dentro de su Humanoid, la carga en una pista para reproducirla:

local slash = Instance.new("Animation")
slash.AnimationId = "rbxassetid://522635514"
character.Humanoid.Animator:LoadAnimation(slash):Play()

Sin un límite, un jugador podría hacer clic tan rápido como quisiera, así que cada golpe recuerda cuándo ocurrió el último, por jugador, en una tabla, y rechaza otro durante los siguientes Settings.SwingCooldown segundos.

challenge icon

Desafío

Fácil
  1. Cerca de la parte superior, añade local lastSwing = {} y la animación slash (id rbxassetid://522635514).
  2. Escribe swing(player) encima de PlayerAdded: devuelve si el jugador no tiene un personaje con vida o si ha blandido la espada hace menos de Settings.SwingCooldown; de lo contrario, recuerda la hora y reproduce la animación de corte en su Animator.
  3. Donde entregas la espada, conecta su Activated a swing(player).

Pulsa Play, sostén la espada y haz clic. Después, Check.

Pruébalo tú mismo

local Players = game:GetService("Players")
local ServerStorage = game:GetService("ServerStorage")
local Settings = require(game.ReplicatedStorage.Settings)

print("Swords deal " .. Settings.SwordDamage .. " damage")

-- Cada jugador obtiene Kills en la tabla de clasificación y una espada cada vez que reaparece
Players.PlayerAdded:Connect(function(player)
	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "leaderstats"
	leaderstats.Parent = player

	local kills = Instance.new("IntValue")
	kills.Name = "Kills"
	kills.Parent = leaderstats

	player.CharacterAdded:Connect(function()
		local sword = ServerStorage.Sword:Clone()
		sword.Parent = player.Backpack
	end)
end)
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Juego de Roblox: Combates en la arena