リーダーボードの設置
集めたゲーム内通貨の数値を確認できるリーダーボードの設置
ゲーム内通貨の名前は適当に「Gold」
game.Players.PlayerAdded:Connect(function(player) local leaderstats = Instance.new("Folder", player) leaderstats.Name = "leaderstats" local gold = Instance.new("IntValue", leaderstats) gold.Name = "Gold" gold.Value = 0 end)
コインの作成
RobloxでModelsから探すか、Blenderで自作してコインのPartを準備
RobloxのAudioからコインの効果音を探してコインのPartに追加(coins_get)
PartにScriptを追加
local gold = script.Parent wait(1)--コインを出現させてから1秒後に触れるように調整 gold.CanTouch = true gold.Touched:Connect(function(hit) if hit.Parent:FindFirstChild("Humanoid") then gold.coins_get:Play() local player = game.Players:GetPlayerFromCharacter(hit.Parent) --player.leaderstats.Gold.Value = player.leaderstats.Gold.Value + gold.Gold.Value --gold:Remove() while wait(0.2) do if player then player.leaderstats.Gold.Value = player.leaderstats.Gold.Value + 1 gold:Remove() break end end end end)
モンスタードロップアイテムの演出
モンスターNPCのScriptにDiedイベントを追記
local npc = script.Parent local hrpOfNPC = npc:WaitForChild("HumanoidRootPart") local walkAnim = npc.Humanoid:LoadAnimation(npc.walk) npc.Humanoid.Died:Connect(function() --モンスターNPCが倒されたときの処理を記述 walkAnim:Stop()--移動アニメーションの停止 for i=1, 5 do --5枚のコイン生成するループ処理 local gold = game.ReplicatedStorage.Gold:Clone() gold.CanTouch = false gold.Parent = game.Workspace --Headパーツの少し上にコインを出現させy軸方向に打ち上げ。xz軸はランダムにばらけさせる gold.Position = npc.Head.Position + Vector3.new(0, 3, 0) gold.Velocity = Vector3.new(math.random(-10, 10), 50, math.random(-10, 10)) gold.coins_get:Play()--サウンドを再生 wait(0.05) end wait(3)--3秒後にNPC消滅 npc:Destroy() end)
コメント