Tiberian Technologies Scripts Reference Revision: 9000
Loading...
Searching...
No Matches
tda.h
1/* Renegade Scripts.dll
2 Copyright 2013 Tiberian Technologies
3
4 This file is part of the Renegade scripts.dll
5 The Renegade scripts.dll is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License as published by the Free
7 Software Foundation; either version 2, or (at your option) any later
8 version. See the file COPYING for more details.
9 In addition, an exemption is given to allow Run Time Dynamic Linking of this code with any closed source module that does not contain code covered by this licence.
10 Only the source code to the module(s) containing the licenced code has to be released.
11*/
12#pragma once
13class TDA_Stealth_Armor:public ScriptImpClass {
14 void Custom(GameObject *obj,int type,int param,GameObject *sender);
15 void Timer_Expired(GameObject *obj,int timer_id);
16};
17
18// Use this to send messages on ZoneEnter and Zone Exit
19//
20//TDA_Send_Custom_Zone
21//ID:int 'id of object to send to
22//EnterMessage:int 'message to send on ZoneEnter
23//EnterParam:int 'Parameter on ZoneEnter
24//ExitMessage:int 'message to send on Exited
25//ExitParam:int 'Parameter on Exited
26//Team_ID:int 'Team ID 0=Nod,1=GDI,2=Any
27
28class TDA_Send_Custom_Zone: public ScriptImpClass {
29 void Entered(GameObject *obj,GameObject *enterer);
30 void Exited(GameObject *obj,GameObject *exiter);
31};
32
33// Construction Yard Controllers,will send the appropriate messages to the specified objects
34// to make them QUIT repairing the buildings
35//
36//TDA_Conyard_Controller
37//
38//Building1_ID=0:int '1st building to disable
39//Building2_ID=0:int '2nd building to disable
40//Building3_ID=0:int '3rd building to disable
41//Building4_ID=0:int '4th building to disable
42//Building5_ID=0:int '5th building to disable
43//Building6_ID=0:int '6th building to disable
44//Building7_ID=0:int '7th building to disable
45//Building8_ID=0:int '8th building to disable
46//Building9_ID=0:int '9th building to disable
47//Building10_ID=0:int '10th building to disable
48
49class TDA_Conyard_Controller: public ScriptImpClass {
50 void Killed(GameObject *obj,GameObject *killer);
51 void Custom(GameObject *obj,int type,int param,GameObject *sender);
52 void Enable_Repairs(GameObject *obj,bool Enable);
53};
54
55// Conyard Repair Script,still working on the script commands to do this,but for now
56// will act as a placeholder for the script. Use the controller script to turn off.
57//
58// TDA_Conyard_Repair
59// Repair_Frequency:int 'how many ticks till it recieves 1 health
60// Timer_ID:int 'ID of the object it is attached to,will crash game if left blank.
61
62class TDA_Conyard_Repair: public ScriptImpClass {
63 void Timer_Expired(GameObject *obj,int timer_id);
64 void Custom(GameObject *obj,int type,int param,GameObject *sender);
65 void Created(GameObject *obj);
66 public: void Register_Auto_Save_Variables();
67 bool Enabled;
68};
69
70// Use this to get the flying objects to appear on the Helipad...
71//
72//TDA_User_Purchased_VTOL_Object
73//Preset_Name:string 'flying objects name
74//HelipadLocation:Vector 'location to create the object
75
76class TDA_User_Purchased_VTOL_Object:public ScriptImpClass {
77 void Created(GameObject *obj);
78};
79
80// This will disable helicopter purchases upon destruction
81//
82//TDA_Helipad_Controller
83//VTOL_Controller1=0:int VTOL Controller to kill on destruction
84//VTOL_Controller2=0:int VTOL Controller to kill on destruction
85//VTOL_Controller1=0:int VTOL Controller to kill on destruction
86//VTOL_Controller2=0:int VTOL Controller to kill on destruction
87
88class TDA_Helipad_Controller:public ScriptImpClass {
89 void Killed(GameObject *obj,GameObject *killer);
90};
91
92// This is the VTOL_Controller that actually creates the Helicopters
93
94//TDA_VTOL_Controller
95//Cinematic_Object:string text cinematic object to create the helicopter
96
97class TDA_VTOL_Controller:public ScriptImpClass {
98 void Custom(GameObject *obj,int type,int param,GameObject *sender);
99};
100
101// This is used to grab the purchase from the PT and then send a request to build it
102//to the VTOL Controller
103//
104//TDA_VTOL_Object
105//VTOL_Controller=0:int ID of the VTOL Controller to bind to.
106
107class TDA_VTOL_Object:public ScriptImpClass {
108 void Created(GameObject *obj);
109};
110
111// Use this to enable/disable stealth effect. Will activate stealth on enter,and deactivate stealth on exit
112//
113//TDA_Toggle_Stealth_Zone
114//Trigger_Type:int This is a new setting,you can set the following here.
115// 0=only stealth IN zone
116// 1=zone entry to enable
117// 2=zone exit to disable
118//Player_Type Same as others 0=Nod,1=GDI,2=Any
119
120class TDA_Toggle_Stealth_Zone:public ScriptImpClass {
121 void Entered(GameObject *obj,GameObject *enterer);
122 void Exited(GameObject *obj,GameObject *exiter);
123};
124
125// use this to teleport a unit to a desired location when they enter this zone
126// facing the same direction as when they entered the zone. Either use the Location OR the Object_ID.
127//
128//TDA_Teleport_Zone
129//Location Vector location of where to be sent
130//Object_ID Object to teleport to (use an editor only object for this,or else will teleport inside
131// the other object
132
133class TDA_Teleport_Zone:public ScriptImpClass {
134 void Entered(GameObject *obj,GameObject *enterer);
135};
136
137// This will Disable a building on Entered,it will not destroy,just disable.
138//
139// TDA_Disable_Building_Zone
140// Building_ID:int ID of the building to disable
141// Team_ID:int ID of the team to trigger the script (0=Nod,1=GDI,2=Any)
142
143class TDA_Disable_Building_Zone:public ScriptImpClass {
144 void Entered(GameObject *obj,GameObject *enterer);
145 void Custom(GameObject *obj,int type,int param,GameObject *sender);
146};
147
148// These are the controller scripts for a stealth generator attached to a Zone.
149// when player x is in zone y,stealth is enabled,when they leave the zone,it is disabled.
150//
151//TDA_Stealth_Generator
152//Zone_ID:int ID of the Connecting Zone
153
154class TDA_Stealth_Generator:public ScriptImpClass {
155 void Killed(GameObject *obj,GameObject *killer);
156};
157
158//Zone Script for above
159//
160//TDA_Stealth_Generator_Zone
161//Player_Type:int player type (0=Nod,1=GDI,2=Any (unteamed))
162
163class TDA_Stealth_Generator_Zone:public ScriptImpClass {
164 void Custom(GameObject *obj,int type,int param,GameObject *sender);
165 void Entered(GameObject *obj,GameObject *enterer);
166 void Exited(GameObject *obj,GameObject *exiter);
167 void Created(GameObject *obj);
168 public: void Register_Auto_Save_Variables();
169 bool Disabled;
170};
171
172//This is a Script use only script,no practical general use for it
173//
174//TDA_CTF_Attached
175//No Parameters
176
177class TDA_CTF_Attached:public ScriptImpClass {
178 void Killed(GameObject *obj,GameObject *killer);
179 void Custom(GameObject *obj,int type,int param,GameObject *sender);
180 void Created(GameObject *obj);
181 public: void Register_Auto_Save_Variables();
182 unsigned int MyFlagId;
183 unsigned int ZoneCapturedId;
184};
185
186//Attach this to a zone for CTF type game... (for this to work,the game
187// HAS to be able to end on Destroy Buildings)
188//
189//TDA_CTF_Zone
190//Team_ID=0:int This is what team the Script Zone works for (0=Nod,1=GDI)
191//Max_Capture=5:int This is the number of captures that will end the game
192//Flag_Preset_Name:string Flag Preset Name
193//Building_To_Destroy1=0:int 1st Building to Destroy on Max Captures
194//Building_To_Destroy2=0:int 2nd Building to Destroy on Max Captures
195//Building_To_Destroy3=0:int 3th Building to Destroy on Max Captures
196//Building_To_Destroy4=0:int 4th Building to Destroy on Max Captures
197//Building_To_Destroy5=0:int 5th Building to Destroy on Max Captures
198//Play_Capture_Sounds=1:int This setting will enable the CTF Event sounds (0=disable,1=enable)
199
200class TDA_CTF_Zone:public ScriptImpClass {
201 void Entered(GameObject *obj,GameObject *enterer);
202 void Custom(GameObject *obj,int type,int param,GameObject *sender);
203 void Timer_Expired(GameObject *obj,int timer_id);
204 void Created(GameObject *obj);
205 public: void Register_Auto_Save_Variables();
206 int NumCaptured;
207 bool GotFlag;
208 unsigned int DecorFlag;
209 unsigned int FlagId;
210 unsigned int PlayerId;
211 bool DecorFlagPresent;
212};