Yeah that is something I’ve never seen before. If you turned off streaming enabled it should be visible to both, even if the mesh of the trusspart or wedgepart has not loaded in yet, you should see it in the explorer clientside. The only thing I can think of at this point is to try this on another game with the same problematic models, and without any other game component. If that fails then I would be absolutely lost on what would be going on here. Maybe send through the model, so that I can test it out on my machine? You never know, it could be a machine-specific issue.
good luck!
I can’t replicate the issue at all. Its only when I turn streaming enabled on and set the target radius to 64 that it disappears (as intended).
i have its minimum at 300 and max at 1024
my settings:
Try setting StreamingIntegrityMode to PauseOutsideLoadedArea. This will pause your game if there are parts within your min radius that are not loaded. If your game pauses, then it is streaming enabled that’s removing these parts.
i have had that in the beginning, that was the first sighting of this issue. Then i moved to low memory
And they are loaded, i found out when your limb falls off, or you limb deforms, then i happens.
Want me to link the place?
That is interesting. It might be some script again if that is the case.
Sure.
TW: GORE AND BLOOD
Have fun
nothing has changed
UPDATE: we found out disabling the gore makes it appear again, the issue is in the gore script.
Nope, its not that.
Issue still persists even after reviewing all scripts in my game. Is this an engine bug or what?
After playing the game, I really doubt its an engine issue. If you really can’t find where your code is going wrong, maybe clone the scripts and try and delete parts that might be problematic. At least then you can get an idea of where the problem lies. I don’t know how else I or anyone else can help if you can’t show any of your code since that is most likely causing your issue.
This is my last option, i will show you my code after.
UPDATE: I turned my blood script off right? Guess what, it doesnt dissapear, so its in the blood script im 99.56% sure
local rs = game:GetService("ReplicatedStorage")
local plrs = game:GetService("Players")
local bloodRemote = rs.Communication.Server_Client.Blood_Server
local bloodEngine = require(rs.Modules_CLIENT.BloodEngine)
local plr = plrs.LocalPlayer
local char = plr.Character or plr.CharacterAdded:Wait()
local hum = char:FindFirstChildWhichIsA("Humanoid")
local blood_delay = .5
local dmg_per_limb = .5
local Engine = bloodEngine.new({
Limit = 200,
Type = "Decal",
RandomOffset = false,
OffsetRange = {-20, 10},
DropletVelocity = {1, 2},
DropletDelay = {0.05, 0.1},
StartingSize = Vector3.new(2, 0.7, 1.8),
Expansion = true,
MaximumSize = 5,
})
local bleeding = false
local co1 = nil -- personalBleeding
local cos = {} -- other bleeding
local function stopOtherBleeding(person)
cos[person].co2 = nil
cos[person].bleeding = false
if cos[person].died then
cos[person].died:Disconnect()
end
table.clear(cos[person])
end
local function onEvent(object:Part, amount, arg, person:Player)
if object and object:IsA("Part") and not arg then
Engine:EmitAmount(object, nil, amount)
elseif object and arg == "IndividualBleeding" and person and plr ~= person then
local personalBleeding = true
local personHum = person.Character:FindFirstChildWhichIsA("Humanoid")
local co2 = coroutine.wrap(function()
while personalBleeding do
Engine:Emit(object, nil)
task.wait(blood_delay)
end
end)
cos[person] = {
["co2"] = co2;
["bleeding"] = true;
["died"] = personHum.Died:Connect(function()
stopOtherBleeding(person)
end);
}
co2()
elseif object and arg == "StopIndividualBleeding" and person then
if cos[person] then
stopOtherBleeding(person)
end
end
if arg == 'Bleed' then
bleeding = true
co1 = coroutine.wrap(function()
while bleeding do
Engine:Emit(object, nil)
hum:TakeDamage(dmg_per_limb)
task.wait(blood_delay)
end
end)
co1()
elseif arg == "StopBleeding" then
bleeding = false
coroutine.close(co1)
end
end
bloodRemote.OnClientEvent:Connect(onEvent)
updated(solution)
local rs = game:GetService("ReplicatedStorage")
local plrs = game:GetService("Players")
local bloodRemote = rs.Communication.Server_Client.Blood_Server
local bloodEngine = require(rs.Modules_CLIENT.BloodEngine)
local plr = plrs.LocalPlayer
local char = plr.Character or plr.CharacterAdded:Wait()
local hum = char:FindFirstChildWhichIsA("Humanoid")
local blood_delay = .5
local dmg_per_limb = .5
local Engine = bloodEngine.new({
Limit = 200,
Type = "Decal",
RandomOffset = false,
OffsetRange = {-20, 10},
DropletVelocity = {1, 2},
DropletDelay = {0.05, 0.1},
StartingSize = Vector3.new(2, 0.7, 1.8),
Expansion = true,
MaximumSize = 5,
})
local bleeding = false
local co1 = nil -- personalBleeding
local cos = {} -- other bleeding
local function stopOtherBleeding(person)
cos[person].co2 = nil
cos[person].bleeding = false
if cos[person].died then
cos[person].died:Disconnect()
end
table.clear(cos[person])
end
local function onEvent(object:Part, amount, arg, person:Player)
if object and object:IsA("Part") and not arg then
Engine:EmitAmount(object, nil, amount)
elseif object and arg == "IndividualBleeding" and person and plr ~= person then
local personalBleeding = true
local personHum = person.Character:FindFirstChildWhichIsA("Humanoid")
local co2 = coroutine.wrap(function()
while personalBleeding do
Engine:Emit(object, nil)
task.wait(blood_delay)
end
end)
cos[person] = {
["co2"] = co2;
["bleeding"] = true;
["died"] = personHum.Died:Connect(function()
stopOtherBleeding(person)
end);
}
co2()
elseif object and arg == "StopIndividualBleeding" and person then
if cos[person] then
stopOtherBleeding(person)
end
end
local co31 = nil -- died connection of the local client, not another guy
if arg == 'Bleed' then
bleeding = true
co1 = coroutine.wrap(function()
while bleeding do
Engine:Emit(object, nil)
hum:TakeDamage(dmg_per_limb)
task.wait(blood_delay)
end
end)
co31 = hum.Died:Connect(function()
bleeding = false
coroutine.close(co1)
co31:Disconnect()
co31 = nil
end)
co1()
elseif arg == "StopBleeding" then
bleeding = false
if co31 then
co31:Disconnect()
co31 = nil
end
coroutine.close(co1)
end
end
bloodRemote.OnClientEvent:Connect(onEvent)
good luck decoding this, i dont understand my own script. @LE4FBUG.
What was the problem? Whenever the plr died, the coroutine kept going and going, and that caused an issue. Idk what tho, i just put it so when the plr died he stopped the coroutine.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.