diff --git a/Warp.rbxm b/Warp.rbxm
index 729019b..42a59e0 100644
Binary files a/Warp.rbxm and b/Warp.rbxm differ
diff --git a/docs/api/1.0/server.md b/docs/api/1.0/server.md
index b549c00..614d422 100644
--- a/docs/api/1.0/server.md
+++ b/docs/api/1.0/server.md
@@ -150,6 +150,24 @@ Remote:Fires(true, "Hello World!")
```
:::
+## `:FireExcept`
+
+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)