Script do Cliente

LocalScript (Script do Cliente)

Um LocalScript é um código que roda apenas no computador do jogador (cliente).

Ele lida com coisas específicas para o jogador local, como interações de interface do usuário, controles de câmera e efeitos que não precisam ser vistos por todos.

Interação de Interface do Usuário (UI)Atualizando ou interagindo com elementos da GUI
Entrada do JogadorEntradas do jogador, como eventos de teclado, mouse ou gamepad.
Efeitos LocaisEfeitos visuais ou sonoros específicos para o jogador local
Manipulação de Dados LocaisConfigurações locais ou preferências, gerenciamento de inventário
ResponsividadeRoda no cliente, o que o torna muito mais responsivo às ações do jogador. O atraso é mínimo, pois não requer comunicação com o servidor para detectar a entrada.
EficiênciaLida com o evento localmente, reduzindo a carga no servidor, o que é particularmente importante em jogos com muitos jogadores.
-- LocalScript in StarterPlayerScripts
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local player = Players.LocalPlayer

local givePointsEvent = ReplicatedStorage:WaitForChild("GivePointsEvent")

local function triggerGivePoints(points)
    givePointsEvent:FireServer(points)
end

-- Example usage: Trigger the event when the player clicks a GUI button
local screenGui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
local button = Instance.new("TextButton", screenGui)
button.Size = UDim2.new(0, 200, 0, 50)
button.Position = UDim2.new(0.5, -100, 0.5, -25)
button.Text = "Get Points"

button.MouseButton1Click:Connect(function()
    triggerGivePoints(10)
end)
-- Script in ServerScriptService

-- Get the RemoteEvent
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local givePointsEvent = ReplicatedStorage:WaitForChild("GivePointsEvent")

-- Function to handle the remote event
local function onGivePoints(player, points)
    -- Add points to the player's leaderstats
    local leaderstats = player:FindFirstChild("leaderstats")
    if leaderstats then
        local score = leaderstats:FindFirstChild("Points")
        if score then
            score.Value = score.Value + points
            print(player.Name .. " received " .. points .. " points!")
        end
    end
end

-- Connect the function to the OnServerEvent of the remote event
givePointsEvent.OnServerEvent:Connect(onGivePoints)

Se você achou este tutorial útil e gostaria de apoiar meu trabalho, por favor, considere me comprar um café.

Muito obrigado pelo seu apoio!

Me compre um café