Over-The-Shoulder Camera System

I use the windshake module from boatbomber tho im not sure if it’s the cause

That might be the cause, you should try disabling it for a moment and testing if it will work, and if it does start working, well, you’ll get the cause.

Yeah, I removed it its still buggy

Figured with this module since the owner was banned and forgot the script for beginners to run

After i figured it out on how to add it, though it’s just a simple LocalScript figured by me
some code line were yoinked from the module itself

it works when player is added to the game
here’s what i’ve done with

local PLAYER_SERVICE = game:GetService("Players")
local LOCAL_PLAYER = PLAYER_SERVICE.LocalPlayer

LOCAL_PLAYER.CharacterAdded:Connect(function(character)
	local OTS_CAMERA_SYSTEM = require(script.Parent:WaitForChild("OTS Camera System"))
	OTS_CAMERA_SYSTEM:Enable()
end)

it has 2 requires before but one was unused so i removed the old one
To make this work, it can be put in LocalScript and after the code was pasted you can put it in “StarterPlayerScripts”

also realized that Aligned to mouse settings were broken for me so i have another file that makes it work
thanks to @RazaT_D for having his place uncopylocked, this one is modified or either old version from himself
OTS Camera System.rbxm (12.7 KB)

2 Likes

how would I make it so it detects if the player is shiftlocking and enables the module and if not shiftlocking then disables it, I also have a chest system that sets the camera into the chest, i also want it so if the player is shiftlocking and he/she opens a chest then the camera is set to the chest, the module is disabled, then enabled after the camera is reset.

Hi there! I know I’m a bit late but, could you share the updated code you’ve been working on? I’m having trouble processing your guide, so it’ll be great if you could just share the updated code. Looking forward to hearing from you!

I cannot make it look up into the sky very well as there is a limit and when using snipers I cannot use scopes.

The creator of this post has been banned, if you scroll up a bit from this comment you will see an update version.

https://gyazo.com/7db0ba06d774769e3b7855ad47a815f8

How would I turn off this auto character facing when the camera hovers over an object, I just want it to follow strictly the mouse

Figured it out! Just needed to do a Blacklist

I found a bug, if you tab out of a game with this script running it effectively breaks the camera and you have to rejoin.

Having the same issue, hopefully it gets fixed.

Sorry I missed this its been a while since ive been on DevForum. The simple answer is to call the modulescript from a local script and use :Enable()

Like so:

OTS_CAMERA_MODULE:Enable()

Hey, thanks for releasing this system! I created my own fork and published it here: https://github.com/MonzterDev/OTS-Camera-Roblox

I was pretty sad when I saw no controller support. I spent quite a few hours furiously trying to get it to work without success. Luckily the stars aligned yesterday and I realized how I could implement this based on Ruddev’s Battle Royale Camera system.

Surprisingly, Ruddev’s Camera system doesn’t support mobile, but does support controller, which actually worked out well for this scenario.

So with my fork, I made a few changes:

  • Added Controller support
  • Made slight optimizations
  • Restructured the codebase for an easier understanding

Usually, I like OOP and working directly with Objects, but I felt this Module was negatively impacted by this decision. The structuring made the codebase feel very confusing and harder to implement slight tweaks/modifications, such as modifying the Camera’s settings while the game is running.

My goal behind the restructure was to make it extremely simple to understand without adding in many unnecessary Remotes or requiring complex Object setups that are created through many Modules.

You should be able to easily understand and customize this Module to your own needs, without having to overhaul the entire codebase as I did.

11 Likes

hello, I tried using this but it breaks my recoil script that uses spring module, the OTS update priority is 190 and for recoil i tried both 181, 191, 250, none works

The priority is the same in both my version and the original.

I know but anything I do with any of the priorities doesn’t work, the camera doesn’t go up with my recoil script that does camcframe*=thingimchangingitby.

This version really works nice with mobile thumbstick , good job mate. But i noticed weird issue , in studio if you start game while mouse is not on game screen , this doesn’t run , the focus needs to be on playing area screen . focusing in the game screen later not work. why is that do you have any idea ?

I have been using this module and found 2 problems.

First is that it’s error instead of disabling the module when there is no player character. I see that you attempted to fix it with this


but because (character ~= nil) returns true or false, (humanoidRootPart ~= nil) return true regardless of it existing or not. It’s a simple fix.

Second is that you don’t use Camera.Focus. It’s bad for games with relatively large map and lots of lighting. It’s another simple fix however.

4 Likes

I keep getting errors when I wanna disable the OTS Camera by keybind