-- 1. ระบบข้อมูลผู้เล่น (ทอง)
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 -- เริ่มต้นมี 0 ทอง
end)
-- 2. ระบบวางบล็อก (ตัวอย่างการวางบล็อกไม้)
-- สร้าง RemoteEvent ใน ReplicatedStorage ชื่อ "PlaceBlockEvent" ก่อนใช้งาน
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local placeEvent = Instance.new("RemoteEvent", ReplicatedStorage)
placeEvent.Name = "PlaceBlockEvent"
placeEvent.OnServerEvent:Connect(function(player, position)
local block = Instance.new("Part")
block.Name = "WoodenBlock"
block.Size = Vector3.new(4, 2, 4)
block.Material = Enum.Material.Wood
block.BrickColor = BrickColor.new("Bright Brown")
block.Position = position
block.Anchored = true -- ล็อกไว้ตอนสร้าง
block.Parent = workspace.BuildAreas.Area1 -- ให้บล็อกไปอยู่ในพื้นที่สร้าง
end)
-- 3. ระบบปล่อยเรือ (Launch System)
-- สร้างปุ่มใน Workspace ชื่อ "LaunchButton"
local launchButton = Instance.new("Part", workspace)
launchButton.Name = "LaunchButton"
launchButton.Size = Vector3.new(5, 1, 5)
launchButton.Position = Vector3.new(0, 5, 20) -- ปรับตำแหน่งตามต้องการ
launchButton.BrickColor = BrickColor.new("Bright Green")
local cd = Instance.new("ClickDetector", launchButton)
cd.MouseClick:Connect(function()
local blocks = workspace.BuildAreas.Area1:GetChildren()
for _, part in pairs(blocks) do
if part:IsA("BasePart") then
part.Anchored = false -- ปลดล็อกให้เรือไหลไปได้!
-- เพิ่มแรงผลักไปข้างหน้า (กระแสน้ำจำลอง)
local bodyV = Instance.new("BodyVelocity", part)
bodyV.Velocity = Vector3.new(0, 0, 30) -- พุ่งไปข้างหน้าทิศ Z
bodyV.MaxForce = Vector3.new(5000, 0, 5000)
end
end
print("เรือถูกปล่อยแล้ว!")
end)
-- 4. ระบบเส้นชัยและรางวัลทอง (Goal)
local goal = Instance.new("Part", workspace)
goal.Name = "FinishLine"
goal.Size = Vector3.new(50, 10, 5)
goal.Position = Vector3.new(0, 0, 500) -- ระยะทางห่างออกไป 500 หน่วย
goal.Transparency = 0.5
goal.CanCollide = false
goal.BrickColor = BrickColor.new("Bright Yellow")
goal.Touched:Connect(function(hit)
local character = hit.Parent
local player = game.Players:GetPlayerFromCharacter(character)
if player then
player.leaderstats.Gold.Value = player.leaderstats.Gold.Value + 100
character:BreakJoints() -- ส่งผู้เล่นกลับจุดเกิดพร้อมเงิน
print(player.Name .. " ชนะ! รับ 100 ทอง")
end
end)
-- 1. ระบบข้อมูลผู้เล่น (ทอง)
game.Players.PlayerAdded:Connect(function(player)
local leaderstats = Instance.new("Folder", player)
leaderstats.Name = "leaderstats"
end)
-- 2. ระบบวางบล็อก (ตัวอย่างการวางบล็อกไม้)
-- สร้าง RemoteEvent ใน ReplicatedStorage ชื่อ "PlaceBlockEvent" ก่อนใช้งาน
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local placeEvent = Instance.new("RemoteEvent", ReplicatedStorage)
placeEvent.Name = "PlaceBlockEvent"
placeEvent.OnServerEvent:Connect(function(player, position)
local block = Instance.new("Part")
block.Name = "WoodenBlock"
block.Size = Vector3.new(4, 2, 4)
block.Material = Enum.Material.Wood
block.BrickColor = BrickColor.new("Bright Brown")
block.Position = position
block.Anchored = true -- ล็อกไว้ตอนสร้าง
block.Parent = workspace.BuildAreas.Area1 -- ให้บล็อกไปอยู่ในพื้นที่สร้าง
end)
-- 3. ระบบปล่อยเรือ (Launch System)
-- สร้างปุ่มใน Workspace ชื่อ "LaunchButton"
local launchButton = Instance.new("Part", workspace)
launchButton.Name = "LaunchButton"
launchButton.Size = Vector3.new(5, 1, 5)
launchButton.Position = Vector3.new(0, 5, 20) -- ปรับตำแหน่งตามต้องการ
launchButton.BrickColor = BrickColor.new("Bright Green")
local cd = Instance.new("ClickDetector", launchButton)
cd.MouseClick:Connect(function()
local blocks = workspace.BuildAreas.Area1:GetChildren()
for _, part in pairs(blocks) do
if part:IsA("BasePart") then
part.Anchored = false -- ปลดล็อกให้เรือไหลไปได้!
end)
-- 4. ระบบเส้นชัยและรางวัลทอง (Goal)
local goal = Instance.new("Part", workspace)
goal.Name = "FinishLine"
goal.Size = Vector3.new(50, 10, 5)
goal.Position = Vector3.new(0, 0, 500) -- ระยะทางห่างออกไป 500 หน่วย
goal.Transparency = 0.5
goal.CanCollide = false
goal.BrickColor = BrickColor.new("Bright Yellow")
goal.Touched:Connect(function(hit)
local character = hit.Parent
local player = game.Players:GetPlayerFromCharacter(character)
end)