Which part of it, turning them into meshes or welding?
Turning them into meshes is what I meant.
Export them as a obj, then import them again
By doing Export Selection? I canât. I get an error when I do that.
Try doing what me and @Airzy_Az mentioned by making the dropper partâs network owner be set to the owner of the tycoon or by changing the Collision Fidelity setting of the union around
Edit: Thatâs literally what I mentioned about Network Ownership
This is gonna be complicated⌠but ok
Alright. So, your dropper script probably looks like this:
local timeDelay = 1 -- seconds between drops
local Object = the_location of your crystal wherever you put it (I recommend serverstorage)
while wait(timeDelay) do
local Obj = Object:Clone()
Obj.Parent = workspace:WaitForChild("PartStorage")
local Cash = Instance.new("IntValue")
Cash.Value = cash_value_for_dropper
Cash.Parent = Obj
Obj:SetNetworkOwner(-- keep doing script.Parent.Parent.etc until you reach the owner value. For example, script.Parent.Parent.Parent.Parent.Owner.Value or something like that)
end
Simple. Just set the network owner to the owner value of your tycoon or wahtever
The code isnât too complicated. I could understand it. However, when I put the SetNetworkOwner commands into the dropper script, I got an error that the SetNetworkOwner command cannot be applied to welds. I did the SetNetworkOwner to the two parts of each drop individually and there IS a weld, but it is not a child of either piece of the drop. It is, I guess, a âsiblingâ of the drop pieces.
Donât set the owner of the weld, set the owner of all the parts of the crystal, no matter where they are parented
I wasnât setting the owner of the weld. The code I entered was:
script.Parent.Clonable.Crystal:SetNetworkOwner(Owner.Value)
script.Parent.Clonable.Core:SetNetworkOwner(Owner.Parent)
Oh. I just read the error more closely (âNetwork Ownership API cannot be called on Anchored parts or parts welded to Anchored partsâ). My two dropper pieces ARE welded together, but only temporarily. How do I set the network ownership of these drops without un-anchoring them?
Well you canât. What network ownership does is set the client who is calculating the physics on each part. Anchored parts and/or parts welded to anchored parts are ust stuck in place, so physicâs donât apply on them, rendering network ownership useless.
Well⌠In my dropper script. First, my drop gets cloned from an example that I prefer to keep located inside the dropper. The properties of this clone are assigned, like the parent and model name (this clone has an IntValue containing the money value of this drop, two pieces that, together, make the drop, and a weld holding these two pieces together). Then the drop pieces are anchored, get their orientation set, as well as the position, CanCollide, and transparency set so that it is invisible and intangible(?). Then, after the delay between each drop, (my loop is a âwhile true doâ, not a âwhile wait() doâ) the parts have their transparencies and CanCollide Properties set so that the drop is visible and touchable. Finally, the drop pieces get in-anchored and fall onto the conveyor to get processed and give money. Any ideas on how I can set the network owner?(When I tried setting the network owner, I donât think the dropper parts were anchored by the time it was time for the lines of code to set the network owner of the drop pieces)
your preference to keep the ores in the dropper makes no sense at all. if you put them in any storage (server or replicated), physics donât apply, so you can keep it invisible and non cancollide. The second they get parented to workspace, physics and collisions start working on the cloned part.
Ummmmm⌠When I tried just keeping my script the same, but changing the parent of these cloned drops to the serverstorage, I still got the error. What are you implying?
PS: Here is the dropper script.
DropperScript
wait(2)
workspace:WaitForChild("PartStorage")
local Dropper = script.Parent
local Clonable = Dropper.Clonable
local Owner = script.Parent.Parent.Parent.Owner
if script.Parent.Parent.Name == "PurchasedObjects" then
while true do
local CrystalGroup = script.Parent.Clonable:Clone()
local CrystalPosition = Vector3.new(-0.539, 4.493, 41.646)
CrystalGroup.Parent = Dropper
CrystalGroup.Name = "Crystal"
local Crystal = CrystalGroup.Crystal
local Core = CrystalGroup.Core
local cash = Instance.new("IntValue",CrystalGroup)
cash.Name = "Cash"
cash.Value = 5 -- How much the drops are worth
Crystal.Anchored = true
Core.Anchored = true
Crystal.Position = CrystalPosition
Core.Position = CrystalPosition
Core.Orientation = Vector3.new(0, 0, 0)
Core.Transparency = 1
Crystal.CanCollide = false
Crystal.Orientation = Vector3.new(0, 0, 0)
Crystal.Transparency = 1
Core.CanCollide = false
wait(2.5) -- How long in between drops
script.Parent.Clonable.Crystal:SetNetworkOwner(Owner.Value)
script.Parent.Clonable.Core:SetNetworkOwner(Owner.Value)
Crystal.CanCollide = true
Crystal.Position = CrystalPosition
Crystal.Transparency = 0.6
Core.CanCollide = true
Core.Position = CrystalPosition
Core.Transparency = 0
Crystal.Anchored = false
Core.Anchored = false
game.Debris:AddItem(CrystalGroup, 20)
end
end
well actually, now that I realize, the whole problem is more like a bug, since I see this on many tycoon games, most notably Minerâs Haven.
So how do I fix this lag I am getting with the drops?
Iâm not sure now. I canât replicate this lag myself.
Really? Just a note, the SetNetworkOwner commands give an error.
Whatever option you choose you should (like Airzy_Az said a couple days ago) set the collisionfidelity to box
Additionally, you might consider lowering the physics refresh rate (see this article)
If there are other unnecessarily unanchored parts in your place, anchor them. Even as few as 400 unanchored parts will lag robloxâs servers like madness in a big game.