Client-Skript

LocalScript (Client-Skript)

Ein LocalScript ist ein Code, der nur auf dem Computer des Spielers (Client) ausgeführt wird.

Es befasst sich mit Dingen, die spezifisch für den lokalen Spieler sind, wie Benutzeroberflächen-Interaktionen, Kamerasteuerungen und Effekte, die nicht von allen gesehen werden müssen.

Benutzeroberflächen-InteraktionAktualisierung oder Interaktion mit GUI-Elementen
Spieler-EingabenSpieler-Eingaben wie Tastatur-, Maus- oder Gamepad-Ereignisse.
Lokale EffekteVisuelle oder Audioeffekte, die spezifisch für den lokalen Spieler sind
Lokale DatenverarbeitungLokale Einstellungen oder Präferenzen, Inventarverwaltung
ReaktionsfähigkeitLäuft auf dem Client, was es viel reaktionsschneller auf die Aktionen des Spielers macht. Die Verzögerung ist minimal, da keine Kommunikation mit dem Server erforderlich ist, um die Eingabe zu erkennen.
EffizienzVerarbeitet das Ereignis lokal, wodurch die Belastung des Servers reduziert wird, was besonders in Spielen mit vielen Spielern wichtig ist.
-- 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)

Wenn Sie dieses Tutorial hilfreich fanden und meine Arbeit unterstützen möchten, können Sie mir gerne einen Kaffee spendieren.

Vielen Dank für Ihre Unterstützung!

Kaufen Sie mir einen Kaffee