KiCHo666 Posted February 7, 2017 Share Posted February 7, 2017 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 More sharing options...
devinpatterson Posted February 7, 2017 Share Posted February 7, 2017 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? I think there was/is a mod like that for FO3. I'll try to hunt it down Link to comment Share on other sites More sharing options...
KiCHo666 Posted February 7, 2017 Author Share Posted February 7, 2017 You mean this?Well, something like that, but it looks like pretty, eh, dated way of handling things. I meant something more streamlined. Link to comment Share on other sites More sharing options...
devinpatterson Posted February 7, 2017 Share Posted February 7, 2017 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 More sharing options...
KiCHo666 Posted February 7, 2017 Author Share Posted February 7, 2017 Yes, that's basically it. Nothing too complicated. I hope at least. I'm don't have much experience with geck scripting.Hm, but how to make level up screen NOT to show up automatically? How to bypass that? Link to comment Share on other sites More sharing options...
devinpatterson Posted February 7, 2017 Share Posted February 7, 2017 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 More sharing options...
devinpatterson Posted February 7, 2017 Share Posted February 7, 2017 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 More sharing options...
KiCHo666 Posted February 8, 2017 Author Share Posted February 8, 2017 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 More sharing options...
Mktavish Posted February 9, 2017 Share Posted February 9, 2017 (edited) 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 changingInt iStaticXP ; this holds the initial XP needed per level change Int DoOnce ; this keeps the xp gain to only once per timeInt iBumpXP ; this is the gained xpInt iCurrentXP ; this is the total xp after gainInt iXPMod ; this is the negative value to add keeping the player from leveling Int LvlMsg ; this keeps the level message from continueing to displayInt 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 endifendif endifendif 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 February 10, 2017 by Mktavish Link to comment Share on other sites More sharing options...
luthienanarion Posted February 10, 2017 Share Posted February 10, 2017 http://geck.bethsoft.com/index.php?title=SetInChargen Link to comment Share on other sites More sharing options...
Recommended Posts