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

Post » Thu Feb 11, 2010 1:48 am

-- 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
Fallout Script Extender v1.1
by Ian Patterson (ianpatt), Stephen Abel (behippo) and Paul Connelly (scruggsywuggsy the ferret)

Additional contributions from: Timeslip, ElminsterEU

Current beta: v1.2 b1
Download: http://fose.silverlock.org/beta/fose_v1_2_beta1.7z (http://fose.silverlock.org/beta/fose_v1_2_beta1.zip)

Stable version: v1.1 b9
Download: http://fose.silverlock.org/download/fose_v1_1_beta9.7z (http://fose.silverlock.org/download/fose_v1_1_beta9.zip)
Documentation: http://fose.silverlock.org/fose_command_doc.html

From the readme:
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

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. Either version patched to 1.0.0.15 or 1.4.0.6 will work.
* 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 informtion 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.
User avatar
Gracie Dugdale
 
Posts: 3397
Joined: Wed Jun 14, 2006 11:02 pm

Post » Thu Feb 11, 2010 3:47 am

We've started working on FOSE v2. I'll keep this post up-to-date with the current list of functions we've implemented for v2.

Current Functions:
  • GetCurrentHealth
  • SetCurrentHealth
  • Rand
  • GetNumItems
  • GetInventoryObject
  • GetRefCount
  • SetRefCount
  • Pow
  • IsQuestItem
  • SetQuestItem
  • IsOffLimits
  • GetParentCellOwner
  • GetOwner
  • GetOwningFactionRequiredRank
  • GetCurrentQuest
  • GetNthQuestObjective
  • SetCurrentQuest
  • IsPersistent


Areas of investigation:
  • String Variables
  • Expression Parsing
  • Array Variables
  • Inventory Reference Walking
  • UI functions


This is not an exhaustive list. We may add other areas of investigation or additional functions to port from OBSE. Please continue to request functionality that you would like to see.

We have no timeline for completing v2 - but we'll likely focus on a small set of functionality and release sooner, rather than a huge list which comes out much later.
User avatar
Tyler F
 
Posts: 3420
Joined: Mon Aug 27, 2007 8:07 pm

Post » Wed Feb 10, 2010 5:20 pm

Sick new thread! When does the next version come out? Or did one just come out in the past couple of days? Thanks!

Also, if I said anything bad, please excuse me, I had a few too many.
User avatar
tannis
 
Posts: 3446
Joined: Sat Dec 09, 2006 11:21 pm

Post » Wed Feb 10, 2010 9:03 pm

Sick new thread! When does the next version come out? Or did one just come out in the past couple of days? Thanks!

Also, if I said anything bad, please excuse me, I had a few too many.

No new version - just time for a new thread. We have no estimated date of arrival for the new version,
User avatar
Manuel rivera
 
Posts: 3395
Joined: Mon Sep 10, 2007 4:12 pm

Post » Wed Feb 10, 2010 11:48 pm

I hope that current ammo count in clip (get/set) is under investigation.
User avatar
Amy Smith
 
Posts: 3339
Joined: Mon Feb 05, 2007 10:04 pm

Post » Wed Feb 10, 2010 6:52 pm

Is there a function for returning the specific reference of an equipped weapon or anything handheld?
User avatar
Sophie Morrell
 
Posts: 3364
Joined: Sat Aug 12, 2006 11:13 am

Post » Thu Feb 11, 2010 12:26 am

I hope that current ammo count in clip (get/set) is under investigation.

This is still on our list to investigate. It has been requested for a long time. The data probably lies in the UI somewhere. We'll see whether we uncover the information during v2 development.

Is there a function for returning the specific reference of an equipped weapon or anything handheld?

GetEquippedObject will return the base form of an object (if any) in the specified equipment slot. However, it doesn't give you access to the specific overrides (health, ammo, count). There are some functions specific to getting some of that info for equipped objects.

The issue is that items in a container (like an actor) do not have real references as they are not part of the physical game world. The Inventory Reference Walking I listed in the areas of investigation for v2 are functions that could hand you a real reference to an object in the inventory so you could differentiate between 2 pistols in your inventory with differing health. I have access to the information - and we believe we know where Fallout creates the temporary references for running Object Effects, but I am still wrestling with the interfaces. Even OBSE doesn't have this functionality yet - and I've been wanting to introduce it for years.
User avatar
Chloe Yarnall
 
Posts: 3461
Joined: Sun Oct 08, 2006 3:26 am

Post » Thu Feb 11, 2010 9:44 am

Would it be possible to get a string entry interface with custom header, text and sumbit button? Then you get the value returned to you in a string variable you defined? It would look similar to the name entry interface.
User avatar
elliot mudd
 
Posts: 3426
Joined: Wed May 09, 2007 8:56 am

Post » Thu Feb 11, 2010 7:42 am

Hey FOSE,

Just curious here. Would you be able to implement FOSE into the GECK in a way that we can use your custom condition functions on condition windows like the perks' and the quests'?
If you don't know what I mean, I mean like here: http://geck.gamesas.com/index.php/Category:Conditions#Function_Parameters
The available options only show vanilla functions - I'm lately needing them, particularly for perks.

Thanks.
User avatar
loste juliana
 
Posts: 3417
Joined: Sun Mar 18, 2007 7:37 pm

Post » Thu Feb 11, 2010 4:10 am

getaltcontrol doesn't seem to return the correct DX scancode.
It will return 0 if the control is set to LeftMousebutton and will return 1 if the control is set to RightMousebutton for example.
User avatar
Luis Reyma
 
Posts: 3361
Joined: Fri Nov 02, 2007 11:10 am

Post » Thu Feb 11, 2010 12:45 am

behippo,

Howdy. :)

I know it has been requested at least a dozen times, so I hope you find this in good spirits...

I am curious, what are your thoughts about adding Arrays into the game? I'm sure there are many requirements that folks would want from arrays in terms of size, scope and persistence, but I for one would be very interested in this type of feature. Today I use all sorts of XMarkers and Tokens as "bits of memory" to store states, remember things and in general keep the scripts flowing from A to Z. The ability to define even a simple numeric or textural array to store control variables would greatly simplify the universe for me. :)

Thanks for your time!

Miax
User avatar
.X chantelle .x Smith
 
Posts: 3399
Joined: Thu Jun 15, 2006 6:25 pm

Post » Thu Feb 11, 2010 7:19 am

behippo,

Howdy. :)

Check post 2... http://www.gamesas.com/bgsforums/index.php?s=&showtopic=1044512&view=findpost&p=15147250
User avatar
Robert Devlin
 
Posts: 3521
Joined: Mon Jul 23, 2007 2:19 pm

Post » Thu Feb 11, 2010 8:48 am

Check post 2... http://www.gamesas.com/bgsforums/index.php?s=&showtopic=1044512&view=findpost&p=15147250


Excellent, thank you!

I shall eagerly await news from their investigation. :)

Cheers,

Miax
User avatar
Tai Scott
 
Posts: 3446
Joined: Sat Jan 20, 2007 6:58 pm

Post » Wed Feb 10, 2010 10:22 pm

A humble request:

Is it possible to get "IsPersistent" in FOSE. I am looking for a "clean" solution for my slave mod and found no good way to detect if a actor is a persistant reference or not.
User avatar
Tessa Mullins
 
Posts: 3354
Joined: Mon Oct 22, 2007 5:17 am

Post » Wed Feb 10, 2010 6:18 pm

Hey FOSE,

Just curious here. Would you be able to implement FOSE into the GECK in a way that we can use your custom condition functions on condition windows like the perks' and the quests'?
If you don't know what I mean, I mean like here: http://geck.gamesas.com/index.php/Category:Conditions#Function_Parameters
The available options only show vanilla functions - I'm lately needing them, particularly for perks.

Thanks.

We can look at this again. Some of our functions are supported as Condition Functions - but I haven't tested them in a long long time. If I remember correctly, we had to do something special to get them to show up properly. Scruggsy did that work - so I'll have to talk to him to see what might be up.

getaltcontrol doesn't seem to return the correct DX scancode.
It will return 0 if the control is set to LeftMousebutton and will return 1 if the control is set to RightMousebutton for example.

I've added this to the bug list for investigation.

A humble request:

Is it possible to get "IsPersistent" in FOSE. I am looking for a "clean" solution for my slave mod and found no good way to detect if a actor is a persistant reference or not.

Yes this can get implemented. We have it in OBSE and I don't believe things have changed at all. I've added it to the list.
User avatar
Anna S
 
Posts: 3408
Joined: Thu Apr 19, 2007 2:13 am

Post » Thu Feb 11, 2010 6:29 am

Yes, I found it in OBSE while searching for a solution, that's why I asked.

Thank's for taking a look.
User avatar
Symone Velez
 
Posts: 3434
Joined: Thu Sep 07, 2006 12:39 am

Post » Thu Feb 11, 2010 3:07 am

Do the latest versions of FOSE require an upgrade to 1.7?

I found that some of my older mods will not work with the 1.7 patch (they CTD during savegame loading).
User avatar
lauraa
 
Posts: 3362
Joined: Tue Aug 22, 2006 2:20 pm

Post » Wed Feb 10, 2010 6:08 pm

I'm sure this has been requested before, but would a clickable map be possible? Or detecting where the players map marker is?
User avatar
Taylrea Teodor
 
Posts: 3378
Joined: Sat Nov 18, 2006 12:20 am

Post » Wed Feb 10, 2010 9:45 pm

I was just looking through the Documentation, and I noticed there is no Get/Set function for some of the flags on weapons (NPCs Use Ammo, etc.) any plans to add these?
User avatar
Chrissie Pillinger
 
Posts: 3464
Joined: Fri Jun 16, 2006 3:26 am

Post » Thu Feb 11, 2010 7:12 am

Do the latest versions of FOSE require an upgrade to 1.7?

I found that some of my older mods will not work with the 1.7 patch (they CTD during savegame loading).

We have discussed only supporting the 1.0 and 1.7 releases, but I don't believe any of our releases only support those versions yet. The plan is for v2 and beyond to only support 1.0 and 1.7.

I'm sure this has been requested before, but would a clickable map be possible? Or detecting where the players map marker is?

I am honestly not sure. I know that in OBSE there has been some interesting work with MapMarkers - but I am not sure exactly what would need to be incorporated into FOSE to make thta happen.

I was just looking through the Documentation, and I noticed there is no Get/Set function for some of the flags on weapons (NPCs Use Ammo, etc.) any plans to add these?

We have a request to finish off these functions as appropriate. If you have a specific list of functions, post them and I will specifically add them to the list.
User avatar
Becky Cox
 
Posts: 3389
Joined: Thu Jun 22, 2006 8:38 am

Post » Thu Feb 11, 2010 7:21 am

So V2 will not support 1.6.
User avatar
Camden Unglesbee
 
Posts: 3467
Joined: Wed Aug 15, 2007 8:30 am

Post » Thu Feb 11, 2010 8:08 am

So V2 will not support 1.6.

We would prefer to reduce the number of builds we need to support. However, if there is a compelling reason to maintain support for a release (like 1.6) then we could continue to do so. However, it does greatly increase the amount of work we have to do to introduce new functions. It was mainly because of the constant patching with each DLC that we paused development of FOSE for most of this year.
User avatar
Tracy Byworth
 
Posts: 3403
Joined: Sun Jul 02, 2006 10:09 pm

Post » Wed Feb 10, 2010 6:25 pm

Would it be possible to make a function to get whether or not a given NPC ref can see the player?
User avatar
bimsy
 
Posts: 3541
Joined: Wed Oct 11, 2006 3:04 pm

Post » Thu Feb 11, 2010 9:28 am

Would it be possible to make a function to get whether or not a given NPC ref can see the player?

Did you try GetLineOfSight?
User avatar
Sarah Kim
 
Posts: 3407
Joined: Tue Aug 29, 2006 2:24 pm

Post » Thu Feb 11, 2010 4:49 am

Okay...but there is no documentation anywhere for that, I've checked the GECK site, the CS Wiki, and the FOSE documentation...
User avatar
Jynx Anthropic
 
Posts: 3352
Joined: Fri Sep 08, 2006 9:36 pm

Next

Return to Fallout 3