From f5bb1df4b0bccf700b2763e22c1cfb2f7c65422c Mon Sep 17 00:00:00 2001 From: EternityDev Date: Sat, 2 Mar 2024 23:43:36 +0700 Subject: [PATCH] 1.0.6 --- Warp.rbxm | Bin 11534 -> 10946 bytes docs/api/1.0/server.md | 18 ++++++++++++++++++ src/Index/Client/Index.luau | 1 + src/Index/Server/Index.luau | 8 ++++++++ src/Index/Server/ServerProcess.luau | 3 ++- src/init.luau | 2 +- 6 files changed, 30 insertions(+), 2 deletions(-) diff --git a/Warp.rbxm b/Warp.rbxm index 729019b2bfc1d272539810acce9ef6a6f1f8e2f2..42a59e0ac5fa358af9b6ec5f56839c3bb89030f7 100644 GIT binary patch delta 4661 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 HM3ep>#niHl delta 5364 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 xW-z!@l_O0rR^TG2yP&IgL$y&?0Q?0xo^ZSZaZ1 + +Fire the event to all clients but except a players. + +::: code-group +```lua [Variable] +( + reliable: boolean, + except: { Player }, + ...: any +) +``` + +```lua [Example] +Remote:FireExcept(true, { Players.Eternity_Devs, Players.Player2 }, "Hello World!") -- this will sent to all players except { Players.Eternity_Devs, Players.Player2 }. +``` +::: + ## `:Invoke` Semiliar to `:InvokeClient`, its for Invoke to a client. diff --git a/src/Index/Client/Index.luau b/src/Index/Client/Index.luau index ff64856..d0002fd 100644 --- a/src/Index/Client/Index.luau +++ b/src/Index/Client/Index.luau @@ -1,4 +1,5 @@ --!strict +--!native local Client = {} Client.__index = Client diff --git a/src/Index/Server/Index.luau b/src/Index/Server/Index.luau index 9554e64..cbe6171 100644 --- a/src/Index/Server/Index.luau +++ b/src/Index/Server/Index.luau @@ -1,4 +1,5 @@ --!strict +--!native local Server = {} Server.__index = Server @@ -29,6 +30,13 @@ function Server:Fires(reliable: boolean, ...: any) end end +function Server:FireExcept(reliable: boolean, except: { Player }, ...: any) + for _, player: Player in ipairs(Players:GetPlayers()) do + if table.find(except, player) then continue end + ServerProcess.insertQueue(self.id, reliable, player, ...) + end +end + function Server:Invoke(timeout: number, player: Player, ...: any): any return ServerProcess.insertRequest(self.id, timeout, player, ...) end diff --git a/src/Index/Server/ServerProcess.luau b/src/Index/Server/ServerProcess.luau index 8b430fd..599dba1 100644 --- a/src/Index/Server/ServerProcess.luau +++ b/src/Index/Server/ServerProcess.luau @@ -55,7 +55,8 @@ local function initializeEachPlayer(player: Player) if not queueOut[player] then queueOut[player] = {} end - for Identifier: string,_ in serverQueue do + for Identifier: string in serverQueue do + if not player then break end if not queueOut[player][Identifier] then queueOut[player][Identifier] = {} end diff --git a/src/init.luau b/src/init.luau index 020e5c9..23eae2f 100644 --- a/src/init.luau +++ b/src/init.luau @@ -1,5 +1,5 @@ -- Warp Library (@Eternity_Devs) --- version 1.0.5 +-- version 1.0.6 --!strict --!native local Index = require(script.Index)