Files
dsrc/sku.0/sys.server/compiled/game/script/theme_park/quest_bldg.script
T

102 lines
3.1 KiB
Plaintext

include library.locations;
include library.quests;
include library.create;
include library.factions;
trigger OnAttach ()
{
string datatable = getStringObjVar (self, "quest_table");
string gatingString = dataTableGetString (datatable, 2, 1);
string questID = dataTableGetString (datatable, 3, 1);
int questNum = getIntObjVar (self, questID + ".questNum");
location questLoc = getLocationObjVar (self, questID + ".questLoc");
quests.addQuestLocationTarget ( self, null, "quest", questLoc, 15);
addLocationTarget ("spawnGuy", questLoc, 100);
return SCRIPT_CONTINUE;
}
trigger OnArrivedAtLocation( string name )
{
string datatable = getStringObjVar (self, "quest_table");
string gatingString = dataTableGetString (datatable, 2, 1);
int gating = getIntObjVar (self, gatingString);
string questID = dataTableGetString (datatable, 3, 1);
int questNum = getIntObjVar (self, questID + ".questNum");
if (name == "quest")
{
quests.clearQuestLocationTarget (self, null, name);
}
if (name == "spawnGuy")
{
removeLocationTarget(name);
location spawn = getLocationObjVar (self, questID + ".questLoc" );
string toSpawn = dataTableGetString (datatable, 7, questNum);
string bldgName = dataTableGetString (datatable, 8, questNum);
string bldgScript = dataTableGetString (datatable, 9, questNum);
obj_id bldg = createObject (toSpawn, spawn);
attachScript (bldg, bldgScript);
setObjVar (bldg, "player", self);
setObjVar (self, questID + ".bldg", bldg);
setObjVar (bldg, "quest_table", datatable);
setObjVar (bldg, "questNum", questNum);
setName (bldg, bldgName);
createGuards(bldg);
}
if (name == "home")
{
quests.clearQuestLocationTarget (self, null, name);
}
return SCRIPT_CONTINUE;
}
messageHandler finishQuest()
{
string datatable = getStringObjVar (self, "quest_table");
string gatingString = dataTableGetString (datatable, 2, 1);
int gating = getIntObjVar (self, gatingString);
string questID = dataTableGetString (datatable, 3, 1);
int questNum = getIntObjVar (self, questID + ".questNum");
location home = getLocationObjVar (self, questID + ".home");
setObjVar (self, questID + ".done", 1);
quests.addQuestLocationTarget ( self, null, "home", home, 10);
return SCRIPT_CONTINUE;
}
void createGuards(obj_id bldg)
{
location g1 = getLocation(bldg);
g1.x = g1.x + 10;
location g2 = getLocation(bldg);
g2.x = g2.x - 10;
location g3 = getLocation (bldg);
g3.z = g3.z - 10;
location g4 = getLocation (bldg);
g4.z = g4.z + 10;
obj_id guard1 = create.object ("thug", g1);
obj_id guard2 = create.object ("thug", g2);
obj_id guard3 = create.object ("thug", g3);
obj_id guard4 = create.object ("thug", g4);
setUpNpc (guard1);
setUpNpc (guard2);
setUpNpc (guard3);
setUpNpc (guard4);
factions.setFaction (guard1, "valarian");
factions.setFaction (guard2, "valarian");
factions.setFaction (guard3, "valarian");
factions.setFaction (guard4, "valarian");
setObjVar (bldg, "guard1", guard1);
setObjVar (bldg, "guard2", guard2);
setObjVar (bldg, "guard3", guard3);
setObjVar (bldg, "guard4", guard4);
return;
}
void setUpNpc (obj_id newNpc)
{
return;
}