Menu
CoddyTech

Fendente

Lezione 2 di 25 del corso Gioco Roblox: Battlegrounds di Coddy.

Con uno strumento in mano, un clic (o un tocco) attiva l'evento Activated dello strumento, anche sul server. Un fendente riproduce il colpo di spada originale di Roblox: un oggetto Animation lo identifica tramite il suo ID e l'oggetto Animator del personaggio, all'interno del suo Humanoid, lo carica in una traccia da riprodurre:

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

Senza un limite, un giocatore potrebbe fare clic alla velocità che preferisce, quindi il sistema registra in una tabella, per ogni giocatore, quando ha eseguito l'ultimo fendente e rifiuta di eseguirne un altro entro Settings.SwingCooldown secondi.

challenge icon

Sfida

Facile

Fai oscillare la spada con un clic.

  1. Vicino all'inizio: local lastSwing = {} e l'animazione slash, con id rbxassetid://522635514.
  2. Scrivi swing(player): esci se il personaggio è morto o ha oscillato meno di Settings.SwingCooldown fa.
  3. Altrimenti imposta lastSwing[player] = now e riproduci l'animazione slash su character.Humanoid.Animator.
  4. Collega Activated della spada a swing(player).

Premi «Gioca», impugna la spada e fai clic: il tuo personaggio sferra un fendente. Poi premi «Verifica».

Provalo tu

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

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

-- Lezione 2: qui va Swing

-- Ogni giocatore riceve una spada a ogni nuova vita
Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function()
		local sword = ServerStorage.Sword:Clone()
		sword.Parent = player.Backpack
	end)
end)

Tutte le lezioni di Gioco Roblox: Battlegrounds

Esercitati da solo: Playground Roblox