I am currently using the old Network module by Tyridge. I want to switch over to Warp. Tyridge’s network module allows you to connect events on the client without it being initialized on the server yet.
To make the switch over to Warp, I can’t simply go into every script and change every Network:FireServer/FireClient and Network:BindEvents/BindFunctions to the Warp equivalent. Instead, I’m creating a wrapper around Warp using the same API naming scheme as Tyridge’s network module.
For example:
function Network:FireClient(player, eventName, ...)
Warp.Server(eventName):Fire(true, player, table.pack(...)
end
function Network:BindEvents(connections)
for eventName, connectionFunction in pairs(connections)
Warp.Client(eventName):Connect(function(args)
connectionFunction(table.unpack(args))
end)
end
end
This is also critical for other games that want to make this switch from Tyridge’s legacy Network module over to Warp module without editing every script. I want to hear what your suggestion is for people in situations similar to mine.
If you have a RemoteEvent instance on the client (assuming you didn’t create it in the client), you can already do everything with it and get reasonable results; you can fire, connect, etc.
In Warp, if you call .Client(), you’ll have something that looks ready but isn’t. This would be really simple to fix (it would require a major update, though); all that needs to be done is to expose a function that yields until the client is actually ready. You could technically do this already by connecting a dummy function, but that’s really ugly.
However, what I fail to understand is why it needs to wait for the rate limit configuration. Wouldn’t it make sense to simply throw an error if there is no rate limit config and you try to fire to the server? Yielding the thread to wait for a remote to spawn when all I want is to queue up a function for an event that may not be created yet makes no sense
is the warp event with arrays have better performance then the regular warp event. Since iit wont be creating events for each screenshot, it would be alot faster.