TA 武器的百科全书 (英文)

备份下

A MAESTRO’S ENCYCLOPAEDIA OF
TA WEAPONRY
the most complete TA weapon reference ever version 1.0

(c)2004 ‘Maestro’ R Setiawan
Publishing right exclusively by Maestro and Estrella’s TA Designers.
U may download and share it with friends but you are not allowed to publish it in any electronically format and you are not allowed to place it on a web site.

Preface

How to use this tutorial? In case you don’t make TA units yourself you can print this manual and use it to create a paper plane or you might even use it as toilet paper j/k :smiley: however in case you want to learn more about how to create a weapon for a TA unit and like to know the details then this manual will be useful for you.
(cough) seriously you can read this manual in two ways, either read it section by section or in case you only want to know about a certain variable you can lookup a variable in the left frame, select it and you will be directed to the description in the right frame.

Copy left

This tutorial is personal property of R Setiawan and exclusive publishing right belongs to TA designers… U can’t publish it in any way without any agreement with the R Setiawan aka Maestro.
U may copy it, save it to your local hard disk or share it with friends etc. However you cannot put it in a web site without permission or nor can you ask money for printouts, you can however sell it for US$ 99 as a hardcover edition if R Setiawan aka Maestro receives 80% royalties!!.

Feedback
U are free to make complaints or give /comments and feedback, please mail it to [email protected] or [email protected] (preferred).

Nothing is done yet something has to be done (Napoleon Bonaparte)

Systematical
The tutorial starts with a basic understanding of TA weaponry. I will describe all parameters necessary for weapons and I will explain how you can get it to work. Most of the variables (even thing likes explosiongaf and sound section) are surprisingly optional.
Each variable is written in bold, blue color. An example is written in this color
An example can consists of two parts : the syntax of the variable (written in courier font) and sometimes an explanation of the example.
I will also explain the relationship between how a unit works in TA and how to do some related stuff so you might get a better understanding of it…

A Maestro Review
BASIC UNDERSTANDING OF TA WEAPONRY

The first time I saw the original TA (OTA) I didn’t like it very much mainly because I didn’t like the way the units looked, however a lot of 3rd party units solved this ‘problem’ and the more I learn about the TA engine the more I admire its attention for detail.

Weapon in TA is no an exception: a TA weapon has several aspects of physics.
most TA weapons should have lines that defines the following characteristics

  1. Weapon ID (weaponID=xxx;)
  2. The weapon path : ballistic or lineofsight, (yup :slight_smile: )
  3. The way the weapon launch : to front (no special parameter), turret(turret=1;), vertically launched(vlaunch=1;), dropped (dropped=1;) or meteor (meteor=1;)
    Using both turret=1; and vlaunch=1; will result in direct crash
  4. The way the weapon looks : either it is using engine generated laser or electric bolt, bitmap, or 3D object (3DO file in objects3D folder). (rendertype=…:wink:
  5. The velocity (velocity=xx;)
  6. range of weapon (range=xx;)
  7. The damage caused by this weapon (damage=xx;)

Other Variables are optional

And there are thousand of combinations of those variables to create various interesting weapons, Here I will only describe what those parameter means and how to use it. U can always experiment yourself after you learned about a similar weapon either in a cavedog unit or a 3rd party unit. I will add some notes in this tutorial which parameters can cause TA to crash so you can experiment without suffering too much :slight_smile:
WEAPONRY VARIABLES

WEAPON MOVING PATH

The weapon must have one of the following 3 parameters : dropped, ballistic or lineofsight

ballistic = Weapon is fired according to a ballistic path determined by the gravity value of the map.
example:
ballistic=1;
possible value : 0 & 1. ballistic=0 mean weapon not ballistic and the effect is equal with not including this parameter at all so don’t waste your time.

Related Parameter
weapon velocity : the greater the weapon velocity the more straight its ballistic path. If weapon velocity is greater than 1000 then it will be not much different with lineofsight weapon i;e it cant pass ground obstacle and become less accurate. weapon velocity of 300-500 is the best for artillery imo.
It also related with gravity parameter defined in the map. The greater the map’s gravity then the steeper its ballistic curve path

lineofsight = Weapon is fired in a straight line, gravity does not effect path.
example:
lineofsight=1;

possible value : 0 & 1. lineofsight=0; have same effects with not including the parameter.

Related Parameter
tolerance : the max diversion weapon can be fired from line of sight axis. 32k means weapon can be fired to all direction (180 degree to left and 180 degree to right)
pitch tolerance : optional, likes tolerance but it special for vertical diversion. So have pitch tolerance too small and your antitank missile will be useless :wink:

THE WAY A WEAPON IS FIRED

The way a weapon is fired could be a lineofsight weapon (no special variables necessary), a turret (fired via turret), dropped, vlaunch and like a meteor
dropped = Weapon is dropped in order to use it, typically a bomb.
the effect of this parameter makes the weapon move in a straight descending path so it will be useless against a plane, and the guidance parameter will not work for a dropped weapon.
example:
dropped=1;
Related parameter
if U have weapon with both ballistic=1; and dropped=1; then U got a weapon that dropped in ballistic path :). Example is World Domination TC’s carpet bomber I created
turret = Weapon must be deployed from a turret with a 360 deg rotation and pitch. so it must have turret related script (i;e the AimPrimary/AimSecondary/AimTertiary part :slight_smile: ) without turret scripting the weapon will be aim-anywhere shot-anywhere weapon
example:
turret=1;
vlaunch
Weapon with vlaunch will be fired vertically. Guidance dont work very well with this kind of weapon so U must give it quite big number of turnrate if U want this kind of weapon to be effective
example:
vlaunch=1;
Related Parameter
Vlaunch parameter Cannot be combined with a turret=1; parameter or the game will crash.
meteor
Used to defines meteor
example:
meteor=1; .

GENERAL CHARACTERISTICS

[Damage]
It is self explaining parameter, this part defined how much the weapon reduce the MaxDamage point of target.
There are two part of [DAMAGE] section
the first is default damage point and the second is specific damage for certain unit
Example
the following exclusive Krogoth Killer weapon will cause no damage to whatever unit but will kill Krogoth (maxdamage=29489) in one shot :):

[DAMAGE]
{
default=0;
CORKROG=30000;
}

ID is a unique value in the range 0-255 which identifies the weapon. If there is more than 1 weapons have same ID then only one will work.
example:
ID=1;
[NAME]
It is a header of all TA weapon. There are 2 name variable for TA weapon this one is the most important as it is the name that will be used by unitdata as the name of primary/secondary/tertiary weapon and explosion. If more than one weapon have same [NAME] variable it might cause one of the weapon doesnt work even if they have 2 kind of weapon ID
example:
[155mm_artil]
{
ID=28;
name = 155mm superlarge heavy artillery;
=This means the weapon names is 155mm_artil with ID=28. The name = 155mm super large heavy artillery; just a kind of note that defined the weapon better so U can write virtually anything here and change it without any impact on the weapon
name
The name of weapon. It only used as reference/description of weapon
example:
see previous entry
noexplode = No explosion when weapon impacts target
This is not ‘kill’ the explosion gaf likes what most people think, but it seems weapon with noexplode=1; when combined with proper parameter then the weapon not dead when hit the target or ground and keep blowing thing in its path until its maximum range or weapon timer kill it. An example is CORE macross weapon and DRAGOTH missile
example:
noexplode=1;
possible value : 0 or 1. Default is, as usual, 0 which means if U don’t want to use noexplode on your weapon dont bother write it.
reloadtime = Seconds between shots (floating point allowed). put reloadtime=1000 U will feel asleep waiting the weapon to fire!
example:
reloadtime=10;
Related Parameter
In case for stockpiled weapon the reloadtime defines the time needed to build the weapon.
After the unit became veteran reloadtime seems to be much faster.(perhaps half of the stated reloadtime)
weapontimer = How long weapon is active in seconds (floating point allowed), trajectory weapons use 0 so it is calculated
example:
weapontimer=10;
noautorange = When set the weapon will not detonate at range automatically, used mostly for heavy rockets
example:
noautorange=1;
turnrate = Used for guided weapons, is in angular units (0-64k)/second
example:
turnrate=2000;
Related parameter
Turnrate work best for weapon with guidance=1; and selfprop=1; parameter
Turnrate is maneuverability in degree/second. So faster weapon with same turnrate seems less agile/maneuverable than slower one since every second faster weapon reach higher range
areaofeffect = The total area that receives that damage. It is in pixel measured from the groundzero (center of explosion). If u ever heard TA unit called MAD (mutually assured destruction) which destroy anything on screen it is the weapon with area of effect very,very large
example:
areaofeffect=1000;
Example of overly overpowered weapon of mass destruction. it means weapon will destroy anything in radius 2 almost screen away (1300 pixel) from where the weapon hit…even TA nuke only have areaofeffect 512 pixel lol!.
edgeeffectiveness = The percentage (1.0 = 100%) of the damage that is inflicted at the edge of the area of effect.
example:
edgeofeffectiveness=0.5;
firestarter = Weapon will cause fires, expressed as a %, where 100% guarantees a fire in tree/forest map
example:
firestarter=50;
unitsonly = Weapon will only detonate on enemy units as opposed to obstructing terrain.
example:
unitsonly=1;
burst = How many repeat times a weapon fires in one burst, ie. Flamethrower
example:
burst=5;
Related Parameter
Reload time. burst define number of bullet fired every reloadtime sec.
burstrate = The time delay when in burst mode between events. Without this weapon will be fired at constant rate.
example:
burstrate=0.1;
sprayangle = Maximum deviation from the straight line to the target the weapon strays, used for burst weapons. 64k=360 degree.
example:
sprayangle=3000;
randomdecay = Maximum time delta that burst weapon will randomly decay at end of path. Sure it must be smaller than weapon timer
example:
randomdecay=0.5;
groundbounce = Weapon will not detonate with the ground but instead bounce
example:
groundbounce=1;
possible value : 0 and 1
Good to make grenadelike weapon
flighttime = The time the unit will fly for after it enters the second phase of operation, used for starburst missiles.
example:
flighttime=1000;
Related Parameter
Guided missile only : It will reduce the accuracy of weapon. The flighttime became the time of weapon fly in straight path without aiming the target. So weapon with flighttime=x; and weapontimer=y; means the weapon will ‘hunt seek’ the target for y second and fly without aiming for ‘x’ ticks (perhaps, im not sure the time measurement standard of flight time but it is clearly not second) . When weapon miss it will run in circle until it use all its flighttime before die.
selfprop = Weapon is self propelled. Weapon with this parameter can have guidance. possible value are either 0 or 1 (0 have same effect with not including this parameter at all, save ur time ;))
Example

selfprop=1;

Related Parameter
Accuracy parameter doesnt work for unit with selfprop=1;.
twophase = Indicates weapon operates in two phases
example:
twophase=1;
Used for twophase weapon.
Related Parameter
It seems For a vlaunch weapon, when combined with flighttime (likes OTA vlaunch missile truck) with twophase missile will fly in circle as much as its flighttime before it really hunting its target i think.
weapontype2 = Describes another weapon that the weapon turns into in the second phase. It seems doesnt work… one of cavedog fail effort perhaps…
guidance = Indicates that weapon is guided and uses the turn rate above to track enemy unit.
example:
guidance=1;
Related Parameter
Guidance will work only with unit that are self prop, and not work with dropped weapon well
tracks
tracks=1 means the weapon will track a moving target after a weapon conversion
example:
tracks=1;
commandfire
This weapon will can be expressly fired (either attack or d-gun) by the user each and every time it is used.
example:
commandfire=1;
related parameter
If the weapon is intended to be fired as d-gun it musts :

  1. a turret weapon (i;e have turret=1; parameter)
  2. It must be put as tertiary weapon of ur unit in unitdata
    MinBarrelAngle: The minimum angle (in degrees, 64k=360 deg) the barrels can point, used in ballistic calculations. This will limit the weapon capability to engage close range target and good to model realistic weapon that cannot attack nearby target (i;e artillery)
    example :
    Minbarrelangle=1000;
    cruise
    weapon with cruise=1; will always reach the designated target, however guidance seems dont work for this kind of weapon. Another aspect of this weapon is it will show a big cross in radar screen (example is TA nuclear).
    example :
    cruise=1;
    burnblow = Weapon will detonate when it comes to the end of its range
    example :
    burnblow=1;
    accuracy = Accuracy not defines the weapon accuracy but define the weapon possible inaccuracy instead (i;e degree of error, a kind of CEP in real world military) in 64k degree to left and right.
    Any selfpropelled weapon (i;e most rocket/missile with selfprop=1; parameter) not affected by this parameter
    example :
    accuracy=16384;
    This means weapon will be really inaccurate and can miss as much as 90 degree!
    tolerance = Amount of accuracy weapon will use when aiming, it determines the area of attack possibility. As example aircraft missile with accuracy=16K make the aircraft can attack target up to 90 degree left and 90 degree right.
    pitchtolerance = Similar with tollerance but this affect in different axis. It is a kind of up/down tolerance. As example if aircraft carrying weapon with small pitch tolerance then it cant attack ground target
    example :
    tolerance=16384;
    pitchtolerance=8000;
    It means weapon can aim target 90 degree to the left and right but can only target enemy 45 degree up and down in vertical scope
    aimrate = How fast (on average) the weapon aims, in 64K deg / sec. Used by UnitView.and dont influence the way the unit work in game

SPECIALIZED WEAPON
The following variables will limit target that can be engaged by the weapon

ToAirWeapon = weapon will meant to attack air target, however there is a different effect of this parameter with in which slot the weapon placed
ToAirWeapon when used as primary weapon of a unit then the unit wont chase any non-air target
ToAirWeapon when used as secondary weapon will work likes usual weapon i;e it will attack ground target too
ToAirWeapon as tertiaryWeapon then the weapon will only attack air target but unit can still land attack other kind of target using its primary and secondary weapon
example :
toairweapon=1;

waterweapon
This means weapon is intended to travel through water.
Any weapon with waterweapon=1; parameter cannot attack ground target
Without this parameter the weapon will explode once it is touch the water. That is why ground weapon such missile less capable than fixed gun/cannon against naval target, as missile line of sight path make it hit the water before it reach the naval target.
If U make an airlaunched missile with waterweapon=1; then the missile will skim over water likes real world Anti ship missile and good against ship only, an example is missile on my Tu-22M3 backfire available in TAUS and TA designers
example :
waterweapon=1;

Interceptor
Mean the weapon is intended to destroy other weapon. As example is OTA Anti Ballistic Missile. However interceptor missile can only engage weapon with targetable=1; parameter. Interceptor weapon must be stockpile weapon AFAIK
example :
interceptor=1;

coverage is what the protection umbrella is for weapons that shoot other weapons. it works only for interceptor weapon. Stated in 64k degree
example :
coverage=32000;
Targetable Add this and the weapon can be intercepted by interceptor
example :
targetable=1;

VELOCITY AND RANGE

Any weapon must have Weaponvelocity parameter. Optional is startvelocity. Any weapon with startvelocity should have weaponacceleration parameter.

startvelocity = Weapon will start at this velocity.
related parameter
startvelocity only work for weapon with weaponacceleration defined.
Since weapon acceleration doesnt work with negative number startvelocity must be smaller than weaponvelocity. (so U cannot make weapon with initial speed higher than weaponvelocity)
weaponvelocity = Maximum attainable weapon veolocity in pixels/second
To compare weapon velocity and unit velocity U must remember that 1 TA unit speed is equal with 30 pixel/second so if U want a missile to be able to chase and destroy TA fighter with speed = 10 unit, ur missile speed must be higher than 10 x 30pix/sec=300.
weaponacceleration
The acceleration of weapon its needs from its start velocity until it reach its weapon velocity. Number must be greater than 0.
Expressed in pixels/second/second

examples:
weaponvelocity=450;
startvelocity=150;
weaponacceleration=200;

this means weapons will be fired at speed 150pixel per second then it will be accelerated 200pixel/second until it reach its maximum speed of 450 pixel/second

range
maximum range of target that can be attacked by the weapon in pixel
examples:
range=450;

SPECIAL STUFF
paralyzer
Weapon will stun the enemy for a length of time described in the damage field, damage=60 mean one second paralyze. However paralyzer weapon wont cause any damage to enemy unit, only stun them
examples:
paralyzer=1;
damage=600;
Means the weapon will paralyze the enemy unit for 10 second

propeller = if the model has a propeller that spins. Possible value is 0 and 1. Weapon with object3D will be spinned if have propeller=1; parameter
examples:
propeller=1;
noradar
weapon cant be seen on radar, used on meteor.
examples:
noradar=1;
shakeduration
Duration of ‘quake’ caused by the weapon in second
examples:
shakeduration =1.2;
shakemagnitude
How large the of ‘quake’ caused by the weapon. Maybe in pixel but definitely not in reichter :stuck_out_tongue:
examples:
shakemagnitude=22;
stockpile
weapon must be build to be fired, likes OTA nuclear and interceptor.
examples:
stockpile=1;

VISUALISATION OF WEAPON

rendertype
examples:rendertype=1;
possible value :

rendertype=0; laser weapon
rendertype=1; weapon using 3d model, most missile using this
rendertype=3; this used for dgun
rendertype=4; this for 2D bitmap and animated bitmap likes emg and unit explosion etc. U mostly wont use this except need different explostion for mine/kamikaze type unit
rendertype=5; flame thrower weapon
rendertype=6; another 3D object likes OTA bomb and WD cannon. i still try to findout what is its difference with rendertype=1;
rendertype=7; electrobolt (lightning) laser

model = 3D model to use as this weapon
There is some special character about 3d model of weapon. Unlike unit model it doesnt need a special base object, however it must have a groundplate. Forgot to add this and weapon will be a crasher. Function of weapon groundplate is that TA engine will use it as ‘impact point’ means that
second character of TA weapon 3D model is that unlike unit model where u can make some part with different origin point and move it later to its proper coordinate the ‘move’ transformation doesnt work for weapon model. Therefore If u make the weapon consists of some model all the model must have centered in center of coordinate (z=0, x=0, and y=0)
examples:
model=switchblade;

color = Color of beam weapon from the game palette
color2 = Color to use on the beam weapon to make better and cooler, CGT
color must be a number between 0 and 255
examples:
color =11;
color2 =211;

There are basic color for both lightning and laser weapon (i;e rendertype=0; and rendertype=7;) however color2 seems to have little effect on lightning type weapon
Check the laser color guide for color list and combination
Notes: sometimes the type of map (desert, green or snow) do affect the way the laser some index I said light blue will looks a bit green in green maps.
beamweapon = Weapon is a straight beam weapon like a laser
examples:
beamweapon=1;
duration = this used for beam weapon. It is affects how long the beam will be emitted from firing piecenum in second. beam with longer duration seems or higher speed at same duration seems to be longer. It possibly also affects how long weapon can do some damege
examples:
duration=0.81;

VISUAL EFFECTS

This stuff affects the way the weapon explode

The explosion gaf and art refer to the .gaf files in /anims folder in unit hpi/ufo files. If the .gaf and art files (i;e the explosion sequence inside the gaf) doesnt exist TA will crash when loading anims.

explosiongaf = .GAF file that the explosion art is in
explosionart = name of animation sequence for explosion in the gaf
both used to define the explosion will appear when weapon hit target or ground
waterexplosiongaf = .GAF file that the water explosion art is in
waterexplosionart = name of animation sequence for water explosion in the .gaf
both used to define the explosion will appear when weapon explode in water
lavaexplosiongaf = .GAF file that the water explosion art is in
lavaexplosionart = name of animation sequence for water explosion in the .gaf
both used to define the explosion will appear when weapon explode in lava zone

example :

explosiongaf=varxplo;
explosionart=msexpsm;

waterexplosiongaf=fx;
waterexplosionart=h2o;

lavaexplosiongaf=fx;
lavaexplosionart=lavasplash;

This stuff affects the sounds the weapons make

All sounds variables is optional, however you wouldnt be happy if your weapon have no sound arent U :wink:
sounds refer to .wav sound files in /sounds inside the sounds folder in the hpi/ccx/ufo/gpx unit files
soundstart = Sound to make when the weapon fires
soundhit = Sound to make when the weapon detonates (if the weapon detonates)
soundwater = Sound to make when the weapon hits the water
example:
soundstart=bigrock2;
soundhit=BAM2;
soundwater=wetBAM2;
soundtrigger = Make the weapon sound when the weapon fires in burst mode
example :
burst=5;
soundtrigger=0;

with soundtrigger=0; means the weapon sound will be read only once for one burst, while if soundtrigger=1; the sound will be repeated 5 times (for every single round)

This stuff affects the smokes the weapons make

smoketrail = Indicates whether or not a weapon will emit a smoke trail.
smokedelay = Smoke dispersal interval expressed in seconds
example :
smoketrail=1;
smokedelay=0.5;
This means the weapon will emit smoke trail every 0.5 second
Related Stuff
The smoke will be emited from the center of weapon’s 3D object. So if U want the weapon to emit smoke from its exhaust/nozzle than U must move the pivot (in case U use 3D Studio MAX) or put the nozzle as center of coordinate (in case u use lightwave).
startsmoke = Draw a puff of smoke when the weapon fires
example :
startsmoke=1;
endsmoke = Draw a puff of smoke when weapon terminates
example :
endsmoke=1;

This stuff describes the amount of metal and energy it takes to fire the weapon if applicable

energypershot = Amount of energy needed to fire the weapon
metalpershot = Amount of metal needed to fire the weapon
example :
energypershot=10000;
metalpershot=1000;
those make expensive weapon that can be fired only if U are rich and have 1000 metal and 10000 energy
Both are optional. If U dont have metal and energy as much as defined there weapon wont fired
Related Parameter
For Stockpile weapon it define the energy and metal needed to build the weapon
for non stockpiled weapon it is the number of metal and energy u the unit will use to fire the weapon, in case of stockpiled weapon (like nukes) it is the amount of metal and energy necessary to build the weapon.