Is there anyway I can disable respawning?

Hello!

Currently, there is no respawn button, but with the Roblox window app, if you’re on PC you can do R + enter to respawn.

Is there anyway I can disable respawning so I can prevent this from happening?

Any help will do. Thanks!

EDIT: Thank you to everyone who is helping out! I will be trying and testing all methods.

1 Like

Go to the Players service in the explorer and disable CharacterAutoLoads.

3 Likes

Try using SetCore! There’s already an excellent script someone has written (which I recommend you put in a ModuleScript):

local coreCall do
	local MAX_RETRIES = 8

	local StarterGui = game:GetService('StarterGui')
	local RunService = game:GetService('RunService')

	function coreCall(method, ...)
		local result = {}
		for retries = 1, MAX_RETRIES do
			result = {pcall(StarterGui[method], StarterGui, ...)}
			if result[1] then
				break
			end
			RunService.Stepped:Wait()
		end
		return unpack(result)
	end
end

(You don’t have to know how it works)

Then, to disable it, you simply:

local CoreCall = require(game:GetService("ReplicatedStorage"):WaitForChild("CoreCall")) -- Path to module
CoreCall.coreCall('SetCore', 'ResetButtonCallback', false)
3 Likes

I think you are trying to disable the reset button.

game:GetService("StarterGui"):SetCore("ResetButtonCallback", false)
5 Likes

A note on using @VegetationBush method - you will need to set up your own spawning system should you choose to disable CharacterAutoLoads

--ServerScriptService
game.Players.PlayerAdded:Connect(function(player)
	task.wait(5)

	player.CharacterAdded:Connect(function(char)
		--find some way to detect when the player dies and do as you need
	end)

	player:LoadCharacter() -- spawn the character
end)
1 Like

I wouldn’t recommend this, since if you do it too quickly, it’ll do this:

The special coreCall module gets around this with retries.

1 Like

Would I put the module script in server script service or someplace else?

1 Like

You’d want to put it somewhere the client can access it since the client does the CoreCalling, so I’d recommend ReplicatedStorage.

(You have to use it in a LocalScript)

1 Like

For the second part of the scripts, the disable part, would that be a local script inside replicated storage, then the module script would be inside the local script?

1 Like

The LocalScript would be in StarterPlayerScripts, since you only need to call it once if you plan to disable resets entirely.

1 Like

This is how it works.

local CoreCall = {}
local MAX_RETRIES = 8

local StarterGui = game:GetService('StarterGui')
local RunService = game:GetService('RunService')

function CoreCall.coreCall(method, ...)

		local result = {}
		for retries = 1, MAX_RETRIES do
			result = {pcall(StarterGui[method], StarterGui, ...)}
			if result[1] then
				break
			end
			RunService.Stepped:Wait()
		end
		return unpack(result)
end

return CoreCall