Script Client

LocalScript (Script Client)

Un LocalScript è un pezzo di codice che viene eseguito solo sul computer del giocatore (client).

Gestisce elementi specifici del giocatore locale, come interazioni con l'interfaccia utente, controlli della telecamera e effetti che non devono essere visibili a tutti.

Interazione con l'Interfaccia Utente (UI)Aggiornamento o interazione con elementi GUI
Input del GiocatoreInput del giocatore come eventi di tastiera, mouse o gamepad.
Effetti LocaliEffetti visivi o sonori specifici del giocatore locale
Gestione dei Dati LocaliImpostazioni o preferenze locali, gestione dell'inventario
ReattivitàEsegue sul client, rendendolo molto più reattivo alle azioni del giocatore. Il ritardo è minimo poiché non richiede la comunicazione con il server per rilevare l'input.
EfficienzaGestisce l'evento localmente, riducendo il carico sul server, particolarmente importante nei giochi con molti giocatori.
-- 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 hai trovato utile questo tutorial e desideri supportare il mio lavoro, considera di offrirmi un caffè.

Grazie mille per il tuo supporto!

Offrimi un caffè