Difference between revisions of "ScriptHook: Script"

From Nomad DB
 
(One intermediate revision by the same user not shown)
Line 7: Line 7:
 
*[[ScriptHook: Key Binds]]
 
*[[ScriptHook: Key Binds]]
 
*[[ScriptHook: Console Commands]]
 
*[[ScriptHook: Console Commands]]
*[[WD2 ScriptHook: Script Table|WD2 Script Table]] or [[MDE ScriptHook: Script Table|MDE Script Table]]
+
*[[ScriptHook: Script Table]]
 
*[[ScriptHook: UI]]
 
*[[ScriptHook: UI]]
 
*[[ScriptHook: Rendering]]
 
*[[ScriptHook: Rendering]]
*[[WD2 ScriptHook: Events|WD2 Events]] or [[MDE ScriptHook: Events|MDE Events]]
+
*[[ScriptHook: Events]]
  
 
==Directory Structure==
 
==Directory Structure==
Line 39: Line 39:
 
===Script Table===
 
===Script Table===
 
or more information, check out
 
or more information, check out
* [[MDL ScriptHook: Script Table|WDL Script Table]]
+
* [[WDL ScriptHook: Script Table|WDL Script Table]]
 
* [[WD2 ScriptHook: Script Table|WD2 Script Table]]
 
* [[WD2 ScriptHook: Script Table|WD2 Script Table]]
 
* [[MDE ScriptHook: Script Table|MDE Script Table]]
 
* [[MDE ScriptHook: Script Table|MDE Script Table]]

Latest revision as of 09:44, 5 May 2021

A Script is a collection of Lua scripts that are loaded by ScriptHook. Scripts are loaded upon starting the game with ScriptHook installed. This guide will give you an overview of the structure behind those Scripts.

If you have used WD2 or MDE ScriptHook, check out the list of notable ScriptHook changes for Legion.

Guides

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. The example below shows the manifest.json for the ScriptHook Trainer.

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

Concepts

Script Table

or more information, check out

Key Bindings

You can bind Keys to Lua functions. Key Bindings are configured within the manifest.json section.

Check out ScriptHook: Key Binds.

Console Commands

Scripts can register custom Console Commands. These commands are registered directly within Lua.

Read more about ScriptHook: Console Commands.

ScriptHook Lua Functions

In addition to the built-in Lua functions, ScriptHook registers custom Lua functions that you can use. Those functions are used for Menus, Console Commands, and some alter the Game's world.