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

Post » Fri Feb 18, 2011 9:46 pm

FOSE extends the scripting language by making more functionality available. This functionality wasn't included in Fallout 3 to begin with simply because it wasn't needed. Pretty much the only things we can do with Fallout 3's scripting language is basic arithmetic, simple flow control with conditional statements and execute (mostly high level) functions. FOSE gives us more functions that we can use, including some that allow us to create more powerful flow control structures.

Cipscis
User avatar
Cathrin Hummel
 
Posts: 3399
Joined: Mon Apr 16, 2007 7:16 pm

Post » Sat Feb 19, 2011 10:13 am

Hi, I have two questions.
1. What mean second parameter target item:InventoryObjectfor for function SetWeaponAmmo? i.e. is this reference to specific item in inventory? And can I change ammo type for only single gun with help of this function, but not to change ammo type for same guns in whole world?
2. How I can get reference to equipped weapon? GetEquippedObject 5 returns only BaseForm...
User avatar
Ash
 
Posts: 3392
Joined: Tue Jun 13, 2006 8:59 am

Post » Fri Feb 18, 2011 11:36 pm

http://fose.silverlock.org/fose_command_doc.html#SetWeaponAmmo, like many FOSE functions, can be called in two ways - by using an explicit calling reference or by specifying a base form as a parameter. The function will affect the base form supplied as a parameter if it is available, or the base form of the calling reference if it is not. Pretty much all properties of guns are stored on the base form, and ammo is one of these properties.

The only way to change the ammo of a single gun is to create what is called a cloned form, which is a copy of the original base form that is originally identical in every way, but is independent of the original. FOSE currently has two functions related to cloned forms:
  • http://fose.silverlock.org/fose_command_doc.html#TempCloneForm
  • http://fose.silverlock.org/fose_command_doc.html#IsClonedForm

Inventory objects are not stored as references, although some functions can treat them as references when called implicitly from a script attached to them, like http://geck.gamesas.com/index.php/GetContainer, and others can be used to affect a specific item as you would a reference when called on the actor that has the item equipped, like http://fose.silverlock.org/fose_command_doc.html#SetEquippedCurrentHealth.

Cipscis
User avatar
lacy lake
 
Posts: 3450
Joined: Sun Dec 31, 2006 12:13 am

Post » Sat Feb 19, 2011 4:57 am

So, I have the Steam version of Fallout 3 Game of the Year Edition. I'm working on installing my mods, and I install FOSE. Right now All I've got running (to test it) are some texture mods (including NMC's texture mod with maximum bump maps - yes, my system can handle it), the GNR radio mod and darnified UI mod, as well as some music and sound replacers (just to start to for testing). Anyway, I put all the .dll files in my fallout 3 directory along with the loader, checked the mods, launched the game using fose loader and I click on new game. I skip the intro and then I get nothing but a black screen. When I try running the game through the default launcher without FOSE it works perfectly.

I'm running Windows 7 Home Premium 64-bit version
8 gb DDR3 ram
Radeon HD 5870
Intel Core i7 920
AsRock Extreme X58 motherboard

Any ideas on what I'm doing wrong?

*EDIT*

Never mind, I fixed it, had to change an .ini setting.
User avatar
Alisha Clarke
 
Posts: 3461
Joined: Tue Jan 16, 2007 2:53 am

Post » Sat Feb 19, 2011 7:02 am

I would like to know if the FOSE team has plans to include the "http://cs.elderscrolls.com/constwiki/index.php/NameIncludes" if not I would like to suggest that it be pout into consideration. I am looking for a feature likes this for a disguise mod that is completely compatible with any mod released or to be released. Thank you for your consideration.
User avatar
Jodie Bardgett
 
Posts: 3491
Joined: Sat Jul 29, 2006 9:38 pm

Post » Fri Feb 18, 2011 6:53 pm

I recently began a new game, using FOSE 1.2 beta 2 for the first time. I have noticed the game will crash occasionally during combat, but also when I try to exit the game normally, it hangs. I have to ALT-tab to the task manager and use it to close Fallout 3. Is there a solution to the 'hanging when exiting' issue?

Thanks.
User avatar
Victoria Vasileva
 
Posts: 3340
Joined: Sat Jul 29, 2006 5:42 pm

Post » Fri Feb 18, 2011 11:14 pm

I recently began a new game, using FOSE 1.2 beta 2 for the first time. I have noticed the game will crash occasionally during combat, but also when I try to exit the game normally, it hangs. I have to ALT-tab to the task manager and use it to close Fallout 3. Is there a solution to the 'hanging when exiting' issue?

Thanks.


That is usually cased by a mod not FOSE.

In any event, i was wondering, is FOSE still under development?
User avatar
BrEezy Baby
 
Posts: 3478
Joined: Sun Mar 11, 2007 4:22 am

Post » Sat Feb 19, 2011 9:09 am

In any event, i was wondering, is FOSE still under development?

Sort of. I'm the only one keeping it updated, and will be very busy with work for the rest of the year. Misc stuff with OBSE and answering support emails for both projects is taking up all of the time I can spend.

When New Vegas comes out, I will be sure to make some time to get things working with it, but other than that for the immediate future I really can't do much.
User avatar
Justin Hankins
 
Posts: 3348
Joined: Fri Oct 26, 2007 12:36 pm

Post » Sat Feb 19, 2011 5:22 am

Any FOSE is good FOSE. Just the ability to refwalk/inventorywalk/manipulate lists changes the game completely, so it's great to hear it'll be coming to NV.
User avatar
ijohnnny
 
Posts: 3412
Joined: Sun Oct 22, 2006 12:15 am

Post » Sat Feb 19, 2011 10:16 am

Sort of. I'm the only one keeping it updated, and will be very busy with work for the rest of the year. Misc stuff with OBSE and answering support emails for both projects is taking up all of the time I can spend.

When New Vegas comes out, I will be sure to make some time to get things working with it, but other than that for the immediate future I really can't do much.

Wow, I'm pretty bummed out over this. Probably not as bummed out as you are, but still pretty bummed.

I hope things work out, and the project isn't scrapped altogether.
User avatar
Jessie Rae Brouillette
 
Posts: 3469
Joined: Mon Dec 11, 2006 9:50 am

Post » Sat Feb 19, 2011 4:35 am

I have the Steam version of both Oblivion and Fallout 3, with OBSE it is enabled automatically when I launch the game from Steam the default way, but with FOSE it is not enabled when I launch the game this way, I still have to use the fose_launcher.exe, which doesn't activate steam.

I'm wondering if I'm doing something wrong here, or if the two just work differently, and if so is there a way to make FOSE work the way OBSE does with Steam?

Thanks.
User avatar
R.I.p MOmmy
 
Posts: 3463
Joined: Wed Sep 06, 2006 8:40 pm

Post » Sat Feb 19, 2011 10:44 am

It isn't necessary to FOSE's functionality, and it would require the Steam techs to make some changes, so it's unlikely.

If you just want the Steam community overlay in the background, I think you could add the fose_loader.exe as a "non-steam game" and it would work. The only problem is it wouldn't associate it with Fallout 3 in terms of hours played or the other statistics Steam collects.

I don't think there's anything else Steam related that would apply to Fallout 3.
User avatar
Annick Charron
 
Posts: 3367
Joined: Fri Dec 29, 2006 3:03 pm

Post » Sat Feb 19, 2011 9:25 am

Hi there!

First of all, FOSE rocks! I mean, really, it rocks!

Secondly, I have a request for the next version and this looks like the place for it when and if
it is released :hubbahubba:

I have made a http://www.gamesas.com/index.php?/topic/1110065-relz-mysqla-my-super-quickload-assistant/ that uses a scripted key tap sequence to quit to the main menu and reload
from there, for the people who want to avoid the buggy quickload. Problem is, I had to use an external
utility (AutoHotkeys) to compile an .exe that performs a timed key tap sequence
to do all that.

My request is that, if possible, the MenuTapKey command could be extended in order to include
the keyboard arrows and the enter key, so that the sequence wouldn't have to be timed (since
I would be able to recognize when the menu is entered) and also so that an .exe wouldn't be required!

Thnx for all your efforts till now! Cya :goodjob:
User avatar
Becky Cox
 
Posts: 3389
Joined: Thu Jun 22, 2006 8:38 am

Post » Sat Feb 19, 2011 6:23 am

My request is that, if possible, the MenuTapKey command could be extended in order to include
the keyboard arrows and the enter key

Hmm. I thought those worked already. Will take a look.

I hope things work out, and the project isn't scrapped altogether.

I'm not planning on scrapping the project, just busy times at work -> less free time -> maintenance-only changes.
User avatar
Johnny
 
Posts: 3390
Joined: Fri Jul 06, 2007 11:32 am

Post » Fri Feb 18, 2011 11:01 pm

Hmm. I thought those worked already. Will take a look.


::Excited:: :clap:
User avatar
Chelsea Head
 
Posts: 3433
Joined: Thu Mar 08, 2007 6:38 am

Post » Sat Feb 19, 2011 9:43 am

Are there any Plans to add these OBSE Functions to FOSE as I have use for them.

http://cs.elderscrolls.com/constwiki/index.php/EquipMe -> I need this as it relates to Equipping stacks of objects like how OBSE used this to equip Arrow Stacks I need it for Equipping Stacks of Weapons -> Mines, Grenades, LunchBoxMines Specifically.

and

http://cs.elderscrolls.com/constwiki/index.php/AddToLeveledList -> I need the functionality of this to be basically identical to OBSE a temporary change not saved in the save game so I can run a once per game started list of Items added into Leveled Loot and Vender Lists without conflicting with other mods that do this the old fashioned way and allows me to also not force people to Clean Save my mod out of thier game everytime I need to alter these lists to add weapons or tweak them.

And lastly

http://cs.elderscrolls.com/constwiki/index.php/GetGameRestarted -> there are other ways to do this but I have been using this for some time within Oblivion with my own Game Overhauls to keep them compatable with most everything out there and it would be nice to have it available for Fallout.
User avatar
Chloe Mayo
 
Posts: 3404
Joined: Wed Jun 21, 2006 11:59 pm

Post » Sat Feb 19, 2011 2:33 am

It isn't necessary to FOSE's functionality, and it would require the Steam techs to make some changes, so it's unlikely.

If you just want the Steam community overlay in the background, I think you could add the fose_loader.exe as a "non-steam game" and it would work. The only problem is it wouldn't associate it with Fallout 3 in terms of hours played or the other statistics Steam collects.

I don't think there's anything else Steam related that would apply to Fallout 3.


Yea that is what I've been doing, but I was just wondering why OBSE does it but FOSE doesn't, is there something different about Fallout 3 that prevents it? I thought they were pretty much the same.

Like you said its not a huge deal though, I just wondered if OBSE can do it why can't FOSE, but if it isn't feasible I understand.
User avatar
Beat freak
 
Posts: 3403
Joined: Thu Dec 14, 2006 6:04 am

Post » Fri Feb 18, 2011 11:54 pm

Yea that is what I've been doing, but I was just wondering why OBSE does it but FOSE doesn't, is there something different about Fallout 3 that prevents it? I thought they were pretty much the same.

Like you said its not a huge deal though, I just wondered if OBSE can do it why can't FOSE, but if it isn't feasible I understand.

In this case, it's because the Steamworks copy protection was placed on the main executable for Oblivion, but on the launcher for Fallout. Due to the copy protection, we use some assistance from Valve to load OBSE. This isn't needed for Fallout, so we just use our standard launcher and treat the game like a retail copy.
User avatar
Victoria Vasileva
 
Posts: 3340
Joined: Sat Jul 29, 2006 5:42 pm

Post » Fri Feb 18, 2011 11:10 pm

In this case, it's because the Steamworks copy protection was placed on the main executable for Oblivion, but on the launcher for Fallout. Due to the copy protection, we use some assistance from Valve to load OBSE. This isn't needed for Fallout, so we just use our standard launcher and treat the game like a retail copy.

Ah ok, thanks for the information :-)

Also thanks for the good work on the Script Extender :-)
User avatar
Baylea Isaacs
 
Posts: 3436
Joined: Mon Dec 25, 2006 11:58 am

Post » Sat Feb 19, 2011 6:06 am

http://cs.elderscrolls.com/constwiki/index.php/GetGameRestarted -> there are other ways to do this but I have been using this for some time within Oblivion with my own Game Overhauls to keep them compatable with most everything out there and it would be nice to have it available for Fallout.

Doesn't this already exist, or does it act differently in Oblivion?

http://fose.silverlock.org/fose_command_doc.html#GetGameRestarted
User avatar
Angus Poole
 
Posts: 3594
Joined: Fri Aug 03, 2007 9:04 pm

Post » Sat Feb 19, 2011 1:24 am

Doesn't this already exist, or does it act differently in Oblivion?

http://fose.silverlock.org/fose_command_doc.html#GetGameRestarted


GetGameLoaded also exists ! -> Need the others before I can do anything with it though, just trying to be lazy and avoiding conflicting with Overhaul mods.
User avatar
Rowena
 
Posts: 3471
Joined: Sun Nov 05, 2006 11:40 am

Post » Sat Feb 19, 2011 7:28 am

http://cs.elderscrolls.com/constwiki/index.php/AddToLeveledList -> I need the functionality of this to be basically identical to OBSE a temporary change not saved in the save game so I can run a once per game started list of Items added into Leveled Loot and Vender Lists without conflicting with other mods that do this the old fashioned way and allows me to also not force people to Clean Save my mod out of thier game everytime I need to alter these lists to add weapons or tweak them.

I actually went back and looked at the functions available in the game (I have all of the DLC), and the game appears to have an AddItemToLeveledList command already. I'm not sure if it works or not as I don't play with leveled lists, but you can test it out in the console and see if it will work for you. It may only exist in fully patched versions of the game.

AddItemToLeveledList LeveledItem:leveled_item, ObjectID:inv_item, Level:integer, Count:integer, HealthPercent:float
User avatar
Gavin Roberts
 
Posts: 3335
Joined: Fri Jun 08, 2007 8:14 pm

Post » Sat Feb 19, 2011 5:03 am

That's permanent. Which is handy for most purposes, but not for Saiden's.
E: Well, unless it takes tempcloneforms and doesn't spaz out after save/load. Creating temp clone LLs to perma-add to the real LL that get wiped on load might actually work.
User avatar
James Smart
 
Posts: 3362
Joined: Sun Nov 04, 2007 7:49 pm

Post » Fri Feb 18, 2011 11:52 pm

I'm confused over the various ...Control functions.

The first time my mod is loaded, the user must assign a key to it. I love the fact that IsControl exists. It allows me to tell the user if they chose a key that was already mapped to something else and to choose again.

The docs for IsControl seem to imply that I can inform FOSE about my newly assigned key using SetIsControl.

IsControl
Alias: none
Parameters:1
scanCode:Integer
Return Type: Bool
Opcode: 0x1463 (5219)
Condition Function: No
Introduced In: 1
Calling Convention: B
Description: returns 1 if key is a game control or 2 if a custom control set by SetIsControl.


However, the docs for SetIsControl aren't making any sense to me:

SetIsControl
Alias: none
Parameters:2
controlCode:Integer
scanCode:Integer
Return Type: Bool
Opcode: 0x1462 (5218)
Condition Function: No
Introduced In: 1
Calling Convention: B
Description: Flags a key or mouse button as a control, allowing modders to define custom controls - other scripts can then use IsControl to detect conflicts in which two mods try to use the same key for different actions.

The problem is the first parameter. It wants me to specify one of the default game functions that my key implements. My key doesn't implement any of those functions. What am I supposed to do? How do I make it so other mods know the key has been assigned to my mod?
User avatar
Yama Pi
 
Posts: 3384
Joined: Wed Apr 18, 2007 3:51 am

Post » Sat Feb 19, 2011 5:59 am

However, the docs for SetIsControl aren't making any sense to me:
[snip]
The problem is the first parameter. It wants me to specify one of the default game functions that my key implements. My key doesn't implement any of those functions. What am I supposed to do? How do I make it so other mods know the key has been assigned to my mod?

That is because SetControl only work on existing controls. If you wish to add extra controls, you have to use http://fose.silverlock.org/fose_command_doc.html#IsKeyPressed to detect it (Cipscis wrote a tutorial http://www.cipscis.com/fallout/tutorials/detecting_keypresses.aspx).

If you want other mods to be able to know which key is assigned to your mod, you have one of two options. The first option is to assign one particular key (such as 'k') and not add functionality to change it. Thus, all other mods will know that pressing 'k' while your mod is active, causes whatever effect you wanted. This has the drawback that if the player uses another mod that also utilize the 'k' key, there is a conflict. The second option is to save the actual key used into a global variable. This allows the player to change the key, but if another mod needs to access which key is in use, it will need to have your mod as a master.
User avatar
Mr. Allen
 
Posts: 3327
Joined: Fri Oct 05, 2007 8:36 am

PreviousNext

Return to Fallout 3