Hi and thank you for replying! I’ve tried to find that model but I just can’t find it, could you please send a link? (If that’s possible)
If not, can u tell me more about this issue so I can fix it?
Click on the “Toolbox” tab in the top menu In the search bar, type “Installation Manager”
Look for the Installation Manager model in the search results and click on it.
My every roblox studio script located on ServerScriptService (If that’s what are you saking about)
I don’t know why, but when I remove one script (Or folder with scripts) it still stays the same but the " Module Installation " thing changes to different script. Is that a virus or something?
It might just be, because I haven’t seen the old Roblox error/kick screen in a while. Can you share the source code of the script that is causing the issue?
local PlayersService=game:GetService('Players')
local DataStore=game:GetService('DataStoreService'):GetDataStore(":Trails5")
--[[]]--
local CreateStats={
['Create']=false; -- Turn to False, If You Already Have Leaderstats
['Name']="Crystals" -- Change to Your Currency, Which You Already Have, or want to Create
}
local TrailList=require(game.ReplicatedStorage:WaitForChild('TrailList'))
--[[]]--
local function LoadTrailData(Player)
local UserId = Player.UserId
local Success, DataArray = pcall(DataStore.GetAsync, DataStore, UserId)
if Success and DataArray then
for a, b in pairs(DataArray.OwnedTrails) do
local x=Instance.new('StringValue')
x.Name=b
x.Parent=Player.OwnedTrails
end
Player.EquippedTrail.Value=DataArray.EquippedTrail
if DataArray['Currency'] and CreateStats['Create']==true then
Player.leaderstats[CreateStats.Name].Value=DataArray['Currency']
end
else
end
end
local function SaveTrailData(Player)
local Success,Errormsg = pcall(DataStore.UpdateAsync, DataStore, Player.UserId,function()
local Array={
['EquippedTrail']=Player.EquippedTrail.Value;
['OwnedTrails']={};
}
if CreateStats['Create'] then
Array['Currency']=Player.leaderstats[CreateStats.Name].Value
end
for a, b in pairs(Player.OwnedTrails:GetChildren()) do
table.insert(Array.OwnedTrails,b.Name)
end
return Array
end)
end
PlayersService.PlayerAdded:Connect(function(Player)
local EquippedTrail=Instance.new('StringValue')
EquippedTrail.Name="EquippedTrail"
EquippedTrail.Parent=Player
local OwnedTrails=Instance.new('Folder')
OwnedTrails.Name="OwnedTrails"
OwnedTrails.Parent=Player
if CreateStats['Create'] then
local Leaderstats=Instance.new('Folder')
Leaderstats.Name="leaderstats"
Leaderstats.Parent=Player
local Currency=Instance.new('IntValue')
Currency.Name=CreateStats['Name']
Currency.Parent=Leaderstats
end
LoadTrailData(Player)
local loaded=Instance.new('BoolValue')
loaded.Name="loaded"
loaded.Value=true
loaded.Parent=Player
--[[]]--
local function LoadCharacterTrail(Character)
delay(5,function()
local TrailClone=script['TrailStorage'][Player.EquippedTrail.Value]:Clone()
TrailClone.Parent=Character:WaitForChild("UpperTorso")
TrailClone.Attachment0=Character.UpperTorso:WaitForChild("NeckAttachment")
TrailClone.Attachment1=Character.LowerTorso:WaitForChild("WaistFrontAttachment")
end)
end
if Player.Character then LoadCharacterTrail(Player.Character) end
Player.CharacterAdded:Connect(function(Character)
Character:WaitForChild('UpperTorso')
if Player.EquippedTrail.Value~="" then
LoadCharacterTrail(Character)
end
end)
end)
PlayersService.PlayerRemoving:Connect(function(Player)
if Player:FindFirstChild('loaded') and Player.loaded.Value==true then
SaveTrailData(Player)
end
end)
game:BindToClose(function()
if game['Run Service']:IsStudio() then task.wait(1)
else
for a, b in pairs(PlayersService:GetPlayers()) do
if b:FindFirstChild('loaded') and b['loaded'].Value==true then
SaveTrailData(b)
end
end
end
end)
--[[]]--
game.ReplicatedStorage.TrailResponse.OnServerInvoke=function(Player,TrailName,Action)
local Response=false
local TrailArray
for a, b in pairs(TrailList) do
if b['Name']==TrailName then
TrailArray=b
break
end
end
if not TrailArray then return end
local Actions={
['Equip']=function()
if not Player.OwnedTrails:FindFirstChild(TrailName) then return end
if Player.EquippedTrail.Value==TrailName then return end
if not Player.Character then return end
if not Player.Character:FindFirstChild('UpperTorso') then return end
local Trail=Player.Character.UpperTorso:FindFirstChildWhichIsA("Trail") or nil
if Trail then Trail:Destroy() end
Player.EquippedTrail.Value=TrailName
local TrailClone=script['TrailStorage'][TrailName]:Clone()
TrailClone.Parent=Player.Character.UpperTorso
TrailClone.Attachment0=Player.Character.UpperTorso.NeckAttachment
TrailClone.Attachment1=Player.Character.LowerTorso.WaistFrontAttachment
Response=true
end,
['Unequip']=function()
if not Player.OwnedTrails:FindFirstChild(TrailName) then return end
if Player.EquippedTrail.Value~=TrailName then return end
Player.EquippedTrail.Value=""
if Player.Character and Player.Character:FindFirstChild('UpperTorso') then
if Player.Character.UpperTorso:FindFirstChild(TrailName) then
Player.Character.UpperTorso[TrailName]:Destroy()
end
end
Response=true
end,
['Buy']=function()
if Player.OwnedTrails:FindFirstChild(TrailName) then return end
if Player.leaderstats[CreateStats.Name].Value>=TrailArray['Price'] then
Player.leaderstats[CreateStats.Name].Value-=TrailArray['Price']
local x = Instance.new('StringValue')
x.Name=TrailName
x.Parent=Player.OwnedTrails
Response=true
end
end,
}
Actions[Action]()
return Response
end