Jump to content

[WIPz] Fallout 4 Script Extender (F4SE)


behippo

Recommended Posts

Yes, MessageBoxEX is the dynamic version.

I use 0.4.0 and even when I try to call getName() on a form the compiler refuse to work....

 

Did you make sure you have the F4SE scripts in the compiler import folder? Or you have to add them. The default settings for CK don't tell it to compile using them. My CreationKitCustom.ini line looks like this

[Papyrus]
sAdditionalImports = "$(source);.\Data\Scripts\Source\Base;.\Data\Scripts\Source\DLC01;.\Data\Scripts\Source\DLC02;.\Data\Scripts\Source\DLC03;.\Data\Scripts\Source\DLC04;.\Data\Scripts\Source\DLC05;.\Data\Scripts\Source\DLC06;.\Data\Scripts\Source\F4SE"
Link to comment
Share on other sites

  • Replies 717
  • Created
  • Last Reply

Top Posters In This Topic

Found the problem, most of the files in my scripts folder were RO and Windows didn't react but did not replace them when I installe F4SE :/

 

The scripts in the BASE folder are supposed to be read only. You're not supposed to change those. That's what the user folder is for. In the case of F4SE it puts an F4SE folder along side Base and User. You have to add it as an import or put them in the User folder for them to compile alongside others. You can technically put them in the base folder but it is not a recommended practice.

Link to comment
Share on other sites

Hey fellas,

 

Any plans on Facial Geometry script functionality in the future? We're looking to get hold of some funcs that'll allow the random mapping of faces (nice work with body stuff in the latest build).

 

D

Link to comment
Share on other sites

Been trying to update F4SE, following Gophers instructions and somehow the F4SE launcher keeps opening up Steam. Not the Fallout 4 Launcher but the Steam window (store) itself. This is with F4SE 0.04.01. I had been using F4SE 0.03.00 just fine. Ive tried deleting everything related to F4SE in the Fallout 4 folder, rebooting, running as admin, and redownloading. Nothing seems to work. I cannot figure out what I am doing wrong. Anyone with insight feel free to chime in.

Edit: Verified game cache and still doesn't work. Tried reverting to older versions too. Now I get a message saying "Couldn't find F4SE DLL" error even though the DLL file is in the Fallout 4 folder.

Link to comment
Share on other sites

  • 4 weeks later...

I'm not part of the team, I'm just posting what's been added to F4SE so far.

 

 

 


0.4.2- Added DefaultObject class and functions:    - Get/Set    - GetDefaultObject- Added ObjectReference functions:    - GetInventoryWeight- Fixed Input binding- Fixed Perk.IsEligible- Added Math functions:    - Exp- Added Location functions:    - SetParent- Added Actor functions:    - GetFurnitureReference- Added ScriptObject functions:    - Un/registerForFurnitureEvent    - OnFurnitureEvent(Actor akActor, ObjectReference akFurniture, bool isGettingUp)- Added ConstructibleObject functions:    - Get/SetConstructibleComponents    - Get/SetCreatedObject    - Get/SetCreatedCount    - Get/SetPriority    - Get/SetWorkbenchKeyword- Added Component functions:    - Get/SetScrapItem    - Get/SetScrapScalar- Added MiscObject functions:    - Get/SetMiscComponents0.4.1- Fixed bug when passing Script objects to Scaleform- Added ObjectReference Functions:    - TransmitConnectedPower    - GetConnectPoints0.4.0- InstanceData Get/SetDamageTypes now supports both Armor and Weapon instances- Added InstanceData functions:    - Get/SetWeight - supports Weapon and Armor instances    - Get/SetGoldValue - supports Weapon and Armor instances- Added ObjectReference Functions:    - GetInventoryItems0.3.2- Fixed Scaleform SendExternalEvent and CallFunctionNoWait- Fixed UI.Invoke when Args > 0- Added UI.Load (see UI.psc for example usage)- Added Scaleform GetDirectoryListing     - e.g. root.f4se.GetDirectoryListing("Data/Somewhere", "*.ini", recursive=false)    result: Array=[{"nativePath": "Data/Somewhere/File.ini", "name": "File.ini", "lastModified": Date(), "creationDate": Date(), "isDirectory" : false, "isHidden": false0}]- Added Location Functions:    -GetParent    -Get/SetEncounterZone- Added EncounterZone Functions:    -Get/SetLocation    -Get/SetRank    -Get/SetMinLevel    -Get/SetMaxLevel    -Set/IsNeverResetable    -Set/IsWorkshop- InstanceData functions can now accept ObjectReferences as the Form- ObjectReference.GetAllMods is now inventory safe- Added Game Functions:    -SetGameSettingInt/Float/Bool/String0.3.1- Fixed script unique event registration- Added template serialization of VM for Latent functions- Added object serialization interface- Added Scaleform to Papyrus Adapters- Added Scaleform functions:    -AllowTextInput    -SendExternalEvent    -CallFunctionNoWait- Added UI Functions:    -Set/Get/Invoke- Added ScriptObject Functions:    -Un/RegisterForExternalEvent    -Un/RegisterForCameraState- Added ObjectReference Functions:    -GetConnectedObjects    -AttachWire (Creates a disabled wire)    -CreateWire (non-native to Create and enable)    -GetDisplayName- Added Utility Functions:    -VarToVarArray    -VarArrayToVar- Added Actor Functions:    -QueueUpdate    -GetInstanceOwner- Added ActorBase Functions:    -Get/SetBodyWeight- Added Form functions:    -Set/GetName    -Set/GetWeight    -SetGoldValue    -GetKeywords    -HasWorldModel    -Set/GetWorldModelPath    -Set/GetIconPath    -Set/GetMessageIconPath    -Set/GetEnchantment    -Set/GetEnchantmentValue    -Set/GetEquipType    -GetDescription- Added Weapon functions:    -Set/GetEmbeddedMod    -GetInstanceOwner- Added new InstanceData global class functions:    -Set/GetAttackDamage    -Set/GetDamageTypes    -Set/GetAmmoCapacity    -Set/GetAccuracyBonus    -Set/GetActionPointCost    -Set/GetAttackDelay    -Set/GetOutOfRangeMultiplier    -Set/GetReloadSpeed    -Set/GetReach    -Set/GetMinRange    -Set/GetMaxRange    -Set/GetSpeed    -Set/GetStagger    -Set/GetMeleeSpeed    -Set/GetSkill    -Set/GetResist    -Set/GetCritMultiplier    -Set/GetCritChargeBonus    -Set/GetProjectileOverride    -Set/GetNumProjectiles    -Set/GetSightedTransition- Added ObjectMod functions:    -GetPropertyModifiers    -Set/GetMaxRank    -Set/GetPriority    -GetLooseMod- Added Cell functions:    -GetWaterType- Added WaterType functions:    -Set/GetConsumeSpell    -Set/GetContactSpell- Added Perk functions:    -IsPlayable    -IsHidden    -GetLevel    -GetNumRanks    -GetNextPerk    -GetSWFPath    -IsEligible- Added Scaleform Translation Injection via Interface/Translations/ModName_en.txt0.3.0- support for runtime 1.9.4- input event hook- event sending- ScriptObject.Register/UnregisterForKey/Control- enabled papyrus API for plugins0.2.8- support for runtime 1.8.70.2.7- support for runtime 1.7.220.2.6- support for runtime 1.7.190.2.5- support for runtime 1.7.15- fixed papyrus complex parameter type setup- internal papyrus function calls0.2.4- support for runtime 1.7.120.2.3- support for runtime 1.7.100.2.2- fixed a crash on savegame load0.2.1- support for runtime 1.7.9- plugin serialization interface- plugin delete message0.2.0- support for runtime 1.6.9- alpha papyrus support (see scripts for details)0.1.19- support for beta runtime 1.6.3- papyrus mostly done, plugin support currently disabled until it's more tested0.1.18- support for runtime 1.5.4160.1.17- support for beta runtime 1.5.412- improved version check messages (hopefully)0.1.16- support for runtime 1.5.3070.1.15- support for beta runtime 1.5.210- more internal decoding- start of papyrus, 1.5.210 came out at a bad time0.1.14- support for beta runtime 1.5.2050.1.13- support for beta runtime 1.5.1570.1.12- support for beta runtime 1.5.1540.1.11:- support for beta runtime 1.5.1510.1.10:- support for beta runtime 1.5.147- DataLoaded, PreSaveGame/PostSaveGame/PreLoadGame/PostLoadGame plugin messages- more internal class decoding0.1.9:- support for beta runtime 1.5.141- more internal class/global/etc decoding- exposed scaleform registration interface0.1.8:- support for runtime 1.4.132- more internal class decoding0.1.7:- support for beta runtime 1.4.131- more internal class decoding0.1.6:- support for beta runtime 1.4.125- internal tools updates- more internal class decoding (inventory, input, netimmerse skin)0.1.5:- support for beta runtime 1.3.47- initial game menu support and utilities- more internal class decoding0.1.4:- support for beta runtime 1.3.45- enable logging from scaleform. add bEnableGFXLog=1 to the [Interface] section of your f4se.ini. create it if it doesn't exist.- hook global scaleform tint functions to allow interface mods to selectively modify tint colors/intensities- initial scaleform native plugin API- more internal class decoding0.1.3:- support for beta runtime 1.2.370.1.2:- support for beta runtime 1.2.33- more internal class decoding0.1.1:- fixed crash when resetting keybindings from ui0.1.0:- everything- plugin manager- simple hooks for papyrus, scaleform, and the classic script system, but nothing useful for modders yet- customization of internal keymappings	Copy CustomControlMap.txt to Data\F4SE\CustomControlMap.txt.	Edit that file to set your bindings. The format is the same as Skyrim, it's a space-separated file.	The first column is the name of the internal keybind. The second column is the keyboard scan code that should activate the bind in hex, or 0xFF if unbound. Use google to find a table of scan codes. The third column is for mice, the fourth for controllers. The next three columns control whether or not a control should be written to the user's config file. The final column specifies which input layer the bind is associated with - you will probably not want to change that.- currently-installed version of F4SE is shown in the Settings menu next to the game version- running GetF4SEVersion from the console will print the current version as well- log spam is written to My Documents\My Games\Fallout4\F4SE\

Link to comment
Share on other sites

  • 2 weeks later...

Do I need to do anything special to get F4SE scripts to compile? I've installed it as per the instructions (and included the files in /Data that aren't mentioned) but the CK refuses to recognize RegistorForControl in my script.

Link to comment
Share on other sites

Do I need to do anything special to get F4SE scripts to compile? I've installed it as per the instructions (and included the files in /Data that aren't mentioned) but the CK refuses to recognize RegistorForControl in my script.

 

Well you need to make sure the modified source files are in the proper source directly. The latest F4SE archive should have them in data/scripts/source/user instead of the previous data/scripts/source/f4se. The specific file you need for that function is the ScriptObject.psc. You'll also want to make sure the ScriptObject.pex from the F4SE archive is installed as well. Then it should compile.

Link to comment
Share on other sites

 

Do I need to do anything special to get F4SE scripts to compile? I've installed it as per the instructions (and included the files in /Data that aren't mentioned) but the CK refuses to recognize RegistorForControl in my script.

 

Well you need to make sure the modified source files are in the proper source directly. The latest F4SE archive should have them in data/scripts/source/user instead of the previous data/scripts/source/f4se. The specific file you need for that function is the ScriptObject.psc. You'll also want to make sure the ScriptObject.pex from the F4SE archive is installed as well. Then it should compile.

 

Awesome, thanks, I thought the .psc files were unnecessary so I put them in /F4SE instead of /User to avoid overwriting things. It's working now.

 

Also thanks to TheDungeonDweller for that changelog!

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...