Module hs
HS Lua Documentation for Quests
Functions
| init (startmob) | Init function. |
| item () | This function will turn a local quest ID into one the host understands. |
| update () | Is run every gameloop of the server for players who have the quest activated. |
| add_talk_to_mob (mobid, triggerword, message, requires_quest) | Add static talk from a mob based on a triggerword. |
| add_talk_to_mob_callback (mobid, triggerword, message, requires_quest, callback) | Add talk from a mob based on a triggerword and allow a callback |
| create_news_message (message) | Create a global news message |
| create_chat_from_mob (mobid, chat) | Create one-off chat from a mob |
| write_text_to_screen (text, colour) | Write text to the screen of the current player |
| get_player_coords () | Get the current player coordinates in the world |
| get_player_map_xy () | Get the current player quad x/y/z |
| get_player_name () | Get the current player name. |
| get_player_level () | Get the current players level |
| get_player_class () | Get the current players class |
| get_player_skill (skill) | Get the value of a skill from a player |
| find_mob_id_by_name (name) | Get the mob ID from a name |
| find_mob_name_by_id (id) | Get the mob name from an ID. |
| find_item_name_by_id (id) | Get the item name from an ID |
| find_item_id_by_name (name) | Get the item ID from a name |
| give_item (id) | Give an item to the player |
| remove_item (id) | Remove an item from the player if exists |
| get_item_count (id) | Get a count of a particular item in ship cargo |
| check_item (id) | Check if the player has an item in ship cargo |
| unset_param (key) | Unset a param from the player (delete from memory) |
| save_param (key, value) | Save a param to the player, persistent across reboots. |
| load_param (key) | Load a param value that was previously saved (persistent across reboots) |
| set_start () | Activate this quest on a player. |
| set_finish () | Deactivate a quest from a player, generaly used as callback for chat. |
| set_abort () | Abort a quest from a player. |
| log (text) | Log to logfile and stdout. |
| give_xp () | Give the player amount of XP based on quest level (see #DEF_QUEST) |
Tables
| coordinates | Coordinate Table |
| map_coordinates | Map coordinate/quad table |
Functions
- init (startmob)
-
Init function. This is automatically run just once by the server. It can be used to set up variables and talk for mobs. REQUIRED.
Parameters:
startmob: The mob id of a player
- item ()
-
This function will turn a local quest ID into one the host understands. See gerenium example.
Usage:
get_item(item(1))
- update ()
- Is run every gameloop of the server for players who have the quest activated.
- add_talk_to_mob (mobid, triggerword, message, requires_quest)
-
Add static talk from a mob based on a triggerword. If multiple lines with the same keyword are defined, they are displayed in the order declared in the script (top to bottom). See Gerenium Quest.
Parameters:
mobid: The mob id to affect.triggerword: Triggerwords can be [CLICK], [DEATH] or a keyword. [CLICK] gets fired when a player clicks the mob, [DEATH] when the mob dies. Keyword gets triggered when a player has the mob selected and enters the keyword.message: The response to the message. To put the player or mob name into the message use %P and %N respectively, they are replaced at runtime.requires_quest: Whether the response requires the player to have the quest active
Usage:
add_talk_to_mob(startmob, "[CLICK]", "Welcome to the Academy, %P. I am %N.", 0)
- add_talk_to_mob_callback (mobid, triggerword, message, requires_quest, callback)
-
Add talk from a mob based on a triggerword and allow a callback
Parameters:
mobid: The mob id to affect.triggerword: Triggerwords can be [CLICK], [DEATH] or a keyword. [CLICK] gets fired when a player clicks the mob, [DEATH] when the mob dies. Keyword gets triggered when a player has the mob selected and enters the keyword.message: The response to the message. To put the player or mob name into the message use %P and %N respectively, they are replaced at runtime.requires_quest: Whether the response requires the player to have the quest activecallback: (string)Function name of function to call
Usage:
local function logTest() log("Test callback") end add_talk_to_mob_callback(startmob, "testcallback", "Firing the test callback", 0, "logTest") - create_news_message (message)
-
Create a global news message
Parameters:
message: Message to announce. Supports %P
Usage:
create_news_message("%P has finished the Gerenium Quest!") - create_chat_from_mob (mobid, chat)
-
Create one-off chat from a mob
Parameters:
mobid: Mob ID from which to chatchat: Message to write
Usage:
create_chat_from_mob(10001, "Thankyou!")
- write_text_to_screen (text, colour)
-
Write text to the screen of the current player
Parameters:
text: Text to write to sreencolour: (Optional) Integer of colour to write
Usage:
write_text_to_screen("This is blue text",1) - get_player_coords ()
-
Get the current player coordinates in the world
Usage:
local xy = get_player_coords() log("Player x is" .. xy["x"])Returns:
-
coordinates Player coordinates as a table.
see also:
- get_player_map_xy ()
-
Get the current player quad x/y/z
Usage:
local qxy = get_player_map_xy() log("Player quadx is" .. qxy["x"])Returns:
-
coordinates Player quads as a table.
see also:
- get_player_name ()
-
Get the current player name.
Usage:
local name = get_player_name() log("Current player is " .. name)Returns:
-
string Name of player
- get_player_level ()
-
Get the current players level
Usage:
local level = get_player_level()
Returns:
-
int Level of the player
- get_player_class ()
-
Get the current players class
Usage:
local class = get_player_class()
Returns:
-
string Class of player
- get_player_skill (skill)
-
Get the value of a skill from a player
Parameters:
skill:Skill to get, Case-insensitive Valid skills include:
"OFFENSE" "DEFENSE" "REPAIR" "NAVIGATION" "MEDICINE" "SCIENCE" "MINING" "PLANET" "HIDE" "WEAPONS" "TECH" "TRADING" "DODGE" "TACTICS" "BEAM" "BOLT" "DISRUPTOR" "MISSILE" "FIGHTER" "SYSTEMS" "RECHARGE" "MEDITATE" "EMPATHY" --(telepathy) "TELEKINESIS" "PYROKINESIS" "PRECISION"
Usage:
local skill = get_player_skill("mining")Returns:
-
float Value between 0 to 999, where the value divided by 10 is representative of the ingame value.
- find_mob_id_by_name (name)
-
Get the mob ID from a name
Parameters:
name: Mob name
Usage:
local id = find_mob_id_by_name("Scythe Explorer") log("Mob id is " .. id)Returns:
-
string Mob Name
- find_mob_name_by_id (id)
-
Get the mob name from an ID. May not need this.
Parameters:
id: Mob ID
Usage:
id = find_mob_name_by_id(4000)
Returns:
-
string Mob Name
- find_item_name_by_id (id)
-
Get the item name from an ID
Parameters:
id: Item ID
Usage:
local name = find_item_name_by_id(120)
Returns:
-
string Item Name
- find_item_id_by_name (name)
-
Get the item ID from a name
Parameters:
name: Item Name
Usage:
local id = find_item_id_by_name("lt laser")Returns:
-
int Item ID
- give_item (id)
-
Give an item to the player
Parameters:
id: Item ID
Usage:
local id = find_item_id_by_name("lt laser") give_item(id) - remove_item (id)
-
Remove an item from the player if exists
Parameters:
id: Item ID
Usage:
local id = find_item_id_by_name("lt laser") remove_item(id) - get_item_count (id)
-
Get a count of a particular item in ship cargo
Parameters:
id: Item ID
Usage:
local id = find_item_id_by_name("lt laser") local count = get_item_count(id)Returns:
-
int Number of items
- check_item (id)
-
Check if the player has an item in ship cargo
Parameters:
id: Item ID to check for
Usage:
local id = find_item_id_by_name("lt laser") check_item(id)Returns:
-
boolean
- unset_param (key)
-
Unset a param from the player (delete from memory)
Parameters:
key: Identifier of the value
Usage:
unset_param("Key1")Returns:
-
1 if found and successful, else 0
see also:
- save_param (key, value)
-
Save a param to the player, persistent across reboots. If parameter already exists, overwrites.
Parameters:
key: Identifier of the valuevalue: Value to save
Usage:
save_param("Key1","Value1")see also:
- load_param (key)
-
Load a param value that was previously saved (persistent across reboots)
Parameters:
key: Identifier of the value to get
Usage:
load_param("Key1")see also:
- set_start ()
-
Activate this quest on a player. generally used as callback for chat.
Usage:
add_talk_to_mob_callback(startmob,"start","Thanks for starting the quest!",0, "startQuest") function startQuest() log("%P is starting the Gerenium quest.") end - set_finish ()
-
Deactivate a quest from a player, generaly used as callback for chat.
see also:
- set_abort ()
-
Abort a quest from a player. Removes from player. Performs similar to set finish.
see also:
- log (text)
-
Log to logfile and stdout.
Parameters:
text: Text to write
Usage:
log("This is a log") - give_xp ()
-
Give the player amount of XP based on quest level (see #DEF_QUEST)
Usage:
give_xp()