as released 2000-06-15

This commit is contained in:
archive 2000-06-15 00:00:00 +00:00
commit 1c3e861db6
314 changed files with 248362 additions and 0 deletions

BIN
Bin/SoFData.exe Executable file

Binary file not shown.

43
Bin/Sof.qe4 Normal file
View file

@ -0,0 +1,43 @@
// SoF SDK Radiant project file 29th March 2000
// ----------------------------------------------------------
//
// You will need to edit these paths if you installed SoF
// anywhere other than the default path.
//
// ie. Change every occurence of 'c:\Progra~1\Raven\SoF\base'
// to your 'base' directory.
//
// Be sure to extract the textures from the pak file.
// Put the 'entities.def' file in your 'base' directory.
//
// ----------------------------------------------------------
// Disclaimer: This may work
{
// Paths
"basepath" "c:\Progra~1\Raven\SoF\base"
"rshcmd" ""
"remotebasepath" "c:\Progra~1\Raven\SoF\base"
"entitypath" "c:\Progra~1\Raven\SoF\base\entities.def"
"texturepath" "c:\Progra~1\Raven\SoF\base\textures"
"autosave" "c:\autosave.map"
"mapspath" ""
// Compiles
"bsp_Relight_Qrad" "! sofbsp.exe -onlyents $ && ! sofarghrad.exe -scale 2.0 -lightmip 2 -moddir c:\Progra~1\Raven\SoF\base $"
"bsp_FullVis (qrad -extra)" "! sofbsp.exe $ && ! sofvis.exe $ && ! sofarghrad.exe -scale 2.0 -lightmip 2 -moddir c:\Progra~1\Raven\SoF\base -extra $"
"bsp_NoVis" "! sofbsp.exe $"
"bsp_Entities" "! sofbsp.exe -onlyents $"
"bsp_VisRad (BSP ents only)" "! sofbsp.exe -onlyents $ && ! sofvis.exe $ && ! sofarghrad.exe -scale 2.0 -lightmip 2 -moddir c:\Progra~1\Raven\SoF\base $"
"bsp_FullVis" "! sofbsp.exe $ && ! sofvis.exe $ && ! sofarghrad.exe -scale 2.0 -lightmip 2 -moddir c:\Progra~1\Raven\SoF\base $"
"bsp_FullVis (no qrad)" "! sofbsp $ && ! sofvis $"
"bsp_FullVis (nodetail, qrad -extra)" "! sofbsp -nodetail $ && ! sofvis $ && ! sofarghrad -scale 2.0 -lightmip 2 -moddir c:\Progra~1\Raven\SoF\base -extra $"
"bsp_FastVis" "! sofbsp $ && ! sofvis -fast $ && ! sofarghrad -scale 2.0 -lightmip 2 -moddir c:\Progra~1\Raven\SoF\base -bounce 0 $"
"bsp_FastVis (nowater)" "! sofbsp -nowater $ && ! sofvis -fast $ && ! sofarghrad -scale 2.0 -lightmip 2 -moddir c:\Progra~1\Raven\SoF\base -bounce 0 $"
"bsp_FastVis (noqrad)" "! sofbsp $ && ! sofvis -fast $"
"bsp_FastVis (with bounce)" "! sofbsp $ && ! sofvis -fast $ && ! sofarghrad -scale 2.0 -lightmip 2 -moddir c:\Progra~1\Raven\SoF\base $"
}

6268
Bin/entities.def Normal file

File diff suppressed because it is too large Load diff

BIN
Bin/plugins/M32Loader.dll Normal file

Binary file not shown.

BIN
Bin/sofarghrad.exe Executable file

Binary file not shown.

BIN
Bin/sofbsp.exe Executable file

Binary file not shown.

BIN
Bin/sofbspinfo.exe Executable file

Binary file not shown.

BIN
Bin/sofds.exe Executable file

Binary file not shown.

BIN
Bin/sofradiant.exe Executable file

Binary file not shown.

BIN
Bin/sofvis.exe Executable file

Binary file not shown.

24
Configs/ai.cfg Normal file
View file

@ -0,0 +1,24 @@
set developer 1
// disk ops
bind s "savepoints"
bind l "loadpoint"
bind e "exportpoint"
// point manipulation
bind d "deletepoint"
bind h "pointhelp"
bind m "movepoint"
// misc
bind z "destroyents"
bind i "toggleignore"
// point dropping
bind a "setpoint"
bind 1 "setflee"
bind 2 "setlean"
bind 3 "setduck"
bind 4 "setcover"
bind 5 "setfleefriendly"
bind 6 "setfleeenemy"

16
Configs/fx.cfg Normal file
View file

@ -0,0 +1,16 @@
bind kp_uparrow "fx_partadjust -"
bind kp_downarrow "fx_partadjust +"
bind kp_home "fx_partsub 10"
bind kp_leftarrow "fx_partsub 1"
bind kp_end "fx_partsub .1"
bind kp_pgdn "fx_partadd .1"
bind kp_rightarrow "fx_partadd 1"
bind kp_pgup "fx_partadd 10"
bind kp_plus "fx_partadjust 1000"
bind kp_minus "fx_partadjust 999"
bind kp_ins "fx_partadjust 1002"
bind kp_enter "fx_run 1"
bind kp_5 "fx_run 1"
bind kp_fslash "fx_partadjust 1001"
fx_edit 1

BIN
Docs/Raven Menu Format.doc Normal file

Binary file not shown.

Binary file not shown.

72
Docs/SoF SDK.rtf Normal file
View file

@ -0,0 +1,72 @@
{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times New Roman};}{\f75\froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times New Roman};}
{\f76\froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times New Roman};}{\f78\froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times New Roman};}{\f79\froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times New Roman};}
{\f80\froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times New Roman};}{\f81\froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times New Roman};}{\f82\froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times New Roman};}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\s1\ql \li0\ri0\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \fs36\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0
heading 1;}{\*\cs10 \additive Default Paragraph Font;}{\*\cs15 \additive \ul\cf2 \sbasedon10 Hyperlink;}{\*\cs16 \additive \ul\cf12 \sbasedon10 FollowedHyperlink;}}{\info{\title SoF SDK V1}{\author Rick Johnson}{\operator Rick Johnson}
{\creatim\yr2000\mo3\dy28\hr9\min36}{\revtim\yr2000\mo6\dy15\hr14\min29}{\version6}{\edmins43}{\nofpages2}{\nofwords308}{\nofchars1757}{\*\company Raven Software}{\nofcharsws2157}{\vern8247}}\margl720\margr720\margt720\margb720
\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1701\dgvorigin1984\dghshow1\dgvshow1
\jexpand\viewkind4\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule \fet0\sectd \linex0\endnhere\sectlinegrid360\sectdefaultcl {\*\pnseclvl1
\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5
\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang
{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \s1\ql \li0\ri0\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0
\fs36\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {SoF SDK V1.1
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\fs36 June 15, 2000
\par
\par }{\fs20 Added to the }{\b\fs20 Bin}{\fs20 directory:
\par \tab SoF.QE4\tab \tab \tab - Sample project file for QERadiant
\par
\par Added to the }{\b\fs20 Docs}{\fs20 directory:
\par \tab SoF partial animation list.htm\tab - Animation listing for SoF
\par
\par Changed the }{\b\fs20 Ghoul}{\fs20 directory to:
\par \tab Max2/GHOULExp.dle\tab \tab - the 3DS Max V2.x plugin
\par \tab Max3/GHOULExp3.dle\tab \tab - the 3DS Max V3.x plugin
\par
\par Added the }{\b\fs20 Source}{\fs20 directory:
\par \tab It is recommended that you compile the source code using Microsoft Visual C++ V6.0 SP3
\par
\par \tab Game\tab \tab \tab \tab - Gamex86.dll source code
\par \tab Tools
\par \tab \tab SoFData\tab \tab \tab - SoFData source code (with M32 texture format)
\par
\par
\par }\pard\plain \s1\ql \li0\ri0\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \fs36\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
\par SoF SDK V1.0
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\fs36 March 28, 2000
\par }{
\par }{\fs20 The initial release of the SDK contains programs and information on how to create custom maps, scripts, menus, and ghoul models. Please refer to the }{\b\fs20 Mod Community Board}{\fs20 under the SoF Message Boards at }
{\field\flddirty{\*\fldinst {\fs20 HYPERLINK "http://sof.ravensoft.com" }{\fs20 {\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b02000000170000001900000068007400740070003a002f002f0073006f0066002e0072006100760065006e0073006f00660074002e0063006f006d000000e0c9ea79f9bace118c8200aa004ba90b3400000068007400740070003a002f002f0073006f0066002e00720061007600
65006e0073006f00660074002e0063006f006d002f00000000000000}}}{\fldrslt {\cs15\fs20\ul\cf2 http://sof.ravensoft.com}}}{\fs20 for assistance, feedback, and other issues relating to this SDK.
\par
\par The }{\b\fs20 Bin}{\fs20 directory contains the following programs:
\par \tab SoFRadiant \tab \tab - the SoF map editor
\par \tab Entities.def\tab \tab - the SoF entity list (for SoFRadiant)
\par \tab SoFBSP\tab \tab \tab - to BSP your map
\par \tab SoFVis\tab \tab \tab - to Vis your map
\par \tab SoFArhgRad\tab \tab - to Light your map
\par \tab SoFBSPInfo\tab \tab - to get information about your bsp file
\par \tab SoFDS\tab \tab \tab - the designer script compiler
\par \tab SoFData\tab \tab \tab - to generate textures
\par
\par The }{\b\fs20 Ghoul}{\fs20 directory contains the 3DS Max 2.0 or higher plugin for GHOUL model creation:
\par \tab pmodels/buddy.gpm\tab - an example of a GHOUL Player Model file for custom player models in deathmatch
\par
\par The }{\b\fs20 Configs}{\fs20 directory contains config files useful for effect and map creation:
\par \tab AI.cfg\tab \tab \tab - Config file to help see various aspects of the AI
\par \tab FX.cfg\tab \tab \tab - Config file to assist in the creation of effects
\par
\par The }{\b\fs20 Docs}{\fs20 directory contains useful documentation:
\par \tab Raven Menu Format.doc\tab \tab - Describes the various commands to create a menu
\par \tab Scripting Documentation.doc\tab - Describes the various commands for the designer scripting language
\par \tab SoF SDK.rtf\tab \tab \tab - This document
\par
\par The }{\b\fs20 Menus}{\fs20 directory contains examples for creating menus under SoF.
\par
\par The }{\b\fs20 Sample}{\fs20 directory contains the scripts and original map file for the TSR1 level, which is the New York Subway level (first mission in the game).
\par
\par
\par
\par }}

File diff suppressed because it is too large Load diff

BIN
Ghoul/max2/ghoulexp.dle Normal file

Binary file not shown.

BIN
Ghoul/max3/ghoulexp3.dle Normal file

Binary file not shown.

106
Ghoul/pmodels/buddy.gpm Normal file
View file

@ -0,0 +1,106 @@
//First entry points to the working directory for the player model
// (this should generally be "enemy/meso" or "enemy/female")
enemy/meso
//Second entry points to .ghb file to be used by menus
// (meso_menu1-10 and fem_menu1&2 are available in the pakfile)
meso_menu5
//Third entry points to .ghb file to be used in the game
// (meso_player and fem_play are available in the pakfile)
meso_player
//Fourth entry points to set of .gsq files to be used in the game
// (this will determine most of the model parts turned on/off in game--can
// be adjusted further down)
playerbulbul
//Fifth entry is the teamname of this model
// ("Noteam" designates that model isn't on any team)
"Noteam"
//Sixth entry points to the directory in which pain and death sounds are found
// (the following directories are available in the pakfile:
// "enemy/dth/skin"--used for New York single player levels
// "enemy/dth/russ"--used for Siberia/Kosovo single player levels
// "enemy/dth/arab"--used for Iraq/Sudan single player levels
// "enemy/dth/jpn"--used for Japan single player levels
// "enemy/dth/rad"--used for Castle single player levels
// "enemy/dth/fem"--used for females in single player)
"enemy/dth/skin"
//Seventh entry points to set of faces to be used by player model
// (this can be set to "" if you don't want to make use of facial expressions--the
// ninja player model is set this way)
// (these face sets are available in the pakfile:
// f_amu_--General Amu
// f_w_2,3,4,6,8,10,11,12,15,16,17_--most of the caucasion faces in the single player game
// f_b_2-7_--most of the African and African-American faces
// f_h_6_--a serbian face
// f_hb_1_--a bearded face
// f_j_3,4,&8_--Asian faces
// f_john_--John Mullins
// f_m_1&5_--Middle Eastern faces
// f_sam_--Sam
// f_taylor_--Taylor)
"f_w_3_"
//Eighth entry is a list of skins to set for the model
// (each list member has three parts: the material to set the skin for, the name of
// the skin, and the model part to set the skin for. The materials on the meso player
// model are:
// H--head material
// HD--hood material, for hooded coat
// F--face material
// MD--mask material, for chemical suit
// A--arm material
// B--body material
// C--cap material (generally just used for severed limbs)
// GZ--gore zone material (generally just used for bullet-hole textures)
// The female player model has the same materials, except for HD and MD.
//
// If the seventh entry was set validly, it will override any face skin set here.
// These are the static faces available in the pakfile (for use when you set the 7th entry to ""):
// f_afrrocket
// f_dekker
// f_irqrocket
// f_irqwoman1
// f_irqwoman2
// f_ninja
// f_raider2-5
// f_sibtroop
// f_sibtroop2
//
// The model part can be the name of any mesh on the model, or can be set to 0 if you
// want the material on the entire model changed to the specified skin.)
{
a a_kosmechanic 0
b b_kosmechanic 0
f f_w_3_n 0
h h_w_3_s 0
h h_raider2 _mohawk
}
//Ninth entry is a list of bolt-ons for the model
// (each list member has four parts: the name of the .gbm file which descibes the item being
// bolted on, the name of the bolt on the player model, the name of the bolt on the item, and the
// scale to be applied to the item.)
{
boltons/funface.gbm abolt_head_t to_abolt_head_t 1.187857142857
}
//Tenth entry is a list of extra part toggles
// (each list member has two parts: the name of the mesh on the player model, and a 1-or-0 value
// which specifies whether the part should be on (1) or off (0).)
{
_mohawk 1
_crewhead 0
_beardhead 0
_beardface 0
_lbang 0
_rbang 0
_ponytail 0
_helmethead 0
_helmetface 0
_lear 0
}

61
Menus/fonts.rmf Normal file
View file

@ -0,0 +1,61 @@
<stm>
<include tints>
<backdrop tile "backdrop/web_bg">
<vbar tint vbargray>
<normal>
<font type small tint purple>
"Font type small"<hbr>
<font type small tint white>
<hbr>
" ! #$%&'()*+,-./0123456789:; = ?"<hbr><hbr>
"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]._"<hbr><hbr>
"`abcdefghijklmnopqrstuvwxyz{|}~ "<hbr><hbr>
"...............................Ÿ"<hbr><hbr>
"...£.....©....®................¿"<hbr><hbr>
"ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß"<hbr><hbr>
"àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"<hbr><hbr>
<hbr>
<normal>
<font type medium tint purple>
"Font type medium"<hbr>
<font type medium tint white>
<hbr>
" ! #$%&'()*+,-./0123456789:; = ?"<hbr><hbr>
"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]._"<hbr><hbr>
"`abcdefghijklmnopqrstuvwxyz{|}~ "<hbr><hbr>
"...............................Ÿ"<hbr><hbr>
"...£.....©....®................¿"<hbr><hbr>
"ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß"<hbr><hbr>
"àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"<hbr><hbr>
<hbr>
<font type title tint purple>
"Font type title"<hbr>
<font type title tint white>
<hbr>
" ! #$%&'()*+,-./0123456789:; = ?"<hbr><hbr>
"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]._"<hbr><hbr>
"`abcdefghijklmnopqrstuvwxyz{|}~ "<hbr><hbr>
"...............................Ÿ"<hbr><hbr>
"...£.....©....®................¿"<hbr><hbr>
"ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß"<hbr><hbr>
"àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"<hbr><hbr>
<hbr>
<normal>
<font type title tint purple>
"Font type interface"<hbr>
<font type interface tint white>
<hbr>
"0123456789"<hbr>
<hbr>
<hbr>
<hbr>
<hbr>
<hbr>
<hbr>
<hbr>
<blank 16 16>
</stm>

52
Menus/layout.rmf Normal file
View file

@ -0,0 +1,52 @@
This menu demonstrates some of the simple layout controls of the menu system
<stm>
<include tints>
<backdrop tile "backdrop/web_bg">
<font type title tint normaltext atint hilitetext>
<hr width 200>
<left>
LEFT
<right>
RIGHT
<center>
CENTER
<hr width 200>
<left>
LEFT<hbr>
<right>
RIGHT<hbr>
<center>
CENTER
<hr width 200>
<font type medium>
<right>
These words appear in reverse order
<left>
These words appear in order
<hr width 200>
<center>
Not good with spaces.<hbr>
<hbr>
"Much better at handling spaces in quotes"<hbr>
<hr width 200>
<normal>
Normal text just appears left to right as you would expect - automatically carriage returning at the end
of a line. The carriage returns in the rmf document are ignored. Note how each word is highlighted individually.
</stm>
Anything past the </stm> is ignored completely - it is a good place to put comments like this :)

1
Menus/readme.txt Normal file
View file

@ -0,0 +1 @@
Place these files in your "user/menus" folder. The user folder resides parallel to you base folder.

51
Menus/simple.rmf Normal file
View file

@ -0,0 +1,51 @@
This menu demonstrates some of the simple area types
<stm>
<include tints>
<backdrop bgcolor black>
<vbar tint vbargray>
<center>
<font type title tint normaltext atint hilitetext>
<hbr>
<ctext percent atext "The Percentage is : ">
<slider cvari percent min 0 max 100 step 1>
<hbr>
<hbr>
<ctext fruit atext "The current fruit number is : ">
<list "Apples,Oranges,Pears" cvar fruit atext "Fruit : ">
<hbr>
<hbr>
<ctext fruittaste atext "The current tastiness is : ">
<list "Apples,Oranges,Pears" match "Sweet,Bitter,Juicy" cvar fruittaste atext "Fruit : ">
<hbr>
<hbr>
<image "icons/f_mail" tint red alt "icons/f_joystick" atint blue key mouse1 "play menu/small/invalid">
<hbr>
<hbr>
<ctext nickname atext "Your current nickname is : ">
<input cvar nickname global maxchars 32 width 150 border 3 1 gray>
<hbr>
<hbr>
<ticker "This page demonstrates some of the simple area types to get you started customising your own menus" speed 5>
<hbr>
<hbr>
<text "OK" key mouse1 "killmenu" border 16 1 gray>
</stm>

View file

@ -0,0 +1,228 @@
// template file for common directory
#include "../common/header.ds"
output "p:/base/ds/common"
// Declare the variables
parameter vector location //how far will the elevator move
parameter vector newlocation //how far will the elevator move
parameter int upordown //defines which floor the elevator is on. Up = 0
parameter entity leftupper //Upper outside door
parameter entity rightupper //Upper outside door
parameter entity leftlower //Lower outside door
parameter entity rightlower //Lower outside door
parameter entity elebody //The actual elevator
parameter entity eledoorleft //The inside elevator door
parameter entity eledoorright //The inside elevator door
local int done = 0 //Shows when the elevator has stopped moving so the doors can open
local int currentfloor = 0 //this tells the program which floor the elevator is on. Up = 0
/* !!!!!WARNING!!!! with currentfloor set to 0, it assumes that the elevator is at its extended
position. If you want the elevator to be at the lower floor, set currentfloor = 1 */
//We need to check which floor it is on first... remember that up = 0
if upordown = currentfloor
if upordown = 1
move entity leftlower by [0,48,0] at 100 speed //open the outside doors
move entity rightlower by [0,-48,0] at 100 speed
wait .5 seconds
move entity eledoorleft by [0,48,0] at 100 speed // open the inside doors
move entity eledoorright by [0,-48,0] at 100 speed signaling done
wait for any clearing done
wait 2 seconds
move entity eledoorleft by [0,-48,0] at 100 speed // close the inside doors
move entity eledoorright by [0,48,0] at 100 speed
wait .5 seconds
move entity leftlower by [0,48,0] at 100 speed //close the outside doors
move entity rightlower by [0,-48,0] at 100 speed signaling done
wait for any clearing done
move entity eledoorleft by location at 100 speed //move the elevator
move entity eledoorright by location at 100 speed
move entity elebody by location at 100 speed signaling done
wait for any clearing done
wait .5 seconds
move entity eledoorleft by [0,48,0] at 100 speed // open the inside doors
move entity eledoorright by [0,-48,0] at 100 speed
move entity leftupper by [0,48,0] at 100 speed //open the outside doors
move entity rightupper by [0,-48,0] at 100 speed signaling done
wait for any clearing done
wait 2 seconds
move entity leftupper by [0,-48,0] at 100 speed //close the outside doors
move entity rightupper by [0,48,0] at 100 speed
wait .5 seconds
move entity eledoorleft by [0,-48,0] at 100 speed // close the inside doors
move entity eledoorright by [0,48,0] at 100 speed signaling done
wait for any clearing done
else
move entity leftupper by [0,48,0] at 100 speed //open the outside doors
move entity rightupper by [0,-48,0] at 100 speed
wait .5 seconds
move entity eledoorleft by [0,48,0] at 100 speed // open the inside doors
move entity eledoorright by [0,-48,0] at 100 speed signaling done
wait for any clearing done
wait 2 seconds
move entity eledoorleft by [0,-48,0] at 100 speed // close the inside doors
move entity eledoorright by [0,48,0] at 100 speed
wait .5 seconds
move entity leftupper by [0,48,0] at 100 speed //close the outside doors
move entity rightupper by [0,-48,0] at 100 speed signaling done
wait for any clearing done
move entity eledoorleft by location at 100 speed //move the elevator
move entity eledoorright by location at 100 speed
move entity elebody by location at 100 speed signaling done
wait for any clearing done
wait .5 seconds
move entity eledoorleft by [0,48,0] at 100 speed // open the inside doors
move entity eledoorright by [0,-48,0] at 100 speed
move entity leftlower by [0,48,0] at 100 speed //open the outside doors
move entity rightlower by [0,-48,0] at 100 speed signaling done
wait for any clearing done
wait 2 seconds
move entity leftlower by [0,-48,0] at 100 speed //close the outside doors
move entity rightlower by [0,48,0] at 100 speed
wait .5 seconds
move entity eledoorleft by [0,-48,0] at 100 speed // close the inside doors
move entity eledoorright by [0,48,0] at 100 speed signaling done
wait for any clearing done
endif
else
endif
suspend
/* if upordown = 0
move entity leftupper by [0,48,0] at 100 speed //open the outside doors
move entity rightupper by [0,-48,0] at 100 speed
wait .25 seconds
move entity eledoorleft by [0,48,0] at 100 speed // open the inside doors
move entity eledoorright by [0,-48,0] at 100 speed signaling done
wait for any clearing done
wait 1 seconds
move entity eledoorleft by [0,-48,0] at 100 speed // close the inside doors
move entity eledoorright by [0,48,0] at 100 speed
wait .25 seconds
move entity leftupper by [0,48,0] at 100 speed //close the outside doors
move entity rightupper by [0,-48,0] at 100 speed signaling done
wait for any clearing done
else
move entity leftlower by [0,48,0] at 100 speed //open the outside doors
move entity rightlower by [0,-48,0] at 100 speed
wait .25 seconds
move entity eledoorleft by [0,48,0] at 100 speed // open the inside doors
move entity eledoorright by [0,-48,0] at 100 speed signaling done
wait for any clearing done
wait 1 seconds
move entity eledoorleft by [0,-48,0] at 100 speed // close the inside doors
move entity eledoorright by [0,48,0] at 100 speed
wait .25 seconds
move entity leftlower by [0,48,0] at 100 speed //close the outside doors
move entity rightlower by [0,-48,0] at 100 speed signaling done
endif
//move to the next level
move entity eledoorleft by newlocation at 200 speed
move entity eledoorright by newlocation at 200 speed
move entity elebody by newlocation at 200 speed signaling done
wait for any clearing done
//open the correct outside doors
if upordown = 1
move entity leftupper by [0,48,0] at 100 speed //open the outside doors
move entity rightupper by [0,-48,0] at 100 speed
wait .25 seconds
move entity eledoorleft by [0,48,0] at 100 speed // open the inside doors
move entity eledoorright by [0,-48,0] at 100 speed signaling done
wait for any clearing done
wait 1 seconds
move entity eledoorleft by [0,-48,0] at 100 speed // close the inside doors
move entity eledoorright by [0,48,0] at 100 speed
wait .25 seconds
move entity leftupper by [0,48,0] at 100 speed //close the outside doors
move entity rightupper by [0,-48,0] at 100 speed signaling done
wait for any clearing done
else
move entity leftlower by [0,48,0] at 100 speed //open the outside doors
move entity rightlower by [0,-48,0] at 100 speed
wait .25 seconds
move entity eledoorleft by [0,48,0] at 100 speed // open the inside doors
move entity eledoorright by [0,-48,0] at 100 speed signaling done
wait for any clearing done
wait 1 seconds
move entity eledoorleft by [0,-48,0] at 100 speed // close the inside doors
move entity eledoorright by [0,48,0] at 100 speed
wait .25 seconds
move entity leftlower by [0,48,0] at 100 speed //close the outside doors
move entity rightlower by [0,-48,0] at 100 speed signaling done
wait for any clearing done
endif
suspend */

View file

@ -0,0 +1,17 @@
// Guy that gets shot gets blown backward!
#include "../common/header.ds"
output "p:/base/ds/common"
parameter entity deadguy // This is the enemy that should fall back
parameter vector falldist // This is the direction and distance that he should go
parameter entity breakbrush // This is the entity (such as a window) that the enemy should bust through
// If there is no window, make sure to set the breakbrush parameter to the same as the dying enemy parm
// That way, it will ignore breaking it
if breakbrush != deadguy
use entity breakbrush
endif
animate entity deadguy performing action STD_SBLOWN_2BK_N_N by moving falldist

View file

@ -0,0 +1,18 @@
// template file for common directory
#include "../common/header.ds"
output "p:/base/ds/common"
parameter entity deadguy // This is the enemy that should be falling
parameter vector falldist // This is the direction and distance that he should go
parameter entity breakbrush // This is the entity (such as a railing) that the enemy should bust through
// If there is no railing, make sure to set the breakbrush parameter to the same as the dying enemy parm
// That way, it will ignore breaking it
if breakbrush != deadguy
use entity breakbrush
endif
animate entity deadguy performing action PRN_XFALLING_N_N_N by moving falldist
animate entity deadguy performing action PRN_XFALLLAND_N_N_N

560
Sample/ds/common/header.ds Normal file
View file

@ -0,0 +1,560 @@
field vector "origin"
field float "origin_x"
field float "origin_y"
field float "origin_z"
field int "movetype"
field vector "start_origin"
field vector "start_angles"
field int "state"
field float "distance"
field entity "owner"
field float "wait"
field vector "velocity"
field vector "angle_velocity"
field entity "team_chain"
field float "yaw_speed"
field int "modelindex"
field int "count"
field int "solid"
field vector "angles"
field vector "delta_angles"
field int "skinnum"
field int "c_mode"
field float "ideal_yaw"
field vector "p_origin"
field int "takedamage"
field int "health"
// sound channels
// channel 0 never willingly overrides
// other channels (1-7) allways override a playing sound on that channel
#define CHAN_AUTO 0
#define CHAN_WEAPON 1
#define CHAN_VOICE 2
#define CHAN_ITEM 3
#define CHAN_BODY 4
#define CHAN_ENT1 5
#define CHAN_ENT2 6
// modifier flags
#define CHAN_NO_PHS_ADD 8 // send to all clients, not just ones in PHS (ATTN 0 will also do this)
#define CHAN_RELIABLE 16 // send by reliable message, not datagram
// Defines for print level
#define PRINT_LOW 0 // pickup messages
#define PRINT_MEDIUM 1 // death messages
#define PRINT_HIGH 2 // critical messages
#define PRINT_CHAT 3 // chat messages
// Physic movetypes
#define MOVETYPE_NONE 0
#define MOVETYPE_NOCLIP 1
#define MOVETYPE_PUSH 2
#define MOVETYPE_STOP 3
#define MOVETYPE_WALK 4
#define MOVETYPE_STEP 5
#define MOVETYPE_FLY 6
#define MOVETYPE_TOSS 7
#define MOVETYPE_FLYMISSILE 8
#define MOVETYPE_BOUNCE 9
#define MOVETYPE_DAN 10
// Defines for animation emotions (facial expressions)
#define EMOTION_NORMAL 1
#define EMOTION_FEAR 2
#define EMOTION_ANGRY 3
#define EMOTION_PAIN 4
#define EMOTION_DEAD 5
#define EMOTION_TALK 6
#define EMOTION_TALKANGRY 7
#define EMOTION_TALKAFRAID 8
// Defines for animation sequences
#define UNKNOWN 0
#define RUN 1
#define JUMP 2
#define DEATH 5
#define DEATHTHROWN 6
#define DUCK_DN 7
#define DUCK_MID 8
#define DUCK_UP 9
#define DUCK_SHOOT 10
#define IDLE 11
#define IDLESTRETCH 12
#define IDLELOOK 13
#define SHOOT 14
#define WALK 15
#define AFRAIDRUN 19
#define GUN_IDLE 17
// The following are direct calls to specific animations
#define CCH_A_FWD_P_2 82
#define CCH_A_FWD_R_2 83
#define CCH_SONKNEES_2FRNT_N_N 84
#define CCH_XCCHCOWER_MID_A_A 86
#define CCH_XCCHCOWER_MID2_A_A 87
#define CCH_XCROUCH_UP_MRS_2 80
#define CCH_XCROUCH_UP_PK_A 81
#define CCH_XONKNEES_N_N_N 85
#define LB_PGENERICDIE_N_N_N 90
#define LS_XGETKICKED_N_N_N 43
#define PRN_XCOVERHEAD_N_A_A 88
#define SI_ISIT_N_A_A 125
#define SI_XALERTSTAND_UP_A_A 126
#define SI_XBYWALL_N_N_N 44
#define STD_ASHUFFLE_N_P_2 171
#define STD_ASHUFFLE_N_P_A 172
#define STD_ASHUFFLE_N_MS_2 173
#define STD_ASHUFFLE_N_R_2 174
#define STD_ASHUFFLE_N_L_2 175
#define STD_F_FWD_P_2 58
#define STD_F_FWD_S_2 59
#define STD_FATTITUDE_N_P_A 42
#define STD_FAUTOSWEEP_N_PM_A 96
#define STD_FCORNERPEAK_LT_P_A 65
#define STD_FCORNERPEAK_RT_P_A 66
#define STD_FGANGBANGER_N_M_2 97
#define STD_FSWATSTYLE_FWD_M_2 98
#define STD_FVIOLENT_DWN_M_2 100
#define STD_FVIOLENT_DWN_P_N 101
#define STD_IALERT_N_P_N 67
#define STD_ICLEANGUN_N_A_N 20
#define STD_ICLEANGUN2_N_MRS_2 68
#define STD_ILEANLOOK_FRM_PK_N 54
#define STD_ILEANLOOK_MID_PK_N 55
#define STD_ILEANLOOK_TO_PK_N 56
#define STD_ILOOKING_N_A_A 21
#define STD_ILOOKING_N_MRS_2 29
#define STD_IMONITORUP_N_A_N 22
#define STD_IMONITORUP2_N_A_N 69
#define STD_ISMOKE_FRM_A_N 76
#define STD_ISMOKE_N_A_N 77
#define STD_ISMOKE_TO_A_N 78
#define STD_ISTAND_N_MRS_2 31
#define STD_ITALK_N_A_N 23
#define STD_ITALK_N_MRS_2 32
#define STD_ITALKGEST1_N_A_N 24
#define STD_ITALKGEST2_N_A_N 25
#define STD_ITALKGEST3_N_A_N 26
#define STD_ITOUCHNUTS_N_A_N 79
#define STD_ITURNVALVE_FRM_N_N 33
#define STD_ITURNVALVE_N_N_N 34
#define STD_ITURNVALVE_TO_N_N 35
#define STD_IWIPEBROW_N_A_N 27
#define STD_JDIVE2PRONE_N_A_N 70
#define STD_JDOWN_N_A_A 57
#define STD_JDROP_N_A_A 36
#define STD_JRUN_FWD_A_A 75
#define STD_JUPTO_N_A_A 102
#define STD_MKICKLOW_N_A_A 37
#define STD_MNINJAKICK_N_A_B 103
#define STD_MPISTOLWHIP_N_P_N 38
#define STD_R_DWNST_MRS_2 105
#define STD_R_N_MRS_2 60
#define STD_R_N_PK_N 61
#define STD_RAFRAID_N_N_N 71
#define STD_RAIMSTRAF_LT_MRS_2 106
#define STD_RAIMSTRAF_LT_P_CBN 107
#define STD_RAIMSTRAF_RT_MRS_2 108
#define STD_RAIMSTRAF_RT_P_CBN 109
#define STD_RBACKAIM_N_MRS_2 110
#define STD_RBACKAIM_N_P_2 111
#define STD_RGUNUP_N_P_2 62
#define STD_MRIFLEBUTT_N_MRS_2 104
#define STD_SBLOWN_2BK_N_N 72
#define STD_SFALLFWD_2FRNT_N_N 112
#define STD_SINBACK_2FRNT_N_N 39
#define STD_SSTUMBLE_2FRNT_N_N 113
#define STD_SSTUMBLE_2BK_P_N 45
#define STD_SVIOLENT_N_N_N 89
#define STD_WATTITUDE_N_PK_A 91
#define STD_WBCKSIGNAL_N_N_N 53
#define STD_WCARRY1_N_N_N 50
#define STD_WJOG_N_MRS_2 92
#define STD_WJOGGUNDWN_N_P_2 93
#define STD_WJOGGUNUP_N_P_A 94
#define STD_WNORMAL_N_PK_A 51
#define STD_WPATROL_N_MRS_2 52
#define STD_WPUSH_N_N_N 46
#define STD_WPUSHCART_N_N_N 95
#define STD_XAFRAIDSHAKE_N_N_N 47
#define STD_XALARMPUSH_N_A_N 30
#define STD_XBOOMCROUCH_N_A_N 73
#define STD_XCCHCOWER_DWN_A_A 114
#define STD_XCHOKE_N_N_N 115
#define STD_XDANCE_N_N_N 116
#define STD_XDONTSHOOT_N_A_N 63
#define STD_XGOPRONE_N_A_A 117
#define STD_XFEARWAVE_N_N_N 64
#define STD_XKICKDOOR_N_A_A 48
#define STD_XTUMBLE_2FRNT_N_N 74
#define STD_XLADDER_DWN_A_A 118
#define STD_XLADDER_UP_A_A 119
#define STD_XROLL_LT_A_A 120
#define STD_XROLL_RT_A_A 121
#define STD_XROLLTOCCH_FWD_A_A 122
#define STD_XSTARTLED_N_A_A 123
#define STD_XSTUMBLE_N_A_A 124
#define STD_XYELLATYOU_N_A_A 49
#define STD_XYELLPOINT_FWD_A_N 40
#define STD_XYELLWAVE_BK_A_N 41
#define SCRIPT_RELEASE 99
#define PRN_C_N_A_2 127
#define PRN_XCOVERHEAD_TO_A_A 128
#define PRN_XFALLING_N_N_N 129
#define PRN_XFALLLAND_N_N_N 130
#define PRN_XTOSTAND_N_A_A 131
#define CCH_RAIM_FWD_MRS_2 132
#define CCH_RAIM_FWD_P_2 133
#define CCH_XCCHCOWER2_MID_A_A 134
//it's actually lb_pcrawl_bk_a_n. see below. #define LB_PCRAWL_BCK_P_N 135
#define LB_XLEANUPSHOOT_N_P_N 136
#define CCH_A_FWD_MS_2 137
#define CCH_F_FWD_L_2 138
#define CCH_RAIM_N_L_2 139
#define CCH_TLOBGRENADE_N_A_N 140
#define STD_ECHOKEKNEES_TO_N_N 141
#define CCH_ECHOKEKNEES_N_N_N 142
#define CCH_ECHOKEDEATH_N_N_N 143
#define STD_SELECTROCUTE_N_N_N 144
#define STD_EOFFLADDER_UP_A_N 145
#define STD_EPOUNDDOOR_N_A_N 146
#define STD_F_FWD_R_2 147
#define STD_EBUSTGLASS_N_MRS_2 148
#define STD_ECOMEHERE_N_A_N 149
#define STD_EFALLDEATH_N_N_N 150
#define STD_EFALLIMPACT_N_N_N 151
#define STD_EFLIPTABLE_N_A_N 152
#define STD_EPUSHBUTTONS_N_N_N 153
#define STD_EPUSHCRATE_N_A_N 154
#define STD_ESIGNALALARM_N_A_N 155
#define STD_ETYPING_N_N_N 156
#define STD_EWALL2WALK_N_MRS_2 157
#define STD_EWALL2WALK_N_PK_N 158
#define STD_EWALLIDLE_N_MRS_2 159
#define STD_EWALLIDLE_N_PK_N 160
#define STD_EWALLLOOK_LT_MRS_2 161
#define STD_EWALLLOOK_LT_PK_N 162
#define STD_EWALLLOOK_RT_MRS_2 163
#define STD_EWALLLOOK_RT_PK_N 164
#define STD_EWRENCHH_FRM_N_N 165
#define STD_EWRENCHH_N_N_N 166
#define STD_EWRENCHH_TO_N_N 167
#define STD_EWRENCHV_FRM_N_N 168
#define STD_EWRENCHV_N_N_N 169
#define STD_EWRENCHV_TO_N_N 170
#define STD_IPISS_N_A_A 176
#define STD_ATHREAT_DWN_P_N 177
#define STD_ATHREAT_FWD_P_N 178
#define STD_ATHREATYEL_DWN_P_N 179
#define STD_ATHREATYEL_FWD_P_N 180
#define STD_EEXAMINEWALL_N_A_N 181
#define STD_ERAGESHOOT_N_P_N 182
#define STD_ESABREMOCK_N_A_N 183
#define STD_RTOSTOP_N_PK_N 184
#define STD_ETALKBOTH_N_A_N 185
#define STD_ETALK_N_A_N 186
#define STD_EHEADNOD_N_A_N 187
#define STD_EHEADSHAKE_N_A_N 188
#define STD_EJUMPRAIL_N_A_N 189
#define STD_WTOSTOP_N_PK_A 190
#define STD_ESPIN180_LT_A_N 191
#define STD_ESPIN180_RT_A_N 192
#define STD_ETORUN_N_P_N 193
#define STD_ILEAN_N_P_N 194
#define STD_WBACKAIM_N_MS_2 195
#define STD_ETALKRIGHT_N_A_N 196
#define STD_ECLIMBLEDG_DWN_A_N 197
#define STD_ECLIMBLEDG_MID_A_N 198
#define STD_ECLIMBLEDGE_UP_A_N 199
#define STD_EDROPGRENADE_N_A_N 200
#define STD_EFRMSHADOW_N_MRS_2 201
#define STD_EFRMSHADOW_N_P_N 202
#define STD_EHANDTALK_FRM_P_N 203
#define STD_EHANDTALK_N_P_N 204
#define STD_EHANDTALK_TO_MRS_N 205
#define STD_EHANDTALK_TO_P_N 206
#define STD_EHANDTALK_FRM_MRS_N 207
#define STD_EHEADSET_FRM_P_N 208
#define STD_EHEADSET_MID_P_N 209
#define STD_EHEADSET_TO_P_N 210
#define STD_ESALUTE_FRM_MRS_N 211
#define STD_ESALUTE_N_MRS_N 212
#define STD_ESALUTE_TO_MRS_N 213
#define STD_ETALKLEFT_N_A_N 214
#define STD_ETALKLKLT_FRM_A_N 215
#define STD_ETALKLKLT_MID_A_N 216
#define STD_ETALKLKLT_TO_A_N 217
#define STD_ETALKLKRT_FRM_A_N 218
#define STD_ETALKLKRT_MID_A_N 219
#define STD_ETALKLKRT_TO_A_N 220
#define STD_ETORUN_N_MRS_2 221
#define STD_ETURN90_LT_A_N 222
#define STD_ETURN90_RT_A_N 223
#define STD_IGUNUP_N_A_N 224
#define STD_RONFIRE_N_N_N 225
#define STD_RONFIRETODTH_N_N_N 226
#define STD_RTOSTOP_N_MRS_2 227
#define STD_SSHOULDER_LT_N_N 228
#define STD_SUNHURT_BK_PK_N 229
#define STD_EDROPCROUCH_N_A_A 230
#define STD_TRUN_N_A_N 231
#define STD_W_N_PN_N 232
#define STD_WCARRY2_N_N_N 233
#define STD_WTALK_LT_MRS_2 234
#define A4_ASCRAMBLE_N_A_N 235
#define CCH_ENODLEFT_N_A_A 236
#define CCH_ENODRIGHT_N_A_A 237
#define CCH_ESCANTALK_LT_A_A 238
#define CCH_ESCANTALK_RT_A_A 239
#define CCH_IREADY_N_A_A 240
#define STD_FAUTOSWEEP_N_M_2 241
#define STD_L_N_MS_2 242
#define STD_ISTAND_N_A_N 243
#define STD_ECHOKESHOOT_N_A_N 244
#define STD_SONFIRE_2BK_N_N 245
#define STD_ETALK_FRM_A_N 246
#define STD_ETALK_TO_A_N 247
#define STD_JDROP_TO_A_N 248
#define STD_ATHREATSHT_DWN_P_N 249
#define LB_PHOLDLEG_LT_N_N 250
#define STD_XCOCK_N_S_2 251
#define STD_STOKNEES_2BK_N_N 252
#define STD_SGUT_2SIDE_N_N 253
#define STD_XLADDERFRM_UP_A_A 254
#define STD_SGUNFROMHAND_N_N_N 255
#define CCH_ETOSTAND_N_A_N 256
#define STD_ININJA_N_P_N 257
#define STD_XHANDSPRING_FWD_A_N 258
#define STD_EGANGSALUTE_N_A_N 259
#define STD_WBACKWARDS_N_A_N 260
#define STD_SSABREDEATH_BK_N_N 261
#define STD_WSTEALTH_N_PK_N 262
#define STD_JTHROWSTAR_FWD_A_N 263
#define PRN_A_N_A_2 264
#define STD_EYELL_N_A_N 265
#define STD_IALERTLK_RT_MRS_2 266
#define STD_EPUSHBUTTONH_N_A_N 267
#define STD_IALERT_N_MRS_2 268
#define STD_RDYNAMIC_N_A_N 269
#define STD_WAIM_FWD_P_2 270
#define STD_A_FWD_P_2 271
#define STD_IETALKPOSE_N_A_N 272
#define STD_FRAPIDSWEEP_LT_P_2 273
#define STD_IALERTTRN_LT_P_N 274
#define STD_ESUPRISE90_LT_A_N 275
#define STD_FAUTOSWEEP_UP_M_2 276
#define STD_XATKPAUSE1_N_MRS_2 277
#define LB_PCRAWL_BK_P_N 278
#define SI_EWALLIDLE_N_A_N 279
#define SI_EWALLTALK_N_A_N 280
#define STD_ETOAIM_N_P_2 281
#define STD_A_UP_P_2 282
#define SI_EWALLFEAR_N_A_N 283
#define STD_ESALUTE_TO_A_N 284
#define STD_ESALUTE_N_A_N 285
#define STD_ESALUTE_FRM_A_N 286
#define STD_ESALUTATIONS_N_A_N 287
#define STD_ECLIMBSHAFT_N_A_N 288
#define STD_XATKPAUSE2_N_PK_N 289
#define CCH_W_N_A_N 290
#define CCH_EWALK2CCH_N_A_N 291
#define CCH_ETALK_DWN_P_N 292
#define STD_ITALKPOSE_UP_A_N 293
#define CCH_ITALKPOSE_DWN_A_N 294
#define STD_ETALK_UP_A_N 295
#define CCH_EHEADNOD_N_A_N 296
#define CCH_ECCH2WALK_N_A_N 297
#define STD_XATKPAUSE1_N_PK_N 298
#define STD_WFAST_N_A_N 299
#define STD_ERAGEIDLE_N_P_N 300
#define CCH_XCCHCOWER_UP_A_A 301
#define STD_IETALKPOSE_RT_A_N 302
#define STD_EBOOKLOOK_N_A_N 303
#define STD_EBOOKSCAN_N_A_N 304
#define STD_XOPENDOOR_N_A_N 305
#define STD_XCROUCH_DWN_PK_A 306
#define CCH_EHEADSET_FRM_A_N 307
#define CCH_EHEADSET_MID_A_N 308
#define STD_SHEAD_2FRNT_N_N 309
#define STD_W_N_MRS_2 310
#define STD_EDKRAIM_N_A_N 311
#define CCH_EHAWKKNEES_N_N_N 312
#define STD_EDKRAIMTALK_N_A_N 313
#define STD_EDKRFIRELK_RT_A_N 314
#define CCH_EHAWKDEATH_N_N_N 315
#define CCH_EHAWKKNEETLK_N_N_N 316
#define CCH_EHAWKCROUCH_N_A_N 317
#define CCH_EHEADSET_TO_A_N 318
#define LB_ESLIDE_N_PK_N 319
#define STD_A_FWD_P_CB 320
#define STD_IGUNUPLOOK_N_A_N 321
#define STD_FRAPID_N_P_2 322
#define STD_EDKRAIMLK_FWD_A_N 323
#define STD_EWHIRL_RT_A_N 324
#define STD_FSWEEPUP_FRM_A_A 325
#define STD_FSWEEPUP_TO_A_A 326
#define STD_XTAKECOVER_N_A_N 327
#define STD_ESABREBLUFF_N_A_A 328
#define STD_EAUTOSWEEP_N_PM_A 329
#define CCH_F_FWD_S_2 330
#define STD_F_FWD_P_CB 331
#define STD_SOUTWINDOW_N_A_N 332
#define STD_XCROUCH_DWN_MRS_2 333
#define STD_XCROUCH_DWN_P_2 334
#define STD_TGRENADE_N_A_N 335
#define STD_TUNDER_N_A_N 336
#define CCH_XCROUCH_UP_L_2 337
#define STD_XCROUCH_DWN_L_2 338
#define STD_XCROUCH_DWN_P_A 339
#define STD_RAIM_N_MRS_2 340
#define STD_WFIRE_FWD_MS_2 341
#define CCH_AFIRE_FWD_MS_2 342
#define STD_F_FWD_M_2 343
#define CCH_F_FWD_M_2 344
#define STD_EPUSHOVER_N_PK_A 345
#define STD_EMERCHALL_N_A_A 346
#define STD_EMERCHONE_N_A_A 347
#define STD_IEMERCHANT_N_A_A 348
#define STD_EMERCHWAVE_RT_A_A 349
#define STD_EMERCHTALK_N_A_A 350
#define STD_EMERCHWAVE_LT_A_A 351
#define STD_EBEG_N_A_A 352
#define STD_ICLEANGUN2_N_PK_N 353
#define CCH_XCCHCOWER_N_A_N 354
// if we wind up #define'ing more than 500 anims, update ANIMLISTSIZE in ds.exe/ds.cpp
#define SOLID_NOT 0
#define SOLID_SOLID 2 // erm, why wasn't this made SOLID_BBOX? grrrr
#define SOLID_BSP 3
#define DAMAGE_NO 0 // Won't take damage
#define DAMAGE_YES 1 // Takes damage
#define DAMAGE_AIM 2 // Can be autotargeted???
#define DAMAGE_NO_RADIUS 3 // Will not take damage from radius blasts
// Commands for the helicopter
// Note: Scripter REALLY needs Ghoul support
#define HELI_TAKEOFF 1
#define HELI_LAND 2
#define HELI_REPAIR 3
#define HELI_REARM 4
#define HELI_GOTO_COORDS 5
#define HELI_GOTOREL_ENTITY 6
#define HELI_GOTOREL_ENT_X 7
#define HELI_GOTOREL_ENT_Y 8
#define HELI_GOTOREL_ENT_Z 9
#define HELI_MOVEREL 10
#define HELI_PAUSE 11
#define HELI_FACE_RELENT 12
#define HELI_FACE_ABSCOORDS 13
#define HELI_FACE_ABSDIR 14
#define HELI_FACE_RELCOORDS 15
#define HELI_PILOT_FACERELENT 16
#define HELI_PILOT_FACERELCOORDS 17
#define HELI_PILOT_FACEABSCOORDS 18
#define HELI_GUNNER_FACERELENT 19
#define HELI_GUNNER_FACERELCOORDS 20
#define HELI_GUNNER_FACEABSCOORDS 21
#define HELI_STRAFE_RT 22
#define HELI_STRAFE_LT 23
#define HELI_ROCKETS_ENABLE 24
#define HELI_ROCKETS_DISABLE 25
#define HELI_CHAINGUN_ENABLE 26
#define HELI_CHAINGUN_DISABLE 27
#define HELI_FIREAT_RELENT 28
#define HELI_FIREAT_ABSCOORDS 29
#define HELI_FIREAT_RELCOORDS 30
#define HELI_AUTOFIRE_ON 31
#define HELI_AUTOFIRE_OFF 32
#define HELI_HOVER_PASSIVE 33
#define HELI_HOVER_AGGRESSIVE 34
#define HELI_SET_WORLDMINS 35
#define HELI_SET_WORLDMAXS 36
#define HELI_SET_MAXHEALTH 37
#define HELI_SET_HEALTH 38
#define HELI_SET_DEATHDEST 39
#define HELI_SET_TRACEDIMS 40
#define HELI_AI 41
#define HELI_WAYPOINT 42
#define HELI_VOLUME 43
#define HELI_VOLUMEMINS 44
#define HELI_VOLUMEMAXS 45
#define HELI_DEBUG 46
#define HELI_CHANGE_SKIN 47
#define HELI_CHANGE_BODY 48
#define HELI_OUT_OF_CONTROL 49
// use these for snowcats as well as tanks
#define TANK_GOTOCOORDS 1
#define TANK_FIRECANNONATCOORDS 2
#define TANK_MACHGUNAUTO 3
#define TANK_DIE 4
#define TANK_AIMTURRET 5
// defines for null targeting
#define HEAD 1
// #define NECK 2
#define LSHOULDER 3
#define RSHOULDER 4
#define CHEST 5
#define GUT 6
#define GROIN 7
#define GUNHAND 8
#define NUG_O_POPPIN 9

View file

@ -0,0 +1,15 @@
// template file for common directory
#include "../common/header.ds"
output "p:/base/ds/common"
// THIS SCRIPT JUST TAKES PARM1 FROM A SCRIPT RUNNER AND WILL REMOVE IT, USEFUL FOR GETTING LOCKED MESSAGES OFF OF DOORS
parameter entity kill_thing
remove entity kill_thing // removes whatever was in parm1

View file

@ -0,0 +1,22 @@
// Generic counter clockwise door 90 degree swing
#include "../common/header.ds"
output "p:/base/ds/common"
/////////////////////////////////////////////////////////////
// Define
// Actors
parameter entity door_ccw // Two doors, clockwise and counter-cw
/////////////////////////////////////////////////////////////
// Assign
// door_ccw.movetype = MOVETYPE_NOCLIP
/////////////////////////////////////////////////////////////
// Action
moverotate entity door_ccw from file "generic_door_ccw.rof"

View file

@ -0,0 +1,22 @@
// Generic clockwise door 90 degree swing
#include "../common/header.ds"
output "p:/base/ds/common"
/////////////////////////////////////////////////////////////
// Define
// Actors
parameter entity door_cw // Two doors, clockwise and counter-cw
/////////////////////////////////////////////////////////////
// Assign
// door_cw.movetype = MOVETYPE_NOCLIP
/////////////////////////////////////////////////////////////
// Action
moverotate entity door_cw from file "generic_door_cw.rof"

View file

@ -0,0 +1,24 @@
// Generic double doors
#include "../common/header.ds"
output "p:/base/ds/common"
/////////////////////////////////////////////////////////////
// Define
// Actors
parameter entity door_cw // Two doors, clockwise and counter-cw
parameter entity door_ccw
/////////////////////////////////////////////////////////////
// Assign
// door_cw.movetype = MOVETYPE_NOCLIP
// door_ccw.movetype = MOVETYPE_NOCLIP
/////////////////////////////////////////////////////////////
// Action
moverotate entity door_cw from file "generic_door_cw.rof"
moverotate entity door_ccw from file "generic_door_ccw.rof"

View file

@ -0,0 +1,9 @@
// autosave script for mid-level save
#include "../common/header.ds"
#include "general.ds"
output "p:/base/ds/common"
print GENERAL_MIDSAVE
run console command "save mid"

View file

@ -0,0 +1,45 @@
// template file for common directory
#include "../common/header.ds"
output "p:/base/ds/common"
parameter entity pusher
parameter entity pushed
parameter vector movedist
local int sig1
local int pusherhealth
pusherhealth = pusher.health
if pusherhealth > 0
animate entity pusher performing action STD_EPUSHCRATE_N_A_N by moving movedist signaling sig1
move entity pushed by movedist
wait for all clearing sig1
endif
pusherhealth = pusher.health
if pusherhealth > 0
animate entity pusher performing action STD_EPUSHCRATE_N_A_N by moving movedist signaling sig1
move entity pushed by movedist
wait for all clearing sig1
endif
pusherhealth = pusher.health
if pusherhealth > 0
animate entity pusher performing action STD_EPUSHCRATE_N_A_N by moving movedist signaling sig1
move entity pushed by movedist
wait for all clearing sig1
endif
pusherhealth = pusher.health
if pusherhealth > 0
animate entity pusher performing action STD_EPUSHCRATE_N_A_N by moving movedist signaling sig1
move entity pushed by movedist
wait for all clearing sig1
endif

View file

@ -0,0 +1,11 @@
// template file for newyork directory
#include "../common/header.ds"
output "p:/base/ds/newyork"
local entity topstairguy1
topstairguy1 = find entity with targetname "topstairguy1"

View file

@ -0,0 +1,7 @@
// template file for common directory
#include "../common/header.ds"
output "p:/base/ds/common"

18
Sample/ds/common/train.ds Normal file
View file

@ -0,0 +1,18 @@
// The handy dandy moving subway train script
#include "../common/header.ds"
output "p:/base/ds/common"
// declare the variables
parameter entity train //which train to move
parameter vector move //how far the train should move
local int sig = 0
// move the trains
move entity train by move signaling sig
wait for all signaling sig
//This is a very stupid piece of crap

21
Sample/ds/common/use2.ds Normal file
View file

@ -0,0 +1,21 @@
// Generic double use script
#include "../common/header.ds"
output "p:/base/ds/common"
/////////////////////////////////////////////////////////////
// Define
parameter entity e_target // Entity to use twice
/////////////////////////////////////////////////////////////
// Action
use entity e_target
use entity e_target
/////////////////////////////////////////////////////////////
// Cleanup
exit

View file

@ -0,0 +1,28 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity runguy1 // the guy who runs by
local entity waveguy1 // the guy waving at the end of the hallway
local entity afterguy // a guy who will spawn in the token room
local entity behindwaver // the guy who spawns behind the guy waving
local int sig1
local int sig2
runguy1 = find entity with targetname "runguy1"
waveguy1 = find entity with targetname "waveguy1"
afterguy = find entity with targetname "afterguy"
behindwaver = find entity with targetname "behindwaver"
use entity runguy1 // spawns the guy running by
use entity waveguy1 //spawns the guy at the end of the hall
use entity behindwaver // spawns the guy in the waitingroom
use entity afterguy // spawns another guy in the token room
animate entity runguy1 performing action SCRIPT_RELEASE
animate entity waveguy1 performing action SCRIPT_RELEASE
animate entity afterguy performing action SCRIPT_RELEASE
animate entity behindwaver performing action SCRIPT_RELEASE

39
Sample/ds/tsr1/backout.ds Normal file
View file

@ -0,0 +1,39 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
/////////////////////////////////////////////////
// Declare
local entity camroom_door
local entity camroom_hole
local entity openout
local int sig1
local int sig2
local int health
/////////////////////////////////////////////////
// Assign
camroom_door = find entity with targetname "camroom_door"
camroom_hole = find entity with targetname "camroom_hole"
openout = find entity with targetname "openout"
/////////////////////////////////////////////////
// Action
camroom_hole.movetype = MOVETYPE_NOCLIP
health = camroom_door.health
if health < 100
exit
endif
rotate entity camroom_door by [0, 90,0] at 90 speed signaling sig1
rotate entity camroom_hole by [0, 90,0] at 90 speed signaling sig2
wait for all clearing sig1,sig2
use entity openout // triggers the func wall out if the player killed the doorkicking guy
camroom_hole.movetype = MOVETYPE_NONE
// End

View file

@ -0,0 +1,21 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity behinducam // the cam that shows the enemys sneaking up on the player
behinducam = find entity with targetname "behinducam"
behinducam.movetype = MOVETYPE_NOCLIP
use entity behinducam // turns the camera on
use entity behinducam // turns the camera off

27
Sample/ds/tsr1/below1.ds Normal file
View file

@ -0,0 +1,27 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
// this script starts the guys running below the grate on the nyc1 map
local entity belowguy1 // the first enemy below the tracks
local entity train1 // the train that goes by underneath
local int sig1
belowguy1 = find entity with targetname "belowguy1"
train1 = find entity with targetname "train1"
use entity belowguy1 // spawns the front guy in
animate entity belowguy1 performing action STD_R_N_PK_N by moving [512, 0, 0] signaling sig1
wait for all clearing sig1
wait 5 seconds
use entity train1 // triggers the train going by
remove entity belowguy1 // removes the guys from the track
exit

View file

@ -0,0 +1,41 @@
// template file for newyork directory
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity fuseguy // the guy hiding in the fusebox alcove
local entity stepsguy1 // the first guy at the bottom of the steps
local entity stepsguy2 // the second guy at the bottom of the steps
local entity fusedoor // the door that will get kicked open
local entity killhim68 // the player
local int sig1
local int sig2
fuseguy = find entity with targetname "fuseguy"
stepsguy1 = find entity with targetname "stepsguy1"
stepsguy2 = find entity with targetname "stepsguy2"
fusedoor = find entity with targetname "fusedoor"
killhim68 = find entity player
// fusedoor.movetype = MOVETYPE_NOCLIP
use entity stepsguy1 // spawns the first guy in
use entity stepsguy2 // spawns the sec guy in
animate entity stepsguy2 performing action SCRIPT_RELEASE
animate entity stepsguy1 performing action STD_FCORNERPEAK_RT_P_A targeting entity killhim68
animate entity stepsguy1 performing action SCRIPT_RELEASE
animate entity fuseguy performing action STD_XKICKDOOR_N_A_A signaling sig1 // plays the kicking door animations
animate entity fuseguy performing action SCRIPT_RELEASE
wait .25 seconds
moverotate entity fusedoor from file "generic_door_ccw.rof" signaling sig2 // rotates the door kicked open
play sound "Impact/Vending/Kick.wav" for entity fusedoor at volume 0.9
wait for all clearing sig1, sig2

View file

@ -0,0 +1,23 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity deadbum // the bum who will get killed on the subway tracks
local entity bumkiller // the guy who will shoot the bum from behind
local int sig1
deadbum = find entity with targetname "deadbum"
bumkiller = find entity with targetname "bumkiller"
use entity bumkiller // spawns the bumkiller in
animate entity bumkiller performing action STD_R_N_PK_N by moving [0, -256, 0] signaling sig1 // guy runs down other track tunnel
wait for all clearing sig1
animate entity bumkiller performing action STD_F_FWD_P_2 targeting entity deadbum kill signaling sig1 // he should kill the bum with this shot
wait for all clearing sig1
animate entity bumkiller performing action SCRIPT_RELEASE

21
Sample/ds/tsr1/cam3.ds Normal file
View file

@ -0,0 +1,21 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity sabre1 // skinhead boss who will shoot the hostages
local entity introhostage1 // the hostage to the left of sabre in the intro
sabre1 = find entity with targetname "sabre1"
introhostage1 = find entity with targetname "introhostage1"
animate entity sabre1 performing action STD_ERAGESHOOT_N_P_N targeting entity introhostage1 kill nulltarget HEAD//

View file

@ -0,0 +1,28 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity lstallguy1 // the first guy in the ladies room stall
local entity lstallguy2 // the sec guy in the ladies rooms stall
local entity lstallguy3 // the newest guy in the stall sequence
local entity fire_script // the script runner that will start the sequence
lstallguy1 = find entity with targetname "lstallguy1"
lstallguy2 = find entity with targetname "lstallguy2"
lstallguy3 = find entity with targetname "lstallguy3"
fire_script = find entity with targetname "t57"
// this checks the health all the time to see if the player takes a cheap shot at the guys in the stalls
on lstallguy1.health < 100 goto stall_release
on lstallguy2.health < 100 goto stall_release
on lstallguy3.health < 100 goto stall_release
suspend
label stall_release
use entity fire_script // fires off the script runner in case any of the guys get shot by the player
exit

View file

@ -0,0 +1,41 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
// skinhead karate kicks a door open
local entity closetdoor // the door that opens slowly
local entity closetguy // the skinhead who will karate kick open the door
local entity f_closetpush // the push brush infront of the closet in case the player is by the rofed door
local int sig1
local int sig2
closetdoor = find entity with targetname "closetdoor"
closetguy = find entity with targetname "closetguy"
f_closetpush = find entity with targetname "f_closetpush"
// closetdoor.movetype = MOVETYPE_NOCLIP
use entity closetguy // spawns him in
animate entity closetguy performing action STD_XKICKDOOR_N_A_A by moving [32, 0, 0] signaling sig1 // this is the ninja kick animation
animate entity closetguy performing action SCRIPT_RELEASE
wait .25 seconds
use entity f_closetpush // triggers the pushbrush to get the player out of the way
moverotate entity closetdoor from file "generic_door_ccw.rof" signaling sig2 // the door kicking open animation
wait .2 seconds
use entity f_closetpush // shuts this off
play sound "impact/door/kickdoor.wav" for entity closetdoor at volume 0.9
wait for all clearing sig1, sig2
// closetdoor.movetype = MOVETYPE_STOP

View file

@ -0,0 +1,43 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
//////////////////////////////////////////////////////////////////////////
// Enemy leans around corner near token booth coming from start
//////////////////////////////////////////////////////////////////////////
//enemy that leans
local entity cornerlean1
//to target player
local entity sneak
//trigger relay for cnrleaner2 script
local entity cornerln2
//enemy that leans
cornerlean1 = find entity with targetname "cornerlean1"
//to target player
sneak = find entity player
//trigger relay for cnrleaner2 script
cornerln2 = find entity with targetname "cornerln2"
//spawns leaner
use entity cornerlean1
// this is him peeking around the corner firing
animate entity cornerlean1 performing action STD_FCORNERPEAK_RT_P_A targeting entity sneak
animate entity cornerlean1 performing action SCRIPT_RELEASE
//remove trigger relay for cnrleaner2 script
remove entity cornerln2

View file

@ -0,0 +1,43 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
//////////////////////////////////////////////////////////////////////////
// Enemy leans around corner near token booth coming from tokenbooth
//////////////////////////////////////////////////////////////////////////
//enemy that leans
local entity cornerlean2
//to target player
local entity sneak
//trigger relay for cnrleaner1 script
local entity cornerln1
//enemy that leans
cornerlean2 = find entity with targetname "cornerlean2"
//to target player
sneak = find entity player
//trigger relay for cnrleaner1 script
cornerln1 = find entity with targetname "cornerln1"
//spawns leaner
use entity cornerlean2
// this is him peeking around the corner firing
animate entity cornerlean2 performing action STD_FCORNERPEAK_LT_P_A targeting entity sneak
animate entity cornerlean2 performing action SCRIPT_RELEASE
//remove trigger relay for cnrleaner1 script
remove entity cornerln1

View file

@ -0,0 +1,31 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity hostage1 // the first hostage being kicked
local entity hostage2 // the second hostage next to him
local entity hostageshooter // the guy who will try and kill the hostages once the player is in the room
local entity corner1guy // the other guy around the corner
local int sig1
local int sig2
hostage1 = find entity with targetname "hostage1"
hostage2 = find entity with targetname "hostage2"
corner1guy = find entity with targetname "corner1guy"
hostageshooter = find entity with targetname "hostageshooter"
use entity hostageshooter // spawns the guy in
use entity corner1guy // spawns the other guy in
animate entity corner1guy performing action STD_R_N_PK_N by moving [-200, 0, 0] // gets the other guy moving to the side
animate entity corner1guy performing action SCRIPT_RELEASE
animate entity hostageshooter performing action STD_R_N_MRS_2 by moving [-256, 0 , 0] // gets him to the side
// animate entity hostageshooter performing action STD_F_FWD_S_2 targeting entity hostage2 kill signaling sig1 // he attempts to murder the hostages
// animate entity hostageshooter performing action STD_F_FWD_S_2 targeting entity hostage1 kill signaling sig2
// wait for all clearing sig1, sig2
animate entity hostageshooter performing action SCRIPT_RELEASE

145
Sample/ds/tsr1/endcam.ds Normal file
View file

@ -0,0 +1,145 @@
// end camera voice over and flick for TEASER map
#include "../common/header.ds"
output "p:/base/ds/tsr1"
//Declare all of the camera and notnull entities
local entity firstcam //first camera for the voice over
local entity firstnull //first camera null for the voice over
local entity secondcam //second camera for the voice over
local entity secondnull //second camera null for the voice over
local entity thirdcam //third camera for the voice over
local entity thirdnull //third camera null for the voice over
local entity fourthcam //fourth camera for the voice over
local entity fourthnull //fourth camera null for the voice over
local entity fifthcam //fifth camera for the voice over
local entity fifthnull //fifth camera null for the voice over
local entity endlevel // the end level trigger
//Declare all of the black raider entities
local entity firstguard
local entity secondguard
local entity thirdguard
local entity fourthguard
local entity fifthguard
local entity sixthguard
local entity seventhguard
local entity eighthguard
local entity ninthguard
local entity escapetruck
local entity exitdoor
//Declare all of the signaling integers
local int sig1 //first signaling integer
local int sig2 //second signaling integer
local int sig3 //third signaling integer
// assign all cameras and nulls to their appropriate entities
firstcam = find entity with targetname "firstcam"
firstnull = find entity with targetname "firstnull"
secondcam = find entity with targetname "secondcam"
secondnull = find entity with targetname "secondnull"
thirdcam = find entity with targetname "thirdcam"
thirdnull = find entity with targetname "thirdnull"
fourthcam = find entity with targetname "fourthcam"
fourthnull = find entity with targetname "fourthnull"
fifthcam = find entity with targetname "fifthcam"
fifthnull = find entity with targetname "fifthnull"
endlevel = find entity with targetname "endlevel"
//assign all black raiders to the appropriate entities
firstguard = find entity with targetname "firstguard"
secondguard = find entity with targetname "secondguard"
thirdguard = find entity with targetname "thirdguard"
fourthguard = find entity with targetname "fourthguard"
fifthguard = find entity with targetname "fifthguard"
sixthguard = find entity with targetname "sixthguard"
seventhguard = find entity with targetname "seventhguard"
eighthguard = find entity with targetname "eighthguard"
ninthguard = find entity with targetname "ninthguard"
escapetruck = find entity with targetname "escapetruck"
exitdoor = find entity with targetname "exitdoor"
//Assign movetypes to the cameras and their associated notnulls
firstcam.movetype = MOVETYPE_NOCLIP
firstnull.movetype = MOVETYPE_NOCLIP
secondcam.movetype = MOVETYPE_NOCLIP
secondnull.movetype = MOVETYPE_NOCLIP
thirdcam.movetype = MOVETYPE_NOCLIP
thirdnull.movetype = MOVETYPE_NOCLIP
fourthcam.movetype = MOVETYPE_NOCLIP
fourthnull.movetype = MOVETYPE_NOCLIP
fifthcam.movetype = MOVETYPE_NOCLIP
fifthnull.movetype = MOVETYPE_NOCLIP
escapetruck.movetype = MOVETYPE_NOCLIP
use entity firstcam // turn on the first camera and watch the guys shoot for a while
//make sure to remember to start the voice over here. Play the damn sound!
animate entity firstguard performing action STD_WBACKAIM_N_MS_2 by moving [-200,0,0] //signaling sig1
wait .25 seconds
animate entity secondguard performing action STD_WBACKAIM_N_MS_2 by moving [-200,0,0]//signaling sig2
//wait for all clearing sig1, sig2
wait 2.5 seconds
use entity firstcam // turn off the first camera
remove entity firstguard
remove entity secondguard
use entity secondcam // turn on the second camera and watch the guys shoot for a while
animate entity thirdguard performing action STD_WBACKAIM_N_MS_2 by moving [-200,0,0] //signaling sig1
wait .25 seconds
animate entity fourthguard performing action STD_WBACKAIM_N_MS_2 by moving [-200,0,0] //signaling sig2
//wait for all clearing sig1, sig2
wait 2.5 seconds
use entity secondcam // turn off the second camera
remove entity thirdguard
remove entity fourthguard
use entity thirdcam //turn on third camera
animate entity fifthguard performing action STD_XYELLWAVE_BK_A_N signaling sig1
animate entity seventhguard performing action CCH_A_FWD_MS_2 repeating for 2 times
wait for any clearing sig1
animate entity fifthguard performing action STD_R_N_MRS_2 by moving [-200,0,0]
use entity sixthguard
animate entity seventhguard performing action CCH_XCROUCH_UP_MRS_2 //signaling sig1
//wait for any clearing sig1
animate entity seventhguard performing action STD_F_FWD_S_2 signaling sig1
wait for any clearing sig1
animate entity seventhguard performing action STD_WBACKAIM_N_MS_2 by moving [-64,0,0] signaling sig1
wait for any clearing sig1
use entity thirdcam //turn off third camera
remove entity fifthguard
remove entity sixthguard
remove entity seventhguard
use entity fourthcam //turn on fourth camera
animate entity ninthguard performing action CCH_A_FWD_MS_2 signaling sig1
wait for all clearing sig1
wait 2 seconds
use entity fourthcam //turn off fourth camera
remove entity ninthguard
use entity fifthcam //turn on fifth camera
use entity exitdoor
animate entity eighthguard performing action STD_ISTAND_N_A_N signaling sig1 //
wait for any clearing sig1
animate entity eighthguard performing action STD_ECOMEHERE_N_A_N repeating for 2 times signaling sig1
wait for any clearing sig1
use entity escapetruck // should start the wheels moving // MADE BY JERSEY :)
move entity escapetruck by [-400,0,0] at 60 speed
animate entity eighthguard performing action STD_ISTAND_N_A_N signaling sig1
wait for any clearing sig1
wait 1 seconds
use entity fifthcam // turn off fifth camera
// use entity endlevel // starts the next level
exit

View file

@ -0,0 +1,85 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity beam1 // the first beam looking from the front
local entity beam1b
local entity beam2 // second beam
local entity beam2b
local entity beam3 // third beam
local entity beam3b
local entity rubblechunk1 // the first ceiling rubble chunk that will animate
local entity rubblechunk2 // the second one
local entity breakceiling // the ceiling breakable brush
local entity endexplosion1 // the first explosion
local entity endexplosion2 // 2nd
local entity endexplosion3 // 3rd
local entity trainplayer
local entity trainshake // the screenshake effect for the explosion
local entity dirtpile //
local entity tunnelsabre // the sabre model the player will see running into the alcove
local int sig1
beam1 = find entity with targetname "beam1"
beam1b = find entity with targetname "beam1b"
beam2 = find entity with targetname "beam2"
beam2b = find entity with targetname "beam2b"
beam3 = find entity with targetname "beam3"
beam3b = find entity with targetname "beam3b"
rubblechunk1 = find entity with targetname "rubblechunk1"
rubblechunk2 = find entity with targetname "rubblechunk2"
breakceiling = find entity with targetname "breakceiling"
endexplosion1 = find entity with targetname "endexplosion1"
endexplosion2 = find entity with targetname "endexplosion2"
endexplosion3 = find entity with targetname "endexplosion3"
trainplayer = get entity activator
trainshake = find entity with targetname "trainshake"
tunnelsabre = find entity with targetname "tunnelsabre"
dirtpile = find entity with targetname "dirtpile"
// THE EXPLOSIVES GETTING SET OFF
animate entity tunnelsabre performing action STD_R_N_PK_N by moving [-448, 0, 0] signaling sig1 // him running into the little alcove
wait for all clearing sig1
use entity endexplosion1
moverotate entity beam1 from file "tsr1_beam1.rof" // the first beams animation
moverotate entity beam1b from file "tsr1_beam1b.rof" // the first part 2
moverotate entity beam2 from file "tsr1_beam2.rof" // second
moverotate entity beam2b from file "tsr1_beam2b.rof" //
moverotate entity beam3 from file "tsr1_beam3.rof" // third
moverotate entity beam3b from file "tsr1_beam3b.rof" //
moverotate entity rubblechunk1 from file "tsr1_rchunk1.rof" // the first rubble chunk animation
moverotate entity rubblechunk2 from file "tsr1_rchunk2.rof" // second one
play sound "Impact\Stone\BigRubble.adp" for entity trainplayer at volume 0.9 on channel CHAN_AUTO
use entity trainshake // triggers it
use entity breakceiling
use entity dirtpile // triggers the dirpile in
animate entity tunnelsabre performing action STD_R_N_PK_N by moving [0, 176, 0] signaling sig1 // him running out of view
wait for all clearing sig1
remove entity tunnelsabre // gets him out of the world

215
Sample/ds/tsr1/endcin.ds Normal file
View file

@ -0,0 +1,215 @@
#include "../common/header.ds"
#include "tsr1.ds"
output "p:/base/ds/tsr1"
// this script starts the end cinematic
local entity endcam1 // the first camera
local entity endcam1n // the first cameras null
local entity endcam2 // the second camera
local entity endcam2n // the second cameras null
local entity endcam3 // the third camera
local entity endcam3n // the third cameras null
local entity endcam4 // the 4th camera
local entity endcam4n // the 4th cameras null
local entity endhawk1 // the hawk model for the end cinematic
local entity endhawk1b // the hawk model for the end cinematic
local entity endjohn1 // the john model used for the shots
local entity endhawk2 // the hawk model for the end cinematic
local entity endjohn2 // the john model used for the shots
//Declare all of the camera and notnull entities
local entity firstcam //first camera for the voice over
local entity firstnull //first camera null for the voice over
local entity secondcam //second camera for the voice over
local entity secondnull //second camera null for the voice over
local entity thirdcam //third camera for the voice over
local entity thirdnull //third camera null for the voice over
local entity fourthcam //fourth camera for the voice over
local entity fourthnull //fourth camera null for the voice over
local entity fifthcam //fifth camera for the voice over
local entity fifthnull //fifth camera null for the voice over
local entity endlevel // the end level trigger
// ALL THE GUYS THAT COULD BE LEFT OVER FROM THE SPAWNER SCRIPT INCLUDING THE TRAIN GUYS
local entity endspawner1 // the first spawner at the end
local entity endspawner2 // the second spawner at the end
local entity endrightguy // the guy in the right alcove at the end of the tunnel
local entity endleftguy // the guy in the left alcove at the end of the tunnel
local entity rtskinhead1 // skinheads on the train
local entity rtskinhead2 // skinheads on the train
local entity rtskinhead3 // skinheads on the train
local entity testfade // the func fade to black
local entity testfade2 // the func fade that brings it back to normal
//Declare all of the signaling integers
local int sig1 //first signaling integer
local int sig2 //second signaling integer
local int sig3 //third signaling integer
cache sound "cin/tsr1/c8d1.adp"
cache sound "cin/tsr1/c8d2.adp"
// cache sound "cin/tsr1/c8d3.adp"
cache sound "cin/tsr1/c9d1.adp"
cache sound "cin/tsr1/c9d2.adp"
cache sound "cin/tsr1/c9d3.adp"
// cache sound "Enemy/So1/Sib1/Wake4.wav"
endcam1 = find entity with targetname "endcam1"
enable cinematics
use entity endcam1
endcam1n = find entity with targetname "endcam1n"
endcam2 = find entity with targetname "endcam2"
endcam2n = find entity with targetname "endcam2n"
endcam3 = find entity with targetname "endcam3"
endcam3n = find entity with targetname "endcam3n"
endcam4 = find entity with targetname "endcam4"
endcam4n = find entity with targetname "endcam4n"
endhawk1 = find entity with targetname "endhawk1"
endhawk1b = find entity with targetname "endhawk1b"
endjohn1 = find entity with targetname "endjohn1"
endhawk2 = find entity with targetname "endhawk2"
endjohn2 = find entity with targetname "endjohn2"
endspawner1 = find entity with targetname "endspawner1"
endspawner2 = find entity with targetname "endspawner2"
endrightguy = find entity with targetname "endrightguy"
endleftguy = find entity with targetname "endleftguy"
rtskinhead1 = find entity with targetname "rtskinhead1"
rtskinhead2 = find entity with targetname "rtskinhead2"
rtskinhead2 = find entity with targetname "rtskinhead2"
testfade = find entity with targetname "testfade"
testfade2 = find entity with targetname "testfade2"
endcam1.movetype = MOVETYPE_NOCLIP
endcam1n.movetype = MOVETYPE_NOCLIP
endcam2.movetype = MOVETYPE_NOCLIP
endcam2n.movetype = MOVETYPE_NOCLIP
endcam3.movetype = MOVETYPE_NOCLIP
endcam3n.movetype = MOVETYPE_NOCLIP
endcam4.movetype = MOVETYPE_NOCLIP
endcam4n.movetype = MOVETYPE_NOCLIP
// REMOVE ALL THE GUYS FROM THE LAST SCRIPT, DONT KNOW IF THIS WILL WORK?
remove entity endspawner1
remove entity endspawner2
remove entity endleftguy
remove entity endrightguy
remove entity rtskinhead1
remove entity rtskinhead2
remove entity rtskinhead3
// first shot if hawk running into the camera view in the tunnel
use entity testfade2 // fade in from black to show hawk
use entity endhawk1 // spawns him in
// use entity endcam1 // should turn on the camera
animate entity endhawk1 performing action STD_R_N_PK_N by moving [0, -242, 0] signaling sig1 // shows hawk running towards the camera
wait for all clearing sig1
// third shot of hawk stepping into the frame
use entity endjohn1 // spawns john in for the shot
use entity endhawk1b //spawns the other hawk model in for the shot
wait .1 seconds // NEW CHANGE
remove entity endhawk1 // gets old hawk out
use entity endcam3 // turns on the second shot
move entity endcam3 to [1816, -1882, -476] at 65 speed
move entity endcam3n to [1822, -1874, -476] at 65 speed
animate entity endhawk1b performing action STD_R_N_PK_N by moving [0, -256, 0] // hawk running into this shot
animate entity endjohn1 performing action STD_IETALKPOSE_N_A_N holding for 6.0
wait 1.2 seconds // delay for hawk to stop running
// hawk talking during this shot
animate entity endhawk1b showing emotion EMOTION_TALK holding for 2.5 // Hawks talking animation
animate entity endhawk1b performing action STD_ETALKLEFT_N_A_N holding for .4
animate entity endhawk1b performing action STD_ETALK_N_A_N holding for 2.1
play sound "cin/tsr1/c8d1.adp" for entity endhawk1b at volume 0.9 on channel CHAN_AUTO
print TSR1_C8D1
// "This ones over John .."
wait 2.5 seconds
// 4th shot of them running back up the tracks
use entity endhawk2 // triggers the other endhawk in
use entity endjohn2 // triggers the other end john in
wait .1 seconds // NEW STUFF
use entity endcam3 // shuts the second shut off
remove entity endhawk1b
use entity endcam4 // triggers on that last camera
wait .1 seconds // magic delay for shot
animate entity endhawk2 performing action STD_R_N_PK_N by moving [0, 600, 0]
animate entity endjohn2 performing action STD_R_N_PK_N by moving [0, 600, 0]
play sound "cin/tsr1/c8d2.adp" for entity endjohn2 at volume 0.9 on channel CHAN_AUTO
print TSR1_C8D2
// "Something big has happened" captioned
wait 4 seconds
use entity testfade // triggers the fade out
wait 1.5 seconds
disable cinematics
unload sound "cin/tsr1/c8d1.adp"
unload sound "cin/tsr1/c8d2.adp"
// unload sound "cin/tsr1/c8d3.adp"
unload sound "cin/tsr1/c9d1.adp"
unload sound "cin/tsr1/c9d2.adp"
unload sound "cin/tsr1/c9d3.adp"
// setcvar cvar "scr_blank" to 1.0
setcvar cvar "menu_nextmap" to "tsr2"
run console command "intermission acc2"
// use entity endlevel // starts the next level
exit

View file

@ -0,0 +1,23 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity tunnelsabre // the sabre model the player will see running into the alcove
local int sig1
// this script triggers the explosion that happens at the end of the tunnel
tunnelsabre = find entity with targetname "tunnelsabre"
// play sound "cin/tsr1/c5d2.adp" for entity tunnelsabre at volume 0.9 on channel CHAN_VOICE
animate entity tunnelsabre performing action STD_R_N_PK_N by moving [-504, 0, 0] signaling sig1 // him running into the little alcove
wait for all clearing sig1
animate entity tunnelsabre performing action STD_R_N_PK_N by moving [0, 176, 0] signaling sig1 // him running out of view
wait for all clearing sig1
remove entity tunnelsabre // gets him out of the world

View file

@ -0,0 +1,22 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity endstepsguy1 // first dude who will jump down the stairs
local entity endstepsguy2 // the second guy
endstepsguy1 = find entity with targetname "endstepsguy1"
endstepsguy2 = find entity with targetname "endstepsguy2"
animate entity endstepsguy2 performing action STD_JRUN_FWD_A_A by moving [0, -188, 0] // first guy jumps off the steps
// animate entity endstepsguy1 performing action RUN by moving [-40, 0, 0] // second guy runs towards the steps
// animate entity endstepsguy1 performing action STD_JRUN_FWD_A_A by moving [0, -128, 0] // jumps off the steps
animate entity endstepsguy2 performing action SCRIPT_RELEASE
exit

View file

@ -0,0 +1,25 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
// this script spawns guys in around the corner just in case ghoul is rendering them
local entity endstepsguy1 // first guy
local entity endstepsguy2 // second guy who will jump down the stairs
local entity bstepsguy // the guy walking path corners at the bottom of the stairs
endstepsguy1 = find entity with targetname "endstepsguy1"
endstepsguy2 = find entity with targetname "endstepsguy2"
bstepsguy = find entity with targetname "bstepsguy"
use entity endstepsguy1 // spawns the first guy in
use entity endstepsguy2 // spawns the second guy in.
use entity bstepsguy // spawns the other guy in
animate entity endstepsguy1 performing action SCRIPT_RELEASE
animate entity endstepsguy2 performing action SCRIPT_RELEASE
animate entity bstepsguy performing action SCRIPT_RELEASE

View file

@ -0,0 +1,58 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
#include "tsr1.ds"
// script that controls end stuff falling and rotating in tunnel
local entity endspawner1 // the first spawner at the end
local entity endspawner2 // the second spawner at the end
local entity endrightguy // the guy in the right alcove at the end of the tunnel
local entity endleftguy // the guy in the left alcove at the end of the tunnel
local entity findjohnend
endspawner1 = find entity with targetname "endspawner1"
endspawner2 = find entity with targetname "endspawner2"
endrightguy = find entity with targetname "endrightguy"
endleftguy = find entity with targetname "endleftguy"
findjohnend = find entity player
wait 1 seconds // slight pause to make it sound more natural
// JOHN TALKING TO HAWK OVER THE WALKIE TALKIE
play sound "cin/tsr1/s2d1.adp" for entity findjohnend at volume 0.9 // john talking to hawk
print TSR1_S2D1
// "damn"
use entity endspawner1 // triggers the first endspawner to activate
use entity endspawner2 // triggers the first endspawner to activate
use entity endrightguy // should send these guys to their point combats
use entity endleftguy //
wait 3 seconds
play sound "cin/tsr1/s2d2.adp" for entity findjohnend at volume 0.9 // john talking to hawk
print TSR1_S2D2
// "copy.. look out"
wait 2 seconds
use entity endspawner1 // triggers the first endspawner to activate
use entity endspawner2 // triggers the first endspawner to activate
use entity endrightguy // should send these guys to their point combats
use entity endleftguy //

View file

@ -0,0 +1,33 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
// this script starts the train with skinheads on it running towards the end
local entity rtskinhead1 // the first guy towards the front of the train
local entity rtskinhead2 // the second skinhead towards the back of the train
local entity rtskinhead3 // the third middle guy on the train
local entity skintrain // the train they ride out on
local entity trainplay
rtskinhead1 = find entity with targetname "rtskinhead1"
rtskinhead2 = find entity with targetname "rtskinhead2"
rtskinhead3 = find entity with targetname "rtskinhead3"
skintrain = find entity with targetname "skintrain"
trainplay = find entity with targetname "player"
use entity rtskinhead1 // spawns him in
use entity rtskinhead2 // spawns him in
use entity skintrain // starts the train moving
animate entity rtskinhead1 performing action CCH_A_FWD_MS_2 targeting entity trainplay // holding for 9.0 // crouching firing
animate entity rtskinhead1 performing action SCRIPT_RELEASE
animate entity rtskinhead3 performing action CCH_A_FWD_MS_2 targeting entity trainplay // holding for 9.0 // crouching firing
animate entity rtskinhead3 performing action SCRIPT_RELEASE
animate entity rtskinhead2 performing action CCH_A_FWD_P_2 targeting entity trainplay // holding for 9.0 // crouching firing
animate entity rtskinhead2 performing action SCRIPT_RELEASE

28
Sample/ds/tsr1/gbnyc1.ds Normal file
View file

@ -0,0 +1,28 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
/////////////////////////////////////////////////
// Declare
local entity bloke
local entity inplayer
local int sig
/////////////////////////////////////////////////
// Assign
bloke = find entity with targetname "subway_bloke1"
inplayer = find entity player
/////////////////////////////////////////////////
// Action
play sound "enemy/sk1/tsr1/wake3.wav" for entity inplayer at volume 0.9 on channel CHAN_AUTO
animate entity bloke performing action STD_R_N_PK_N by moving [256,0,0] signaling sig // 336
wait for all clearing sig
// animate entity bloke performing action STD_R_N_PK_N by moving [0,-208,0] signaling sig
// wait for all clearing sig
// animate entity bloke performing action SCRIPT_RELEASE
remove entity bloke
// End

42
Sample/ds/tsr1/gbnyc2.ds Normal file
View file

@ -0,0 +1,42 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
/////////////////////////////////////////////////
// Declare
local entity runningguy // skinhead guy who runs around the corner quickly
local entity deadswatguy1 // the swat guy who will get killed
local entity swatkiller // the guy who will shoot the wounded swatguy
local entity gumball1 // the gumball machine
local int sig1
/////////////////////////////////////////////////
// Assign
runningguy = find entity with targetname "runningguy"
deadswatguy1 = find entity with targetname "deadswatguy1"
swatkiller = find entity with targetname "swatkiller"
gumball1 = find entity with targetname "gumball1"
/////////////////////////////////////////////////
// Action
use entity deadswatguy1 // spawns the dead swatguy
use entity runningguy // spawns the guy in
animate entity swatkiller performing action SCRIPT_RELEASE
use entity gumball1 // makes sure the gumball machine breaks
animate entity deadswatguy1 performing action LB_XLEANUPSHOOT_N_P_N targeting entity swatkiller
animate entity deadswatguy1 performing action SCRIPT_RELEASE
remove entity runningguy // gets him out of the way
// End

78
Sample/ds/tsr1/gbnyc3.ds Normal file
View file

@ -0,0 +1,78 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
/////////////////////////////////////////////////
// Declare
local entity npc_murder // guy getting murdered
local entity npc_killer // the guy who kills him
local entity npc_watcher // the guy just standing there
local entity trackcam1_new // the first camera watching
local int sig1
/////////////////////////////////////////////////
// Assign
npc_murder = find entity with targetname "npc_murder"
npc_killer = find entity with targetname "npc_killer"
npc_watcher = find entity with targetname "npc_watcher"
trackcam1_new = find entity with targetname "trackcam1_new"
/////////////////////////////////////////////////
trackcam1_new.movetype = MOVETYPE_NOCLIP
// Action
/*
use entity npc_murder // spawns the guy who will get murdered in
use entity npc_killer // spawns the guy who will kill him
use entity npc_watcher // spawns the guy next to him in
*/
animate entity npc_murder performing action STD_XAFRAIDSHAKE_N_N_N
play sound "speech/tsr1/npc/eb9-1.adp" for entity npc_murder at volume 0.9
wait .7 seconds
animate entity npc_killer performing action STD_FATTITUDE_N_P_A targeting entity npc_murder kill nulltarget HEAD signaling sig1
wait for all clearing sig1
// murder taking off out of sight
wait 1 seconds
play sound "speech/tsr1/skn/bt9-2.adp" for entity npc_killer at volume 0.9
animate entity npc_killer performing action STD_R_N_PK_N by moving [0, -16, 0]
animate entity npc_watcher performing action STD_R_N_MRS_2 by moving [-112, 0, 0]
animate entity npc_killer performing action STD_R_N_PK_N by moving [-152, 0, 0]
animate entity npc_killer performing action STD_R_N_PK_N by moving [0, -296, 0] // -226
animate entity npc_killer performing action STD_R_N_PK_N by moving [-172, 0, 0] // -226
animate entity npc_watcher performing action STD_R_N_MRS_2 by moving [0, -372, 0] // -382
animate entity npc_watcher performing action STD_R_N_MRS_2 by moving [-172, 0, 0] // -382
wait 7 seconds
remove entity npc_killer
remove entity npc_watcher
wait 2 seconds
play sound "speech/tsr1/skn/bt9-2.adp" for entity npc_killer at volume 0.9

31
Sample/ds/tsr1/gbnyc4.ds Normal file
View file

@ -0,0 +1,31 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
/////////////////////////////////////////////////
// Declare
local entity camroom_door
local entity camroom_hole
local entity openin // the func wall for collision
local int sig1
local int sig2
/////////////////////////////////////////////////
// Assign
camroom_door = find entity with targetname "camroom_door"
camroom_hole = find entity with targetname "camroom_hole"
openin = find entity with targetname "openin"
/////////////////////////////////////////////////
// Action
camroom_hole.movetype = MOVETYPE_NOCLIP
rotate entity camroom_door by [0,-90,0] at 90 speed signaling sig1
rotate entity camroom_hole by [0,-90,0] at 90 speed signaling sig2
wait for all clearing sig1,sig2
use entity openin
camroom_hole.movetype = MOVETYPE_NONE
// End

46
Sample/ds/tsr1/gbnyc5.ds Normal file
View file

@ -0,0 +1,46 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
/////////////////////////////////////////////////
// Declare
local entity camroom_door
local entity camroom_hole
local entity camroom_guys
local entity sparks1 // the spark gen by the fusebox
local entity right // the monitor towards the right
local entity backwall // the monitor by the back wall
local entity camdoorkicker // the guy who will actually kick the door open
local entity openin
local int sig1
local int sig2
/////////////////////////////////////////////////
// Assign
camroom_door = find entity with targetname "camroom_door"
camroom_hole = find entity with targetname "camroom_hole"
camroom_guys = find entity with targetname "camroom_guys"
sparks1 = find entity with targetname "sparks1"
right = find entity with targetname "right"
backwall = find entity with targetname "backwall"
camdoorkicker = find entity with targetname "camdoorkicker"
openin = find entity with targetname "openin"
/////////////////////////////////////////////////
// Action
camroom_hole.movetype = MOVETYPE_NOCLIP
rotate entity camroom_door by [0,90,0] at 155 speed signaling sig1
rotate entity camroom_hole by [0,90,0] at 155 speed signaling sig2
wait for all clearing sig1,sig2
use entity openin // should set this off because it had to be on already
use entity camdoorkicker //spawns the guy who will actually kick the door in
use entity camdoorkicker // sends him to his point combat
use entity camroom_guys // spawns the guys in
play sound "Speech/tsr1/skn/bt9-1.adp" for entity camdoorkicker at volume 0.9
// animate entity camdoorkicker performing action STD_R_N_PK_N by moving [0, 512, 0] // moves him towards the door 256

45
Sample/ds/tsr1/gbnyc5b.ds Normal file
View file

@ -0,0 +1,45 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity camroom_door
local entity camroom_hole
local entity camdoorkicker // the guy who will actually kick the door open
local entity kickedopen // the func wall clip brush that is collision for when it is kicked open
local entity playerpush
local int sig1
camroom_door = find entity with targetname "camroom_door"
camroom_hole = find entity with targetname "camroom_hole"
camdoorkicker = find entity with targetname "camdoorkicker"
kickedopen = find entity with targetname "kickedopen"
playerpush = find entity with targetname "playerpush"
camroom_hole.movetype = MOVETYPE_NOCLIP
if camdoorkicker.health <= 0
exit
endif
use entity camroom_hole
animate entity camdoorkicker performing action STD_XKICKDOOR_N_A_A // plays the actual kicking animation
animate entity camdoorkicker performing action SCRIPT_RELEASE // lets him go from the script
camroom_door.health = 0
moverotate entity camroom_door from file "generic_door_cw.rof" signaling sig1
play sound "impact/vending/kick.wav" for entity camroom_door at volume 0.9
use entity playerpush
wait .5 seconds
use entity playerpush
use entity kickedopen // spawns the func wall in for clipping
wait for all clearing sig1
// End

100
Sample/ds/tsr1/gbnyc6.ds Normal file
View file

@ -0,0 +1,100 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
/////////////////////////////////////////////////
// Declare
local entity stall1
local entity stall2
local entity new_kick_stall // the new stall kick that Brian wanted in
local entity new_kick_stall_push // push brush that will simulate force when the door is kicked open
local entity backbystairs // trigger that needs to be hit when leaving ladies room
local entity lstallguy1 // the first guy in the ladies room stall
local entity lstallguy2 // the sec guy in the ladies rooms stall
local entity lstallguy3 // the newest guy in the stall sequence
local entity setup // this sets up the ambush on the way out
local entity stallshooter // the guy who will shoot the stall on the way out
local entity originalwall // the func_wall clean version stall that needs to be taken out for the ambush
local entity raf_clipdoor // the func wall clip brush for the bathroom door
local entity new_clip_stall // the clip brush func wall that will provide collision for when the door is kicked open
local int sig1
local int sig2
/////////////////////////////////////////////////
// Assign
stall1 = find entity with targetname "stall1"
stall2 = find entity with targetname "stall2"
new_kick_stall = find entity with targetname "new_kick_stall"
new_kick_stall_push = find entity with targetname "new_kick_stall_push"
backbystairs = find entity with targetname "backbystairs"
lstallguy1 = find entity with targetname "lstallguy1"
lstallguy2 = find entity with targetname "lstallguy2"
lstallguy3 = find entity with targetname "lstallguy3"
stallshooter = find entity with targetname "stallshooter"
setup = find entity with targetname "setup"
originalwall = find entity with targetname "originalwall"
raf_clipdoor = find entity with targetname "raf_clipdoor"
new_clip_stall = find entity with targetname "new_clip_stall"
/////////////////////////////////////////////////
// Action
// THE FIRST STALL GUY
if lstallguy1.health > 0
animate entity lstallguy1 performing action STD_XKICKDOOR_N_A_A // signaling sig1
wait .25 seconds // mmm the magic delay
moverotate entity stall1 from file "gbnyc_stall.rof"// signaling sig2
play sound "impact/door/kickdoor.wav" for entity stall1 at volume 0.9
// wait 0.5 seconds
//wait for all clearing sig1, sig2
animate entity lstallguy1 performing action STD_R_N_MRS_2 by moving [-64, 0, 0]
animate entity lstallguy1 performing action SCRIPT_RELEASE
endif
// THE SECOND STALL GUY
if lstallguy2.health > 0
animate entity lstallguy2 performing action STD_XKICKDOOR_N_A_A //signaling sig1
wait .25 seconds
moverotate entity stall2 from file "generic_door_cw.rof" //signaling sig2
play sound "impact/door/kickdoor.wav" for entity stall2 at volume 0.9
use entity new_clip_stall // triggers the funcwall in for clipping
//wait for all clearing sig1, sig2
animate entity lstallguy2 performing action STD_R_N_MRS_2 by moving [-64, 0, 0]
animate entity lstallguy2 performing action SCRIPT_RELEASE
// use entity backbystairs
endif
wait 1 seconds // stall for the last guy to kick the stall
// THE THIRD STALL GUY
if lstallguy3.health > 0
animate entity lstallguy3 performing action STD_XKICKDOOR_N_A_A //signaling sig1
wait .25 seconds
use entity new_kick_stall_push // triggers the push brush
wait .2 seconds
use entity new_kick_stall_push // shuts the stall push brush off
moverotate entity new_kick_stall from file "generic_door_ccw.rof" //signaling sig2
use entity raf_clipdoor // triggers the clip hull in
play sound "impact/door/kickdoor.wav" for entity stall2 at volume 0.9
//wait for all clearing sig1, sig2
animate entity lstallguy3 performing action STD_R_N_MRS_2 by moving [64, 0, 0]
animate entity lstallguy3 performing action SCRIPT_RELEASE
endif
use entity setup // activates the trigger for the stall shooting guy
use entity stallshooter // spawns the skinhead in behind the front partition
// use entity originalwall // this should remove the func_wall
animate entity stallshooter performing action SCRIPT_RELEASE
// End

15
Sample/ds/tsr1/health.ds Normal file
View file

@ -0,0 +1,15 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
parameter entity health_door // the door that rotates up
parameter entity health_button // the button that needs to switch textures
use entity health_door // triggers this so it opens
\wait 1.5 seconds
use entity health_button // switches the button texture by using it

51
Sample/ds/tsr1/hostage.ds Normal file
View file

@ -0,0 +1,51 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
#include "tsr1.ds"
local entity hostage1 // the hostage on the ground
local entity badguy1 // the guy kicking the hostage
local entity host_count // the hostage counter for how many hostage events the player has seen
hostage1 = find entity with targetname "hostage1"
badguy1 = find entity with targetname "badguy1"
host_count = find entity with targetname "host_count"
on badguy1.health < 100 goto release_badguy1
animate entity badguy1 performing action STD_MKICKLOW_N_A_A // the first kick to the hostage
play sound "speech/tsr1/npc/eb9-3.adp" for entity badguy1 at volume 0.9
wait 1 seconds
label release
animate entity badguy1 performing action SCRIPT_RELEASE
animate entity hostage1 performing action SCRIPT_RELEASE
host_count.health += 1 // sets the hostage counter up by 1
exit
label release_badguy1
reset ai for entity badguy1
goto release

59
Sample/ds/tsr1/intoken.ds Normal file
View file

@ -0,0 +1,59 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
// this is the script triggered when the player enters the token booth through the glass
local entity tokentv // the tv thing in the token booth
local entity tvthing // the other tvthing in the token booth
local entity roundguy // the skinhead that will spawn round the corner shooting at the player entering
local entity tokvictim // the guy who will run past the token booth
local entity tokchaser // the guy following him
local entity tollguy // the guy by the token machines
local entity outtoken // the trigger for leaving the token booth
local entity host_count // the hostage counter for how many hostage events the player has seen
local int sig1
tokentv = find entity with targetname "tokentv"
tvthing = find entity with targetname "tvthing"
roundguy = find entity with targetname "roundguy"
tokvictim = find entity with targetname "tokvictim"
tokchaser = find entity with targetname "tokchaser"
tollguy = find entity with targetname "tollguy"
outtoken = find entity with targetname "outtoken"
host_count = find entity with targetname "host_count"
use entity roundguy // spawns the guy in
animate entity roundguy performing action SCRIPT_RELEASE
use entity outtoken // sets this trigger active
use entity tokvictim // spawns the first running guy in
host_count.health += 1 // sets the hostage counter up by 1
use entity tokchaser // spawns the guy chasing him
animate entity tokchaser performing action STD_R_N_PK_N by moving [156, 0, 0]
animate entity tokchaser performing action STD_R_N_PK_N by moving [0, -64, 0] signaling sig1
wait for all clearing sig1
animate entity tokchaser performing action SCRIPT_RELEASE
use entity tollguy // spawns the guy around the corner in
animate entity tollguy performing action SCRIPT_RELEASE
exit

View file

@ -0,0 +1,15 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
// This is a custom death script called for the hostage murdered in the cinematic
local entity introhostage1 // the hostage who will be killed
introhostage1 = find entity with targetname "introhostage1"
animate entity introhostage1 performing action CCH_SONKNEES_2FRNT_N_N // the hostage getting shot and slumping to the ground
// exit

View file

@ -0,0 +1,20 @@
// template file for newyork directory
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity istairsguy
local entity sneak
istairsguy = find entity with targetname "istairsguy"
sneak = find entity player
// use entity istairsguy // spawns the guy in at the bottom of the steps
// animate entity istairsguy performing action RUN by moving to [-488, 1576, -104]
// animate entity istairsguy performing action STD_FCORNERPEAK_RT_P_A by turning to [100, -500, 150] targeting entity sneak // this is him peeking around the corner firing
animate entity istairsguy performing action STD_FCORNERPEAK_RT_P_A targeting entity sneak // this is him peeking around the corner firing
animate entity istairsguy performing action SCRIPT_RELEASE

View file

@ -0,0 +1,58 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
// this script is the ladies room hostage scene
local entity lbadguy1 // the guy hitting the hostage
local entity lhostage // the second script that will run if the guy gets hit
local entity host_count // the hostage counter for how many hostage events the player has seen
local int sig1
local int sig2
lbadguy1 = find entity with targetname "lbadguy1"
lhostage = find entity with targetname "lhostage"
host_count = find entity with targetname "host_count"
host_count.health += 1 // sets the hostage counter up by 1
on lbadguy1.health < 100 goto wm_release
animate entity lbadguy1 performing action STD_MPISTOLWHIP_N_P_N signaling sig1
if lbadguy1.health < 100
goto wm_release
endif
play sound "speech/tsr1/skn/bt9-3.adp" for entity lbadguy1 at volume 0.9
wait for all clearing sig1
// use entity lhostageb // fires off the second script if he got this far
if lhostage.health > 0
animate entity lhostage performing action CCH_XONKNEES_N_N_N
play sound "speech/tsr1/npc/eb9-6.adp" for entity lhostage at volume 0.9
animate entity lhostage performing action CCH_SONKNEES_2FRNT_N_N
endif
label wm_release
reset ai for entity lbadguy1
animate entity lbadguy1 performing action SCRIPT_RELEASE

View file

@ -0,0 +1,31 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity lhostage // the guy who will get pistol whipped
local entity lbadguy1 // the guy who does the pistol whip
local int health
lhostage = find entity with targetname "lhostage"
lbadguy1 = find entity with targetname "lbadguy1"
health = lbadguy1.health
if health > 0
animate entity lhostage performing action CCH_XONKNEES_N_N_N
play sound "speech/tsr1/npc/eb9-6.adp" for entity lhostage at volume 0.9
animate entity lhostage performing action CCH_SONKNEES_2FRNT_N_N
endif
animate entity lhostage performing action SCRIPT_RELEASE

View file

@ -0,0 +1,28 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
// this script makes punk guys on the lower level run around the corner and attack the player
local entity lower_punk1
local entity lower_punk2
lower_punk1 = find entity with targetname "lower_punk1"
lower_punk2 = find entity with targetname "lower_punk2"
use entity lower_punk1 // spawns this guy in
use entity lower_punk2 // spawns him in
use entity lower_punk1 // sends this guy to his point combat
use entity lower_punk2 // sends this guy to his point combat
exit

View file

@ -0,0 +1,43 @@
// template file for newyork directory
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity mstalldoor1 // the stall door that flys off
local entity stallguym // the guy in the far stall
local entity sinkguy // the guy standing by the sink who yells
local entity pissguy // the guy taking a leak
local int sig1
local int sig2
mstalldoor1 = find entity with targetname "mstalldoor1"
stallguym = find entity with targetname "stallguym"
sinkguy = find entity with targetname "sinkguy"
pissguy = find entity with targetname "pissguy"
// mstalldoor1.movetype = MOVETYPE_NOCLIP
animate entity stallguym performing action STD_XKICKDOOR_N_A_A // signaling sig1 // the kicking door animation
play sound "speech/tsr1/skn/bt9-6.adp" for entity sinkguy at volume 0.9
wait .25 seconds
moverotate entity mstalldoor1 from file "stall_door_1.rof" // signaling sig2 // the door getting kicked
play sound "impact/door/kickdoor.wav" for entity mstalldoor1 at volume 0.9
// wait for all clearing sig1, sig2
animate entity stallguym performing action RUN by moving [-64, 0, 0]
animate entity stallguym performing action RUN by moving [0, -64, 0] // moves him forwards to try and get him out of the way of the stall
use entity pissguy // gets this guy moving
animate entity stallguym performing action SCRIPT_RELEASE
animate entity sinkguy performing action SCRIPT_RELEASE
animate entity pissguy performing action SCRIPT_RELEASE
exit

37
Sample/ds/tsr1/npc1.ds Normal file
View file

@ -0,0 +1,37 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
// the script is the first npc getting murdered
local entity victim1 // the person who dodges from the alcove
local entity chaser1 // the guy who will wind up chasing him
local entity host_count //
local int chaser_health // the health of the chaser guy
local int sig1
local int sig2
victim1 = find entity with targetname "victim1"
chaser1 = find entity with targetname "chaser1"
host_count = find entity with targetname "host_count"
on chaser1.health < 100 goto chaserhit
animate entity chaser1 performing action STD_XYELLATYOU_N_A_A // chaser guys yelling at the hostage
play sound "Speech/TSR1/SKN/BT9-3.adp" for entity chaser1 on channel CHAN_VOICE at volume 0.9
animate entity chaser1 performing action STD_F_FWD_P_2 targeting entity victim1
animate entity chaser1 performing action SCRIPT_RELEASE
play sound "speech/tsr1/npc/eb9-2.adp" for entity victim1 at volume 0.9
suspend
label chaserhit
animate entity chaser1 performing action SCRIPT_RELEASE
animate entity victim1 performing action SCRIPT_RELEASE
reset ai for entity chaser1 // fancy new command
exit

18
Sample/ds/tsr1/npc1set.ds Normal file
View file

@ -0,0 +1,18 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity victim1 // the person who dodges from the alcove
local entity chaser1 // the guy who will wind up chasing him
victim1 = find entity with targetname "victim1"
chaser1 = find entity with targetname "chaser1"
use entity victim1 // spawns these guys in out of view
use entity chaser1

807
Sample/ds/tsr1/nycintro.ds Normal file
View file

@ -0,0 +1,807 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
#include "tsr1.ds"
// redo of the nyc intro script, this is the first crane camera shot
// first shot entities
local entity introcam1 // the first camera looking down on the street
local entity introcam1n // the first cameras null
local entity walkingswatguy // the guy who will walk in the first shot
local entity intro4 // the second script runner that will trigger shot2 of the intro
local entity introhawk // the merc character in this shot
local entity introhawkb // the merc character in this shot
local entity introjohn // the merc character in this shot
local entity introjohnb // the merc character in this shot
local entity introswat3 // the guy back under the train bridge
local entity copcar1 // the slanted copcar in the middle of the street
local entity newcam1 // the new close up cam of john for the last couple of shots
local entity newcam2 // the cam for hawk close up
local entity newcam1n
local entity newcam2n
local entity t121 // the sound trigger for the first ambient set
// stuff for second shot
local entity introdeadswat // the swat guy who will get murdered
local entity introswatkiller // the guy who will kill him
local entity introswatcam // the camera showing the swat guy murdered
local entity introswatcamn // the cameras null
local entity intro3 // the cut to the shot back on the street
local entity introcam6 // other cut around the conversation
local entity introcam6n // the cams null
local entity swatleader // the swat guy leader
local entity introltrain // the l train that will fly by
// stuff for third shot
local entity introcam4 // the camera
local entity introcam4n // the third cameras null
// stuff for 4th shot
local entity sabre1 // skinhead boss who will shoot the hostages
local entity walkinguy // skinhead who will walk in the shot
local entity introcam2 // the camera which will shoot this shot
local entity introcam2n // the cameras null in case we want to move it
local entity introhostage1 // the hostage to the left of sabre in the intro
local entity introhostage2 // the second hostage
local entity introcam3 // the close up camera shot of Sabre
local entity introcam3n // the close up cameras null
local entity introcam7 // the other new shot of the hostage murder
local entity introcam7a // the other new shot of the hostage murder SM
local entity introcam7n // the above cameras null
local entity lastcam1 // the last close up shot of them in this cinematic
local entity lastcam1n // the last cameras null
local entity lastcam2 // the camera at the bottom of the stairs
local entity lastcam2n // the stair cams null
local entity lastjohn // the john by the stairs
local entity lasthawk // the hawk at the top of the stairs
local entity lastswatleader // the last swatleader that appears in the shot with hawk
local entity runguy // the script runner that starts the ecto running at the bottom of the stairs
local entity show_objectives // the objective thing that needs to be turned on after the intro runs
//sm addition
local entity finaltrain //train in final camera
local entity gunshots //gunshots the swat members hear
local entity tsr1fadeout // the fade out for the cinematic transition MADE BY JERSEY
local entity tsr1fadein // the fade in when the player starts in 1st person MADE BY JERSEY
local int sig1
local int sig2
// cache stuff
cache roff "tsr1_introcam1_ren.rof" // changes made by jersey
cache roff "tsr1_introcam1t_ren.rof"
/*
cache sound "cin/tsr1/c3d1.adp"
cache sound "cin/tsr1/c3d2.adp"
cache sound "cin/tsr1/c4d1.adp"
cache sound "cin/tsr1/c5d1.adp"
cache sound "cin/tsr1/c5d2.adp"
cache sound "cin/tsr1/c6d1.adp"
cache sound "cin/tsr1/c6d2.adp"
cache sound "cin/tsr1/c6d3.adp"
cache sound "cin/tsr1/c6d4.adp"
*/
introcam1 = find entity with targetname "introcam1"
//turns on 1st camera
enable cinematics
use entity introcam1// turns on the camera
introcam1n = find entity with targetname "introcam1n"
walkingswatguy = find entity with targetname "walkingswatguy"
intro4 = find entity with targetname "intro4"
introhawk = find entity with targetname "introhawk"
introhawkb = find entity with targetname "introhawkb"
introjohn = find entity with targetname "introjohn"
introjohnb = find entity with targetname "introjohnb"
introltrain = find entity with targetname "introltrain"
copcar1 = find entity with targetname "copcar1"
newcam1 = find entity with targetname "newcam1"
newcam1n = find entity with targetname "newcam1n"
newcam2 = find entity with targetname "newcam2"
newcam2n = find entity with targetname "newcam2n"
introswat3 = find entity with targetname "introswat3"
introdeadswat = find entity with targetname "introdeadswat"
introswatkiller = find entity with targetname "introswatkiller"
introswatcam = find entity with targetname "introswatcam"
introswatcamn = find entity with targetname "introswatcamn"
intro3 = find entity with targetname "intro3"
introcam6 = find entity with targetname "introcam6"
introcam6n = find entity with targetname "introcam6n"
swatleader = find entity with targetname "swatleader"
introcam4 = find entity with targetname "introcam4"
introcam4n = find entity with targetname "introcam4n"
sabre1 = find entity with targetname "sabre1"
walkinguy = find entity with targetname "walkinguy"
introcam2 = find entity with targetname "introcam2"
introcam2n = find entity with targetname "introcam2n"
introcam3 = find entity with targetname "introcam3"
introcam3n = find entity with targetname "introcam3n"
introhostage1 = find entity with targetname "introhostage1"
introhostage2 = find entity with targetname "introhostage2"
introcam7 = find entity with targetname "introcam7"
introcam7a = find entity with targetname "introcam7a"
introcam7n = find entity with targetname "introcam7n"
lastcam1 = find entity with targetname "lastcam1"
lastcam1n = find entity with targetname "lastcam1n"
lastcam2 = find entity with targetname "lastcam2"
lastcam2n = find entity with targetname "lastcam2n"
lastjohn = find entity with targetname "lastjohn"
lasthawk = find entity with targetname "lasthawk"
lastswatleader = find entity with targetname "lastswatleader"
runguy = find entity with targetname "runguy"
tsr1fadeout = find entity with targetname "tsr1fadeout" // MADE BY JERSEY
tsr1fadein = find entity with targetname "tsr1fadein"// MADE BY JERSEY
//sm addition
finaltrain = find entity with targetname "finaltrain" //train
gunshots = find entity with targetname "gunshots" //gunshots the swat members hear
show_objectives = find entity with targetname "show_objectives"
t121 = find entity with targetname "t121"
//introcam1.movetype = MOVETYPE_NOCLIP
//introcam1n.movetype = MOVETYPE_NOCLIP
introswatcam.movetype = MOVETYPE_NOCLIP
introswatcamn.movetype = MOVETYPE_NOCLIP
introcam4.movetype = MOVETYPE_NOCLIP
introcam4n.movetype = MOVETYPE_NOCLIP
introcam2.movetype = MOVETYPE_NOCLIP
introcam2n.movetype = MOVETYPE_NOCLIP
introcam3.movetype = MOVETYPE_NOCLIP
introcam3n.movetype = MOVETYPE_NOCLIP
introcam7.movetype = MOVETYPE_NOCLIP
introcam7n.movetype = MOVETYPE_NOCLIP
lastcam1.movetype = MOVETYPE_NOCLIP
lastcam1n.movetype = MOVETYPE_NOCLIP
lastcam2.movetype = MOVETYPE_NOCLIP
lastcam2n.movetype = MOVETYPE_NOCLIP
newcam1.movetype = MOVETYPE_NOCLIP
newcam1n.movetype = MOVETYPE_NOCLIP
newcam2.movetype = MOVETYPE_NOCLIP
newcam2n.movetype = MOVETYPE_NOCLIP
//
// FIRST SWEEPING SHOT OUTSIDE LEADS TO FIRST CONVERSATION
//
//TSR1_ACTIVISION
//TSR1_RAVEN
//TSR1_SOF
// Use the first camera- this will be the fly-by and the intro credits.
//use entity introcam1// turns on the camera
playsong 1
// use entity t121 // should start the intro sound set
print TSR1_INTRO // added by jersey
moverotate entity introcam1 from file "tsr1_introcam1_ren.rof" // starts the fly-by for the camera // CHANGES MADE BY JERSEY :)
moverotate entity introcam1n from file "tsr1_introcam1t_ren.rof" // starts the fly-by for the target
wait 2 seconds
//print ACTIVISION for 1st camera
print TSR1_ACTIVISION
wait 1 seconds
animate entity walkingswatguy performing action STD_WNORMAL_N_PK_A by moving [0, -148, 0] // Starts the moving SWAT guy walking forward
wait 1.25 seconds
use entity introltrain // makes the train run across the bridge
wait 2 seconds
//eric biessman is a god
//
// This is the faked conversation at the beginning of the intro
//
animate entity swatleader performing action STD_IETALKPOSE_N_A_N holding for 2.2 // wait while the walking SWAT guy talks
animate entity walkingswatguy performing action STD_ETALKBOTH_N_A_N // talks for 1.5 seconds
animate entity walkingswatguy performing action STD_ETALKLEFT_N_A_N
animate entity walkingswatguy performing action STD_ETALKBOTH_N_A_N
animate entity walkingswatguy performing action STD_IETALKPOSE_N_A_N holding for 3.1 // wait while the SWAT Leader talks
animate entity swatleader performing action STD_ETALKLEFT_N_A_N // talks for 3.1 seconds
animate entity swatleader performing action STD_ETALKLEFT_N_A_N
animate entity swatleader performing action STD_ETALKBOTH_N_A_N
animate entity swatleader performing action STD_ETALKLEFT_N_A_N
animate entity swatleader performing action STD_IETALKPOSE_N_A_N holding for 4.1 // wait while the walking SWAT guy talks
animate entity walkingswatguy performing action STD_ETALKBOTH_N_A_N // talks for 4.1 seconds
animate entity walkingswatguy performing action STD_ETALK_N_A_N
animate entity walkingswatguy performing action STD_ETALKLEFT_N_A_N
animate entity walkingswatguy performing action STD_IETALKPOSE_N_A_N holding for 4.8 // wait while the SWAT Leader talks
animate entity swatleader performing action STD_ETALKBOTH_N_A_N // talks for 4.8 seconds
animate entity swatleader performing action STD_ETALKLEFT_N_A_N
animate entity swatleader performing action STD_ETALK_N_A_N
animate entity swatleader performing action STD_ETALKBOTH_N_A_N
//wait 1 seconds //was 5 before I added text
//print RAVEN SOFTWARE for 1st camera
print TSR1_RAVEN
wait 3 seconds
//print SOLDIER OF FORTUNE for 1st camera
print TSR1_SOF
wait 3 seconds
//print
print TSR1_ONE
//wait 10.8 seconds
wait 3 seconds
print TSR1_TWO
wait 3 seconds
print TSR1_THREE
wait 3 seconds
print TSR1_FOUR
wait 3 seconds
//
// The conversation ends
//
animate entity walkingswatguy performing action STD_WNORMAL_N_PK_A by moving [0, 212, 0] // Move the first walking SWAT guy away
wait .45 seconds
remove entity introltrain // once the train is out of the camera's view, it is removed
animate entity introjohn performing action STD_IETALKPOSE_N_A_N holding for 3.4 // 5.9standard talking pose, needs to hold it until he speaks
animate entity introhawk performing action STD_IETALKPOSE_N_A_N holding for 3.4 // standard talking pose, never needs to come out of it
animate entity walkingswatguy performing action STD_WNORMAL_N_PK_A by moving [-20, 24, 0] // Move the first walking SWAT guy away
animate entity swatleader performing action STD_WNORMAL_N_PK_A by moving [-88, 0, 0] signaling sig1// SWAT Leader walks into view (was -96)
wait for all clearing sig1
swatleader.angles = [0, 200, 0]
//////////////////////////////////////////////////////////
// SECOND CAMERA SHOT: TRANSITION BEHIND SWAT LEADER
//////////////////////////////////////////////////////////
//SM ADDITION
use entity introcam1 // turns the first camera off to switch to the second camera
use entity introcam6 // turns the camera on
//
animate entity swatleader showing emotion EMOTION_TALK holding for 3.4 // start the SWAT leader's face animating
animate entity swatleader performing action STD_ETALK_N_A_N holding for 3.0 // Does the normal talk anim for the first three seconds of the speech
animate entity swatleader performing action STD_ETALKLEFT_N_A_N holding for .4 // finishes with a different animation
wait .1 seconds
//
// SWAT talks to John and Hawk: 3.4 seconds long. Start the sound here and print the subtitle
//
play sound "cin/tsr1/c3d1.adp" for entity swatleader at volume 0.9 on channel CHAN_AUTO
print TSR1_C3D1 // "SWAT: This isn't a military operation, I can't let you boys go down there."
wait 3.3 seconds // holds the script while the SWAT leader talks
//gunshots go off
play sound "weapons/dpistol/fire.wav" for entity gunshots at volume 0.9 on channel CHAN_NO_PHS_ADD
wait .4 seconds
//reaction to the gunshots heard
animate entity introjohn performing action STD_XSTARTLED_N_A_A
wait .1 seconds
animate entity swatleader performing action STD_IALERTTRN_LT_P_N
wait .2 seconds
animate entity introhawk performing action STD_XSTARTLED_N_A_A
//////////////////////
//stuff for next shot
//////////////////////
//more gunshots go off
play sound "weapons/dpistol/fire.wav" for entity gunshots at volume 0.9 on channel CHAN_NO_PHS_ADD
wait .4 seconds
play sound "weapons/dpistol/fire.wav" for entity gunshots at volume 0.9 on channel CHAN_NO_PHS_ADD
wait .3 seconds
remove entity walkingswatguy // removes the walking SWAT guy when he is out of frame
remove entity introswat3 // removes the standing SWAT guy when he is out of frame
//spawns baddie that guns down swat member in next sequence
use entity introswatkiller
///////////////////
//turns off camera
///////////////////
use entity introcam6
////////////////////////////////////////////////////////////////
// THIRD CAMERA SHOT: Hate gang member guns down the SWAT guy
////////////////////////////////////////////////////////////////
//turns on camera
use entity introswatcam // turn the correct camera on
move entity introswatcam by [-55, 20, 0] at 12 speed // Dollies the camera to the left, revealing the gang member running in
//baddie runs around corner
animate entity introswatkiller performing action STD_R_N_PK_N by moving to [260,1432,-152] // the hate gang member runs around the corner[240,1432,-152]
animate entity introswatkiller performing action STD_R_N_PK_N by moving to [284,1376,-152] // Continues to run up to the SWAT guy[264,1376,-152]
//baddie runs up behind swat member
animate entity introswatkiller performing action STD_R_N_PK_N by moving [0,-205,0] // Runs behind the SWAT guy (was 174)
//swat member walks forward towards camera
animate entity introdeadswat performing action STD_WAIM_FWD_P_2 by moving [0,-152,0]
animate entity introdeadswat performing action STD_XSTARTLED_N_A_A
//swat member gets shot in the head
animate entity introswatkiller performing action STD_FATTITUDE_N_P_A targeting entity introdeadswat kill nulltarget HEAD // Shoots the SWAT guy
wait .7 seconds
print TSR1_FIVE
wait 1.3 seconds
//baddie walks over and fires more shots in dead swat member
animate entity introswatkiller performing action STD_WATTITUDE_N_PK_A by moving [8,-64,0] signaling sig1 // Moves up to the body was 20,-48,0
wait for all clearing sig1
animate entity introswatkiller performing action STD_FVIOLENT_DWN_P_N targeting entity introdeadswat kill nulltarget HEAD holding for 6.0// fires a couple of extra rounds for good measure
wait 1.0 seconds
print TSR1_SIX
wait 3 seconds
//turns off camera
use entity introswatcam // shuts this scene's camera off
//clean up
remove entity introdeadswat // removes the body when it is out of camera shot
remove entity introswatkiller // removes the gang member when it is out of camera shot
//////////////////////////////////////////////////////////////////////////
//CAMERA SHOT: JOHN YELLS Doesn't sound like you have a choice, Captain
//////////////////////////////////////////////////////////////////////////
///////////////////
//turns on camera
///////////////////
use entity introcam6
//////////////
//
//////////////
wait .1 seconds // waits for the SWAT leader to finish talking
animate entity swatleader performing action STD_IETALKPOSE_N_A_N //holding for 4.0 // Put the swatleader into a talk stance
animate entity introjohn showing emotion EMOTION_TALK holding for 1.8 // begin to make John's face animate
animate entity introjohn performing action STD_ETALKLEFT_N_A_N holding for .8 // run the animation for the talking
animate entity introjohn performing action STD_ETALK_N_A_N holding for 1.0 // add some spice to the animation
wait .5 seconds // Match the voice with the talking (was .25)
use entity introdeadswat // spawns this enemy for the next shot
use entity introswatkiller // spawns this SWAT guy for the next shot
//animate entity introswatkiller performing action STD_R_N_PK_N by moving to [240, 1432, -152] // the hate gang member runs around the corner
//animate entity introswatkiller performing action STD_R_N_PK_N by moving to [264, 1376, -152] // Continues to run up to the SWAT guy //
//
// John talks to the SWAT leader: 1.8 seconds long.
//
play sound "cin/tsr1/c3d2.adp" for entity introjohn at volume 0.9 on channel CHAN_AUTO
print TSR1_C3D2 // "JOHN: Doesn't sound like you have a choice, Captain."
animate entity introjohn performing action STD_IETALKPOSE_N_A_N holding for 5.0// goes back to his ready-to-talk pose
//swat leader talks
//animate entity swatleader showing emotion EMOTION_TALK //holding for 7.1
wait 2.0 seconds // cuts to next camera before John finishes talking 2.0
//set up stuff for the next shot
use entity introjohnb // Spawns the john model for the next camera shot
use entity introhawkb // Spawns the hawk model for the next camera shot
//
introjohnb.movetype = MOVETYPE_NOCLIP
animate entity introjohnb performing action STD_IETALKPOSE_RT_A_N holding for 6.0 // Sets the John model into his talk stance
animate entity introhawkb performing action STD_IETALKPOSE_N_A_N holding for 6.0 // Sets the Hawk model into his talk stance
/////////////////////////////////////////////////////////////////////////////////////////////////
// FOURTH CAMERA SHOT: Back to the outside where the SWAT leader tells John and Hawk to go on in
/////////////////////////////////////////////////////////////////////////////////////////////////
wait .1 seconds
///////////////////
//turns off camera
///////////////////
use entity introcam6 // turns the outside camera off
remove entity introjohn // removes this John model from the game when it is out of camera shot
remove entity introhawk // removes this Hawk model from the game when it is out of camera shot
//swat leader talks
animate entity swatleader showing emotion EMOTION_TALK
use entity introcam4 // turns on the camera
wait .1 seconds //wait (so sound will work)
//animate entity swatleader showing emotion EMOTION_TALK
//
// SWAT talks to John and tells him that he knows the leader's name: 5 seconds long
//
play sound "cin/tsr1/c4d1.adp" for entity swatleader at volume 0.9 on channel CHAN_AUTO
print TSR1_C4D1 // "SWAT: All right, you win. We know the leader's name."
animate entity swatleader performing action STD_EHEADSHAKE_N_A_N holding for 2.0
animate entity swatleader performing action STD_ETALK_N_A_N holding for 2.6
animate entity swatleader performing action STD_ETALKLEFT_N_A_N holding for .4
animate entity swatleader performing action STD_IETALKPOSE_N_A_N holding for 1.0
wait 0.9 seconds // Weird delay for no reason
use entity sabre1 // Spawn the enemy for the next camera shot
use entity introhostage1 // Spawn the hostage for the next camera shot
use entity introhostage2 // Spawn the hostage for the next camera shot
use entity walkinguy // Spawn the enemy for the next camera shot
wait 3.8 seconds
////////////////////////////////////////////////////////////////////////////
// FIFTH CAMERA SHOT: Sabre and gang member are angry and kill a hostage
////////////////////////////////////////////////////////////////////////////
animate entity walkinguy performing action STD_IETALKPOSE_N_A_N holding for 0.1 // get the scared gang member in his talk pose
animate entity sabre1 performing action STD_IETALKPOSE_N_A_N holding for 3.1 // Make Sabre look menacing
wait .1 seconds
use entity introcam4 // turns off the previous camera
remove entity swatleader // Removes the SWAT leader from the game
remove entity introjohnb // Removes the John model from the shot
remove entity introhawkb // Removes the Hawk model from the shot
remove entity copcar1 // removes this out of the way so another hawk model doesnt get caught on it
use entity introcam7 // turns on the camera
wait .1 seconds //wait (so sound will work)
//print TSR1_SEVEN
animate entity walkinguy performing action STD_EHEADSHAKE_N_A_N repeating for 2 times // Skinhead talking to Sabre
animate entity walkinguy performing action STD_ETALKBOTH_N_A_N repeating for 1 times
animate entity walkinguy performing action STD_ETALK_N_A_N holding for 1.0
//
// The Gang Member yells at Sabre: 2.7 seconds long
//
play sound "cin/tsr1/c5d1.adp" for entity walkinguy at volume 0.9 on channel CHAN_AUTO // the skinhead guy panics
print TSR1_C5D1 // "GANG MEMBER: Sabre! We gotta,,,"
wait .3 seconds
print TSR1_SEVEN
//wait 1.6 seconds
wait 1.3 seconds
animate entity walkinguy performing action STD_IETALKPOSE_N_A_N holding for 2.0
animate entity sabre1 showing emotion EMOTION_TALKANGRY holding for 3.2 //3.5
wait .7 seconds // The delay for angry Sabre's face to start animating with the speaking
animate entity sabre1 performing action STD_ETALK_N_A_N holding for 3.5 // Sabre talking, angry
use entity introcam7 // turns off the camera
////////////////////////////////////////////////
// SIXTH CAMERA SHOT: Sabre shown in close up
////////////////////////////////////////////////
use entity introcam3 // turns on the close-up shot of sabre
//move entity introcam3 by [16, 0, 0] at 1 speed // pan across Sabre's face
wait .1 seconds
//
// Sabre says to grab hostages and detonate the bombs: 3.5 seconds long
//
play sound "cin/tsr1/c5d2.adp" for entity sabre1 at volume 0.9 on channel CHAN_AUTO // Sabre starts to talk
print TSR1_C5D2 // "SABRE: Take hostages, I want those bombs detonated!"
wait .5 seconds
print TSR1_EIGHT
//wait 3.5 seconds // The time for the speech delay
wait 3.0 seconds
use entity introcam3 // turns off the close-up
/////////////////////////////////////////////////////////
//SEVENTH CAMERA SHOT: Sabre shoots the hostage in rage
/////////////////////////////////////////////////////////
//turns on camera
use entity introcam7a
animate entity sabre1 showing emotion EMOTION_ANGRY holding for 4.0 //STD_ERAGESHOOT_N_P_N
animate entity sabre1 performing action STD_ERAGESHOOT_N_P_N targeting entity introhostage1 kill nulltarget HEAD //signaling sig1
//wait for all clearing sig1
wait .5 seconds
print TSR1_NINE
//wait 2.4 seconds //time STD_ERAGESHOOT_N_P_N takes
wait 1.9 seconds
animate entity sabre1 performing action STD_IETALKPOSE_N_A_N holding for 10.0 // Sabre looks pissed off
wait .2 seconds
animate entity walkinguy performing action STD_R_N_PK_N by moving [0, -200, 0]
use entity lastjohn // Spawns in the last John model- Thank God!
use entity lasthawk // Spawns in the last Hawk model
use entity lastswatleader // Spawns in the last SWAT leader
//for next shot
animate entity lastswatleader showing emotion EMOTION_TALK holding for 2.0
wait .1 seconds // time to show the hostage killed
//turns off camera
use entity introcam7a
remove entity sabre1 // Removes Sabre from the shot
remove entity walkinguy // Removes the hate gang member from the shot
remove entity introhostage1 // Removes the dead hostage from the shot
remove entity introhostage2 // Removes the other hostage from the shot
animate entity lastswatleader performing action STD_IETALKPOSE_N_A_N holding for 1.0 // set the SWAT Leader to speak
/////////////////////////////////////////////////////////////////////////////////////////
// EIGHTH CAMERA SHOT: John, Hawk, and the SWAT leader say one last round of conversation
/////////////////////////////////////////////////////////////////////////////////////////
use entity lastcam1 // turns on the last camera, finally!
move entity lastcam1 by [0, 0, 16] at 2 speed // pan up on the SWAT leader
wait .1 seconds
animate entity lasthawk performing action STD_IETALKPOSE_N_A_N holding for 2.6 // sets hawk standing there with a good transition animation
animate entity lastjohn performing action STD_IETALKPOSE_N_A_N holding for 2.0 // sets john up the same
//swat leader talks
//animate entity lastswatleader showing emotion EMOTION_TALK holding for 1.9
animate entity lastswatleader performing action STD_ETALK_N_A_N holding for 2.0
//
// SWAT Leader says to take down Sabre to take down the game: 1.9 seconds long
//
play sound "cin/tsr1/c6d1.adp" for entity lastswatleader at volume 0.9 on channel CHAN_AUTO // swat leader saying the leader line
print TSR1_C6D1 // "SWAT LEADER: Kill Sabre, you've killed the gang."
wait .1 seconds
print TSR1_TEN
//wait 2 seconds
wait 2.1 seconds
animate entity lastswatleader performing action STD_IETALKPOSE_N_A_N holding for 10.0 // set the SWAT Leader to never speak again
//off and on for last cam
use entity lastcam1 // turns off that bastard lastcam!
use entity newcam1 // close-up on John
wait .1 seconds
animate entity lastjohn showing emotion EMOTION_TALK holding for 0.7
animate entity lastjohn performing action STD_EHEADNOD_N_A_N holding for 1.0
//
// John answers the SWAT Leader: .7 seconds long
//
play sound "cin/tsr1/c6d2.adp" for entity lastjohn at volume 0.9 on channel CHAN_AUTO // johns response of understood
print TSR1_C6D2 // Understood. .7 seconds
wait 1 second
//turns off camera
use entity newcam1
/////////////////////////////////////////////////////////////
//Cuts to a view from down the stairs point up at the actors
/////////////////////////////////////////////////////////////
//turns on camera
use entity newcam2 // Cuts to a view from down the stairs point up at the actors
//moves train
use entity finaltrain
wait .1 seconds
animate entity lasthawk showing emotion EMOTION_TALK holding for 3.3 // Set Hawk's face to animate
animate entity lasthawk performing action STD_ETALK_N_A_N holding for 2.6 // Set Hawk's body to animate
animate entity lasthawk performing action STD_ETALKBOTH_N_A_N holding for .7 // Continues to speak
animate entity lasthawk performing action STD_ETALK_N_A_N holding for 1.2 // Finishes up his speech
//
// Hawk talks to John: 3.3 seconds
//
play sound "cin/tsr1/c6d3.adp" for entity lasthawk at volume 0.9 on channel CHAN_AUTO
print TSR1_C6D3 // "HAWK: John, take this entrance. I'll meet you at 6C."
wait .2 seconds
print TSR1_THIRTEEN
//wait 3.5 seconds
wait 3.3 seconds
animate entity lasthawk performing action STD_IETALKPOSE_N_A_N holding for 1.0
use entity newcam2 // turns off the Hawk Close-up
//
// NINTH AND FINAL CAMERA SHOT: John runs down the stairs
//
use entity lastcam2 // turns the lower camera on
move entity lastcam2 by [64, 0 ,0] at 8 speed // pans to the right as John runs down the steps
wait .1 seconds
animate entity lastjohn performing action STD_R_N_PK_N by moving [0, -336, 0] // john running down the stairs into the camera
//
// John yells to Hawk: .8 seconds
//
play sound "cin/tsr1/c6d4.adp" for entity lastjohn at volume 0.9 on channel CHAN_AUTO
print TSR1_C6D4 // "JOHN:Good luck, Hawk."
animate entity lasthawk performing action STD_R_N_PK_N by moving [96, 0, 0] // hawk running bacwards avoiding the copcar
animate entity lasthawk performing action STD_R_N_PK_N by moving [152, 0, 0] //signaling sig1 // hawk running behind the cop car
//wait for all clearing sig1
wait .2 seconds
print TSR1_FOURTEEN //TSR1_FOURTEEN
//wait 1.4 seconds
wait 2.1 seconds
use entity tsr1fadeout // starts the fade out // MADE BY JERSEY
wait 1 second
use entity lastcam2 // Finally ends the cinematic... there is a God
disable cinematics
remove entity lastjohn // Remove the fake John model from the world
remove entity lasthawk // Remove the fake Hawk model from the world
remove entity lastswatleader // Removes the SWAT Leader from the world
use entity runguy // starts the script runner of the guy running past
use entity show_objectives // triggers this
//////////////
// Clean Up
//////////////
//removes train
remove entity finaltrain
use entity tsr1fadein // fades in to players view // MADE BY JERSEY
playsong -1
unload roff "trs1_introcam1_ren.rof"
unload roff "trs1_introcam1t_ren.rof"
unload sound "cin/tsr1/c3d1.adp"
unload sound "cin/tsr1/c3d2.adp"
unload sound "cin/tsr1/c4d1.adp"
unload sound "cin/tsr1/c5d1.adp"
unload sound "cin/tsr1/c5d2.adp"
unload sound "cin/tsr1/c6d1.adp"
unload sound "cin/tsr1/c6d2.adp"
unload sound "cin/tsr1/c6d3.adp"
unload sound "cin/tsr1/c6d4.adp"

31
Sample/ds/tsr1/pisscop.ds Normal file
View file

@ -0,0 +1,31 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
#include "tsr1.ds"
local entity pissguy1
local entity pissguy2
pissguy1 = find entity with targetname "pissguy1"
pissguy2 = find entity with targetname "pissguy2"
play sound "Cin/TSR1/Script/Piss.wav" for entity pissguy2 on channel CHAN_VOICE at volume 0.9
play sound "Speech/TSR1/SKN/BT9-2.adp" for entity pissguy1 on channel CHAN_VOICE at volume 0.9
animate entity pissguy2 performing action SCRIPT_RELEASE // releases the second guy
wait 1.5 seconds
animate entity pissguy1 performing action SCRIPT_RELEASE // releases the other guy a little bit later

View file

@ -0,0 +1,25 @@
// template file for newyork directory
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity npc_murder // the npc who will be shot
local entity npc_killer // the guy who will kill the hostage
local entity npc_watcher // guy watching the murder
npc_murder = find entity with targetname "npc_murder"
npc_killer = find entity with targetname "npc_killer"
npc_watcher = find entity with targetname "npc_watcher"
// THIS GETS RID OF ALL THESE GUYS IF THEY WERENT USED IN THE CAMERA SCRIPT IN THE TOKEN BOOTH
remove entity npc_murder
remove entity npc_killer
remove entity npc_watcher

20
Sample/ds/tsr1/rafguy.ds Normal file
View file

@ -0,0 +1,20 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
// THIS SCRIPT RELEASES THE GUY WHO RUNS OUT THE BACK DOOR OF THE TOKEN BOOTH
local entity tokenguy1 // the guy who is running out of the room
tokenguy1 = find entity with targetname "tokenguy1"
animate entity tokenguy1 performing action SCRIPT_RELEASE // script releases the guy once he gets by the door

82
Sample/ds/tsr1/raid.ds Normal file
View file

@ -0,0 +1,82 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
#include "tsr1.ds"
// this script controls the end raid right before the player jumps on the train
local entity rswat1 // the first swat guy
local entity rswat2 // the second swatguy
local entity rhawk // the hawk model used here
local entity rbadguy1 // first bad skinhead
local entity rbadguy2 // the second bad skinhead
local entity leader // the skinhead leader who will take off on the train
local entity rcam1 // the camera for the one cinematic shot
local entity rcam1n // the cameras null
local entity leadertrain // the train that leader takes off on
local entity sabrefade1 // the first fade
local entity sabrefade2 // the second fadeback
local entity traintriggerb // the trigger on top of the train that needs to become active once this script is over
local entity raidb //
local int hawkhealth
local int sig1
rswat1 = find entity with targetname "rswat1"
rswat2 = find entity with targetname "rswat2"
rhawk = find entity with targetname "rhawk"
rbadguy1 = find entity with targetname "rbadguy1"
rbadguy2 = find entity with targetname "rbadguy2"
leader = find entity with targetname "leader"
rcam1 = find entity with targetname "rcam1"
rcam1n = find entity with targetname "rcam1n"
leadertrain = find entity with targetname "leadertrain"
sabrefade1 = find entity with targetname "sabrefade1"
sabrefade2 = find entity with targetname "sabrefade2"
traintriggerb = find entity with targetname "traintriggerb"
raidb = find entity with targetname "raidb"
rcam1.movetype = MOVETYPE_NOCLIP
rcam1n.movetype = MOVETYPE_NOCLIP
wait .1 seconds // magic delay
animate entity rbadguy1 performing action CCH_XONKNEES_N_N_N holding for 999.0
animate entity rbadguy2 performing action STD_XAFRAIDSHAKE_N_N_N holding for 999.0 // him laying there on the ground PRN_A_N_A_2
animate entity rhawk performing action STD_XYELLWAVE_BK_A_N holding for 2.6 //new line
use entity leader //new line
wait .3 seconds //new line
animate entity rhawk showing emotion EMOTION_TALK holding for 1.3
play sound "cin/tsr1/c7d1.adp" for entity rhawk at volume 0.9 on channel CHAN_AUTO // Hawk talking to John
print TSR1_C7D1
//wait 1 seconds
wait .5 seconds
wait .4 seconds
play sound "cin/tsr1/c7d2.adp" for entity rhawk at volume 0.9 on channel CHAN_AUTO // Hawk talking to John
print TSR1_C7D2
wait .5 seconds
hawkhealth = rhawk.health
if hawkhealth > 0
use entity raidb // triggers the second half of the script
endif
exit

66
Sample/ds/tsr1/raidb.ds Normal file
View file

@ -0,0 +1,66 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
#include "tsr1.ds"
local entity rcam1
local entity rhawk
local entity leader
local entity leadertrain
local entity sabrefade1
local entity sabrefade2
local entity traintriggerb
rcam1 = find entity with targetname "rcam1"
rhawk= find entity with targetname "rhawk"
leader = find entity with targetname "leader"
leadertrain = find entity with targetname "leadertrain"
sabrefade1 = find entity with targetname "sabrefade1"
sabrefade2 = find entity with targetname "sabrefade2"
traintriggerb = find entity with targetname "traintriggerb"
enable cinematics //
use entity rcam1 // turns the camera on
// animate entity rhawk performing action STD_R_N_PK_N by moving [-320, 0, 0] //new line
// animate entity rhawk performing action STD_R_N_PK_N by moving [-32, -64, 0] //new line
//Going to external camera
wait .1 seconds
animate entity leader performing action STD_ESABREMOCK_N_A_N holding for 4.0 // skinhead leader laughing as the train takes off
play sound "cin/tsr1/laugh.adp" for entity leader at volume .9 on channel CHAN_AUTO
wait 3 seconds
use entity leadertrain // starts the leaders train taking off
wait .8 seconds
use entity sabrefade1 // starts the fade
wait 2 seconds
use entity sabrefade2 // fade back
use entity rcam1 // shuts the camera off
disable cinematics
animate entity rhawk performing action STD_R_N_PK_N by moving [-320, 0, 0] //new line
animate entity rhawk performing action STD_R_N_PK_N by moving [-32, -64, 0] //new line
use entity traintriggerb // sets the trigger active on top of the train
remove entity leader // gets these guys out of the world
remove entity leadertrain

View file

@ -0,0 +1,34 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
/////////////////////////////////////////
// spawns in actors for the RAID script
/////////////////////////////////////////
local entity rswat1 // the first swat guy
local entity rswat2 // the second swatguy
local entity rbadguy1 // first bad skinhead
local entity rbadguy2 // the second bad skinhead
rswat1 = find entity with targetname "rswat1"
rswat2 = find entity with targetname "rswat2"
rbadguy1 = find entity with targetname "rbadguy1"
rbadguy2 = find entity with targetname "rbadguy2"
//spawns in swat guards
use entity rswat1
use entity rswat2
//spawns in skinheads
use entity rbadguy1
use entity rbadguy2
animate entity rbadguy2 performing action STD_XAFRAIDSHAKE_N_N_N holding for 999.0 // him laying there on the ground PRN_A_N_A_2

47
Sample/ds/tsr1/scue1.ds Normal file
View file

@ -0,0 +1,47 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
#include "tsr1.ds"
// THE FIRST SOUND CUE FROM HAWK TRIGGERED WHEN THE PLAYER LEAVES THE SUBWAY STATION
local entity splayer1 // the player who sets off the trigger
local entity notoken // the clip brush in front of the token booth
local entity scue1b // the relay between the trigger and the script runner so it doesnt get used twice
splayer1 = get entity activator
notoken = find entity with targetname "notoken"
scue1b = find entity with targetname "scue1b"
// THE WHOLE CONVERSATION EXCHANGE
use entity notoken // should remove the clip brush func wall in the token booth windows
play sound "cin/tsr1/s1d1.adp" for entity splayer1 at volume 0.9 // Hawks first call to John
print TSR1_S1D1
wait 1.5 seconds
// "John do you read"
play sound "cin/tsr1/s1d2.adp" for entity splayer1 at volume 0.9 // johns response
print TSR1_S1D2
//" go ahead"
wait 1.5 seconds
play sound "cin/tsr1/s1d3.adp" for entity splayer1 at volume 0.9 // hawk saying the info
print TSR1_S1D3
// "nypd has a large group ....."
wait 4 seconds
play sound "cin/tsr1/s1d4.adp" for entity splayer1 at volume 0.9 // roger
print TSR1_S1D4
// "roger"

View file

@ -0,0 +1,25 @@
// template file for newyork directory
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity swatkiller // the guy who will push over the soda machine
local entity soda_fall // the soda machine that will be tipped over
local entity deadswatguy1 // the dead swat guy, the sound will be played from this origin to make it louder
local int sig1
soda_fall = find entity with targetname "soda_fall"
swatkiller = find entity with targetname "swatkiller"
deadswatguy1 = find entity with targetname "deadswatguy1"
animate entity swatkiller performing action STD_EPUSHOVER_N_PK_A // guy pushing over the soda machine
animate entity swatkiller performing action SCRIPT_RELEASE
moverotate entity soda_fall from file "tsr1_soda_fall.rof" signaling sig1
wait .75 seconds
play sound "Impact/Metal/SodaMach.adp" for entity deadswatguy1 on channel CHAN_AUTO at volume 0.9
wait for all clearing sig1
exit

View file

@ -0,0 +1,29 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
//////////////////////////////////////////////////////////////////////////
// Enemy leans around corner near soda machine after token booth gate
//////////////////////////////////////////////////////////////////////////
//enemy that leans
local entity sodaleaner
//to target player
local entity sneak
//enemy that leans
sodaleaner = find entity with targetname "sodaleaner"
sneak = find entity player
//spawns leaner
use entity sodaleaner
// this is him peeking around the corner firing
animate entity sodaleaner performing action STD_FCORNERPEAK_RT_P_A targeting entity sneak
animate entity sodaleaner performing action SCRIPT_RELEASE

View file

@ -0,0 +1,42 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity stairguy1 // the guy kicking the soda machine
local entity stepsrunguy // the guy running up the lower set of steps
local int sig1
stairguy1 = find entity with targetname "stairguy1"
stepsrunguy = find entity with targetname "stepsrunguy"
use entity stepsrunguy // spawns him in the world
on stairguy1.health < 100 goto sodalet_go
play sound "impact/vending/kick.wav" for entity stairguy1 at volume 0.9
animate entity stairguy1 performing action STD_XKICKDOOR_N_A_A // the first guy kicks the sodamachine
wait .1 seconds
play sound "impact/vending/kick.wav" for entity stairguy1 at volume 0.9
animate entity stairguy1 performing action STD_XKICKDOOR_N_A_A // again
play sound "impact/vending/sodadrop.wav" for entity stairguy1 at volume 0.9
wait 1.5 seconds
play sound "speech/tsr1/skn/bt9-5.adp" for entity stairguy1 at volume 0.8
wait .5 seconds
label sodalet_go
reset ai for entity stairguy1
animate entity stairguy1 performing action SCRIPT_RELEASE
use entity stepsrunguy // starts him on his pointcombats
exit

View file

@ -0,0 +1,45 @@
// template file for newyork directory
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity topstairguy1 // the hostage at the top of the stairs
local entity topstairbad1 //
local entity host_count // the hostage counter for how many hostage events the player has seen
topstairguy1 = find entity with targetname "topstairguy1"
topstairbad1 = find entity with targetname "topstairbad1"
host_count = find entity with targetname "host_count"
on topstairbad1.health < 100 goto badstairs1
animate entity topstairguy1 performing action STD_XFEARWAVE_N_N_N
play sound "speech/tsr1/npc/eb9-3.adp" for entity topstairguy1 at volume 0.9
animate entity topstairbad1 performing action STD_XYELLATYOU_N_A_A
wait 1.0 seconds
play sound "speech/tsr1/skn/bt9-4.adp" for entity topstairbad1 at volume 0.9
label release
animate entity topstairbad1 performing action SCRIPT_RELEASE
animate entity topstairguy1 performing action SCRIPT_RELEASE
exit
label badstairs1
reset ai for entity topstairbad1 // lets this guy go
goto release

33
Sample/ds/tsr1/stall.ds Normal file
View file

@ -0,0 +1,33 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity stallshooter // the guy who will shoot the stall
local entity breakstall // the breakable brush for the stall
local entity originalwall // the func wall that needs to be removed
local entity stall_playerfind // the target that the stall guy will shoot at
local int sig1
stallshooter = find entity with targetname "stallshooter" // \
breakstall = find entity with targetname "breakstall"
originalwall = find entity with targetname "originalwall"
stall_playerfind = find entity with targetname "stall_playerfind"
// use entity stallshooter // spawns the guy in
if stallshooter.health > 0
use entity originalwall // this should remove the func_wall
animate entity stallshooter performing action STD_F_FWD_S_2 targeting entity stall_playerfind signaling sig1 //breakstall // this should get the guy to fire and break the brush
wait .1 seconds
use entity breakstall // should trigger the stall to break no matter what, lets hope this fixes a bug
wait for all clearing sig1
endif
reset ai for entity stallshooter
animate entity stallshooter performing action SCRIPT_RELEASE
exit

958
Sample/ds/tsr1/startcin.ds Normal file
View file

@ -0,0 +1,958 @@
#include "../common/header.ds"
#include "tsr1.ds"
output "p:/base/ds/tsr1"
//first camera stuff
local entity use_toll // trigger relay that starts the toll gates moving
local entity use_gates // trigger relay that starts the doors moving
local entity start_fade // starts the fade in
local entity end_fade // the reverse fade in
local entity first_cam // the first lighwave animated camera
local entity boothguard // guard in booth
//second camera stuff
local entity second_cam // second camera
local entity sniperzoom // sniper xoom function
local int counter = 0
local entity mullins // player
local entity vaporold // environ_invisible_attack
local entity vaporold2 // environ_invisible_attack
local entity cleanblood // clean wall
local entity dirtyblood // bloody wall
//third camera stuff
local entity third_cam // third camera
local entity fronttruck // truck that pulls in
local entity trucksmoke // smoke for trucks tailpipe
local entity first_raider // raider dude that walks into booth
//fourth camera stuff
local entity fourth_cam // fourth camera
local entity kneeler // guard that is kneeling
local entity t38 // kneeling guards pathcorner
local entity lookout // guard who is a lookout
local entity t39 // lookout guards pathcorner
local entity planter // raider who plants the c4
local entity c4ofdeath // c4
//fifth camera stuff
local entity fifth_cam // fifth camera
local entity t40 // fifth cameras notnull
local entity boomwall // wall that blows up
local entity boompipe // pipe that blows up
local entity wallexp // explosion
local entity boomlight1 // emergency light
local entity boomlight2 // emergency light
local entity boomlights // world lights that turn off
local entity blowback1 // guard1 who gets blown back
local entity blowback2 // guard2 who gets blown back
local entity runner01 // 1st raider who runs out
local entity runner02 // 2nd raider who runs out
local entity runner03 // 3rd raider who runs out
//sixth camera stuff
local entity sixth_cam // sixth camera
local entity hallraider1 // raider that is walking and shooting down hallway
local entity hallraider2 // raider that is walking and shooting down hallway
local entity hallbaddie1 // sib dude that runs out
local entity hallbaddie2 // sib dude that runs out
local entity hallbaddie3 // crawling sib dude
local entity hallflee1 // sib dude that runs away around corner
local entity hallflee2 // sib dude that runs away around corner
local entity hallbaddie1null // sib dude that runs out shoots at this
local entity hallbaddie2null // sib dude that runs out shoots at this
//seventh camera stuff
//eighth camera stuff
local entity eighth_cam // eighth camera
local entity walkfire1 // raiders that are walking and firing
local entity walkfire2 // raiders that are walking and firing
local entity walkfire3 // raiders that are walking and firing
local entity walkfire4 // raiders that are walking and firing
local entity walkfire5 // raiders that are walking and firing
//ninth camera stuff
local entity ninth_cam // ninth camera
local entity doorrt // door that is blasted open
local entity doorlf // door that is blasted open
local entity rspark // sparks
local entity lspark // sparks
local entity sparkboom // explosion
local entity sparkrunner1 // raider that runs in
local entity sparkrunner2 // raider that runs in
local entity sparkrunner3 // raider that runs in
local entity sparkrunner4 // raider that runs in
//tenth camera stuff
local entity tenth_cam // tenth camera
local entity pusher // raider that pushes crate
local entity nuke01 // nuke that gets pushed out of room
local entity nuketable1 // table nuke is sitting on
local entity nukewalker1 // guard who walks out with nuke
local entity nukewalker2 // guard who walks out with nuke
//eleventh camera stuff
local entity eleventh_cam // eleventh camera
local entity traindoors // doors on train
local entity trainraider1 // raider that jumps out of train
local entity trainraider2 // raider that jumps out of train
local entity heli1 // helicoptor that flys by
//twelve camera stuff
local entity twelve_cam // twelve camera
local entity trainguard1 // gaurd who stands outside train
local entity trainguard2 // gaurd who stands outside train
local entity trainguard3 // gaurd who stands outside train
local entity trainguard4 // gaurd who stands outside train
local entity traintruck // truck that backs up
local entity trainplat // plat that extends
//thirteenth camera stuff
local entity thirteen_cam // thirteenth camera
local entity trainpusher // dude who pushes the nuke in the train
local entity trainnuke // nuke that is in the train
local entity traintable // table nuke is sitting on
local entity traintruck2 // truck that drives off
//sound stuff
local entity outdoorsound // outdoor sound set
local entity indoorsound // indoor sound set
local entity nukesound1 // nuke that gets pushed out
local entity nukesound2 // nuke that gets pushed into the train
local entity trucksound1 // 1st truck
local entity beepsound // beeping sound for C4
local entity writhe1 // writhing sound
local entity blowbacksound1 // blown back screaming
local entity blowbacksound2 // blown back screaming
local entity baddie1sound // sib guard yelling
local entity baddie2sound // sib guard yelling
//change level entity
local entity changelevel
//first camera stuff
first_cam = find entity with targetname "first_cam"
enable cinematics
run console command "cl_touch"
//turns on first camera
use entity first_cam // turns the first camera on
use_toll = find entity with targetname "use_toll"
use_gates = find entity with targetname "use_gates"
start_fade = find entity with targetname "start_fade"
end_fade = find entity with targetname "end_fade"
boothguard = find entity with targetname "boothguard"
//second camera stuff
second_cam = find entity with targetname "second_cam"
sniperzoom = find entity with targetname "sniperzoom"
mullins = find entity player
vaporold = find entity with targetname "vaporold"
vaporold2 = find entity with targetname "vaporold2"
cleanblood = find entity with targetname "cleanblood"
dirtyblood = find entity with targetname "dirtyblood"
//third camera stuff
third_cam = find entity with targetname "third_cam"
fronttruck = find entity with targetname "fronttruck"
trucksmoke = find entity with targetname "trucksmoke"
first_raider = find entity with targetname "first_raider"
//fourth camera stuff
fourth_cam = find entity with targetname "fourth_cam"
kneeler = find entity with targetname "kneeler"
t38 = find entity with targetname "t38"
lookout = find entity with targetname "lookout"
t39 = find entity with targetname "t39"
planter = find entity with targetname "planter"
c4ofdeath = find entity with targetname "c4ofdeath"
//fifth camera stuff
fifth_cam = find entity with targetname "fifth_cam"
t40 = find entity with targetname "t40"
boomwall = find entity with targetname "boomwall"
boompipe = find entity with targetname "boompipe"
wallexp = find entity with targetname "wallexp"
boomlight1 = find entity with targetname "boomlight1"
boomlight2 = find entity with targetname "boomlight2"
boomlights = find entity with targetname "boomlights"
blowback1 = find entity with targetname "blowback1"
blowback2 = find entity with targetname "blowback2"
runner01 = find entity with targetname "runner01"
runner02 = find entity with targetname "runner02"
runner03 = find entity with targetname "runner03"
//sixth camera stuff
sixth_cam = find entity with targetname "sixth_cam"
hallraider1 = find entity with targetname "hallraider1"
hallraider2 = find entity with targetname "hallraider2"
hallbaddie1 = find entity with targetname "hallbaddie1"
hallbaddie2 = find entity with targetname "hallbaddie2"
hallbaddie3 = find entity with targetname "hallbaddie3"
hallflee1 = find entity with targetname "hallflee1"
hallflee2 = find entity with targetname "hallflee2"
hallbaddie1null = find entity with targetname "hallbaddie1null"
hallbaddie2null = find entity with targetname "hallbaddie2null"
//seventh camera stuff
//eighth camera stuff
eighth_cam = find entity with targetname "eighth_cam"
walkfire1 = find entity with targetname "walkfire1"
walkfire2 = find entity with targetname "walkfire2"
walkfire3 = find entity with targetname "walkfire3"
walkfire4 = find entity with targetname "walkfire4"
walkfire5 = find entity with targetname "walkfire5"
//ninth camera stuff
ninth_cam = find entity with targetname "ninth_cam"
doorrt = find entity with targetname "doorrt"
doorlf = find entity with targetname "doorlf"
rspark = find entity with targetname "rspark"
lspark = find entity with targetname "lspark"
sparkboom = find entity with targetname "sparkboom"
sparkrunner1 = find entity with targetname "sparkrunner1"
sparkrunner2 = find entity with targetname "sparkrunner2"
sparkrunner3 = find entity with targetname "sparkrunner3"
sparkrunner4 = find entity with targetname "sparkrunner4"
//tenth camera stuff
tenth_cam = find entity with targetname "tenth_cam"
pusher = find entity with targetname "pusher"
nuke01 = find entity with targetname "nuke01"
nuketable1 = find entity with targetname "nuketable1"
nukewalker1 = find entity with targetname "nukewalker1"
nukewalker2 = find entity with targetname "nukewalker2"
//eleventh camera stuff
eleventh_cam = find entity with targetname "eleventh_cam"
traindoors = find entity with targetname "traindoors"
trainraider1 = find entity with targetname "trainraider1"
trainraider2 = find entity with targetname "trainraider2"
heli1 = find entity with targetname "heli1"
//tweleve camera stuff
twelve_cam = find entity with targetname "twelve_cam"
trainguard1 = find entity with targetname "trainguard1"
trainguard2 = find entity with targetname "trainguard2"
trainguard3 = find entity with targetname "trainguard3"
trainguard4 = find entity with targetname "trainguard4"
traintruck = find entity with targetname "traintruck"
trainplat = find entity with targetname "trainplat"
//thirteenth camera stuff
thirteen_cam = find entity with targetname "thirteen_cam"
trainpusher = find entity with targetname "trainpusher"
trainnuke = find entity with targetname "trainnuke"
traintable = find entity with targetname "traintable"
traintruck2 = find entity with targetname "traintruck2"
//sound stuff
outdoorsound = find entity with targetname "outdoorsound"
indoorsound = find entity with targetname "indoorsound"
nukesound1 = find entity with targetname "nukesound1"
nukesound2 = find entity with targetname "nukesound2"
trucksound1 = find entity with targetname "trucksound1"
beepsound = find entity with targetname "beepsound"
writhe1 = find entity with targetname "writhe1"
blowbacksound1 = find entity with targetname "blowbacksound1"
blowbacksound2 = find entity with targetname "blowbacksound2"
baddie1sound = find entity with targetname "baddie1sound"
baddie2sound = find entity with targetname "baddie2sound"
//change level entity
changelevel = find entity with targetname "changelevel"
first_cam.movetype = MOVETYPE_NOCLIP
fronttruck.movetype = MOVETYPE_NOCLIP
trucksmoke.movetype = MOVETYPE_NOCLIP
fifth_cam.movetype = MOVETYPE_NOCLIP
t40.movetype = MOVETYPE_NOCLIP
sixth_cam.movetype = MOVETYPE_NOCLIP
eighth_cam.movetype = MOVETYPE_NOCLIP
tenth_cam.movetype = MOVETYPE_NOCLIP
hallbaddie3.movetype = MOVETYPE_NOCLIP
rspark.movetype = MOVETYPE_NOCLIP
lspark.movetype = MOVETYPE_NOCLIP
nuke01.movetype = MOVETYPE_NOCLIP
nuketable1.movetype = MOVETYPE_NOCLIP
traintruck.movetype = MOVETYPE_NOCLIP
twelve_cam.movetype = MOVETYPE_NOCLIP
eleventh_cam.movetype = MOVETYPE_NOCLIP
heli1.movetype = MOVETYPE_NOCLIP
trainplat.movetype = MOVETYPE_NOCLIP
thirteen_cam.movetype = MOVETYPE_NOCLIP
trainnuke.movetype = MOVETYPE_NOCLIP
traintable.movetype = MOVETYPE_NOCLIP
traintruck2.movetype = MOVETYPE_NOCLIP
nukesound1.movetype = MOVETYPE_NOCLIP
nukesound2.movetype = MOVETYPE_NOCLIP
trucksound1.movetype = MOVETYPE_NOCLIP
////////////////////////////////////////////////////
// First Camera - Camera pulls back and gates close
////////////////////////////////////////////////////
//plays music
playsong 1
//turns on outdoor sound set
use entity outdoorsound
//turns on first camera
//use entity first_cam // turns the first camera on
//starts the fade in
use entity start_fade // starts the fade in
wait 1.2 seconds
//moves the camera
moverotate entity first_cam from file "tsr2_intro.rof" // moves the camera rof takes 7.2 seconds
wait 1 seconds
//print typomatic stuff
print TSR1_RUSSIA
wait 1.5 seconds
//closes gates
use entity use_gates //closes gate
wait .7 seconds
//closes tool bars
use entity use_toll //closes toll bars
//guard walks to doorway
animate entity boothguard performing action STD_WNORMAL_N_PK_A by moving [78,0,0] //88
wait 1.2 seconds
//guard looks around
animate entity boothguard performing action STD_ILOOKING_N_MRS_2 holding for 4.7 //3.7
//truck drive up -happy eric?
use entity trucksound1
use entity fronttruck //turns on wheels
move entity fronttruck by [0,320,0] at 120 speed //truck drives in
move entity trucksmoke by [0,320,0] at 120 speed //trucksmoke moves with truck
move entity trucksound1 by [0,320,0] at 120 speed
wait 2 seconds
//fade out
use entity end_fade
wait 1 second
//turns off wheels and sound
use entity fronttruck //turns off wheels
use entity trucksound1 //turns off truck sound
//turns off first camera
use entity first_cam // shuts the camera off
//////////////////////////////////////
// Second Camera - Guard gets sniped
//////////////////////////////////////
//starts the fade in
use entity start_fade
//turns on second camera
use entity second_cam
//sniper scope zooms in on guard
sniperzoom.wait = 60
while counter < 17
sniperzoom.wait -= 2.5 //2.1
use entity sniperzoom
wait .1 seconds
counter += 1
endwhile
wait 1 second
use entity vaporold
//use entity vaporold2
use entity cleanblood
use entity dirtyblood
//sniper gun firing sound
play sound "Weapons\Sniper\Fire.wav" for entity mullins at volume 0.9 on channel CHAN_VOICE
//guard gets shot in the head
//animate entity vapor performing action STD_F_FWD_P_2 targeting entity boothguard kill nulltarget NUG_O_POPPIN
//animate entity boothguard performing action STD_SHEAD_2FRNT_N_N
wait .5 seconds
//use entity vaporold
//use entity vaporold2
//move truck up for next shot
//fronttruck.movetype = MOVETYPE_NOCLIP
move entity fronttruck by [0,84,0]// at 10000 speed //420
move entity trucksmoke by [0,84,0]
move entity trucksound1 by [0,84,0]
wait 2.0 seconds
//remove entity vapor
//set fov back to normal
sniperzoom.wait = -1
use entity sniperzoom
//turns off second camera
use entity second_cam
//////////////////////////////////////
// Third Camera - Truck pulls in
//////////////////////////////////////
//turns on third camera
use entity third_cam //turns on third camera
//raider dude walks into the booth
use entity first_raider
animate entity first_raider performing action STD_R_N_MRS_2 by moving [-192,0,0] //STD_WPATROL_N_MRS_2
wait .2 seconds
play sound "Enemy/Ra1/Ger1/help.wav" for entity first_raider at volume 0.9 on channel CHAN_AUTO
wait 2 seconds
//opens tool bars
use entity use_toll //opens tool bars
wait .7 seconds
//opens tool bars
use entity use_gates //opens tool bars
wait 2 seconds
//truck drives in
use entity trucksound1 //turns on truck sound
use entity fronttruck //turns on wheels
use entity trucksmoke //turns on smoke
move entity fronttruck by [0,470,0] at 120 speed //truck drives in
move entity trucksmoke by [0,470,0] at 120 speed //trucksmoke moves with truck
move entity trucksound1 by [0,470,0] at 120 speed
//spawns guys for next shot
use entity kneeler //spawns kneeling guy for next shot
use entity lookout //spawns lookout for next shot
use entity planter //spawns raider who plants c4
wait 3.5 seconds
//turns off wheels and smoke
use entity fronttruck //turns off wheels
use entity trucksmoke //turns off smoke
use entity trucksound1 //turns off truck sound
//turns off third camera
use entity third_cam
/////////////////////////////////////////
// Fourth Camera - Raiders place charge
/////////////////////////////////////////
//turns on fourth camera
use entity fourth_cam //turns on fourth camera
//turns on indoor sound set
use entity indoorsound
//raider runs up to plant charge
animate entity planter performing action STD_R_N_PK_N by moving [0,168,0]
animate entity planter performing action STD_EWRENCHV_TO_N_N
animate entity planter performing action STD_EWRENCHV_FRM_N_N
//guard runs
animate entity planter performing action STD_R_N_PK_N by moving [200,0,0]
wait 2 seconds
//C4 is spawned
use entity c4ofdeath
wait .6 seconds
play sound "Weapons/C4/Beep.wav" for entity beepsound at volume 0.9 on channel CHAN_AUTO
wait .6 seconds
play sound "Weapons/C4/Beep.wav" for entity beepsound at volume 0.9 on channel CHAN_AUTO
//lookouts run too
remove entity t38
//animate entity kneeler performing action CCH_XCROUCH_UP_PK_A
animate entity kneeler performing action STD_R_N_PK_N by moving [400,0,0]
wait .6 seconds
remove entity t39
animate entity lookout performing action STD_R_N_PK_N by moving [400,0,0]
play sound "Weapons/C4/Beep.wav" for entity beepsound at volume 0.9 on channel CHAN_AUTO
wait .4 seconds
//play sound "Weapons/C4/Beep.wav" for entity beepsound at volume 0.9 on channel CHAN_AUTO
//turns off fourth camera
use entity fourth_cam //turns off fourth camera
////////////////////////////////////////////////////////
// Fifth Camera - Wall blows up and raiders run through
////////////////////////////////////////////////////////
//turns on fifth camera
use entity fifth_cam //turns on fifth camera
wait .5 seconds
//guard standing says something
play sound "Enemy/So1/Sib1/Wake2.wav" for entity blowback1 at volume 0.9 on channel CHAN_AUTO
wait 1.5 seconds
//wall and pipe blow up emergency lights turn on
use entity wallexp
use entity boomwall
use entity boompipe
use entity boomlight1
use entity boomlight2
//use entity boomlights
//guards get blown back
animate entity blowback1 performing action STD_SBLOWN_2BK_N_N
play sound "enemy/Dth/Arab/Scream2.wav" for entity blowbacksound1 at volume 0.9 on channel CHAN_AUTO
wait .2 seconds
animate entity blowback2 performing action STD_SBLOWN_2BK_N_N
play sound "enemy/Dth/Arab/Scream3.wav" for entity blowbacksound2 at volume 0.9 on channel CHAN_AUTO
wait .8 seconds
//raiders run out of blown hole
use entity runner01
use entity runner02
wait .2 seconds
use entity runner03
wait .2 seconds
//camera slowly pans
move entity fifth_cam by [0,-32,0] at 7 speed
move entity t40 by [0,64,0] at 14 speed //32
wait .7 seconds
//
play sound "Enemy/Ra1/Ger3/Wake4.wav" for entity runner02 at volume 0.9 on channel CHAN_AUTO
wait 3 seconds
//sib dudes flee around corner
use entity hallflee1
use entity hallflee2
//LB_PCRAWL_BK_P_N
//sib dude is crawling away
animate entity hallbaddie3 performing action LB_PCRAWL_BK_P_N holding for 999.0
//play sound "enemy/Dth/Russ/Writhe1.wav" for entity hallbaddie3 at volume 0.9 on channel CHAN_AUTO
//raiders walk down hallway
animate entity hallraider1 performing action STD_WPATROL_N_MRS_2 by moving [0,200,0] //STD_WAIM_FWD_MS_2
wait .3 seconds
animate entity hallraider2 performing action STD_WPATROL_N_MRS_2 by moving [0,200,0] //STD_WAIM_FWD_MS_2
//turns off fifth camera
use entity fifth_cam //turns off fifth camera
////////////////////////////////////////////////////////
// Sixth Camera - Firefight down a hallway
////////////////////////////////////////////////////////
//turns on sixth camera
use entity sixth_cam //turns on sixth camera
wait .1 seconds
play sound "enemy/Dth/Russ/Writhe1.wav" for entity writhe1 at volume 0.9 on channel CHAN_AUTO
//camera moves with raiders
move entity sixth_cam by [0,155,0] at 50 speed
//baddies run up around the corner
animate entity hallbaddie1 performing action STD_R_N_MRS_2 by moving [-120,0,0]
animate entity hallbaddie1 performing action STD_R_N_MRS_2 by moving [-160,-80,0]
animate entity hallbaddie1 performing action STD_R_N_MRS_2 by moving [-80,-160,0]
animate entity hallbaddie1 performing action STD_R_N_MRS_2 by moving [0,-250,0]
animate entity hallbaddie1 performing action STD_F_FWD_M_2 targeting entity hallbaddie1null
animate entity hallbaddie2 performing action STD_R_N_MRS_2 by moving [-176,0,0]
animate entity hallbaddie2 performing action STD_R_N_MRS_2 by moving [-120,-56,0]
animate entity hallbaddie2 performing action STD_R_N_MRS_2 by moving [-56,-120,0]
animate entity hallbaddie2 performing action STD_R_N_MRS_2 by moving [0,-250,0]
animate entity hallbaddie2 performing action STD_F_FWD_M_2 targeting entity hallbaddie2null
//raiders gun down sib dudes
//animate entity hallraider2 performing action STD_XCROUCH_DWN_MRS_2
animate entity hallraider2 performing action CCH_F_FWD_M_2 targeting entity hallbaddie2 kill nulltarget HEAD
animate entity hallraider2 performing action CCH_F_FWD_M_2 holding for 999.9
animate entity hallraider1 performing action STD_F_FWD_M_2 targeting entity hallbaddie1 kill nulltarget CHEST
animate entity hallraider1 performing action STD_F_FWD_M_2 holding for 999.9
wait 2 seconds
play sound "enemy/So1/Sib1/Wake3.wav" for entity baddie1sound at volume 0.9 on channel CHAN_AUTO
wait 1 seconds
play sound "enemy/So1/Sib1/Wake1.wav" for entity baddie2sound at volume 0.9 on channel CHAN_AUTO
wait 2 seconds
//raiders walk and fire for next shot
animate entity walkfire1 performing action STD_WFIRE_FWD_MS_2 by moving [0,-240,0]
wait .2 seconds
animate entity walkfire2 performing action STD_WFIRE_FWD_MS_2 by moving [0,-240,0]
animate entity walkfire3 performing action STD_WPATROL_N_MRS_2 by moving [0,-240,0]
wait .1 seconds
animate entity walkfire4 performing action STD_WPATROL_N_MRS_2 by moving [0,-240,0]
wait .1 seconds
animate entity walkfire5 performing action STD_WPATROL_N_MRS_2 by moving [0,-240,0]
//turns off sixth camera
use entity sixth_cam //turns off sixth camera
////////////////////////////////////////////////////////
// Seventh Camera - Firefight
////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
// Eighth Camera - Firefight
////////////////////////////////////////////////////////
//turns on eighth camera
use entity eighth_cam //turns on eighth camera
//removes sib dude
remove entity hallflee1
//camera moves with raiders
move entity eighth_cam by [0,-210,0] at 80 speed
wait 2.7 seconds
//turns off sixth camera
use entity eighth_cam //turns off eighth camera
////////////////////////////////////////////////////////
// Ninth Camera - Door is blasted and nuke is stolen
////////////////////////////////////////////////////////
//turns on ninth camera
use entity ninth_cam //turns on ninth camera
wait .5 seconds
play sound "cin/tsr1/c9d1.adp" for entity mullins at volume 0.9 on channel CHAN_NO_PHS_ADD
print TSR1_C9D1
// "sources in russia...." captioned
wait 2.7 seconds
//sparks fly
use entity rspark
use entity lspark
moverotate entity rspark from file "Tsr2_startcin_sparkrt.rof"
moverotate entity lspark from file "Tsr2_startcin_sparklf.rof"
wait 2 seconds
//removes sparks
remove entity rspark
remove entity lspark
wait 1 seconds
//doors are blasted open
use entity sparkboom
moverotate entity doorrt from file "Tsr2_startcin_doorrt.rof"
moverotate entity doorlf from file "Tsr2_startcin_doorlf.rof"
wait .4 seconds
//raiders run in
use entity sparkrunner1
wait .3 seconds
use entity sparkrunner2
wait .2 seconds
use entity sparkrunner3
wait .3 seconds
use entity sparkrunner4
wait .4 seconds
//fade out
use entity end_fade
wait 1 second
//turns off ninth camera
use entity ninth_cam //turns off ninth camera
////////////////////////////////////////////////////////
// Tenth Camera - Raiders make off with the nuke
////////////////////////////////////////////////////////
//turns on tenth camera
use entity tenth_cam //turns on tenth camera
//wait .1 seconds
// play sound "cin/tsr1/c9d2.adp" for entity mullins at volume 0.9 on channel CHAN_NO_PHS_ADD
// print TSR1_C9D2
// // "sold to the highest bidder" captioned
//camera moves with raiders
move entity tenth_cam by [70,0,0] at 15 speed
//starts the fade in
use entity start_fade // starts the fade in
//guards walks with nuke
animate entity nukewalker1 performing action STD_WPATROL_N_MRS_2 by moving [-250,0,0]
animate entity nukewalker2 performing action STD_WPATROL_N_MRS_2 by moving [-250,0,0]
//raider pushes out nuke
animate entity pusher performing action STD_WPUSH_N_N_N by moving [-250,0,0] holding for 10.0
move entity nuke01 by [-245,0,0] at 49.7 speed //signaling sig1
move entity nuketable1 by [-245,0,0] at 49.7 speed
move entity nukesound1 by [-245,0,0] at 49.7 speed
//wait for all clearing sig1
wait 3.2 seconds
//fade out
use entity end_fade
wait 1 seconds
//turns off tenth camera
use entity tenth_cam //turns off tenth camera
///////////////////////////////////////////////////////////
// Eleventh Camera - Train doors open and raiders jump out
///////////////////////////////////////////////////////////
//turns on eleventh camera
use entity eleventh_cam //turns on eleventh camera
//turns on outdoor sound set
use entity outdoorsound
//heli flys in the background
move entity heli1 by [1072,-1320,0] at 300 speed
wait .1 seconds
play sound "cin/tsr1/c9d2.adp" for entity mullins at volume 0.9 on channel CHAN_NO_PHS_ADD
print TSR1_C9D2
// "sold to the highest bidder" captioned
//camera pans
move entity eleventh_cam by [80,-16,0] at 16 speed
//starts the fade in
use entity start_fade // starts the fade in
wait 1 seconds
//opens train doors
use entity traindoors
wait .5 seconds
//raiders jump out of train
animate entity trainraider1 performing action STD_WPATROL_N_MRS_2 by moving [0,-112,0] //STD_R_N_MRS_2
wait .4 seconds
// play sound "cin/tsr1/c9d3.adp" for entity mullins at volume 0.9 on channel CHAN_NO_PHS_ADD
// print TSR1_C9D3
// // "As much ....." captioned
animate entity trainraider2 performing action STD_WPATROL_N_MRS_2 by moving [0,-112,0]
//animate entity trainraider1 performing action STD_JDOWN_N_A_A
//animate entity trainraider2 performing action STD_JDOWN_N_A_A
//STD_JDROP_N_A_A
wait 2.2 seconds
//fade out
use entity end_fade
wait 1.5 seconds
//removes jumper raiders
remove entity trainraider1
remove entity trainraider2
//turns off eleventh camera
use entity eleventh_cam //turns off eleventh camera
///////////////////////////////////////////////////////////
// Twelve Camera - Truck backs up to train
///////////////////////////////////////////////////////////
//turns on twelve camera
use entity twelve_cam //turns on twelve camera
wait .9 seconds
play sound "cin/tsr1/c9d3.adp" for entity mullins at volume 0.9 on channel CHAN_NO_PHS_ADD
print TSR1_C9D3
// // "As much ....." captioned
//starts the fade in
use entity start_fade // starts the fade in
//wait .1 seconds
//camera pans up
move entity twelve_cam by [0,0,32] at 8 speed
//spawns guards
use entity trainguard1
use entity trainguard2
use entity trainguard3
use entity trainguard4
animate entity trainguard1 performing action STD_ILOOKING_N_MRS_2 holding for 999.9
wait .1 seconds
animate entity trainguard2 performing action STD_ILOOKING_N_MRS_2 holding for 999.9
animate entity trainguard3 performing action STD_ILOOKING_N_MRS_2 holding for 999.9
animate entity trainguard4 performing action STD_ILOOKING_N_MRS_2 holding for 999.9
//plat moves out
move entity trainplat by [0,-64,0] at 40 speed
//truck backs up
use entity traintruck
move entity traintruck by [0,144,0] at 120 speed //truck drives in
wait 1.3 seconds
//turns off wheels and sound
use entity traintruck
wait 1.6 seconds
//turns off twelve camera
use entity twelve_cam //turns off twelve camera
///////////////////////////////////////////////////////////
// Thirteenth Camera - Truck backs up to train and unloads
///////////////////////////////////////////////////////////
//turns on thirteen camera
use entity thirteen_cam //turns on camera
//camera pans
move entity thirteen_cam by [62,-16,0] at 16 speed
//raider pushes nuke in train
animate entity trainpusher performing action STD_WPUSH_N_N_N by moving [0,250,0] holding for 10.0
move entity trainnuke by [0,245,0] at 49.7 speed //signaling sig1
move entity traintable by [0,245,0] at 49.7 speed
move entity nukesound2 by [0,245,0] at 49.7 speed
wait .5 seconds
//truck drives away
move entity traintruck2 by [0,-470,0] at 90 speed //truck drives away
wait 1.2 seconds
//fade out
use entity end_fade
wait 1.0 seconds
//setcvar cvar "scr_blank" to 80.0
wait .8 seconds
//turns off thirteen camera
use entity thirteen_cam //turns off camera
disable cinematics
//use entity changelevel
// run console command "menu congrats"
setcvar cvar "menu_nextmap" to "trn1"
run console command "intermission blankscreen_nostats"
exit

26
Sample/ds/tsr1/swat1.ds Normal file
View file

@ -0,0 +1,26 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
// the script sets up the swatguys
local entity swatguyfront // the guy way up front by the second subway
local entity endtrackguy // the guy at the end of the tracks
local int sig1
swatguyfront = find entity with targetname "swatguyfront"
endtrackguy = find entity with targetname "endtrackguy"
use entity swatguyfront // spawns the swatguy in
use entity endtrackguy // spawns the end guy in waiting on the tracks
play sound "speech/tsr1/swt/mcd-1.adp" for entity swatguyfront at volume 0.9 on channel CHAN_AUTO // Swat guy yelling to drop
animate entity swatguyfront performing action STD_R_N_PK_N by moving [256, 0, 0] // signaling sig1
animate entity swatguyfront performing action SCRIPT_RELEASE
// wait for all clearing sig1
animate entity endtrackguy performing action STD_F_FWD_P_2 targeting entity swatguyfront kill
animate entity endtrackguy performing action SCRIPT_RELEASE

60
Sample/ds/tsr1/swat2.ds Normal file
View file

@ -0,0 +1,60 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
// the script sets up the swatguys
local entity swatguyfront // the guy way up front by the second subway
local entity endgl2 // the skinhead guy running up the stairs
local entity jumpingman
local int sig1
swatguyfront = find entity with targetname "swatguyfront"
endgl2 = find entity with targetname "endgl2"
jumpingman = find entity with targetname "jumpingman"
use entity jumpingman // triggers the guy in who will do jumping
use entity endgl2 // triggers the guy running up the stairs
animate entity jumpingman performing action STD_F_FWD_S_2 targeting entity swatguyfront kill signaling sig1
wait for all clearing sig1
on jumpingman.health < 100 goto jumpingman_hit // check to see if he is shot
animate entity jumpingman performing action STD_JRUN_FWD_A_A by moving [-128, 0, 0] signaling sig1
wait for all clearing sig1
goto jumpingman_hit
exit
label jumpingman_hit // lets him go out of the animation if he is shot
reset ai for entity jumpingman
animate entity jumpingman performing action SCRIPT_RELEASE
// animate entity swatguyfront performing action SCRIPT_RELEASE
animate entity endgl2 performing action SCRIPT_RELEASE

View file

@ -0,0 +1,18 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
//////////////////////////////////////////////////
// swat guarding punk stands up if punk is killed
//////////////////////////////////////////////////
local entity rswat1 // the second swatguy
rswat1 = find entity with targetname "rswat1"
animate entity rswat1 performing action STD_IALERT_N_P_N

View file

@ -0,0 +1,17 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
//////////////////////////////////////////////////
// swat guarding punk stands up if punk is killed
//////////////////////////////////////////////////
local entity rswat2 // the second swatguy
rswat2 = find entity with targetname "rswat2"
animate entity rswat2 performing action STD_IALERT_N_P_N

View file

@ -0,0 +1,11 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
// the script that calls the death animation of the swat guy in the intro
local entity introdeadswat // the guy who will be killed
introdeadswat = find entity with targetname "introdeadswat"
animate entity introdeadswat performing action STD_SINBACK_2FRNT_N_N // this is him getting shot in the back

View file

@ -0,0 +1,13 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
// this script is the dead swat guy in the intro doing his thing, it is called once he gets shot with a killtarget
local entity introdeadswat
introdeadswat = find entity with targetname "introdeadswat"
animate entity introdeadswat performing action STD_SINBACK_2FRNT_N_N // this is him getting shot in the back

View file

@ -0,0 +1,85 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
#include "tsr1.ds"
// THIS SCRIPT STARTS THE CAMERA IN THE TOKEN AREA SHOWING THE SUBWAY DOOR OPEN
local entity tokencam // the camera
local entity tokencamn // the cameras null
local entity tdoorjohn // the john model that spawns in the players spot
local entity tokenlocked2 // the relay that has the locked message
local entity tdoor // the actual door that will open
local entity new_tok_lever // the actual lever that will move
local entity use_the_switch // this is the actual trigger that opens the door and triggers this script
local entity host_count
local int host_counthealth
// THIS IS STUFF THAT SHOULDNT GET REMOVED DURING THE CINEMATIC, THAT IS THE ONLY REASON IT IS HERE
local entity roundguy // the skinhead that will spawn round the corner shooting at the player entering
local entity tokvictim // the guy who will run past the token booth
local entity tokchaser // the guy following him
local entity tollguy // the guy by the token machines
enable cinematics
tokencam = find entity with targetname "tokencam"
tokencamn = find entity with targetname "tokencamn"
tdoorjohn = find entity with targetname "tdoorjohn"
tokenlocked2 = find entity with targetname "tokenlocked2"
tdoor = find entity with targetname "tdoor"
host_count = find entity with targetname "host_count"
new_tok_lever = find entity with targetname "new_tok_lever"
use_the_switch = find entity with scripttarget "use_the_switch"
// HERE IS THE STUFF AGAIN
roundguy = find entity with targetname "roundguy"
tokvictim = find entity with targetname "tokvictim"
tokchaser = find entity with targetname "tokchaser"
tollguy = find entity with targetname "tollguy"
// label intro
host_counthealth = host_count.health
// if host_counthealth < 5 // hostcount health must be greater than this number to get into the subway
// print TSR1_USELEVER // string to warn the player there are still hostages left
// else
use entity tdoorjohn // spawns the john model in players place **uncommented by SM**
// enable cinematics
use entity tokencam // turns the camera on
// use entity new_tok_lever // moves the level up
move entity new_tok_lever by [0, 0, -8]
use entity tdoor // starts the door moving up
remove entity use_the_switch // gets rid of the trigger multiple since it isnt needed anymore
wait 2 seconds // pause time
use entity tokencam // shuts the camera off
remove entity tokenlocked2 // cuts off the message on the relay
// remove john model
remove entity tdoorjohn
disable cinematics
// endif
// suspend
// goto intro

58
Sample/ds/tsr1/token.ds Normal file
View file

@ -0,0 +1,58 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity tokenguy1
local entity tokenguy2
local entity tokenguy3
local entity player_shoot // the player
local int sig1
local int sig2
tokenguy1 = find entity with targetname "tokenguy1"
tokenguy2 = find entity with targetname "tokenguy2":
tokenguy3 = find entity with targetname "tokenguy3"
player_shoot = find entity player
// animate entity tokenguy1 performing action CCH_XCROUCH_UP_PK_A
// wait .2 seconds
play sound "speech/tsr1/skn/bt9-7.adp" for entity tokenguy1 at volume 0.9
animate entity tokenguy1 performing action CCH_XCROUCH_UP_MRS_2 // first guy gets up
animate entity tokenguy1 performing action STD_F_FWD_S_2 targeting entity player_shoot // first guy takes a shot at the player
// THIS IS THE GUY RUNNING AWAY OUT THE BACK EXIT
// animate entity tokenguy1 performing action STD_R_N_MRS_2 by moving [-112, 0, 0] // guy running towards the back of the room
// animate entity tokenguy1 performing action STD_R_N_MRS_2 by moving [0, 112, 0] // guy running up the little hall and to the left
// animate entity tokenguy1 performing action STD_R_N_MRS_2 by moving [-216, 0, 0] //
// animate entity tokenguy1 performing action STD_R_N_MRS_2 by moving [0, 256, 0] // running towards the door
// SECOND GUY DOING HIS THING
animate entity tokenguy2 performing action CCH_XCROUCH_UP_PK_A // JUMPS UP TO TAKE A SHOT AT THE PLAYER
animate entity tokenguy2 performing action STD_F_FWD_P_2 targeting entity player_shoot
animate entity tokenguy2 performing action STD_XCROUCH_DWN_PK_A // HIM DUCKING DOWN AGAIN
animate entity tokenguy2 performing action STD_F_FWD_P_2 targeting entity player_shoot // signaling sig1
// THIRD GUY DOING HIS THING
animate entity tokenguy3 performing action CCH_XCROUCH_UP_PK_A
animate entity tokenguy3 performing action STD_F_FWD_P_2 targeting entity player_shoot
animate entity tokenguy3 performing action STD_XCROUCH_DWN_PK_A // HIM DUCKING DOWN AGAIN
animate entity tokenguy3 performing action STD_F_FWD_P_2 targeting entity player_shoot // signaling sig2
// wait for all clearing sig1, sig2
animate entity tokenguy2 performing action SCRIPT_RELEASE
animate entity tokenguy3 performing action SCRIPT_RELEASE
animate entity tokenguy1 performing action SCRIPT_RELEASE

View file

@ -0,0 +1,30 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
/////////////////////////////////////////////////
local entity trackcam1 // the cam on the tracks
local entity trackcam1n // the trackcams null
local entity fryguy // the guy who gets killed
local entity tracksparks // the spark gen by the tracks
local int sig1
trackcam1 = find entity with targetname "trackcam1"
trackcam1n = find entity with targetname "trackcam1n"
fryguy = find entity with targetname "fryguy"
tracksparks = find entity with targetname "tracksparks"
trackcam1.movetype = MOVETYPE_NOCLIP
trackcam1n.movetype = MOVETYPE_NOCLIP
use entity fryguy // spawns the guy who will get killed
use entity trackcam1 // turns the camera on
animate entity fryguy performing action WALK by moving [-32, 0, 0] signaling sig1 // has the guy walkforward towards the fusebox
wait for all clearing sig1
animate entity fryguy performing action STD_XALARMPUSH_N_A_N signaling sig1 // triggers the alarm push button animation
wait for all clearing sig1
animate entity fryguy performing action STD_SBLOWN_2BK_N_N signaling sig1 // the blown back animation
use entity tracksparks // triggers the sparkgen
wait for all clearing sig1

57
Sample/ds/tsr1/train1.ds Normal file
View file

@ -0,0 +1,57 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
/////////////////////////////////////////////////
// THIS SCRIPT IS THE HOSTAGE GETTING PUSHED IN FRONT OF THE TRAIN
local entity train2 // the train that moves
local entity trainvictim1 // the guy getting pushed in front of the train
local entity pusher // the guy who does the pushing
local entity shake1 // the shake when the train derails
local entity trainexplosion // the explosion when the train derails
local entity brokensign // the func_wall sign that gets triggered on after the train derails
local entity trainsmokegen // the smokegen that gets triggered by the train
local int health
local int sig1
train2 = find entity with targetname "train2"
trainvictim1 = find entity with targetname "trainvictim1"
pusher = find entity with targetname "pusher"
shake1 = find entity with targetname "shake1"
brokensign = find entity with targetname "brokensign"
trainexplosion = find entity with targetname "trainexplosion"
trainsmokegen = find entity with targetname "trainsmokegen"
health = pusher.health
// animate entity trainvictim1 performing action STD_XAFRAIDSHAKE_N_N_N // the hostage cowering
if health <= 0
use entity train2 // makes the train move
animate entity trainvictim1 performing action SCRIPT_RELEASE
exit
endif
animate entity pusher performing action STD_F_FWD_S_2 targeting entity trainvictim1 // the pusher guy pistol whiping the guy
animate entity pusher performing action SCRIPT_RELEASE
animate entity trainvictim1 performing action STD_SBLOWN_2BK_N_N by moving [64, 0, 0] // the animation of the guy getting pushed onto the tracks
play sound "Speech/tsr1/npc/eb9-11.adp" for entity trainvictim1 at volume 0.9
wait 1.25 seconds
use entity train2 // makes the train move
wait .75 seconds
remove entity trainvictim1 // gets the guy out of the way so the train doesnt get stuck
wait 3 seconds
// use entity brokensign // triggers the sign in
use entity shake1 // causes the screen to shake
use entity trainexplosion // causes the explosions on the tracks.
rotate entity train2 by [-10, -5, 0] at 150 speed signaling sig1
// use entity trainsmokegen // triggers the smokegen
wait for all clearing sig1
exit

View file

@ -0,0 +1,23 @@
#include "../common/header.ds"
output "p:/base/ds/tsr1"
local entity runovertrain
local entity new_train_shake // the camera shake that people wanted
local entity qa_explosion // the explosion at the end of the tunnel
local entity qa_camerashake // the camera shake for the explosion at the end of the tunnel
runovertrain = find entity with scripttarget "runovertrain"
new_train_shake = find entity with targetname "new_train_shake"
qa_explosion = find entity with targetname "qa_explosion"
qa_camerashake = find entity with targetname "qa_camerashake"
wait .1 seconds
play sound "Cin/TSR1/Script/Warning.wav" for entity runovertrain at volume 0.9
wait 2.2 seconds
use entity runovertrain // triggers the train going
use entity new_train_shake // triggers the camera shake effect
wait 4 seconds
use entity qa_explosion // the explosion gets triggered
use entity qa_camerashake // triggers the camera shake

Some files were not shown because too many files have changed in this diff Show more