From b6fa3cf2d76537e2d8b0f44dc32b59604d6db205 Mon Sep 17 00:00:00 2001 From: khtsly Date: Mon, 16 Feb 2026 14:41:45 +0700 Subject: [PATCH] chore(identifier): few fixes --- src/Client/init.luau | 4 ++-- src/Replication/init.luau | 14 +++++++------- src/Server/init.luau | 17 ++++++++--------- src/init.luau | 3 +++ 4 files changed, 20 insertions(+), 18 deletions(-) diff --git a/src/Client/init.luau b/src/Client/init.luau index 05d47fb..d711774 100644 --- a/src/Client/init.luau +++ b/src/Client/init.luau @@ -84,8 +84,8 @@ end Client.Destroy = Client.DisconnectAll -Client.Fire = function(remoteName: string, reliable: boolean, ...: any?) - table.insert(reliable and queueEvent or queueUnreliableEvent, { +Client.Fire = function(remoteName: string, ...: any?) + table.insert(queueEvent, { Replication.get_id(remoteName), { ... } :: any, }) diff --git a/src/Replication/init.luau b/src/Replication/init.luau index 1a94962..35abd37 100644 --- a/src/Replication/init.luau +++ b/src/Replication/init.luau @@ -15,15 +15,15 @@ local warp_identifier_registry = shared.__warp_identifier_registry if RunService:IsServer() then local replication_ready: { Player } = {} local replication_id: number = Identifier.get("id_replication") or 1 - + if not Identifier.has("id_replication") or not replication_id then replication_id = Identifier.get("id_replication") or 1 end local function replicateToAll(content: any, id: number?) if #replication_ready == 0 then return end - local to_repl: any = type(content) == "string" and { content = id } or content - Buffer.writeRepl(writer, to_repl, warp_identifier_registry.counter, identifiers_schema) + local to_repl: any = type(content) == "string" and { [content] = id } or content + Buffer.writeRepl(writer, to_repl, 1, identifiers_schema) do local buf = Buffer.build(writer) Buffer.reset(writer) @@ -43,17 +43,17 @@ if RunService:IsServer() then end Identifier.on_added(replicateToAll) - + _repl.OnServerEvent:Connect(function(player: Player) if table.find(replication_ready, player) then return end table.insert(replication_ready, player) replicateTo(player) end) - + Replication.remove = function(player: Player) table.remove(replication_ready, table.find(replication_ready, player)) end - + elseif RunService:IsClient() then _repl.OnClientEvent:Connect(function(b: buffer, id: number) if type(b) ~= "buffer" then @@ -66,7 +66,7 @@ elseif RunService:IsClient() then end end) _repl:FireServer() - + Replication.get_id = function(name: string): number return warp_identifier_registry.cache[name] end diff --git a/src/Server/init.luau b/src/Server/init.luau index da8020e..8988b29 100644 --- a/src/Server/init.luau +++ b/src/Server/init.luau @@ -95,27 +95,26 @@ end Server.Destroy = Server.DisconnectAll -Server.Fire = function(remoteName: string, reliable: boolean, player: Player, ...: any?) - local targetQueue = reliable and queueEvent or queueUnreliableEvent - if not targetQueue[player] then - targetQueue[player] = {} :: any +Server.Fire = function(remoteName: string, player: Player, ...: any?) + if not queueEvent[player] then + queueEvent[player] = {} :: any end - table.insert(targetQueue[player], { + table.insert(queueEvent[player], { Identifier.get(remoteName), { ... } :: any, }) end -Server.Fires = function(remoteName: string, reliable: boolean, ...: any?) +Server.Fires = function(remoteName: string, ...: any?) for _, player: Player in players_ready do - Server.Fire(remoteName, reliable, player, ...) + Server.Fire(remoteName, player, ...) end end -Server.FireExcept = function(remoteName: string, reliable: boolean, except: { Player }, ...: any?) +Server.FireExcept = function(remoteName: string, except: { Player }, ...: any?) for _, player: Player in players_ready do if table.find(except, player) then continue end - Server.Fire(remoteName, reliable, player, ...) + Server.Fire(remoteName, player, ...) end end diff --git a/src/init.luau b/src/init.luau index a8835f6..eae5670 100644 --- a/src/init.luau +++ b/src/init.luau @@ -3,6 +3,9 @@ local Remote = {} if game.RunService:IsServer() then + if not script:FindFirstChild("_repl") then + Instance.new("RemoteEvent", script).Name = "_repl" + end if not script:FindFirstChild("Event") then Instance.new("RemoteEvent", script).Name = "Event" end