Menu
CoddyTech

Zamach

Lekcja 2 z 20 w kursie Gra Roblox: Areny walki w Coddy.

Mając narzędzie w ręku, kliknięcie (lub stuknięcie) wywołuje zdarzenie Activated narzędzia — również na serwerze. Zamach odtwarza wbudowany w Roblox dźwięk cięcia mieczem: Animation wskazuje go za pomocą swojego identyfikatora, a Animator postaci, znajdujący się w jej Humanoidzie, ładuje go do ścieżki animacji, aby go odtworzyć:

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

Bez ograniczenia gracz mógłby klikać tak szybko, jak chce, więc system dla każdego gracza zapamiętuje w tabeli, kiedy nastąpił ostatni zamach, i odmawia wykonania kolejnego przed upływem Settings.SwingCooldown sekund.

challenge icon

Wyzwanie

Łatwy
  1. W pobliżu początku dodaj local lastSwing = {} oraz animację slash (id rbxassetid://522635514).
  2. Zapisz swing(player) przed PlayerAdded: zwróć sterowanie, jeśli gracz nie ma żyjącej postaci lub wykonał zamach mniej niż Settings.SwingCooldown temu; w przeciwnym razie zapamiętaj czas i odtwórz animację slash na jego Animatorze.
  3. W miejscu, w którym dajesz miecz, połącz jego Activated z swing(player).

Naciśnij Play, przytrzymaj miecz i kliknij. Następnie naciśnij Check.

Spróbuj swoich sił

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

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

-- Każdy gracz otrzymuje Kills na tablicy wyników oraz miecz przy każdym odrodzeniu
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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Gra Roblox: Areny walki