Hello,
Throughout the past few days, I've been dealing with a bug. In short, I have a 'class' system set up, where when the value gets updated, your character changes.
Then, I wanted it to be if someone respawns on a certain team or has a 'monster' class, it would show a GUI. I did it; it worked in Play Solo mode.
However, the functionality ends there. I went to test it in online mode, and it did not work, the GUI did not show up on respawn, whether I was a monster or not, nor did the class updating script that changes your character, which had worked for the past two months. I removed it, and the character script continued to work.
I later installed an online output monitoring script to see if I could catch the error. I did actually find an output, which was:
"Class is not a valid member of player"
Finally, I added a wait(1.5) function in between the character respawning and the first trace/declaration of the Class StringValue inside the player.
It still gave me the same exact error as the last time.
This is the script:
Monsters = {"Zombie","Ogre","Nighthunter","Thing","Imp","Golem","Savage"}
Players = game.Players
print("A")
Players.PlayerAdded:connect(function(Player)
print("B "..Player.Name)
Player.CharacterAdded:connect(function(Character)
print("C")
wait(1.5)
x = Player.Class.Value
if x == "Zombie" or x == "Ogre" or x == "Nighthunter" or x == "Thing" or x == "Imp" or x == "Golem" or x == "Savage" then
print("D")
ms = game.ServerStorage.MonsterSelect:clone()
ms.Parent = Player.PlayerGui
print("E")
end
end)
end)
print("F")
It was originally a LocalScript, instead of a server-side script, but I had to experiment with different things in hope that I'd get it to work, because originally, I had it running _G variables with LocalScripts, which doesn't work. I'll revert back to a LocalScript format if I can.
Thanks for reading; all replies are appreciated!

1 comment
changing*