Difference between revisions of "ScriptHook: Script"

From Nomad DB
Line 29: Line 29:
 
== Concepts ==
 
== Concepts ==
 
=== Script Table ===
 
=== Script Table ===
Within Scripts, you can call the function ''Script()''. It returns a Lua table that can be used for two things:
+
Within Scripts, you can call the function ''[[Script()|WD2 ScriptHook: Script Table]]''. It returns a Lua table that can be used for two things:
 
# Storing variables for the Script
 
# Storing variables for the Script
 
# Callback / Event Handlers
 
# Callback / Event Handlers
 +
Using the Event Handlers is also the only way to properly unregister event listeners from the Game's event system.
  
 
=== Key Bindings ===
 
=== Key Bindings ===

Revision as of 22:01, 14 April 2020

A Script is a collection of Lua scripts that are loaded by WD2 ScriptHook. Scripts are loaded upon starting the game with ScriptHook installed.

This guide will give you an overview of the structure behind those Scripts.

Directory Structure

data/scripts
data/scripts/[name]
data/scripts/[name]/manifest.json
data/scripts/[name]/[...].lua

manifest.json

The manifest holds information about a Script. Name, Author & Version can be specified here. The "entrypoint" is the Lua script that is loaded.

{
	"name": "Simple Trainer",
	"author": "Nomad Group",
	"version": "1.0",
	
	"entrypoint": "main.lua",
	"keyBinds": {
		"menu": "F4"
	}
}

Concepts

Script Table

Within Scripts, you can call the function WD2 ScriptHook: Script Table. It returns a Lua table that can be used for two things:

  1. Storing variables for the Script
  2. Callback / Event Handlers

Using the Event Handlers is also the only way to properly unregister event listeners from the Game's event system.

Key Bindings

You can bind Keys to Lua functions. Key Bindings are configured within the manifest.json section. For more information, check out WD2 ScriptHook: Key Binds.

Console Commands

Scripts can register custom Console Commands. These commands are registered directly within Lua. Check out WD2 ScriptHook: Console Commands.

Related Pages