Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- i'm just trying to trigger a remoteEvent on touch which will update my Completions value in my database. Also note that the event is called UpdateLeaderboardEvent
- Local script (in StarterPlayerScripts):
- local ReplicatedStorage = game:GetService("ReplicatedStorage")
- local Players = game:GetService("Players")
- local player = Players.LocalPlayer
- local debounce = false
- local event = ReplicatedStorage:WaitForChild("UpdateLeaderboardEvent")
- local testPart = workspace.testPart
- -- Check if testPart exists
- if testPart then
- testPart.Touched:Connect(function(hit)
- if hit.Parent:FindFirstChild("Humanoid") and not debounce then
- debounce = true
- event:FireServer()
- print("Requested leaderboard update")
- task.delay(2, function()
- debounce = false
- end)
- end
- end)
- else
- warn("Could not find 'test' part in 'Lobby/Spawn'.")
- end
- Script inside my testPart:
- local ReplicatedStorage = game:GetService("ReplicatedStorage")
- local ServerStorage = game:GetService("ServerStorage")
- local Players = game:GetService("Players")
- local DataStoreService = game:GetService("DataStoreService")
- local towerCompletionDataStore = DataStoreService:GetDataStore("TowerCompletionDataStore")
- local event = ReplicatedStorage:WaitForChild("UpdateLeaderboardEvent")
- local TowerCompletionUpdater = require(ServerStorage:WaitForChild("TowerCompletionUpdater"))
- event.OnServerEvent:Connect(function(player)
- local success, Completions = pcall(function()
- return towerCompletionDataStore:GetAsync(player.UserId)
- end)
- if not success or Completions == nil then
- Completions = 0
- end
- Completions = Completions + 1
- local saveSuccess, errorMessage = pcall(function()
- towerCompletionDataStore:SetAsync(player.UserId, Completions)
- end)
- if saveSuccess then
- print("Leaderboard updated for", player.Name, "with new completion count:", Completions)
- else
- print("Failed to update leaderboard for", player.Name, "due to error:", errorMessage)
- end
- TowerCompletionUpdater.updateLeaderboard(player)
- end)
- This is everything related to it (apart from the database and leaderboard setup, of course)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement