Difference between revisions of "Category:F4SE"
There is now an F4SE for VR
imported>Qazaaq |
imported>Qazaaq (There is now an F4SE for VR) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[File:F4se_logo.png|left]] | |||
[[File:F4se_logo.png]] | |||
The Fallout 4 Script Extender, or F4SE for short, is a community made modder's resource that expands the scripting capabilities of Fallout 4. | The Fallout 4 Script Extender, or F4SE for short, is a community made modder's resource that expands the scripting capabilities of Fallout 4. | ||
F4SE supports the latest version of Fallout 4 and Fallout 4 VR available on Steam, PC only. | |||
{{ClearFloats}} | |||
For the latest releases and documentation visit the official website http://f4se.silverlock.org/ | For the latest releases and documentation visit the official website http://f4se.silverlock.org/ | ||
=== Papyrus === | |||
Adds all new native [[Papyrus]] script objects. | |||
=== Native Plugin API === | |||
Allows authors to extend Fallout 4 by writing c++ code. | |||
=== Console Commands === | |||
Running [[GetF4SEVersion]] from the console will print the current version of F4SE. | |||
The currently installed version of F4SE is also shown in the [[Menu|''PauseMenu'']] next to the game version. | |||
=== Logging === | |||
F4SE log files will be written to <code>...\<Documents>\My Games\Fallout4\F4SE\</code>. | |||
These files contain useful information such as version information, loaded plugins, and debug messages. | |||
Optionally, logging from Scaleform may be enabled by adding <code>bEnableGFXLog=1</code> to the <code>[Interface]</code> section of your F4SE.ini. | |||
Create <code>Fallout 4\Data\F4SE\F4SE.ini</code> if it doesn't exist. | |||
<source lang="text"> | |||
[Interface] | |||
bEnableGFXLog=1 | |||
</source> | |||
=== Key Mappings === | |||
Customization of internal key mappings. | |||
Copy CustomControlMap.txt to <code>...\Fallout 4\Data\F4SE\CustomControlMap.txt</code>. | |||
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 <code>0xFF</code> 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. | |||
=== Scaleform === | |||
Scaleform is the middleware between Fallout 4 and [[Adobe Flash]]. This is the technology behind the games [[User Interface]]. | |||
==== Translation Injection ==== | |||
F4SE adds support for Scaleform translation injection. Create your own translation file by adding a text file that matches your mod name to <code>...\Fallout 4\Data\Interface\Translations</code>. | |||
For example, the mod <code>HelloWorld.esp</code> may add English translations by creating <code>...\Fallout 4\Data\Interface\Translations\HelloWorld_en.txt</code>. | |||
==== Menu Code Object ==== | |||
F4SE also provides a Scaleform code interface by installing a code object to the root of any registered menu. | |||
To acquire the F4SE code object in AS3, use <code>(stage.getChildAt(0) as MovieClip).f4se</code> or <code>MovieClip(root).f4se</code>. | |||
There are some cases when the installed F4SE code object on a menu root may be unreachable from your display object class. | |||
With [[:Category:F4SE|F4SE]] v0.6.8 and greater the code object may be received by implementing the <code>onF4SEObjCreated</code> function on your display object class. | |||
This function is called on the menu root document as well as first-level children. | |||
== | <source lang="actionscript"> | ||
* | package Shared.F4SE | ||
{ | |||
public interface ICodeObject | |||
{ | |||
function onF4SEObjCreated(codeObject:*):void; | |||
} | |||
} | |||
</source> | |||
====== Code Object ====== | |||
It is a good idea to wrap calls to the F4SE code object in a Try/Catch block. | |||
* <code>AllowTextInput : Function(allow:Boolean):void</code> | |||
* <code>GetMembers : Function():void</code> | |||
* <code>CallFunctionNoWait : Function():void</code> | |||
* <code>SendExternalEvent : Function(eventName:String, *...):void</code> | |||
* <code>GetDirectoryListing : Function(path:String, match:String, recursive:Boolean):Array</code> | |||
* <code>MountImage : Function(menuName:String, mountPath:String, mountName:String):void</code> | |||
* <code>UnmountImage : Function(menuName:String, mountPath:String):void</code> | |||
* <code>plugins : Array</code> | |||
** <code>pluginName1 : [Object]</code> | |||
** <code>pluginName2 : [Object]</code> | |||
* <code>version : [Object]</code> | |||
** <code>releaseIdx : Number</code> | |||
** <code>minor : Number</code> | |||
** <code>major : Number</code> | |||
** <code>beta : Number</code> | |||
[[Category:Papyrus]] |