Any workarounds that could be used?
should be resolved now
WarpDebug.rbxl (88.4 KB)
just a little error at the start
patchlog (.rbxm is also get updated)
Thank you!!!
I’m still experiencing minor issues after the update. For instance, the remote doesn’t respond on the first attempt but works correctly on the second. I’m guessing its related to the instance.
You don’t seem to be doing any sort of buffer serialization on any invokes as “requestsData” is what contains the raw un-serialized data, which is also being directly passed into FireClient.
Could this be fixed or added please as one of my main reasons for using this module is the easy buffer serialization?
Hi @Eternity_Devs I’m currently experiencing an issue with the module at first i was getting the same issue blaise was having where they wanted to send an instance to the client but the module
so, I installed the version of the module you sent but now I can’t fire multiple instances in a dictionary over to the client it would just completely get rid of the key to the instance anyways heres all the code i used for this In order
Visuals:InRange(HumanoidRootPart.Position, 80, {"Shadow", {
Object = Character,
Animation = M1.Animation,
Transparency = 0.45, Duration = 0.8,
animProperties = {[1] = .1, [2] = 1, [3] = 1},
}})
local Warp = require(Modules.Warp)
local visuals = Warp.Server("visuals")
local Visualsmodule = {}
function Visualsmodule:InRange(OriginPoint, Range, ...)
--warn(...); warn(Range);
--warn(OriginPoint)
visuals:FireIn(false, Range, OriginPoint, {...})
end
local visuals = Warp.Client("visuals")
visuals:Connect(function(Args: any, ...: any)
if not Args or typeof(Args) ~= "table" then return end
warn(Args)
local Type = Args[1]
local suc, err = pcall(function(...)
if Visuals[Type] then
table.remove(Args, 1); --task.spawn(Visuals[Type], Args)
Visuals[Type](Args)
end
end)
end)
id rlly appreciate if this was looked at
I’m already using this version of the module it just doesn’t work for some reason.
@Eternity_Devs just found out the module sends a random instance each time so sometimes it would send the animation and sometimes it would send the character
i get this error when using the new buffer update to send buffers: Buffer out of range. my buffer size is 456456 since i swapped to buffer when i started working on the livestreaming thing again. any chance you can increase the buffer size or have a option to select a buffer size
im not planned for that and not interested with remote invokes.
ok heres a part of my server script with comments:
local function sendstuff(screenshotSize, colorbuffer)
if not sent then
rgbscreen:Fires(true,screenshotSize.x,screenshotSize.y,colorbuffer) -- true is unreliable for some reason
sent = true
else
rgbscreen:Fires(true,screenshotSize.x,screenshotSize.y,colorbuffer)
end
end
coroutine.wrap(function() -- displays a 144p picture
while task.wait(1 / framerate) do
local screenshotSize, rgbVal = getcolor(url)
if screenshotSize and rgbVal then
local offset = 0
for _, rgbs in ipairs(rgbVal) do
for i = 1, #rgbs, 3 do
local r, g, b = rgbs[i], rgbs[i + 1], rgbs[i + 2]
if r and g and b then
buffer.writei8(colorbuffer, offset, r)
buffer.writei8(colorbuffer, offset + 1, g)
buffer.writei8(colorbuffer, offset + 2, b)
offset = offset + 3
end
end
end
sendstuff(screenshotSize, colorbuffer) -- out puts "123" in separate lines
end
end
end)()
heres a piece of my localscript:
local function updatePixels(updatedRGBValues)
if pixelscreated then
local bufferLength = buffer.len(updatedRGBValues)
for index = 0, bufferLength - 3, 3 do
local r, g, b = buffer.readi8(updatedRGBValues, index), buffer.readi8(updatedRGBValues, index + 1), buffer.readi8(updatedRGBValues, index + 2)
local pixelIndex = (index // 3) + 1
if pixels[pixelIndex] then
local pixel = pixels[pixelIndex]
if pixel.BackgroundColor3.r ~= r or pixel.BackgroundColor3.g ~= g or pixel.BackgroundColor3.b ~= b then
pixel.BackgroundColor3 = Color3.fromRGB(r, g, b) -- colors 144p worth of frames
end
end
end
end
end
rgbsize:Connect(function(x, y, updatedRGBValues)
if x and y and updatedvals then
ResX, ResY = tonumber(x), tonumber(y)
if ResX ~= lastresX or ResY ~= lastresy then
pixelsize = UDim2.new(1 / ResX, 0, 1 / ResY, 0)
pixels = {}
PIxelData = {}
for i = 1, ResX * ResY do
createpixeldat(i)
end
coroutine.wrap(function()
pixels = createpixel:InvokeServer(PIxelData)
task.wait(5.5)
pixelscreated = true
end)()
txt.Text = "res: " .. (ResX .. "x" .. ResY) .. 'p'
lastresX, lastresy = ResX, ResY
end
end
if pixelsCreated and #pixelData > 0 then
updatePixels(updatedRGBValues)
countfps(0.3)
end
end)
ill decrease the size of the buffer until it works on the module and gives a picture. It uses I8 integer to read the numbers from 1 to 255.
maybe u can send me the .rbxl
file on private message instead, if you dont mind.
ok
1234567890
1234567890-12345678
but it does require a python script to run so unfortunately i can only screen record the issue
warp dont support to serialize a buffer type, so you dont need to write a buffer since it already dynamic serialize into a buffer. (only >= 1.0.13)
oh ok but i did try out warp before making the move to buffers without the render using buffers and when it would update pixels it would completely freeze the game ever 3ish seconds then updates, so i swapped to buffers to solve my high bandwidth and freeze issue but then didnt work.
it could likely be my script doing it since i didnt have a issue when using a another feature that used 1.0.13 to change color