I am using the Wall Stick by @EgoMoose in one of my games, Dizzy: A Confusing Obby. I am try to make it so when you spawn at the checkpoints, you are set and ready to start. Instead, you keep getting killed before the system detects you are there and starts spinning you as well.
I’m not sure if i understanded right but you can use Spawns and Teams to use as checkpoints, the player will be spawned right on here depending on the team(Level)
That’s not the issue. The issue is the system doesn’t move the player with the rotating obby because the player doesn’t instantly touch the rotating. If you play the game you will see the issue.
Quick Update: @EgoMoose Suggested manually setting up the character to match up on the spawn. Not sure how to do this, if someone could explain it or show me the API, that would be so helpful!
if its a problem with the timing just make walkspeed 0 and godmode the player a couple second maybe a temp fix alzo obbys don’t need to kill u could tp on fail and do u meen cframing the player on spawn to the spawn point of so lemme know i knie how
fixed it for u assuming u work with checkpoints the script the teleport us to the checkpoint/stage just modify it that a player is anchored or walkspeed 0 for a second or so to give the server a chance to detect the player touching the angle so it moves with the rotating obby Interact server sided calc testing - Roblox made a small demo kinda like yours that fixes it or just use a code like this on the position the script teleport players to their stage/checkpoint
function PlayerSpawn(Player)
local player = game.Players:playerFromCharacter(Player)
if player ~= nil then
local ls = player.leaderstats
local sl = game.Workspace:FindFirstChild(ls.Stage.Value)
Player.HumanoidRootPart.Anchored = true
for i = 1,10 do
wait(0.001)
Player.HumanoidRootPart.CFrame = sl.CFrame + Vector3.new(0,3,0)
end
Player.HumanoidRootPart.Anchored = false
end
end
function createStageNewPlayer(Player)
if Player.className == “Player” then
local leaderboard = Instance.new(“IntValue”)
leaderboard.Name = “leaderstats”
local leaderboardStage = Instance.new(“IntValue”)
leaderboardStage.Name = “Stage”
leaderboardStage.Value = 1
leaderboardStage.Parent = leaderboard
leaderboard.Parent = Player
end
end
note jumping over objects doesn’t work like yours but that not the problem you had it the spawning this should fix it 1,10 u could tweak i felt it was a good cooldown to fix the debounce roblox has when spawning place is uncopy locked in case u wanna see how i did it
make it 1,20 or so 1,10 is not enough time to respond
also how did u ignore walls to not apply it on if i do function GetGravityUp(self, oldGravityUp)
local PLAYERS = game:GetService(“Players”)
local IGNORE = game.Workspace.Ignore
local ignoreList = {}
for i, player in next, PLAYERS:GetPlayers() do
ignoreList[i] = player.Character
end
–section i added for parts
for i, parts in next, IGNORE:GetChildren() do
ignoreList[i] = IGNORE
end
if i do this my character starts glitching twiching around ? https://gyazo.com/154f26ecba3ede7462b3dcdacecbd4d5
i need to ignore some part like u do
The spawning works, however, the wall stick system does not work like it’s supposed to in the OG game. That’s why I’ll try it out a bit later. The spawning is great though!
Hey! Sadly it does not work, I just tried. I have uncopylocked the game so you can try and see why it does not work. I still would like this to be fixed!
local function getFloorAndNormal(self)
if (tick() - self.LastTick < 0.3) then
return
end
if (floor ~= self.Part) then
return floor, lNormal
end
end
in the LocalWallstick script to
local firstTime = true
local function getFloorAndNormal(self)
if firstTime then
firstTime = false
elseif (tick() - self.LastTick < 0.3) then
return
end
if (floor ~= self.Part) then
return floor, lNormal
end
end
which fixes the problem except for the very first time you spawn when you join the game (sometimes it still works), probably because the script doesn’t load quick enough when you first join