Difference between revisions of "WDL Scripting Changes"
From Nomad DB
Line 5: | Line 5: | ||
* '''manifest.json: ''' Keybinds from Scripts can now be modified in the StartupMenu, as long as they have a Text configured. ([[ScriptHook: Script|Documented here]]) | * '''manifest.json: ''' Keybinds from Scripts can now be modified in the StartupMenu, as long as they have a Text configured. ([[ScriptHook: Script|Documented here]]) | ||
* '''Config Values:''' It is now possible to store and load persistent data (e.g. for configuration). For example, the Trainer stores the noclip & freecam speeds using this method. ([[ScriptHook: Script Config]]). | * '''Config Values:''' It is now possible to store and load persistent data (e.g. for configuration). For example, the Trainer stores the noclip & freecam speeds using this method. ([[ScriptHook: Script Config]]). | ||
+ | |||
+ | '''1.1''' | ||
+ | Two new Script events were added: | ||
+ | |||
+ | * [[Event: Script:OnInputKey|OnInputKey]] | ||
+ | * [[Event: Script:OnInputMouseButton|OnInputMouseButton]] | ||
=== UI === | === UI === |
Revision as of 20:46, 4 May 2021
Watch Dogs Legion ScriptHook uses the same framework as WD2 & MDE ScriptHook. However, there are notable Lua changes compared to their old counterparts.
Scripts
- manifest.json: Keybinds from Scripts can now be modified in the StartupMenu, as long as they have a Text configured. (Documented here)
- Config Values: It is now possible to store and load persistent data (e.g. for configuration). For example, the Trainer stores the noclip & freecam speeds using this method. (ScriptHook: Script Config).
1.1 Two new Script events were added:
UI
- SimpleMenu: Updated design for Checkboxes
- SimpleMenu: Added Text & List entry types (Documented here)
- UI uses a new configuration system, which allows for fully configurable design using JSON files. These JSON files are located in data/ui and once modified, the UI style will update instantly.
Rendering
This feature isn't exactly new, but hasn't been used in past ScriptHook versions.
- d3d: Render (outlined) rectangles, lines & text using Lua (Documented here)
- OnRender: Event callback in which rendering takes place (Documented here)
1.1
Lua Functions
- Added ScriptHook.SetNoclipSpeeds
- Added ScriptHook.SetFreeCameraSpeeds
- Added ScriptHook.SetLondonEyeRotationSpeed and ScriptHook.GetLondonEyeRotationSpeed
- Renamed ScriptHook.ToggleWorldSpawner to ScriptHook.SetWorldSpawnerEnabled
- Renamed ScriptHook.ToggleWorldImpostor to ScriptHook.SetWorldImpostorEnabled
1.1
- ScriptHook.SetFelonySystemEnabled, ScriptHook.IsFelonySystemEnabled
- ScriptHook.StartFelonySearch
- ScriptHook.SetFelonyHeatLevel, ScriptHook.ClearFelonyHeatLevel
- ScriptHook.GetTimeShiftTargetTime, ScriptHook.StartTimeShiftTransition
- ScriptHook.SetVehicleMaterialOverride
Entity
- Added ScriptHook.SetEntityIsStatic, ScriptHook.SetEntityIsPersistent
- Added ScriptHook.SetEntityPoolClearOnUnused, ScriptHook.SetEntityIsPoolable
- Added ScriptHook.SetEntityPhysicsEnabled, ScriptHook.SetEntityIsVisible
1.1
- ScriptHook.GetEntityAABB, ScriptHook.GetEntityLocalAABB, ScriptHook.HasEntityUserLocalBBox
- ScriptHook.RemoteEntity
- ScriptHook.IsEntityLoaded
- ScriptHook.IsEntityInitialized
- ScriptHook.IsEntityAddedToWorld
- ScriptHook.IsEntityMoving
- ScriptHook.IsEntityShuttingDown,
- ScriptHook.IsEntitySleeping, ScriptHook.SetEntitySleep
- ScriptHook.SetEntityIsVisible, ScriptHook.IsEntityVisible
Entity functions from WD2 were also ported to Legion:
- ScriptHook.GetAllEntities, ScriptHook.GetEntitiesInRange, ScriptHook.GetEntitiesWithComponent
- ScriptHook.GetEntityComponents, ScriptHook.EntityHasComponent, ScriptHook.GetEntityClassName