7.4 KiB
[TOC]
Introduction
Adds helper functions for creating & manipulating quests & exposes select public methods of the {@link games.stendhal.server.core.rp.StendhalQuestSystem} class.
quests
Methods
quests:create
quests:create(slotName, name)
- Creates a new quest.
- Parameters:
- slotName: (optional) The string identifier for the quest.
- name: (optional) The human-readable name that can be shown in travel log.
- Returns: New {@link games.stendhal.server.core.scripting.lua.LuaQuestHelper.LuaQuest LuaQuest} instance.
quests:load
quests:load(quest)
- Adds a quest to the world.
- Parameters:
- quest: The {@link games.stendhal.server.maps.quests.IQuest IQuest} instance to be loaded.
quests:unload
quests:unload(questName)
- Removes a quest from the world.
- Parameters:
- questName: String name of the quest to be removed.
quests:cache
quests:cache(quest)
- Caches a quest for loading at server startup.
- Parameters:
- quest: {@link games.stendhal.server.maps.quests.IQuest IQuest} instance to be loaded.
- Aliases:
- quests:register
quests:isLoaded
quests:isLoaded(quest)
- Checks if a quest has been loaded.
- Parameters:
- quest: {@link games.stendhal.server.maps.quests.IQuest IQuest} instance to check.
- Returns:
trueif the instance matches stored quests.
quests:listAll
quests:listAll(player)
- List all quests the player knows about.
- Parameters:
- player: Player to create the report for.
- Returns: String report.
quests:list
quests:list(player, questName)j
- Creates a report on a specified quest for a player.
- Parameters:
- player: Player to create the report for.
- questName: Name of quest to be reported.
- Returns: String report.
quests:listStates
quests:listStates(player)
- Dumps the internal quest states for the specified player. This is used for the {@link games.stendhal.server.action.admin.InspectAction InspectAction}.
- Parameters:
- player: Player to create the report for.
- Returns: String report.
quests:getQuest
quests:getQuest(questName)
- Retrieves the {@link games.stendhal.server.maps.quests.IQuest IQuest} object for a named quest.
- Parameters:
- questName: Name of quest.
- Returns:
IQuestornullif doesn't exist.
quests:getQuestFromSlot
quests:getQuestFromSlot(questSlot)
- Retrieves the {@link games.stendhal.server.maps.quests.IQuest IQuest} object for a quest.
- Parameters:
- questSlot: Quest identifier string.
- Returns:
IQuestornullif doesn't exist.
quests:getOpen
quests:getOpen(player)
- Retrieves a list of open quests from a player.
- Parameters:
- player: {@link games.stendhal.server.entity.player.Player Player} instance to be checked.
- Returns: List of string identifiers for open quests.
quests:getCompleted
quests:getCompleted(player)
- Retrieves a list of completed quests from a player.
- Parameters:
- player: {@link games.stendhal.server.entity.player.Player Player} instance to be checked.
- Returns: List of string identifiers for completed quests.
quests:getIncomplete
quests:getIncomplete(player, region)
- Retrieves a list of incomplete quests in a specified region.
- Parameters:
- player: {@link games.stendhal.server.entity.player.Player Player} instance to be checked.
- region: Region name/identifier.
- Returns: List of string identifiers of incomplete quests in region.
quests:getRepeatable
quests:getRepeatable(player)
- Retrieves a list of quests a player has completed, and can now do again.
- Parameters:
- player: {@link games.stendhal.server.entity.player.Player Player} instance to be checked.
- Returns:
quests:getDescription
quests:getDescription(player, questName)
- Retrieves the description of a quest.
- Parameters:
- player: {@link games.stendhal.server.entity.player.Player Player} instance to be checked.
- questName: Name of the quest.
- Returns:
{@link java.lang.String String}description.
quests:getLevelWarning
quests:getLevelWarning(player, questName)
- If the quest is too dangerous, add a warning unless the player has already completed it.
- Parameters:
- player: {@link games.stendhal.server.entity.player.Player Player} instance to be checked.
- questName: Name of the quest.
- Returns:
{@link java.lang.String String}
quests:getProgressDetails
quests:getProgressDetails(player, questeName)
- Retrieves details on the progress of the quest.
- Parameters:
- player: {@link games.stendhal.server.entity.player.Player Player} instance to be checked.
- questName: Name of the quest.
- Returns:
{@link java.util.List List}<{@link java.lang.String String}>
quests:getNPCNamesForUnstartedInRegionForLevel
quests:getNPCNamesForUnstartedInRegionForLevel(player, region)
- Retrieves a list of the unique npc names for unstarted quests in a specified region.
- Parameters:
- player: {@link games.stendhal.server.entity.player.Player Player} instance to be checked.
- region: Region to check in.
- Returns:
{@link java.util.List List}<{@link java.lang.String String}>
quests:getDescriptionForUnstartedInRegionFromNPCName
quests:getDescriptionForUnstartedInRegionFromNPCName(player, region, name)
- Retrieves quest descriptions for unstarted quests in a specified region matching a specific NPC name.
- Parameters:
- player: {@link games.stendhal.server.entity.player.Player Player} instance to be checked.
- region: Region to check in.
- name: Name of NPC.
- Returns:
{@link java.util.List List}<{@link java.lang.String String}>
Classes
LuaQuest
See: {@link games.stendhal.server.core.scripting.lua.LuaQuestHelper.LuaQuest LuaQuest}
Public Members
LuaQuest.init
LuaQuest.init
- Called by {@link games.stendhal.server.maps.quests.IQuest#addToWorld}.
- Type: function
Public Methods
Usage
local loadStep1 = function()
...
end
local loadStep2 = function()
...
end
local myQuest = quests:create("my_quest", "My Quest")
myQuest.init = function()
loadStep1()
loadStep2()
end
quests:register(myQuest)