Script del Cliente

LocalScript (Script del Cliente)

Un LocalScript es un fragmento de código que solo se ejecuta en la computadora del jugador (cliente).

Gestiona aspectos específicos del jugador local, como interacciones de la interfaz de usuario, controles de cámara y efectos que no necesitan ser vistos por todos.

Interacción con la Interfaz de Usuario (UI)Actualización o interacción con elementos de la GUI
Entrada del JugadorEntradas del jugador, como eventos de teclado, ratón o gamepad.
Efectos LocalesEfectos visuales o de audio específicos del jugador local
Gestión de Datos LocalesConfiguraciones locales o preferencias, gestión de inventario
SensibilidadSe ejecuta en el cliente, lo que lo hace mucho más sensible a las acciones del jugador. El retraso es mínimo, ya que no requiere comunicación con el servidor para detectar la entrada.
EficienciaManeja el evento localmente, reduciendo la carga en el servidor, lo cual es particularmente importante en juegos con muchos jugadores.
-- 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)

Si encuentras útil este tutorial y deseas apoyar mi trabajo, considera invitarme a un café.

¡Muchas gracias por tu apoyo!

Invítame a un café