80 lines
2.9 KiB
Plaintext
80 lines
2.9 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Fireworks Start Program
|
|
//:: g_startfireworks.nss
|
|
//:: Copyright (c) 2001 Bioware Corp.
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
Put this script on the OnUsed event for a placeable.
|
|
This script creates all the targets needed for the show. It will then start the
|
|
show.
|
|
|
|
For your area pick some execiting battle music it will play with the show.
|
|
|
|
Only thing you need to edit if you wish is the height of the explosions.
|
|
If its on flat land I suggest 7.5 if you build raised areas for people to watch
|
|
from I suggest 10.0 or higher but I wouldn't go over 20.0 or some weird timing
|
|
effects come in.
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Jay Clark
|
|
//:: Created On: August 31, 2004
|
|
//:://////////////////////////////////////////////
|
|
|
|
void main()
|
|
{
|
|
//Edit Settings here ///////////////////////////////////////////////////////
|
|
float z = 14.0; //How High the fireworks go before exploding
|
|
//DO NOT EDIT BELOW THIS LINE //////////////////////////////////////////////
|
|
object oArea = GetArea(OBJECT_SELF);
|
|
object oTarget = GetObjectByTag("FireworksSource");
|
|
object oPC = GetLastUsedBy();
|
|
|
|
//Check to see if one is already in progress
|
|
if (GetLocalInt(oArea,"FIREWORKSHOW"))
|
|
{
|
|
//Firework Show is in progress tell user that.
|
|
SendMessageToPC(oPC,"There is already a firework show in progress");
|
|
}
|
|
else
|
|
{
|
|
//No Firework show in progress.
|
|
//Tell the system that a show is in progress.
|
|
SetLocalInt(oArea,"FIREWORKSHOW",TRUE);
|
|
float x,y,tx,ty;
|
|
float fAngle = 30.0;
|
|
int nCount;
|
|
vector nTarget = GetPosition(oTarget);
|
|
vector nCreate;
|
|
string sTag;
|
|
tx = nTarget.x;
|
|
ty = nTarget.y;
|
|
|
|
//12 small targets in a clock pattern
|
|
for(nCount = 1;nCount < 13;nCount++)
|
|
{
|
|
x = tx + (cos(fAngle)*10);
|
|
y = ty + (sin(fAngle)*10);
|
|
sTag = "FireworksSTarget" + IntToString(nCount);
|
|
CreateObject(OBJECT_TYPE_PLACEABLE,"fireworksstarget",Location(oArea,Vector(x,y,z),0.0),FALSE,sTag);
|
|
fAngle += 30.0;
|
|
}
|
|
|
|
x = tx;
|
|
y = ty;
|
|
//3 Medium and Large targets same x,y different z
|
|
for (nCount = 1;nCount < 4;nCount++)
|
|
{
|
|
sTag = "FireworksMTarget" + IntToString(nCount);
|
|
CreateObject(OBJECT_TYPE_PLACEABLE,"fireworksmtarget",Location(oArea,Vector(x,y,z),0.0),FALSE,sTag);
|
|
sTag = "FireworksLTarget" + IntToString(nCount);
|
|
CreateObject(OBJECT_TYPE_PLACEABLE,"fireworksltarget",Location(oArea,Vector(x,y,z),0.0),FALSE,sTag);
|
|
z += 1.5;
|
|
}
|
|
|
|
//Start the SHOW!
|
|
DelayCommand(3.0,ExecuteScript("g_lightsout",oTarget));
|
|
DelayCommand(4.0,MusicBattlePlay(oArea));
|
|
DelayCommand(4.0,ExecuteScript("g_fireworks",oTarget));
|
|
}
|
|
}
|