Schwingen
Lektion 2 von 20 im Kurs Roblox-Spiel: Schlachtfelder von Coddy.
Mit einem Werkzeug in der Hand löst ein Klick (oder Tippen) das Activated-Ereignis des Werkzeugs aus, auch auf dem Server. Ein Schwung spielt Robloxs eigenen Schwertstreich ab: Eine Animation wird über ihre ID angegeben, und der Animator des Charakters innerhalb seines Humanoids lädt sie in einen Track, um sie abzuspielen:
local slash = Instance.new("Animation")
slash.AnimationId = "rbxassetid://522635514"
character.Humanoid.Animator:LoadAnimation(slash):Play()Ohne Begrenzung könnte ein Spieler so schnell klicken, wie er möchte. Deshalb merkt sich ein Schwung pro Spieler in einer Tabelle, wann der letzte stattgefunden hat, und lässt innerhalb von Settings.SwingCooldown Sekunden keinen weiteren zu.
Aufgabe
Einfach- Füge weiter oben
local lastSwing = {}und dieslash-Animation (idrbxassetid://522635514) hinzu. - Schreibe
swing(player)oberhalb von PlayerAdded: Gib die Funktion zurück, wenn der Spieler keinen lebenden Charakter hat oder vor weniger alsSettings.SwingCooldownSekunden geschwungen hat; speichere andernfalls die Zeit und spiele den Hieb auf seinem Animator ab. - Verbinde dort, wo du das Schwert vergibst, dessen
Activatedmitswing(player).
Drücke Play, halte das Schwert und klicke. Dann Check.
Probier es selbst
local Players = game:GetService("Players")
local ServerStorage = game:GetService("ServerStorage")
local Settings = require(game.ReplicatedStorage.Settings)
print("Swords deal " .. Settings.SwordDamage .. " damage")
-- Jeder Spieler erhält Kills auf der Bestenliste und bei jedem neuen Leben ein Schwert
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)
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.