Jump to content

Recommended Posts

Posted

Has someone found a neat way (via script or something else) to disable the Pipboy light in certain areas and cells?

Posted
There are these game settings (setGS) you can experiment with in the console.
"Set xXXXX to <value>"
iPipboyColorB
iPipboyColorG
iPipboyColorR
bBlockPipboy
fTorchLightLevelInterior
fTorchLightLevelMorning
fTorchLightLevelNight
And there are two default objects (DFOB) in the Editor. No idea how to make use of them, maybe you do.

PipboyLightOverride_DO
PipboyLightOverrideKeyword_DO
Posted (edited)

As far as I know, you could press a key with SKSE's TapKey (Input script). Unfortunately F4SE doesn't have TapKey but you might still be able to turn on/off the light with the SetGameSettingXXXXX functions (Game script).

Edited by LarannKiar
Posted (edited)

By the way, is it possible to determine if light is on (outside of scripts)? IsTorchOut condition doesn't seem to work, probably inapplicable even though single torch light in game is pipboy. Some graph variable maybe then?

Edited by hereami
Posted (edited)
  On 7/15/2022 at 7:21 PM, hereami said:

By the way, is it possible to determine if light is on (outside of scripts)? IsTorchOut condition doesn't seem to work, probably inapplicable even though single torch light in game is pipboy. Some graph variable maybe then?

 

The only workaround I know is the GetLightLevel() check. It has both Papyrus and condition functions. I don't remember the exact values but the Pip-Boy emits a lot of light.

Edited by LarannKiar
Posted
  On 7/15/2022 at 7:45 PM, LarannKiar said:

 

  On 7/15/2022 at 7:21 PM, hereami said:

By the way, is it possible to determine if light is on (outside of scripts)? IsTorchOut condition doesn't seem to work, probably inapplicable even though single torch light in game is pipboy. Some graph variable maybe then?

 

The only workaround I know is the GetLightLevel() check. It has both Papyrus and condition functions. I don't remember the exact values but the Pip-Boy emits a lot of light.

 

Yes, thanks, actually weird though since there's Condition even for Radio.

 

By the way again, looked into Animations and there are pipboyLightOn/Off anim Events for 1st and RaiderRoot, shouldn't those work as commands and turn it on/off ? Maybe could be usable for detection then at least, e.g RegisterForAnimEvent, then maintain an own variable as flag? Though latter is not something doable on console to try out.

Posted
  On 7/15/2022 at 11:55 PM, hereami said:

 

  On 7/15/2022 at 7:45 PM, LarannKiar said:

 

  On 7/15/2022 at 7:21 PM, hereami said:

By the way, is it possible to determine if light is on (outside of scripts)? IsTorchOut condition doesn't seem to work, probably inapplicable even though single torch light in game is pipboy. Some graph variable maybe then?

 

The only workaround I know is the GetLightLevel() check. It has both Papyrus and condition functions. I don't remember the exact values but the Pip-Boy emits a lot of light.

 

Yes, thanks, actually weird though since there's Condition even for Radio.

 

By the way again, looked into Animations and there are pipboyLightOn/Off anim Events for 1st and RaiderRoot, shouldn't those work as commands and turn it on/off ? Maybe could be usable for detection then at least, e.g RegisterForAnimEvent, then maintain an own variable as flag? Though latter is not something doable on console to try out.

 

 

It worth giving a try yes.

 

Some animations send Papyrus events but most of them don't. It depends on how the developes made them. If they wanted to control them with Papyrus, they send/can receieve events to/from Papyrus (e.g., lot of MQ101 related scripts).

 

Since most Pip-Boy related functions are hardcoded I doubt it's possible to turn the light on/off with Papyrus. (When the Pip-Boy light's on, a flashlight icon shows up on the interface. This kind of communication between the interface and an animation is usually hardcoded).

 

I haven't tried calling PlayAnimation() or PlayGamebryoAnimation() on the Pip-Boy though (Skyrim even had SendAnimationEvent()) but since it's always equipped, most ObjectReference script functions can't be called on it. Of course it's possible to get its RefID and to make it persistent but it'll still be an inventory item. Anyway, anim events always worth giving a try, because who knows :)

Posted

F4SE plugin "Baka Framework" adds this to ScriptObject script

; BakaFramework additions
Function RegisterForPipboyLightEvent() native

Function UnregisterForPipboyLightEvent() native

Event OnPipboyLightEvent(bool abIsActive)
EndEvent
  • Recently Browsing   0 members

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