Datorită mecanismului de securitate FilteringEnabled, clientul nu are permisiunea de a modifica starea jocului direct pe server. Pentru acțiuni partajate (cum ar fi deschiderea unei uși sau cumpărarea unui articol), clientul trimite o notificare către server printr-un RemoteEvent (unidirecțional) sau printr-o RemoteFunction (cerere-răspuns bidirecțională).
Flux de achiziție securizată prin RemoteEvent
-- 1. Pe CLIENT (LocalScript în StarterPlayerScripts):
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EvenimentCumparare = ReplicatedStorage:WaitForChild("EvenimentCumparare") :: RemoteEvent
local function cumparaSabie()
-- Clientul anunță doar intenția; nu trimite el cantitatea de bani!
EvenimentCumparare:FireServer("SabieDeAur")
end
-- 2. Pe SERVER (Script în ServerScriptService):
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EvenimentCumparare = ReplicatedStorage:WaitForChild("EvenimentCumparare") :: RemoteEvent
-- Serverul primește AUTOMAT parametrul jucător ca prim argument:
EvenimentCumparare.OnServerEvent:Connect(function(jucator: Player, numeArticol: string)
-- REGULĂ DE AUR: Validăm întotdeauna datele pe server!
print(`Verificăm dacă {jucator.Name} are suficiente fonduri pentru {numeArticol}...`)
-- Executăm deducerea de bani și acordarea obiectului doar dacă este legitim.
end)
Întrebări & Exemple de Cod:
Comunicarea Client-Server: RemoteEvent și RemoteFunction (FilteringEnabled)Ai o nelămurire despre utilizarea comenzii
Comunicarea Client-Server: RemoteEvent și RemoteFunction (FilteringEnabled)sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.