External C++ FOV manipulation.

Posts 1–10 of 10 · Page 1 of 1
External C++ FOV manipulation.
So, recently I saw a thread and noticed it was closed because it's "not possible to change FOV externally without getting untrusted", and me being the douchebag I am, I'd like to prove them wrong. There is specifically an offset in CSGO for FOV. I believe it is called "m_iFOV" and is currently 0x31C8. I know everyone typically says writing memory gives you untrusted, but if that was the case, how could external glow ESP not be detected? I've seen people use external glow ESPs and to this day most of them still have not been banned, and none of them have gotten untrusted bans. Only VAC/OW. Earlier I got help with making my own glow ESP from a member on these forums and I've used it in-game multiple times and I didn't get untrusted. I know that sometimes bans are delayed so I'll gladly report back if I do get untrusted. Anyways, enough with the rant. Writing memory doesn't always give bans.

If you want to make an External FOV manipulator, or an FOV changer as it would most likely be more commonly referred to, It's honestly quite simple. You will need a memory library, such as HackProcess or whatever. It's common on the internet to find shit like this with proper techniques so before anyone comments "I can't find it", I'd like to point out an awesome search engine called Google.

I personally used ProcMem, although my friend modified it to the point where it isn't recognizable so I wont be releasing it. ProcMem has been giving VAC Authentication Errors recently from what I understand, so be careful using it. Anyways, once you have one of these, another requirement is to have somewhat decent knowledge of coding, specifically C++ as a minimum. Once you begin, you'll typically have your includes/defines, unless you're weird and don't do that at the top of your code for some reason (No h8), which would look something like this.

#include <...>

#define ... ...

So on... Once you've began, you'll need the m_iFOV offset and the player base offset (which is, at time of posting 0xA804CC). You can probably find an offset dumper yourself or you could always check the megathread. You'll also need a DWORD which you can name whatever you'd like, which will end up being equal to the clientdll + player base offsets. You could do this in many ways, so I'm sure it wouldn't be a task to figure it out on your own, but since I'm expecting a lot of newbie coders to be looking at this, I'll give you a BIT of it. I hate spoon feeding people.

You will want to put the DWORD you named inside the main function.

Code:
		DWORD namedurself = Mem.Read<DWORD>(clientdll + playerBase)
		Mem.Write(namedurself + FOVOffset, /.InstertFOVHere./ 69);
So basically it's just changing the FOV :/

I've been using this method for changing FOV for quite a while now, still no untrusted/VAC. You can feel free to use this in your code, and if you release it, I don't give a flying fuck about getting credit.

If you don't want your FOV to to always be set to 69, try using "GetAsyncKeyState" to raise/lower the value. You could always use a bool to make a hold/toggle key. I'm sure there are tutorials on how to do that somewhere. I'm too lazy to write my own tutorial, and this thread has gone on quite a long time now, so I'll certainly be ending it shortly.

I'd like to point out I was high as fuck writing this, so if anything isn't spelled correctly (which would be weird because I'm pretty good at catching myself on typos, even while high.) don't h8 m8. <3

EDIT: Now that I'm sober, I decided to make this less spoon feedy and stuff. So yeah. memes.
Thank you for explaining this.
You know you can manipulate FOV much much much easier then this right?
Quote Originally Posted by 4nuoFZf9aE View Post
You know you can manipulate FOV much much much easier then this right?
if you mean forcing a convar then no it's not easier than writing iFOV
Quote Originally Posted by Epik View Post


if you mean forcing a convar then no it's not easier than writing iFOV
Well no, but i didnt think of that, why wouldnt that be easier? lol
Quote Originally Posted by 4nuoFZf9aE View Post


Well no, but i didnt think of that, why wouldnt that be easier? lol
especially because it's external, writing memory is much easier/faster to accomplish, however I don't know if iFOV in particular is safe

if you're internal perhaps you could hook overrideview or set the convar but it's really coder preference in the end
Quote Originally Posted by Epik View Post


especially because it's external, writing memory is much easier/faster to accomplish, however I don't know if iFOV in particular is safe

if you're internal perhaps you could hook overrideview or set the convar but it's really coder preference in the end
Writing to iFOV externally is safe and works fine online (I tested as recently as last weekend).
Sorry for bumping, but why would you write to iFOV, it's buggy, and horrible [Scoping in it weapons, switching weapons] Just get the offset for your ViewmodelFOV, then write to it as a float. Much better and i haven't seen any type of glitches with it.
Quote Originally Posted by nexcat View Post
Sorry for bumping, but why would you write to iFOV, it's buggy, and horrible [Scoping in it weapons, switching weapons] Just get the offset for your ViewmodelFOV, then write to it as a float. Much better and i haven't seen any type of glitches with it.
I might try. Is it just your weapon ID + zoom level
Sorry for bumping this, thank you so much for this, just got it to work
Posts 1–10 of 10 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?