Jump to content

[Req] Slower game speed in combat


taro8

Recommended Posts

I would like to request a mod that would allow to control game speed during combat. The script should use "sgtm <x>" command and use MCM so player has the ability to tune it for himself.

 

Personally I dont have good reflex and combat is a bit too fast for me. I would like to have a script that detects if Im in combat and applies "stgm" command so game moves at 0.9 or 0.85 of normal speed during combat. And goes back to normal time after the combat.

 

However I think that kill cams will be a problem as they use "stgm" command so they may reset the setting.

Edited by taro8
Link to comment
Share on other sites

  • 2 years later...

Well, it is... 3 years after you asked, I come with the solution - took me about a night to figure it out, after wasting another reading up the internet for a solution and browsing through Papyrus and ini docs, and it seems I am the first one, since I found similar questions, but no answers.

This is not a mod in the common sense. Can possibly be made into a dynamic loader that can get started as a mod in a similar way to skse. I doubt, however, I will be doing that anytime soon if at all. I found it only possible through a crack.

1. Scripting - not possible. Sgtm does not have an alternative in Papyrus according to its reference.

2. .ini - not possible - no setting for gtm.

3. Creation kit - that would be scripting too - so no.

4. A crack to the .exe. Inside TESV.exe there is a function that gets called when sgtm is written in the console. This function's address is 00A4B150. And it gets called from a number of places. The one bothering me was the fact that it gets called when using a bow with a parameter 3f800000 (float 1), which has the same effect as "sgtm 1". This call is on address 00782C1F.

(Addresses are valid for my TESV.exe - might vary with different versions).

My fix is a binary patch to the exe substituting "6A 00 51 B9 D0 AD B4 01 C7 04 24 00 00 80 3F E8 2C 85 2C 00" with "90"-s (NOP).

What I used to find the place for the patch and fix it was OllyDbg, attaching to a running skyrim and debugging the code with a breakpoint on "sgtm". But now knowing the string above to look for, any Hex Editor can be used to do the replacement. Save a copy of the .exe before attempting this.

The result of this crack is that setting sgtm through the console does not get overwritten everytime you use your bow.

OllyDbg shows all the calls to this function. I do not know which one is for the kill cam, since I cannot easily reproduce a kill move in game to test and find it, but setting a breakpoint in the routine and playing for awhile till a kill move happens with the debugger attached will answer the question. Then just NOP the push arguments and the call out.

 

If somebody decides to try Olly on TESV - set TESV to run with your screen's resolution in windowed mode on a single monitor. Having a different resolution, full screen or multiple monitors causes crashes, or inability to switch to olly.

Edited by jimmytaker
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...