Script Client

LocalScript (Script Client)

Un LocalScript est un morceau de code qui s'exécute uniquement sur l'ordinateur du joueur (client).

Il gère des éléments spécifiques au joueur local, comme les interactions de l'interface utilisateur, les contrôles de la caméra, et les effets qui n'ont pas besoin d'être vus par tout le monde.

Interaction avec l'interface utilisateur (UI)Mise à jour ou interaction avec des éléments GUI
Entrée du joueurEntrées du joueur telles que les événements clavier, souris ou manette.
Effets locauxEffets visuels ou sonores spécifiques au joueur local
Gestion des données localesParamètres locaux ou préférences, gestion de l'inventaire
RéactivitéS'exécute sur le client, ce qui le rend beaucoup plus réactif aux actions du joueur. Le délai est minimal car il ne nécessite pas de communication avec le serveur pour détecter l'entrée.
EfficacitéGère l'événement localement, réduisant la charge sur le serveur, ce qui est particulièrement important dans les jeux avec de nombreux joueurs.
-- 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 ce tutoriel vous a été utile et que vous souhaitez soutenir mon travail, veuillez envisager de m'offrir un café.

Merci beaucoup pour votre soutien !

M'offrir un café