VGOEmulator.net

A Development Project for the Vanguard:Saga of Heroes MMO

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • Portal
  • Project Manager
  • Bug Tracker
  • Server List
  • Wiki
  • Donate
  • Login
  • Register
  • Board index Development Content Development
  • Search

Quest Script Examples

VGOEmulator content development topics.

Moderators: Moldew, Jakkal

Post Reply
Advanced search
1 post • Page 1 of 1
User avatar
Jakkal
Content Designer
Content Designer
Posts: 3099
Joined: Tue May 20, 2014 1:59 am
Location: Raleigh, NC
Contact:
Contact Jakkal
Website
Quest Script Examples
  • Quote

Post by Jakkal » Sat Feb 23, 2019 5:59 pm

Someone recently asked for some examples of what the quest scripts look like, so I thought I'd paste some of the common types:

1. Warming Up - Isle of Dawn - Kill the Gataro Podlings:

Code: Select all

local Quest_Report_to_Sixfish = 7778
local NPC_Gataro_Podlings = 10210

function init(Quest)
	AddQuestPrereqQuest(Quest, Quest_Report_to_Sixfish)
	AddQuestObjectiveKill(Quest, 1, "Kill Gataro Podlings", 5, NPC_Gataro_Podlings)
end

function accepted(Quest, Player)
end

function declined(Quest, Player)
end

function completed(Quest, Player)
end

function abandoned(Quest, Player)
end
2. They Hate The Smell - Isle of Dawn - Collect Carmellia Seeds

Code: Select all

local Quest_Report_To_Sixfish = 7778
local Item_Carmellia_Seeds = 1422007

function init(Quest)
	AddQuestPrereqQuest(Quest, Quest_Report_To_Sixfish)
	AddQuestObjectiveObtainItem(Quest, 1, "Obtain Carmellia Seeds", 5, Item_Carmellia_Seeds)
    HandleQuestItem(Quest, Item_Carmellia_Seeds, 0, 5)	
end

function accepted(Quest, Player)
end

function declined(Quest, Player)
end

function completed(Quest, Player)

end

function abandoned(Quest, Player)

end
Those are the simpler, most common types. Then sometimes we have this madness:

3. Sanctuary of Ibuteon - Silverlake - Lots of objectives

Code: Select all

-- Local variables go here
local POI_Ruins_of_Ibuteon = 599 -- The Ruins
local POI_Griffon_Watch = 605 --Captain Drake's Location
local POI_Baroness_Melindra_Cuthdell = 3956
local POI_Sage_Transor_Kaul = 4293
local Quest_Sanctuary_of_Ibuteon = 9248 -- This Quest
local Item_Ibuteons_Notes_Page_1 = 1468188
local Item_Ibuteons_Notes_Page_2 = 1468189
local Item_Ibuteons_Notes_Page_3 = 1468190
local Item_Ibuteons_Notes_Page_4 = 1468191

function init(Quest)
    AddQuestObjective(Quest, 1, "Ask Captain Drake about Ibuteon.")
    AddHiddenQuestObjective(Quest, 2, "Investigate the ruins of Ibuteon's Sanctuary.") --This requires they get 4 pages of Ibuteon's Notes
        AddHiddenQuestObjectiveObtainItem(Quest, 7, "Page 1 Found", 1, Item_Ibuteons_Notes_Page_1) --Each Page gets its own Objective for each object (So they stop sparkling when you find the Corresponding Page)
        AddHiddenQuestObjectiveObtainItem(Quest, 8, "Page 2 Found", 1, Item_Ibuteons_Notes_Page_2) --Each Page gets its own Objective for each object (So they stop sparkling when you find the Corresponding Page)
        AddHiddenQuestObjectiveObtainItem(Quest, 9, "Page 3 Found", 1, Item_Ibuteons_Notes_Page_3)  --Each Page gets its own Objective for each object (So they stop sparkling when you find the Corresponding Page)
        AddHiddenQuestObjectiveObtainItem(Quest, 10, "Page 4 Found", 1, Item_Ibuteons_Notes_Page_4) --Each Page gets its own Objective for each object (So they stop sparkling when you find the Corresponding Page)
        AddHiddenQuestObjective(Quest, 11, "All Pages Found", 4) -- Need this to update the second objective without having a number on it.
    AddHiddenQuestObjective(Quest, 3, "Speak to Captain Drake about your findings.")
    AddHiddenQuestObjective(Quest, 4, "Ask Baroness Melindra Cuthdell about the orc wars.")
    AddHiddenQuestObjective(Quest, 5, "Speak to Sage Transor Kaul.")
    AddHiddenQuestObjective(Quest, 6, "Summon and speak to Templar Ibuteon.")

    AddObjectiveCompleteAction(Quest, 1, "Objective1Complete")
    AddObjectiveCompleteAction(Quest, 3, "Objective3Complete")
    AddObjectiveCompleteAction(Quest, 4, "Objective4Complete")
    AddObjectiveCompleteAction(Quest, 5, "Objective5Complete")
    AddObjectiveCompleteAction(Quest, 11, "Objective2Complete")
end

function accepted(Quest, Player)
    AddPOI(Player, POI_Griffon_Watch)
end

function declined(Quest, Player)

end

function completed(Quest, Player)
    RemoveItem(Player, Item_Ibuteons_Notes_Page_1, 1)
    RemoveItem(Player, Item_Ibuteons_Notes_Page_2, 1)
    RemoveItem(Player, Item_Ibuteons_Notes_Page_3, 1)
    RemoveItem(Player, Item_Ibuteons_Notes_Page_4, 1)
end

function abandoned(Quest, Player)
    RemoveItem(Player, Item_Ibuteons_Notes_Page_1, 1)
    RemoveItem(Player, Item_Ibuteons_Notes_Page_2, 1)
    RemoveItem(Player, Item_Ibuteons_Notes_Page_3, 1)
    RemoveItem(Player, Item_Ibuteons_Notes_Page_4, 1)

    RemovePOI(Player, POI_Baroness_Melindra_Cuthdell)
    RemovePOI(Player, POI_Ruins_of_Ibuteon)
    RemovePOI(Player, POI_Griffon_Watch)
    RemovePOI(Player, POI_Sage_Transor_Kaul)
end

function Objective1Complete(Quest, Player)
    RemovePOI(Player, POI_Griffon_Watch)
    SetObjectiveHiddenState(Player, Quest, 2, false)
    AddPOI(Player, POI_Ruins_of_Ibuteon)
end

function Objective2Complete(Quest, Player)
    RemovePOI(Player, POI_Ruins_of_Ibuteon)
    AddPOI(Player, POI_Griffon_Watch)
    SetObjectiveComplete(Player, Quest_Sanctuary_of_Ibuteon, 2, true)
    SetObjectiveHiddenState(Player, Quest, 3, false)
end

function Objective3Complete(Quest, Player)
    RemovePOI(Player, POI_Griffon_Watch)
    SetObjectiveHiddenState(Player, Quest, 4, false)
    AddPOI(Player, POI_Baroness_Melindra_Cuthdell)
end

function Objective4Complete(Quest, Player)
    RemovePOI(Player, POI_Baroness_Melindra_Cuthdell)
    SetObjectiveHiddenState(Player, Quest, 5, false)
    AddPOI(Player, POI_Sage_Transor_Kaul)
end

function Objective5Complete(Quest, Player)
    RemovePOI(Player, POI_Sage_Transor_Kaul)
    SetObjectiveHiddenState(Player, Quest, 6, false)
    AddPOI(Player, POI_Ruins_of_Ibuteon)
end
Image
Top


Post Reply
1 post • Page 1 of 1

Return to “Content Development”

Jump to
  • Information
  • ↳   Announcements
  • ↳   Dev Chats
  • ↳   Events
  • Community
  • ↳   General Discussions
  • ↳   VGO Team Help Requests
  • ↳   Introductions
  • ↳   Game Features
  • ↳   Wish List
  • ↳   Off-Topic
  • Support
  • ↳   How-To's
  • ↳   General Support
  • ↳   Windows
  • ↳   Linux
  • Development
  • ↳   Content Development
  • ↳   Thestra Adventuring
  • ↳   Qalia Adventuring
  • ↳   Kojan Adventuring
  • ↳   Crafting/Harvesting
  • Bugs
  • ↳   Server Bugs
  • ↳   Server Bugs (Closed)
  • ↳   Content Bugs
  • ↳   Content Bugs (Closed)
  • ↳   Database Bugs
  • ↳   Tools Bugs
  • Board index
  • All times are UTC-07:00
  • Delete cookies
  • Contact us
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD