I found this error where .CharacterAdded only runs in certain code lines..

Script Before:

game.Players.PlayerAdded:connect(function(plr)
	
	local key = plr.UserId
	
        -- WANT DATASTORE IF STATEMENT HERE. BUT CHARACTERADDED DOESNT RUN.
	if DataStore:GetAsync(key) == nil then
			--// New player data;
			PlayerData[plr] = Default_Data 
			print(HttpService:JSONEncode(PlayerData[plr]))
		else
			--// Current Player Data; Wrapping in Pcall to find any errors.
			local success, message = pcall(function()
				wait(3)
				PlayerData[plr] = HttpService:JSONDecode(DataStore:GetAsync(key));
			end)
			if not success then
				print('Error: '..message)
			else
				print("Good.")
			end
			
		end
	
	plr.CharacterAdded:Connect(function(Character)
		print("LOL")
		
		RagdollModule.EquipAccessories(plr, PlayerData[plr]["KnifeEquipped"])
		local Humanoid = Character:FindFirstChild("Humanoid")
		if Humanoid then
			Humanoid.Died:Connect(function()
				if GetIndex(CurrentPlayers, plr) ~= -1 then
					table.remove(CurrentPlayers, GetIndex(CurrentPlayers, Player))
				end
				
				wait(4)
				if plr then
					plr:LoadCharacter()
				end
				
			end)
		end
	end)
	
	print(plr.Name.." has joined")
	
	local Level, Alpha =  LevelModule.GetLevel(PlayerData[plr]["XP"])
	
	--// Print Player Data
	print(HttpService:JSONEncode(PlayerData[plr]))
end)

Script Now (when solved):

game.Players.PlayerAdded:connect(function(plr)
	
	local key = plr.UserId
	
	plr.CharacterAdded:Connect(function(Character)
		print("LOL")
		
		-- DATASTORE IF STATEMENT INSIDE CHARACTERADDED.
		if DataStore:GetAsync(key) == nil then
			--// New player data;
			PlayerData[plr] = Default_Data 
			print(HttpService:JSONEncode(PlayerData[plr]))
		else
			--// Current Player Data; Wrapping in Pcall to find any errors.
			local success, message = pcall(function()
				wait(3)
				PlayerData[plr] = HttpService:JSONDecode(DataStore:GetAsync(key));
			end)
			if not success then
				print('Error: '..message)
			else
				print("Good.")
			end
			
		end
		
		RagdollModule.EquipAccessories(plr, PlayerData[plr]["KnifeEquipped"])
		local Humanoid = Character:FindFirstChild("Humanoid")
		if Humanoid then
			Humanoid.Died:Connect(function()
				if GetIndex(CurrentPlayers, plr) ~= -1 then
					table.remove(CurrentPlayers, GetIndex(CurrentPlayers, Player))
				end
				
				wait(4)
				if plr then
					plr:LoadCharacter()
				end
				
			end)
		end
	end)
	
	print(plr.Name.." has joined")
	
	local Level, Alpha =  LevelModule.GetLevel(PlayerData[plr]["XP"])
	
	--// Print Player Data
	print(HttpService:JSONEncode(PlayerData[plr]))
end)

And even then it doesn't Print Line 12 for the Script(when solved) Is this a roblox error? Or is is just me scripting wrongly..