[RELz/Resource] The Chicken and the Egg

Post » Tue May 17, 2011 6:50 am

http://www.fallout3nexus.com/downloads/file.php?id=10903
http://www.mediafire.com/?okt0rho1atk
*http://www.mediafire.com/?tmhdigonznj
*Note: There is no GetOBSEBeta function, so OBSE == X.Y where X = version and Y = revision
http://www.fallout3nexus.com/downloads/images/10903-1-1264041511.jpg


  • Author: JustinOther
  • Description: Renames and maintains and unused Fallout3.ESM global such that it will always reflect:
    • FOSE's presence/absence
    • FOSE's version = X
    • FOSE's revision = Y
    • FOSE's beta = Z
    So, (FOSE == X.YZ) if FOSE loader was used to start the game or (FOSE == 0) in its absence. If the game is loaded with FOSE v1.2b, FOSE will be set to 1.22. In the event FOSE is removed or its version/revision/beta changes, the global's value will invariably be modified to indicate what's currently used or not. Scripts can then check for FOSE before executing FOSE functions and will run all the way through even if FOSE's not there, meaning script variables won't end up reset in the event a user removes FOSE and later reinstalls.
  • How it works: In order to keep it out of the background, it's split into two quests, the chicken and the egg. The chicken, incidentally, comes first and starts the egg and then stops itself and visa versa, however the egg is in MenuMode while the Chicken is in GameMode so neither is ever left perpetually running.
    scn ChickenSCPTInt bGawkBegin GameMode	If bGawk		Set FOSE to (GetFOSEVersion + (GetFOSERevision * 0.1) + (GetFOSEBeta * 0.01))		Set Egg.bHatch to 0		StartQuest Egg		StopQuest Chicken; Get out of the background	Else		Set FOSE to 0; Script will halt in FOSE's absence, leaving FOSE set to 0		Set bGawk to 1	EndIfEnd
    scn EggSCPTInt bHatchBegin MenuMode 1007; Loading	If bHatch		Set FOSE to (GetFOSEVersion + (GetFOSERevision * 0.1) + (GetFOSEBeta * 0.01))		StopQuest Egg; Get out of the background	Else		Set bHatch to 1		Set Chicken.bGawk to 0		StartQuest Chicken	EndIfEnd

  • Use: The plugin hijacks five unused, unreferenced, junk records from Fallout3.ESM, so they can all be easily copied into any number of plugins with http://www.fallout3nexus.com/downloads/file.php?id=637 so the resource plugin doesn't ever need to be redistributed or loaded and, in the event multiple plugins use the resource, they'll not overlap each other or conflict in any way or result in duplicate error reports from the GECK.
  • Rights: I'm a lefty and this was designed to be a resource from the onset. Use it freely and may it serve you well.
  • Version:
    • 1.0 (1-19-10): Initial Release
    • v1.1 (1-20): Changed the Chicken script so FOSE is set to 0 in FOSE's absence rather than -1, allowing for If FOSE checks to work properly in light of Cipscis' thread regarding http://www.gamesas.com/bgsforums/index.php?s=&showtopic=987561&view=findpost&p=14326776. TESIV version was also updated.

  • Thanks: The FOSE Team for FOSE, ElminsterEU for FO3Edit with which I found all the unused records to hijack, Beth for the game and GECK, and HugePinball as FOSEDetect inspired the "poultry".
  • Questions: If anything's grey about using it, post away and I'll be happy to elaborate.
  • Room for improvement? I'm open to any suggestions.

User avatar
Aaron Clark
 
Posts: 3439
Joined: Fri Oct 26, 2007 2:23 pm

Post » Tue May 17, 2011 1:48 am

This could be very nifty, very nifty indeed!

One question... the "unused" records you hijacked, what if someone else hijacks them as well in their mod? Would the space-time continuum collapse in on it's self, would the user's computer explode, would the game crash, or would Colin Moriarty suddenly show up in Big Town selling party hats and ice cream cones?
User avatar
Alyesha Neufeld
 
Posts: 3421
Joined: Fri Jan 19, 2007 10:45 am

Post » Tue May 17, 2011 4:17 am

This could be very nifty, very nifty indeed!

One question... the "unused" records you hijacked, what if someone else hijacks them as well in their mod? Would the space-time continuum collapse in on it's self, would the user's computer explode, would the game crash, or would Colin Moriarty suddenly show up in Big Town selling party hats and ice cream cones?
Considering the five hijacked records are all unreferenced, it would seem unlikely any other plugin(s) would ever overwrite the overwrites, but if ever that happens I could always just hijack different unused records and hopefully without any flipper babies. >_>

[unless the time-space continuum kerplodes]
User avatar
Shelby McDonald
 
Posts: 3497
Joined: Sat Jan 13, 2007 2:29 pm

Post » Tue May 17, 2011 9:36 am



Just updated the plugin in light of Cipscis' findings regarding http://www.gamesas.com/bgsforums/index.php?s=&showtopic=987561&view=findpost&p=14326776 such that the FOSE global is set to 0 in FOSE's absence rather than -1 so If FOSE checks can be used rather than forcing the use of If (FOSE >= 1)

scn TestSCPTBegin GameMode	If FOSE	;FOSE Functions here	EndIfEnd
Processes faster than...
scn TestSCPTBegin GameMode	If (FOSE >= 1)	;FOSE Functions here	EndIfEnd


User avatar
i grind hard
 
Posts: 3463
Joined: Sat Aug 18, 2007 2:58 am

Post » Tue May 17, 2011 4:44 am

Cool. :)

I'll try this out and let you know how it goes!

Any chance for a Golden Egg version? :lol:
User avatar
Auguste Bartholdi
 
Posts: 3521
Joined: Tue Jun 13, 2006 11:20 am

Post » Tue May 17, 2011 1:39 am

Cool. :)

I'll try this out and let you know how it goes!

Any chance for a Golden Egg version? :lol:
Right on! I'm anxious to hear how it works out for others. :) Should be pretty intuitive?

[but then I'd have to rename the ChickenQUST and make it GooseQUST first] :P
User avatar
Kanaoka
 
Posts: 3416
Joined: Fri Jun 16, 2006 2:24 pm

Post » Tue May 17, 2011 4:01 am

Slightly improved version ready: http://www.mediafire.com/?dgd3xyio0mv

Changes:
  • Quest delay reduced so the value is set sooner.
  • Per HugePinball's advice, the FOSE global is now a "Constant". This will ensure there are never any false positives.
  • FOSE Global's value will be correct in the main menu (maybe useful for anything UI related)


Provided all goes well, I'll update the Nexus file and rework the Oblivion version.
User avatar
Kelly Upshall
 
Posts: 3475
Joined: Sat Oct 28, 2006 6:26 pm


Return to Fallout 3