[RELz] Fallout Script Extender (FOSE) v1.2

Post » Fri Feb 18, 2011 6:40 pm

-- Previous Threads --
http://www.gamesas.com/bgsforums/index.php?showtopic=915278 http://www.gamesas.com/bgsforums/index.php?showtopic=924371 http://www.gamesas.com/bgsforums/index.php?showtopic=928358 http://www.gamesas.com/bgsforums/index.php?showtopic=932720 http://www.gamesas.com/bgsforums/index.php?showtopic=935840 http://www.gamesas.com/bgsforums/index.php?showtopic=940548 http://www.gamesas.com/bgsforums/index.php?showtopic=945361 http://www.gamesas.com/bgsforums/index.php?showtopic=951381 http://www.gamesas.com/bgsforums/index.php?showtopic=963756 http://www.gamesas.com/bgsforums/index.php?showtopic=984389 http://www.gamesas.com/bgsforums/index.php?showtopic=1022357 http://www.gamesas.com/bgsforums/index.php?showtopic=1044512
Fallout Script Extender v1.2
by Ian Patterson (ianpatt), Stephen Abel (behippo) and Paul Connelly (scruggsywuggsy the ferret)

Additional contributions from: Timeslip, ElminsterEU

Stable version: v1.2 b2
Download: http://fose.silverlock.org/download/fose_v1_2_beta2.7z
Documentation: http://fose.silverlock.org/fose_command_doc.html

The Fallout Script Extender, or FOSE for short, is a modder's resource that expands the scripting capabilities of Fallout 3. It does so without modifying the Fallout3.exe or the G.E.C.K. files on disk, so there are no permanent side effects.

Compatibility:

FOSE supports these versions of Fallout 3 (from either a retail DVD or Steam):
- 1.0.0.15
- 1.1.0.35
- 1.4.0.6 (original release)
- 1.4.0.6 (alternate release, found on steam and some European patches)
- 1.5.0.22
- 1.6.0.3
- 1.7.0.3 (original and german no-gore)

FOSE is compatible with the 1.1.0.36 and 1.5.0.19 G.E.C.K.

Incompatibilities:
* FOSE is not compatible with the original, unpatched DVD or Steam version. Please patch to a newer version.

* FOSE is not compatible with the Direct2Drive (D2D) or the Russian version of Fallout 3 protected by StarForce. FOSE will never be compatible with these versions, as they are encrypted and it would be illegal to break the encryption.

* FOSE is currently incompatible with Windows Live, so when running via fose_loader.exe, Live will be disabled. Live functions as an anti-cheat mechanism, so it disables itself if it detects any in-memory modifications to the executable, despite the fact that Fallout has no multiplayer component. Since Live cannot tell the difference between the modifications we make and the modifications a cheating program would make, we will probably never be directly compatible. To download DLC and updates, simply launch Fallout normally. Live stores DLC and save files in a separate folder when active, so some things may need to be moved around - see the official Fallout forums for more information.

This initial release adds 189 new scripting functions including:
- basic input functions based on DX scancodes
- basic form list functions
- debugging console functions
- various weapon and inventory item Get and Set functions
- script versions of several console functions
- Looping functions (Label, Goto)
- GetCrosshairRef
- get and set game setting and INI functions
- loaded mod information functions
- reference walking functions
- Basic UI Functions (GetUIFloat, SetUIFloat, SetUIString)
- basic math and bit flag functions
- GetGameRestarted, GetGameLoaded
- temporary base form cloning functions

This official release will be supported going forward and you may now release mods based on FOSE. Thanks to all of our fabulous beta testers!
Mods which were built against the earlier beta should be recompiled using the official release.
v1.1 beta 2 should resolve issues with Label/Goto not working on some machines.
v1.1 beta 5 should resolve issues with SetUIFloat crashing on 1.4.6/1.4.6b runtimes.
v1.1 beta 7 adds support for the 1.5 GECK.
v1.1 beta 8 adds support for the 1.6 patch.
v1.1 beta 9 adds support for the 1.7 patch.
v1.2 beta 1 enables the plugin manager.
v1.2 beta 2 adds support for the german nogore version, and fixes a crash on save with form list add/removal
User avatar
Chloe Lou
 
Posts: 3476
Joined: Sat Nov 04, 2006 2:08 am

Post » Fri Feb 18, 2011 9:22 pm

Thanks for the support of the german cut version :goodjob:
Why that took so long? :P
User avatar
FoReVeR_Me_N
 
Posts: 3556
Joined: Wed Sep 05, 2007 8:25 pm

Post » Sat Feb 19, 2011 4:03 am

Originally there wasn't enough interest to justify spending the time, and there was a workaround (using an uncensored exe). There's a preferences option that I believe does the same thing as the nogore exe, only without actually ripping out the responsible code. However, after some more requests came in and after talking to the people who wanted support, it seemed worth it. Note that the main thing that will cost us time is adding an additional runtime to the support list for v2.0; going from two to three versions is a pretty big jump.

There was also a pretty significant delay between support actually being added and it being released due to testing (and me just not getting around to it yet).
User avatar
gary lee
 
Posts: 3436
Joined: Tue Jul 03, 2007 7:49 pm

Post » Sat Feb 19, 2011 3:49 am

Originally there wasn't enough interest to justify spending the time, and there was a workaround (using an uncensored exe). There's a preferences option that I believe does the same thing as the nogore exe, only without actually ripping out the responsible code. However, after some more requests came in and after talking to the people who wanted support, it seemed worth it. Note that the main thing that will cost us time is adding an additional runtime to the support list for v2.0; going from two to three versions is a pretty big jump.

There was also a pretty significant delay between support actually being added and it being released due to testing (and me just not getting around to it yet).


We very much appreciate all the help and effort! FOSE is a huge benefit to the community, and I'm grateful you are able to support and release it. :goodjob:

Cheers! :)

Miax
User avatar
james reed
 
Posts: 3371
Joined: Tue Sep 18, 2007 12:18 am

Post » Sat Feb 19, 2011 10:43 am

We very much appreciate all the help and effort! FOSE is a huge benefit to the community, and I'm grateful you are able to support and release it. :goodjob:

Cheers! :)

Miax

Yepp agreed, that pretty much says it :goodjob:
User avatar
Pixie
 
Posts: 3430
Joined: Sat Oct 07, 2006 4:50 am

Post » Fri Feb 18, 2011 9:07 pm

Wondering if there is an IsKey function?

I created an autosorter, but I can't really seperate certain things from automoving.

Specifically I'm trying to get keys to not automove to a container. The quest keys are fine as they don't get removed, but the ones that aren't flagged do. Thing is I have no idea how to
tell if an item is a key or not so i could flag it as a quest item.

eg.. pseudo script:

   set sInvPos to 0   Label 1																   ;Copy Items from TempInv to Kit	   set rInvObj to (rCont.GetInventoryObject sInvPos)   	   if rInvObj			set sInvPos to (sInvPos + 1)			;Do whatever you want to do		 if IsKey rInvObj										   <---- Something like that to see if player or container contains a key			  SetQuestItem 1 rInvObj			  ;etc 		   Goto 1	   else;Do Something etc..


Thanks,

-Mush-
User avatar
Matt Terry
 
Posts: 3453
Joined: Sun May 13, 2007 10:58 am

Post » Sat Feb 19, 2011 10:28 am

Have you tried using http://fose.silverlock.org/fose_command_doc.html#GetType?

Cipscis
User avatar
Kelli Wolfe
 
Posts: 3440
Joined: Thu Aug 23, 2007 7:09 am

Post » Sat Feb 19, 2011 6:27 am

Have you tried using http://fose.silverlock.org/fose_command_doc.html#GetType?

Cipscis


Thank you. That's exactly what I was looking for.

-Mush-
User avatar
Yung Prince
 
Posts: 3373
Joined: Thu Oct 11, 2007 10:45 pm

Post » Fri Feb 18, 2011 11:09 pm

...
set rInvObj to (rCont.GetInventoryObject sInvPos)

...

Where did you get this function from? I want it too! :)
User avatar
Eileen Müller
 
Posts: 3366
Joined: Fri Apr 13, 2007 9:06 am

Post » Sat Feb 19, 2011 10:57 am

Have you tried using http://fose.silverlock.org/fose_command_doc.html#GetType?

Cipscis

Speaking of GetType and GetEquipType...

I'm working on a Fallout 3 version of my Oblivion mod 'Speedy Depositing', and I'm trying to distinguish various types of armour and clothing from each other.

There are a couple of things making this awkward: firstly, all armour and clothing items return 24 for GetType, so they're all defined as Armour.
I've been using GetEquipType in Oblivion to distinguish between the different types - headgear, leggings, upperbody etc etc. I know it's not the same in FO3, but I was hoping I could use GetEquipType to categorise FO3 items in some useful way.
However, GetEquipType returns either 0, 7 or 8 for every single armour/clothing item - so according to the Equipment Type values, they're all headgear or backpacks or necklaces. :facepalm:

I know I can use IsPowerArmor, which will help me pluck out power armours, but short of checking the name for things like "Pre-War" or "Jumpsuit" I can't see any way to break down clothing/armour in to useful categories.

I wonder if you could cast your eye over the GetEquipType code and confirm that it's returning the values correctly, please?

If needed, I can post the code I'm using and a table of all the values returned for everything poor old Wolfie possesses. I don't have access to it right now, as I'm 'at work'... :whistle:
User avatar
joannARRGH
 
Posts: 3431
Joined: Mon Mar 05, 2007 6:09 am

Post » Sat Feb 19, 2011 5:56 am

Where did you get this function from? I want it too! :)


I'm using the latest stable version of FOSE v1.2 b2. It's one of the fuctions.

-Mush-

PS. It may be undocumented at the moment as I can't find it in the documentation on the website. But the function does work.
User avatar
saxon
 
Posts: 3376
Joined: Wed Sep 19, 2007 2:45 am

Post » Sat Feb 19, 2011 6:28 am

scn H52StrengthReqBigGunsref CurrentEquippedBegin GamemodeSet CurrentEquipped to GetEquippedObject 5If GetWeaponSkill CurrentEquipped == 33 && GetBaseAV < 7	Player.UnequipItem CurrentEquipped 1 1	ShowMessage H52StrengthReqBigGunsMSGEndIfEnd


I figured that this would work, but it doesn't. It is a quest script by the way.

Any suggestions?
User avatar
Grace Francis
 
Posts: 3431
Joined: Wed Jul 19, 2006 2:51 pm

Post » Sat Feb 19, 2011 9:59 am

If GetWeaponSkill CurrentEquipped == 33 && GetBaseAV < 7


I figured that this would work, but it doesn't. It is a quest script by the way.

Any suggestions?

You haven't specified http://geck.gamesas.com/index.php/GetBaseActorValue is < 7...
User avatar
Claire Lynham
 
Posts: 3432
Joined: Mon Feb 12, 2007 9:42 am

Post » Sat Feb 19, 2011 5:30 am

Thanks WolfHound :) I also forgot to specify whose BaseAV it should check and the WeaponSkill of whom. I got it fixed now thanks to schlangster.
User avatar
Melissa De Thomasis
 
Posts: 3412
Joined: Tue Feb 27, 2007 6:52 pm

Post » Sat Feb 19, 2011 7:07 am

I have Fallout 3 with the 1.7 patch, using FOSE 1.2 with the following mods:

Fallout3.esmAnchorage.esmCALIBR.esmFOOK2 - Main.esmFOOK2 - [[censored]] World And Neighbourhood Kit.esmFOOK2 - [DIK] DLC Improvement Kit.esmMart's Mutant Mod.esmFOOK2 - Main.espFOOK2 - [EVE] Energy Visuals Enhanced.espFOOK2 - [DIK] DLC Improvement Kit.espMyFOOK2 - Black & White Tranquility Lane.espKillableKidsNormalHealthOptional.espRobCo Certified.esp[UU] Unique Uniques .04.espMart's Mutant Mod.espMart's Mutant Mod - No Corpse Flies.espMart's Mutant Mod - No Ghoul Raise.espMart's Mutant Mod - Tougher Traders.espMart's Mutant Mod - DLC Anchorage.espMart's Mutant Mod - FOOK2.espDarNifiedUIF3.esp


When I run fose_loader.exe, my screen goes blank as if it is starting, then I immediately get the message that Fallout3 has stopped working.

Is this something that someone has seen before, and hopefully solved?

thanks

Vista Home Prem
2GB RAM
ATI x1950 512MB
Intel E8400 3GHz

edit: contents of fose_loader.log

launching: Fallout3.exe (D:\Games\Fallout 3\Fallout3.exe)
crc = FE5B82AE
hook call addr = 00C05F61
load lib addr = 00D9B0F0
dll = D:\Games\Fallout 3\fose_1_7.dll
remote memory = 00150000
old winmain = 006EE300
launching

edit edit: oh, and Operation Anchorage is running from my data directory as a normal plugin
User avatar
Kim Kay
 
Posts: 3427
Joined: Fri Oct 13, 2006 10:45 am

Post » Sat Feb 19, 2011 3:54 am

Just a thought, could be wrong. But I was understanding that some of those mods in your list required all the dlc's to function properly? Not dependent exactly, but more like a few things supported each of the others.

If you have them try it.
User avatar
Eileen Collinson
 
Posts: 3208
Joined: Thu Dec 28, 2006 2:42 am

Post » Sat Feb 19, 2011 9:52 am

Just wanted to say thanks for this great program which makes the impossible possible. Just installed it which was very easy and have had no problems with it. Have a good one :foodndrink:
User avatar
Jennifer Munroe
 
Posts: 3411
Joined: Sun Aug 26, 2007 12:57 am

Post » Fri Feb 18, 2011 9:28 pm

@JEdCop
This is not a FOSE issue, but as WackaMacka noted, a load order issue. If you run a mod that requires another mod which is not there, Fallout 3 crashes on startup. This is called the missing master problem. Uncheck the mods below:

FOOK2 - [DIK] DLC Improvement Kit.esmFOOK2 - [DIK] DLC Improvement Kit.esp

User avatar
Anna S
 
Posts: 3408
Joined: Thu Apr 19, 2007 2:13 am

Post » Fri Feb 18, 2011 9:23 pm

Hi,

I've done away with FOOK and use FWE now instead. I can play the game despite a couple of other issues, but they are also not for this thread.
User avatar
Stacey Mason
 
Posts: 3350
Joined: Wed Nov 08, 2006 6:18 am

Post » Fri Feb 18, 2011 10:42 pm

Hey guys,

As long as you're working on the hair functions, I'd like to make 1 more request. Would it be possible to make a command like gethaircolor which would return the rgb value? Appreciate all the efforts.
User avatar
Camden Unglesbee
 
Posts: 3467
Joined: Wed Aug 15, 2007 8:30 am

Post » Fri Feb 18, 2011 10:50 pm

Minor bug report: Using GetNumItems writes "item count: " followed by the number of items in the container to the console when used in a script. Otherwise, it works :)

Fixed.
I just re-downloaded the latest version and I'm still getting console output from GetNumItems. Was the fixed version not uploaded?

Cipscis
User avatar
Stephanie Valentine
 
Posts: 3281
Joined: Wed Jun 28, 2006 2:09 pm

Post » Sat Feb 19, 2011 3:28 am

As long as you're working on the hair functions, I'd like to make 1 more request. Would it be possible to make a command like gethaircolor which would return the rgb value?

Sure.

I just re-downloaded the latest version and I'm still getting console output from GetNumItems. Was the fixed version not uploaded?

That was fixed after b2 went out; http://fose.silverlock.org/beta/fose_v1_2_beta3.7z (and some code to make old versions of FSR not load in the editor).
User avatar
Cesar Gomez
 
Posts: 3344
Joined: Thu Aug 02, 2007 11:06 am

Post » Sat Feb 19, 2011 10:02 am

Oh, of course. Thanks for the update ianpatt.

Cipscis
User avatar
Racheal Robertson
 
Posts: 3370
Joined: Thu Aug 16, 2007 6:03 pm

Post » Sat Feb 19, 2011 7:35 am

Is there any chance at all that we will get a messageboxEX type function like in OBSE? Not being able to pass variables to buttons with %n is really limiting some of the things I want to do.
User avatar
Amy Gibson
 
Posts: 3540
Joined: Wed Oct 04, 2006 2:11 pm

Post » Sat Feb 19, 2011 10:11 am

Question, can you make a function version of OnHitWith? Something like GetHitWith to see what weapon you have been hit with? Since Begin OnHitWith checks that with formlists, it should be possible to make something like this. Could you then be able to store this in a ref variable and have acces to the weapons damage? Basically I'm checking what hit you, what type of weapon it is, if it is automatic, and how much is it base damage.

That would make a real Damage Threshold mod so much easier. And would allow for some cool stuff.
User avatar
Alister Scott
 
Posts: 3441
Joined: Sun Jul 29, 2007 2:56 am

Next

Return to Fallout 3