Menu
CoddyTech

Kemunculan Kembali Koin

Termasuk bagian Scripting Game Roblox dalam perjalanan Lua di Coddy. Pelajaran 16 dari 25.

Sekarang setiap koin memberikan 1, satu kali. Koin sungguhan seharusnya menghilang, lalu muncul kembali agar bisa dikumpulkan lagi.

Transparency = 1 menyembunyikan sebuah bagian, tetapi bagian itu masih memicu Touched. CanTouch = false membuat sebuah bagian berhenti memicu Touched sampai nilainya diatur kembali ke true.

Agar bagian itu muncul kembali, tunggu di dalam fungsi Touched, lalu batalkan perubahan yang dibuat. task.wait hanya menjeda fungsi ini, jadi sentuhan lain tetap datang dan diabaikan selama debounce bernilai true:

local used = false
pad.Touched:Connect(function(hit)
	if not used then
		used = true
		pad.Transparency = 0.5
		task.wait(5)
		pad.Transparency = 0
		used = false
	end
end)

Pad memudar selama 5 detik setelah disentuh, lalu muncul kembali dan siap digunakan.

challenge icon

Tantangan

Sedang

Buat koin yang sudah diambil menghilang, lalu muncul kembali 3 detik kemudian.

  1. Setelah baris yang menambahkan koin, sembunyikan koin: coin.Transparency = 1 dan coin.CanTouch = false.
  2. Lalu task.wait(3) dan tampilkan lagi: Transparency 0, CanTouch true.
  3. Terakhir, atur collected = false agar koin bisa diambil lagi.

Tekan tombol “Main” dan berjalanlah melewati koin: koin menghilang dan muncul kembali 3 detik kemudian. Lalu tekan tombol “Periksa”.

Coba sendiri

local Players = game:GetService("Players")
local coins = workspace.Coins

Players.PlayerAdded:Connect(function(player)
	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "leaderstats"
	leaderstats.Parent = player

	local coinsValue = Instance.new("IntValue")
	coinsValue.Name = "Coins"
	coinsValue.Value = 0
	coinsValue.Parent = leaderstats
end)

for _, coin in coins:GetChildren() do
	local collected = false
	coin.Touched:Connect(function(hit)
		local player = Players:GetPlayerFromCharacter(hit.Parent)
		if player and not collected then
			collected = true
			player.leaderstats.Coins.Value += 1
		end
	end)
end

Semua pelajaran di Scripting Game Roblox

Latihan sendiri: Compiler Lua online