Project

General

Profile

 

Also available in: PDF

Accessing and iterating journal quests

To use this test script, create a file in your /innerspace/scripts folder called Quests.iss and place the entire text below. Then, you can run the script by typing the following command in the InnerSpace console (while in the game): run Quests.   (Note:  An active journal window may be required for this to work.)

 

function main()
{
    variable index:quest Quests
    variable iterator It
    variable int NumQuests
    variable int Counter = 1
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;; Active Quests
    NumQuests:Set[${QuestJournalWindow.NumActiveQuests}]
    
    if (${NumQuests} < 1)
    {
        echo "No active quests found."
        return
    }
        
    echo "Your character currently has ${NumQuests} active quests."
    
    
QuestJournalWindow:GetActiveQuests[Quests]
    Quests:GetIterator[It]
    if ${It:First(exists)}
    {
        do
        {
            echo "-----"
            echo "- [${Counter}] ${It.Value.Name}"
            echo "-- ID: ${It.Value.ID}"
            echo "-- Level: ${It.Value.Level}"
            echo "-- Category: ${It.Value.Category}"
            echo "-- Current Zone: ${It.Value.CurrentZone}"
            Counter:Inc
        }
        while ${It:Next(exists)}
    }
    ;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    echo "==============================="
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;; Completed Quests
    NumQuests:Set[${
QuestJournalWindow.NumCompletedQuests}]
    
    if (${NumQuests} < 1)
    {
        echo "No completed quests found."
        return
    }
        
    echo "Your character currently has ${NumQuests} completed quests."
    
    
QuestJournalWindow:GetCompletedQuests[Quests]
    Quests:GetIterator[It]
    if ${It:First(exists)}
    {
        do
        {
            echo "-----"
            echo "- [${Counter}] ${It.Value.Name}"
            echo "-- ID: ${It.Value.ID}"
            echo "-- Level: ${It.Value.Level}"
            echo "-- Category: ${It.Value.Category}"
            echo "-- Current Zone: ${It.Value.CurrentZone}"
            Counter:Inc
        }
        while ${It:Next(exists)}
    }
    ;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
}