Jump to content

Delay Level up screen?


KiCHo666

Recommended Posts

Hello!

One of the things that really bugs me is the fact that level up screen just explodes in your face.
What I'd like is to delay level up until player decides he wants to distribute points/pick a perk.

The same way level up worked in FO1/2. You get a notification somewhere on the screen that players has leveled up and you then press some hotkey to show up level up screen.

 

Is that possible?

Link to comment
Share on other sites

You mean this?

Well, something like that, but it looks like pretty, eh, dated way of handling things. I meant something more streamlined.

Yeah, I'v never tried it, so I couldn't really comment on it's usability, but it does address a aspect of your query from your first post (ie it is possible). My guess is that it's just a menumode command (namely 1027 level up), which would hook the screen and close it. The same script would detect the menu mode and fire of a showMessage to inform the player they leveled up. With that/those part(s) taken care of, a hotkey to call the menu mode would be next.

That's assuming I'v got a decent read on what your looking for in this mod (delay level up screen, message and a way to return to the leve lup menu).

Link to comment
Share on other sites

Hm, but how to make level up screen NOT to show up automatically? How to bypass that?

That's what I was referring to in my previous post in re: to a menumode command.

If you set the script to a very low delay value, it can check each frame, and if it detects that menumode close it. So it will show for one frame, but you won't see it (most people won't notice them menumode flash by for 1/60th of a second. Maybe two frames to actually close it).

But there isn't a show command for that menumode, like there is for various other ones (showbarter, showrace etc), so I'm not sure how to call it.

Probably should poke around a bit in the fo3 mod and see how the author did his/hers.

Link to comment
Share on other sites

Ok so I guess you could keep a var in the script (cumulative, add each time the script shuts down the levelup screen) and as treat it as a condition on the hotkey to call up the menu. That way you can use the advancePClevel function to call the menu, but only if it's been tripped (meaning it's been earned in game). Probably need an additional var (and condition at the beginning of the script) that the hotkey activates and deactivates so that the script doesn't shut down the levelup menu that you call from the hotkey, only when it's called via the game engine.

Anyway that should be the pieces to put it together, but it's just theoritical and another mod author (or revamped leveling) may have a better solution.

Link to comment
Share on other sites

Ok so I guess you could keep a var in the script (cumulative, add each time the script shuts down the levelup screen) and as treat it as a condition on the hotkey to call up the menu. That way you can use the advancePClevel function to call the menu, but only if it's been tripped (meaning it's been earned in game). Probably need an additional var (and condition at the beginning of the script) that the hotkey activates and deactivates so that the script doesn't shut down the levelup menu that you call from the hotkey, only when it's called via the game engine.

Anyway that should be the pieces to put it together, but it's just theoritical and another mod author (or revamped leveling) may have a better solution.

That's pretty much it.

To be honest, it looks like more hassle than it's worth.

 

I appreciate the time you've put into this. Thanks! :)

Link to comment
Share on other sites

An interesting request ... so I thought I would mull it over in a theoretical script.

This does another approach by taking away xp gained and storing it till the message is displayed and the player presses a hotkey.

That of course hinges on the engine accepting a negative value for "RewardXP" Which I didn't test this ... but it does compile.

So you can take this script and cut/paste it into a quest type script ... then make a quest set as start game enabled ... and attach this script. Might want to set the delay longer than default which matches frame rate ... to 2 or 3 times a second (.5/.3) not sure ???

But then just create a message , and insert it in place of "MyLevelMessage" in the script.

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

SCN XpDelayScript
Int Toggle ; this keeps the StaticXP from changing
Int iStaticXP ; this holds the initial XP needed per level change
Int DoOnce ; this keeps the xp gain to only once per time
Int iBumpXP ; this is the gained xp
Int iCurrentXP ; this is the total xp after gain
Int iXPMod ; this is the negative value to add keeping the player from leveling
Int LvlMsg ; this keeps the level message from continueing to display
Int iXPStorage ; this stores the XP gained to be added when the player activates it
Begin GameMode
If Toggle == 0 ; this runs once after leveling
Set iStaticXP to GetXPForNextLevel
Set Toggle to 1
Set LvlMsg to 0
ElseIf Toggle == 1 && DoOnce == 0 && iStaticXP > GetXPForNextLevel ; this watches for XP gained
Set iBumpXP to iStaticXP - GetXPForNextLevel
Set DoOnce to 1
ElseIf Toggle == 1 && DoOnce == 1 ; this runs once every time XP is gained
Set iCurrentXP to iStaticXP + iBumpXP
Set iXPMod to iStaticXP - iCurrentXP
Set iXPStorage to iXPStorage + iBumpXP
RewardXP iXPMod ; this awards a negative value to XP equal to what was gained
Set DoOnce to 0
ElseIf LvlMsg == 0 && iXPStorage >= iStaticXP
;ShowMessage MyLevelMessage
Set LvlMsg to 1 ; makes the hotkey active
ElseIf LvlMsg == 1 && IsControlPressed 27 == 1 ; uses the grab control ( z default )
RewardXP iXPStorage
Set iXPStorage to 0
Set Toggle to 0
endif
endif
endif
endif
endif
End
~~~~~~~~~~~~~~~~~~~~~
Edited for some backwards math ... but it's fixed now.
Another Edit : Tested and this script does work. Problem is you don't get to see your XP progress.
It's just a mystery until the Level Message displays. By the way I set the delay at .3
Edited by Mktavish
Link to comment
Share on other sites

  • Recently Browsing   0 members

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