VoidExpanse/scope-topic: Difference between revisions
No edit summary |
No edit summary |
||
| Line 106: | Line 106: | ||
<pre style="margin:0px;">var bInputExists = topic.InputExists();</pre> | | <pre style="margin:0px;">var bInputExists = topic.InputExists();</pre> | | ||
}} | }} | ||
{{Scripting_api|QuestAddLog| | {{Scripting_api|QuestAddLog| | ||
| Line 120: | Line 111: | ||
* string: entry_id | * string: entry_id | ||
* string: quest_text | * string: quest_text | ||
* object: args| | * ''(optional) object: args''| | ||
void| | void| | ||
<pre style="margin:0px;">topic.QuestAddLog("some_quest", "e001", "I just got this %whaat% into quest log.", {whaat: "hamburger"});</pre> | | <pre style="margin:0px;">topic.QuestAddLog("some_quest", "e001", "I just got this quest into quest log."); | ||
topic.QuestAddLog("some_quest", "e001", "I just got this %whaat% into quest log.", | |||
{whaat: "hamburger"});</pre> | | |||
}} | }} | ||
Revision as of 06:40, 14 February 2014
Scope topic
Topic scope is used only inside topic scripts. Controls dialogs and quests.
Visibility: In topics only.
List of functions
| AddChoice | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
topic.AddChoice(1, "c001", "I'd like to pass this one, please.");
topic.AddChoice(1, "c001", "I'd like to pass this %one%, please.", {one: "hamburger"});
|
| Description | ||
|
Adds a choice to dialog. | ||
| AddPhrase | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
topic.AddPhrase("p001", "Hello, i'm npc!");
topic.AddPhrase("p001", "Hello, i'm %npc_name%!",
{npc_name: "Scott"});
|
| Description | ||
|
Adds an npc phrase to dialog. | ||
| AddTopic | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
topic.AddTopic("topic_id_01");
|
| Description | ||
|
Adds specified topic to player's available topics. | ||
| HasTopic | ||
|---|---|---|
| Arguments | Returns | Example |
|
bool: returns whether player already has this topic or not |
var bHasTopic = topic.HasTopic("topic_id_01");
|
| Description | ||
| HasQuest | ||
|---|---|---|
| Arguments | Returns | Example |
|
bool: returns whether player already has this quest or not |
var bHasQuest = topic.HasQuest("quest_id_01");
|
| Description | ||
| Bind | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
topic.Bind("someTrigger", "OnSomeTrigger", { npc_id: "errors" });
|
| Description | ||
|
Binds function to a trigger. | ||
| DialogueBreak | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
void |
topic.DialogueBreak(); |
| Description | ||
|
Immediately breaks current dialogue. | ||
| GetCurrentNpcId | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
string: current npc id (name) |
var npc_id = topic.GetCurrentNpcId(); |
| Description | ||
| GetCurrentNpcShipId | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
int: current npc's ship id |
var npc_ship_id = topic.GetCurrentNpcShipId(); |
| Description | ||
| GetCurrentShipId | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
int: current player ship's ID |
var player_ship_id = topic.GetCurrentShipId(); |
| Description | ||
|
Has a global alias - PLAYER_SHIP. It's better to use alias - faster. | ||
| GetInput | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
int: player's choice id |
var input = topic.GetInput(); |
| Description | ||
| GetState | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
int: topic state |
var state = topic.GetState(); |
| Description | ||
|
Returns current topic state - integer value. Usually state means current progress in questline, but it can be used any way possible. | ||
| InputExists | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
bool: returns whether player choose something or not |
var bInputExists = topic.InputExists(); |
| Description | ||
| QuestAddLog | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
topic.QuestAddLog("some_quest", "e001", "I just got this quest into quest log.");
topic.QuestAddLog("some_quest", "e001", "I just got this %whaat% into quest log.",
{whaat: "hamburger"});
|
| Description | ||
| QuestAddMark | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
topic.QuestAddMark("some_quest", 1);
|
| Description | ||
|
Adds questmark, that'll be visible on a galaxy map. | ||
| QuestClearLog | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
topic.QuestClearLog("some_quest");
|
| Description | ||
|
Clears log of specified quest. | ||
| QuestSetState | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
topic.QuestSetState("some_quest", QuestStatus.Finished);
|
| Description | ||
|
Sets state of quest. State can be QuestStatus.Active (0), QuestStatus.Finished (1), QuestStatus.Failed (2). All this constants are defined in any topic. You can use either them, or just numbers - 0,1,2. Status affects in which tab quest displays. | ||
| QuestRemove | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
topic.QuestRemove("some_quest");
|
| Description | ||
|
Removes quest completely - after that it won't appear in any tab. | ||
| QuestRemoveMarkers | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
topic.QuestRemoveMarkers("some_quest");
|
| Description | ||
|
Removes all markers of quest. | ||
| QuestStart | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
topic.QuestStart("some_quest", "Rats in the cellar");
|
| Description | ||
|
Stars quest. After that it will appear in journal, and log messages and markers can be added to it. | ||
| RemoveTopic | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
topic.RemoveTopic("topic_id");
|
| Description | ||
|
Removes topic completely. | ||
| SetState | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
topic.SetState(200); |
| Description | ||
|
Changes state of current topic. | ||
| Unbind | ||
|---|---|---|
| Arguments | Returns | Example |
|
void |
topic.Unbind("someTrigger", "OnSomeTrigger");
|
| Description | ||
|
Unbinds function from a trigger. | ||