Ce site est inscrit au
Votez pour ce site au
Weborama
Copyright © Vincent Debosse
[Index
]
[Unités
] [TA
]
[Utilitaires
]
[Cartes
]
[Création
]
[Ecrans
]
[Tips
]
[Liens
]
| |
|
Guide
de création Voici la partie tant attendue par les
créateurs en herbe. Dans cette partie, je vous explique tout sur les types de
fichiers. J'ai puisé quelques informations dans un site en anglais complet : http://www.tamec.org/helpdesk/ta/ta_design_guide/tadesign.htm/
et j'ai rajouté mes connaissances. Types de fichiers
3DO - BOS -
COB
- FBI
- GAF
- PCX
- TDF
- WAV
3DO La
création de ce type de fichier nécessite au moins deux logiciels. D'abord
un logiciel de 3D classique, comme 3DSMax ou LightWave. Avec lui, vous faites
les différentes pièces de l'unité, puis vous les enregistrez en format DXF ou
LWO (avec LightWave modeler). Vous pouvez aussi utiliser Breeze. Si vous
utilisez Lightwave, utilisez une grille au mètre, puisque 1 m dans LightWave
vaut 1 unité dans 3DOBuilder. Avec 3DSMax, il faut enregistrer les objets au
format 3DS, puis utiliser Crossroads pour convertir le 3DS en DXF. Notez qu'avec
3DSMax ou Breeze, les faces seront toutes des triangles. N'oubliez pas que les
rotations dans TA (comme les radars) sont faites autour des 3 axes, donc ne
placez pas votre pièce au hasard, sinon vous aurez des surprises en testant
votre unité. Ensuite il faut utiliser 3DOBuilder de Kinboat.
Vous avez besoin de créer des relations entre les objets, comme ça quand
l'objet père est déplacé ou tourné, le fils suit le mouvement (comme le
canon d'une tourelle suit la rotation du pilier). Dès que vous créez un objet,
il est placé fils de l'objet précédemment sélectionné. Donnez des noms
utiles aux objets, comme base ou canon, plutôt que obj1, obj2 ... Comme ça
vous vous y retrouverez lors de l'animation de l'unité (BOS). Placez vos
pièces en tapant les coordonnées ou en utilisant l'outil Déplacement (icône
croix à coté de la flèche) et en cliquant à l'endroit final (pas de
glisser-déposer). Appliquez vos textures en les choisissant dans la liste, puis
n double cliquant dessus. Attention : Si vous utilisez Apply sur plusieurs faces
avec une couleur, cette couleur va être en fait appliquée sur toutes les
faces de l'objet. Lorsque vous avez fini votre fichier, enregistrez le dans le
répertoire objects3d sous le nom de votre unité (ex ARMCOM.3do). Si
3DOBuilder plante subitement quand vous créez un objet ou ouvrez un fichier;
désactivez la vue 3D, ça devrait résoudre le problème.
BOS Le
fichier BOS est un fichier texte qui explique au jeu les animations de l'unité.
Il doit être compilé au format COB avec un logiciel comme COBBLER. Seul le
fichier COB est nécessaire au fonctionnement de l'unité. Il est très dur de
créer totalement un fichier BOS. Le meilleur moyen (et celui que j'utilise) est
de s'inspirer d'une unité de TA qui a une fonction proche de celle que l'on
veut créer. Par exemple, pour créer une tourelle laser, on peut utiliser le
BOS de la Mutilator ou de la tourelle laser simple (selon que l'on veuille 1 ou
2 canons) Dans TA, les axes sont comme ceux de 3DOBuilder : X de
gauche à droite, Y de bas en haut et Z d'arrière en avant. Syntaxe
du fichier :
piece pièce1,pièce2,...
; //Pièces de l'objet 3DO utilisées dans
ce fichier
static-var
var1,var2,... ;
//Variables utilisées dans le fichier (pour faire alterner les canons
d'une tour, par exemple)
#define
constante valeur //Assigne
une valeur à une constante, et cette constante sera remplacée par sa
valeur
//en compilant
#include
nom_fichier.h //Ajoute
un fichier contenant des procédures (comme SmokeUnit.h) qui seront
utilisées dans le
//fichier
// Les 2 slaches introduisent un commentaire.
Create() {}
StartMoving() {}
StopMoving() {}
MotionControl() {}
AimPrimary(heading, pitch) {} // heading et pitch
définissent les angles de rotations pour les canons (pour viser)
AimSecondary(heading, pitch) {} //Pour utiliser
plusieurs canons pour une arme, utilisez une variable qui changera de
AimTertiary(heading, pitch) {} //valeur
à chaque tir pour déterminer quel canon tire.
AimFromPrimary(piecenum) {} //Piecenum est la
pièce qui sert à viser (pour les calculs de visée)
AimFromSecondary(piecenum) {}
AimFromTertiary(piecenum)
{} .
QueryPrimary(piecenum) {}
//Piecenum est la pièce d'où part le coup
QuerySecondary(piecenum) {} //De
même pour utiliser plusieurs canons servez-vous de la même variable pour
QueryTertiary(piecenum) {}
//déterminer d'où part le coup.
FirePrimary() {} // Définir ici les mouvements tels que le recul d'un canon, après le
tir.
FireSecondary() {}
FireTertiary() {}
Activate() {} //Définir ici les actions à effectuer lors de l'activation de l'unité.
Deactivate() {} //Définir ici les actions à effectuer lors de la désactivation
de l'unité.
SetMaxReloadTime(time) {}
//Définir ici la durée avant la mise en repos de l'unité
(Restore_delay=x*time;).
RestoreAfterDelay() {}
//Définir ici les actions à effectuer lors du repos de l'unité (ex pour
l'Exterminator)
HitByWeapon(anglex, anglez) {} //Ce que fais l'unité lorsqu'elle
est touchée.
StartBuilding() {} //Actions à effectuer quand l'unité commence à construire
StopBuilding() {} //Actions à effectuer quand la construction est terminée
TargetHeading( heading ) {} //??
QueryNanoPiece(piecenum) {} //Piecenum est la pièce d'où part le jet
d'énergie
QueryLandingPad(piece1, piece2) {} //Piece1 et piece2 sont les pièces où
les avions se posent pour être réparés.
QueryBuildInfo(piecenum) {} //Piecenum est la pièce sur laquelle l'unité est construite (usines
seulement)
QueryTransport(piecenum) {} //Piecenum est la pièce à laquelle s'attache l'unité pour être
transportée
Demo() {} //Actions spécifiques qui seront vues avec UnitViewer.
BeginTransport(height) {} //Actions à effectuer lors du chargement d'une unité
EndTransport() {} //Actions à effectuer lors du déchargement d'une unité
SweetSpot(piecenum) {} //Piecenum est la pièce qui dessine le cadre vert et permet la sélection
de l'unité
Killed() {} //Définir ici les actions survenant quand l'unité est tuée.
TargetCleared(which) {}
//Actions à effectuer quand l'unité ciblée est morte (arrêter
la rotation d'un canon)
RockUnit(anglex, anglez) {} //Avec
rockunit.h, définit le balancement d'une unité (quand elle tire par
exemple)
// Procédures prédéfinies
Help() {}
// Fichier help.h
HelpScale( scale )
{}
// Fichier
help.h
SmokeUnit() {}
// Fichier
SmokeUnit.h
InitState() {}
// Fichier
statechg.h
RequestState(état)
{}
// Fichier statechg.h, état= ACTIVE ou INACTIVE
OpenYard() {}
// Fichier yard.h
CloseYard() {}
// Fichier yard.h |
Le format du fichier est similaire au C, du point de vue
syntaxique. Il y a donc des règles à respecter :
Il y a toujours un ; à la
fin de chaque ligne, sauf celles commençant par un #.
Une procédure commence par {
et fini par }.
Pour les structures conditionnelles on utilise :
if (condition)
{
Actions; // L'action est réalisée si la condition est vraie
} ou while
(condition)
{
Actions; // L'action est répétée tant que la condition est vraie
}
Pour la condition on utilise les opérateurs == (égal à), !=
(différent de) ou une variable VRAI (TRUE=1) or FAUX (FALSE=0)
Les opérations sont : x + y (addition), x - y (soustraction),
x * y
(multiplication), x / y (division), !x (opposé de x, sachant que
TRUE=!FALSE et 1=!0). Fonctions
NB: Les distances sont en mètres (1 mètre =1 pixel) et les angles sont en
degrés.
Fonction et syntaxe |
Description |
Exemple |
Attach-Unit Unité
To Objet; |
Attache une unité à l'objet
(pour les unités de transport comme le bateau) |
Attach-Unit unitid
To link; |
Cache Objet; |
Désactive l'animation d'une
texture |
Cache arm; |
Call-Script Procédure(Paramètres); |
Appelle une procédure |
call-script BoomCalc(
get UNIT_XZ(unitid),get UNIT_Y(unitid) + get UNIT_HEIGHT(unitid) ); |
Dont-Cache Objet; |
Active une animation de texture (Désactivée
par défaut ) |
Dont-Cache turret; |
Dont-Shade Objet; |
Désactive les ombres sur
l'unité. Activé pour les bâtiments. |
Dont-Shade wing1; |
Drop-Unit Unité; |
Largue l'unité attachée |
Drop-unit unitid; |
Emit-Sfx Type_d'effet
from Objet; |
Emet un effet (comme le feu ou
les bulles pour les bateaux) à partir de l'objet. Les types d'effets
sont décrits dans le fichier SFXTYPE.H |
Emit-Sfx SFXTYPE_WAKE1 from
wake1; |
Explode Objet
type Type_d'explosion; |
Explose un objet selon le type
choisi. Voir le fichier EXPTYPE.H pour les types d'explosions. |
Explode link type
FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1; |
Get Variable_système; |
Donne la valeur d'une variable
système (comme BUILD_PERCENT_LEFT) |
Get BUILD_PERCENT_LEFT |
Hide Objet; |
Cache un objet (Tous les objets
sont visibles par défaut) |
Hide flare; |
Jump Destination; |
Effectue un saut à la
destination. |
Aucun exemple trouvé dans TA |
Jump if (Valeur
== False) Destination; |
Effectue un saut
conditionnel à la destination. |
Aucun exemple trouvé dans TA |
Move Objet
to Axe-axis <Position>
Speed <Vitesse>; |
Déplace un objet à une position
selon un axe (x, y ou z) à une certaine vitesse. |
move rgun to
z-axis [-1.5] speed
[25];
On peut mettre < > ou [
] |
Move Objet
to Axe-axis <Position>
Now; |
Déplace un objet immédiatement. |
move barrel1 to
z-axis [-1.5] now; |
Rand(Valeur_Min,
Valeur_Max); |
Renvoie une valeur aléatoire
comprise entre le minimum et le maximum. |
i = rand(1,3); |
Return (Value); |
Renvoie une valeur au jeu. |
Return (0); |
Set Variable_système
To Valeur; |
Assigne une valeur à une
variable système. |
Set ARMORED To TRUE |
Set-Signal-Mask Signal; |
Assigne un ID (0, 2, 4, 6, ...) a
un signal, déterminant comment une procédure peut être stoppée. |
set-signal-mask SIG_MOVEMENT; |
Shade Objet; |
Active les ombres sur les objets. |
Shade gun; |
Show Objet; |
Rend un objet visible. |
Show flare; |
Signal Signal; |
Envoie un signal (0, 2, 4, 6,
...) pour arrêter la procédure dont le masque de signal est le même. |
signal SIG_MOVEMENT; |
Sleep Durée; |
Fait une pause entre deux
actions. |
sleep 150; |
Spin Objet
Around Axe-Axis Speed Vitesse
Accelerate Accélération; |
Fait tourner un objet
indéfiniment, avec une certaine accélération, à une certaine
vitesse. |
spin rotor around
y-axis speed <2000> accelerate
<100>; |
Spin Objet
Around Axe-Axis Speed Vitesse; |
Fait tourner un objet
indéfiniment directement à la vitesse max. |
spin pad around
y-axis speed <30>; |
Start-Script Procédure(Paramètres); |
Lance une procédure |
START-SCRIPT RequestState(
ACTIVE ); |
Stop-Spin Objet
Around Axe-Axis Decelerate Décélération; |
Stoppe la rotation de l'objet
avec une décélération. |
stop-spin rotor around
y-axis decelerate
<30>; |
Stop-Spin Objet
Around Axe-Axis; |
Stoppe la rotation de l'objet
immédiatement. |
stop-spin pad around
y-axis; |
Turn Objet
to Axe-Axis Angle
Speed Vitesse; |
Fait tourner un objet à tel
angle autour d'un axe à une certaine vitesse. |
TURN top to
z-axis <-90> SPEED
<36>; |
Turn Objet
to Axe-Axis Angle
Now; |
Fait tourner un objet
immédiatement. |
TURN top to z-axis
<0> NOW; |
Wait-For-Move Objet
Along Axe-Axis; |
Crée une pause jusqu'à ce que
l'objet ait fini de bouger le long de l'axe voulu. |
wait-for-move tige2 along
z-axis; |
Wait-For-Turn Objet
Around Axe-Axis; |
Crée une pause jusqu'à ce que
l'objet ait fini de tourner autour de l'axe voulu. |
wait-for-turn tige1 around
x-axis; |
Variables systèmes
Variable |
Actions et valeurs |
Description |
ACTIVATION |
Lecture/Ecriture
0 ou 1 |
Indique si l'unité est active ou non. |
ARMORED |
Lecture/Ecriture
TRUE ou FALSE |
Indique si l'unité est protégée ou non
(comme pour la centrale solaire) |
ATAN |
Lecture |
|
BUGGER_OFF |
Lecture/Ecriture |
|
BUILD_PERCENT_LEFT |
Lecture
0 à 100 |
Renvoie le pourcentage de l'état de
construction de l'unité. Si cette valeur est 0 (FALSE), l'unité est
finie. |
BUSY |
Lecture/Ecriture |
Indique si l'unité est occupée (comme pour
les avions de transport) |
GROUND_HEIGHT |
Lecture |
Renvoie la hauteur du sol |
HEALTH |
Lecture |
Renvoie l'état de santé de l'unité |
HYPOT |
Lecture |
|
INBULIDSTANCE |
Lecture/Ecriture |
Indique si l'unité de construction est en
train de construire |
PIECE_XZ |
Lecture/Ecriture |
|
PIECE_Y |
Lecture |
|
STANDINGFIREORDERS |
Lecture/Ecriture
0 à 2 |
Indique l'ordre donné à l'unité (Halte au
feu/Riposter/Feu à volonté) |
STANDINGMOVEORDERS |
Lecture/Ecriture
0 à 2 |
Indique l'ordre donné à l'unité
(Position....) |
UNIT_HEIGHT |
Lecture |
Renvoie la hauteur de l'unité |
UNIT_XZ |
Lecture |
|
UNIT_Y |
Lecture |
|
XZ_ATAN |
Lecture |
|
XZ_HYPOT |
Lecture |
|
YARD_OPEN |
Lecture/Ecriture |
Indique quels endroits sont occupés/libérés
par une usine. |
Types d'effets (SFXTYPE.H) SFXTYPE_VTOL
: ?
SFXTYPE_THRUST : ?
SFXTYPE_WAKE1 : Émet des bulles à partir d'un point (pour le sillage des
bateaux)
SFXTYPE_WAKE2 : Même effet mais pour l'autre coté (car le sillage est composé
des 2 effets)
SFXTYPE_REVERSEWAKE1 : Probablement pour les hovercrafts (bulles)
SFXTYPE_REVERSEWAKE2 : Idem
SFXTYPE_WHITESMOKE : Je pense que ça émet de la fumée blanche à partir d'un
point.
SFXTYPE_BLACKSMOKE : Même chose en noir
SFXTYPE_SUBBUBBLES : Je pense que ça émet des bulles pour un sous-marin ou une
unité sous-marine Types
d'explosions (EXPTYPE.H) Utilisez le
trait vertical | pour séparer les types (ex SHATTER | FALL | EXPLODE_ON_HIT |
BITMAP1) SHATTER
: La pièce explose en faces au lieu de rester entière
EXPLODE_ON_HIT : La
pièce explosera en touchant le sol
FALL : La pièce
retombera au lieu de s'envoler
SMOKE : La pièce sera
suivie par un nuage de fumée
FIRE : La pièce sera
suivie par une traînée de feu
BITMAPONLY : La pièce
ne sera pas éjectée, on ne verra qu'une simple explosion
Les paramètres suivants sont les explosions à afficher lorsque la pièce
(ou les face s'il y a SHATTER) explose avec BITMAPONLY ou tombe avec
EXPLODE_ON_HIT et FALL
BITMAP1 : Explosion
type 1
BITMAP2 : Explosion
type 2
BITMAP3 : Explosion
type 3
BITMAP4 : Explosion
type 4
BITMAP5 : Explosion
type 5
BITMAPNUKE : Explosion
nucléaire
COB Ce
type de fichier est du BOS compilé. Il n'est pas éditable directement (sauf
pour les gars calés en programmation). On peut le décompiler avec Uncobble
pour l'enregistrer en BOS. Pour compiler le BOS, on
peut utiliser Cobbler.
Le fichier COB doit porter le nom de l'unité et être placé dans le
répertoire scripts.
FBI Voici
le fichier le plus important. Il indique au jeu toutes les informations sur
l'unité, et sa présence est obligatoire.
Son contenu est une succession d'affectation de valeurs à des variables. Sa
syntaxe est :
[UNITINFO]
{
Variable = Valeur;
Variable_2 = Valeur_2;
...
Variable_n = Valeur_n;
// Ceci est un commentaire (introduit par // )
} |
N'oubliez pas que c'est du C, donc il faut le point-virgule à
la fin de chaque ligne. Exemple
commenté de Rapido (ARMFAV.FBI)
[UNITINFO]
{
UnitName=ARMFAV;
//Nom court de
l'unité (utilisé pour nommer les fichiers)
Version=1; //Version du jeu minimale nécessaire pour utiliser l'unité
Side=ARM;
//Camp de l'unité
Objectname=ARMFAV;
//Nom de l'objet 3DO (nom du
fichier sans l'extension .3do)
Designation=ARM-FAV1;
//"Nom de code" de l'unité
Name=Jeffy;
//Nom affiché dans le jeu (version anglaise)
Description=Fast Attack Vehicle; //Description anglaise
FootprintX=2;
//Taille en X du carré de placement vert (surtout pour les bâtiments)
FootprintZ=2;
//Idem en Z
BuildCostEnergy=564;
//Prix en énergie de
l'unité
BuildCostMetal=37;
//Prix
en métal
MaxDamage=79;
//Résistance de l'unité
MaxWaterDepth=12;
//Profondeur
maximale d'eau dans laquelle l'unité peut se déplacer
MaxSlope=18;
//Pente maximale que l'unité peut grimper
EnergyUse=0.2;
//Énergie utilisée par l'unité en fonctionnement
BuildTime=1465;
//Temps de construction (plus ou moins long à construire)
WorkerTime=0;
//Puissance du jet de construction (0 car cette unité ne construit pas)
BMcode=1;
//Paramètre du menu de construction (je pense que c'est 0 pour les
bâtiments et 1 pour le reste)
Builder=0;
//1 si cette unité peut construire, ce qui n'est pas le cas ici
ThreeD=1;
//Cette unité est en 3D (de toute manière toutes les unités ont ThreeD
(3D) égal à 1)
ZBuffer=1;
//Même chose
NoAutoFire=0;
//Indique si l'unité tire automatiquement (0) ou manuellement (1)
SightDistance=310;
//Champ de vision de l'unité (400 max.)
RadarDistance=0;
//Portée du radar de l'unité
SoundCategory=ARM_VEHICLE;
//Catégorie de sons
associée à l'unité (quand on la sélectionne, etc.)
EnergyStorage=0;
//Énergie stockée par l'unitée
MetalStorage=0;
//Métal stocké par l'unité
ExplodeAs=SMALL_UNITEX;
//Puissance de
l'explosion de l'unité
SelfDestructAs=SMALL_UNIT;
//Puissance
de l'explosion de l'unité quand elle s'autodétruit par Ctrl+D
Category=ARM TANK LEVEL1 WEAPON NOTAIR NOTSUB ;//Catégorie de
l'unité (pour l'IA) : C'est un véhicule (TANK) de base (LEVEL1)
armé (WEAPON) qui ne vole pas (NOTAIR) et n'est pas sous-marin (NOTSUB)
TEDClass=TANK;
//Catégorie de l'unité
Copyright=Copyright 1997 Humongous Entertainment. All rights reserved.;
//Copyright à ne pas changer
Corpse=armfav_dead;
//Nom de la carcasse laissée après la mort de
l'unité
GermanName=Jeffy;
//Nom en allemand
GermanDescription=Schnelles Angriffs-Fahrzeug; //Description en
allemand
UnitNumber=29;
//Numéro de l'unité
FrenchName=Rapido;
//Nom en français
Frenchdescription=Véhicule d'attaque rapide; //Description en
français
firestandorders=1;
//Barre de choix d'ordres Halte Au
Feu/Riposter/Feu à Volonté
StandingFireOrder=2;
//Ordre initial (0=Halte au feu, etc.)
mobilestandorders=1;
//Barre de choix d'ordres Position/...
StandingMoveOrder=1;
//Ordre initial (0=Position, etc.)
canmove=1;
//Cette unité
peut se déplacer
canpatrol=1;
//Cette unité peut
patrouiller
canstop=1;
//Cette unité
peut être arrêtée
canguard=1;
//Cette unité peut garder
MaxVelocity=3;
//Vitesse maximale de l'unité
BrakeRate=0.06;
//Taux de décélération
Acceleration=0.04;
//Taux d'accélération
TurnRate=499;
//Taux de tournage (vitesse de rotation)
SteeringMode=1;
//Mode de virage (1 pour tourner comme une voiture, 2
pour tourner sur place comme un K-BOT)
ShootMe=1;
//Les unités ennemies tirent automatiquement sur cette unité
EnergyMake=0.2;
//L'énergie produite par
cette unité
DefaultMissionType=Standby; //La mission par défaut de l'unité
maneuverleashlength=640;
//Le rayon d'action de
l'unité (distance maxi à partir de laquelle l'unité réagit)
MovementClass=TANKSH2;
//Classe du mouvement
Weapon1=ARM_LASER;
//Première arme de l'unité (3 max.)
wpri_badTargetCategory=VTOL; //Cible déconseillée pour l'arme
BadTargetCategory=VTOL;
//Cible déconseillée pour l'unité
canattack=1;
//Cette unité peut attaquer
NoChaseCategory=VTOL;
//Catégorie
à ne pas poursuivre
PigLatinName=Effyjay;
//Nom dans une autre langue
SpanishName=Jefficito;
//Idem
ItalianName=Jeffy witha da Pepperoni;//Idem
JapaneseName=Jeffysan;
//Idem
PigLatinDescription=Astfay attackay Outingscay
Ehiclevay; //Description dans
une autre langue
}
|
Liste des variables A
- B
- C
- D
- E
- F
- G
- H
- I
- J
- K
- L - M
- N
- O
- P
- Q - R
- S
- T
- U
- V
- W
- X - Y
- Z
Variable |
Description |
Exemple |
Acceleration |
Coefficient d'accélération de
l'unité |
Acceleration=0.04; |
ActivateWhenBuilt |
Indique si l'unité est activée
après la construction |
ActivateWhenBuilt=1; |
AI_limit |
Indique le nombre d'unités de ce
type que l'IA peut construire. La syntaxe est ai_limit=limit NOM_UNITÉ
NOMBRE |
ai_limit=limit ARMDIEU 0; |
AI_weight |
Je pense que ça indique à l'IA
l'importance de l'unité (en rapport avec ai_limit). Syntaxe : ai_weight=weight
NOM_UNITÉ NOMBRE |
ai_weight=weight ARMDIEU 0; |
AltFromSeaLevel |
Indique si l'altitude de l'avion
est basée sur le niveau de la mer ou sur le fond. |
altfromsealevel=1; |
Amphibious |
Indique si l'unité est amphibie.
Il faut régler MaxWaterDepth à 255 pour une unité amphibie. |
amphibious=1; |
Antiweapons |
Indique si l'unité s'attaque aux
missiles (comme l'antinuke) |
antiweapons=1; |
AttackRunLength |
Pour un avion, indique la distance
à parcourir avant de tirer ses armes. |
attackrunlength=220; |
BMcode |
Indique la manière dont l'unité
est construite. 0 si c'est un bâtiment (il faut placer l'unité), 1
pour les autres (on peut en construire plusieurs avec l'usine) |
BMcode=0; |
BadTargetCategory |
Indique le type de cible que
l'unité ne doit pas attaquer |
BadTargetCategory=VTOL; |
BankScale |
Indique le déplacement que peut
faire un avion en tournant (les avions de construction peuvent se
déplacer latéralement car ils ont BankScale=1.5) |
BankScale=1; |
BrakeRate |
Coefficient de ralentissement de
l'unité |
BrakeRate=0.06; |
BuildAngle |
Indique l'angle qu'un bâtiment
peut avoir lorsqu'il est construit. Une valeur de 0 indique que le bâtiment
est toujours construit dans la même position (comme est
fortifications). La centrale solaire, par contre, peut être tournée de
180°. |
BuildAngle=16384; |
BuildCostEnergy |
Coût de l'unité en énergie |
BuildCostEnergy=800; |
BuildCostMetal |
Coût de l'unité en métal |
BuildCostMetal=50; |
BuildTime |
Temps mis par une unité de
construction qui aurait WorkerTime=1 pour construire cette unité. Ce
temps détermine la consommation par secondes pour la construction (un
temps court implique une plus grande consommation) |
BuildTime=1137; |
BuildDistance |
Distance maximale à laquelle une
unité peut construire |
BuildDistance=150; |
Builder |
Indique si l'unité peut
construire |
Builder=1; |
CanAttack |
Indique si l'unité peut attaquer
(présence du bouton Attaque) |
CanAttack=1; |
CanCapture |
Indique si l'unité peut capturer
(présence du bouton Capture) |
CanCapture=1; |
CanDgun |
Indique si l'unité peut tirer
son arme spéciale (bouton Ravage). L'arme spéciale est la 3ème
(Weapon3) |
CanDgun=1; |
CanFly |
Indique si l'unité peut voler |
CanFly=1; |
CanGuard |
Indique si l'unité peut garder
(bouton Garde) |
CanGuard=1; |
CanHover |
Indique si l'unité est un
hovercraft (ne vole pas mais va sur terre et eau) |
CanHover=1; |
CanLoad |
Indique si l'unité peut
transporter d'autres unités (boutons Charger et Décharger) |
CanLoad=1; |
CanMove |
Indique si l'unité peut bouger
(bouton Mouvement) |
CanMove=1; |
CanPatrol |
Indique si l'unité peut
patrouiller (bouton Patrouille) |
CanPatrol=1; |
CanReclamate |
Indique si l'unité peut
reprendre des ressources (bouton Reprendre) |
CanReclamate=1; |
CanStop |
Indique si l'unité peut être
stoppée dans une action (bouton Stop) |
CanStop=1; |
CantBeTransported |
Indique si l'unité ne peut pas
être transportée (comme les gros tanks et le Krogoth) |
CantBeTransported=1; |
Category |
Indique la catégorie dans
laquelle se range l'unité (utile pour l'IA) |
Category=ARM SHIP LEVEL2 WEAPON NOTAIR NOTSUB ; |
CloakCost |
Énergie consommée par l'unité
quand elle est camouflée. |
CloakCost=200; |
CloakCostMoving |
Énergie consommée par une
unité camouflée quand elle bouge |
CloakCostMoving=1000; |
Commander |
Indique si l'unité est un
commandeur (active l'avertissement spécial quand le commandeur est
attaqué) |
|
Copyright |
Indique le copyright de l'unité.
Il paraît que ça plante quand ce n'est pas "Copyright=Copyright 1997 Humongous Entertainment. All rights
reserved.;" mais je n'ai pas vérifié. |
Copyright=Copyright 1997 Humongous Entertainment. All rights reserved.; |
Corpse |
Indique le nom du résidu à
utiliser lorsque l'unité est tuée |
Corpse=armasy_dead; |
CruiseAlt |
Indique l'altitude de vol de
l'avion |
cruisealt=60; |
DamageModifier |
Indique le facteur de
modification des dommages lorsque l'unité est protégée (comme l'Exterminator) |
DamageModifier=0.5; |
DefautMissionType |
Indique la mission par défaut de
l'unité :
GUARD_NOMOVE pour les bâtiments (tours)
VTOL_standby pour les avions
Standby pour les autres unités. |
DefaultMissionType=GUARD_NOMOVE; |
Description |
Description de l'unité (en
anglais) |
Description=Produces Energy; |
Designation |
Nom de code de l'unité. Sans
importance mais doit être présent. |
Designation=ARM-KA; |
Digger |
Indique si l'unité a des parties
enterrées (comme la Vipère) |
Digger=1; |
Downloadable |
Sans importance, indique si
l'unité est téléchargée mais le jeu ne s'en sert pas. |
Downloadable=1; |
EnergyMake |
Indique la quantité d'énergie
que produit l'unité |
EnergyMake=1000; |
EnergyStorage |
Indique la quantité d'énergie
stockée par l'unité quand elle est vivante. |
EnergyStorage=3000; |
EnergyUse |
Indique la quantité d'énergie
que l'unité consomme quand elle est active. Un nombre négatif indique
qu'elle produit quand elle est active (comme la centrale solaire) |
EnergyUse=20; |
ExplodeAs |
Indique le type d'explosion à
utiliser lorsque l'unité est tuée. Les types sont :
SMALL_BUILDING
MEDIUM_BUILDING
LARGE_BUILDING
SMALL_UNIT
BIG_UNIT
SMALL_BUILDINGEX
MEDIUM_BUILDINGEX
LARGE_BUILDINGEX
SMALL_UNITEX
BIG_UNITEX
COMMANDER_BLAST
ATOMIC_BLAST
ATOMIC_BLASTSML |
ExplodeAs=BIG_UNITEX; |
ExtractsMetal |
Quantité de métal extraite d'un
gisement par l'unité. L'extracteur normal a 0,001 et la Moho a 0,003 |
ExtractsMetal=0.003; |
FireStandOrders |
Indique si l'unité a le menu
d'ordres d'attaque (Halte au feu, Riposter, Feu à volonté) |
FireStandOrders=1; |
Floater |
Indique si l'unité flotte (comme
un bateau) |
Floater=1; |
FootPrintX |
Taille en X (horizontal) du
carré de placement vert de l'unité (pour les bâtiments). 1 footprint
vaut 16 pixels. |
FootPrintX=2; |
FootPrintZ |
Même chose en Z (vertical). |
FootPrintZ=4; |
FrenchDescription |
Description de l'unité en
français |
Frenchdescription=Véhicule d'attaque rapide; |
FrenchName |
Nom de l'unité en français |
FrenchName=Rapido; |
GermanDescription |
Description en allemand |
|
GermanName |
Nom en allemand |
|
HealTime |
Temps nécessaire à l'unité
pour se réparer totalement |
HealTime=27; |
HideDamage |
Indique si les adversaires ne
doivent pas voir la barre d'énergie de l'unité (comme pour le
commandeur) |
HideDamage=1; |
HoverAttack |
Indique si l'unité volante
attaque sur place, en tournant autour de la cible au sol (comme le
Frelon) |
HoverAttack=1; |
ImmuneToParalyser |
Indique si l'unité peut ou non
être paralysée. |
ImmuneToParalyser=1; |
Init_Cloaked |
Indique si l'unité est créé
invisible (comme les mines) |
Init_Cloaked=1; |
IsAirBase |
Indique si l'unité a une piste
de réparation d'avions |
IsAirBase=1; |
IsFeature |
Indique si l'unité devient le
résidu nommé dans Corpse après la construction (comme les dents de
dragon). |
IsFeature=1; |
IsTargetingUpgrade |
Indique si l'unité permet aux
unités de cibler au radar comme si elles ciblaient à vue. |
IsTargetingUpgrade=1; |
ItalianDescription |
Description en italien |
|
ItalianName |
Nom en italien |
|
JapanesDescription |
Description en japonais |
|
JapanesName |
Nom en japonais |
|
Kamikaze |
Indique si l'unité attaque en
explosant (comme une bombe) |
Kamikaze=1; |
MakesMetal |
Quantité de métal produite par
une unité quand elle est active. |
MakesMetal=1; |
ManeuverLeashLength |
L'unité attaque où répare
(lors d'une patrouille) automatiquement les unités au plus à cette
distance. C'est le rayon d'action. |
ManeuverLeashLenght=1280; |
MaxDamage |
Résistance de l'unité (dommages
qu'elle peut subir avant de mourir) |
MaxDamage=3000; |
MaxSlope |
Pente maximale que l'unité est
capable de grimper |
MaxSlope=10; |
MaxVelocity |
Vitesse maximale que peut
atteindre l'unité |
MaxVelocity=3; |
MaxWaterDepth |
Profondeur d'eau maximale dans
laquelle l'unité peut se déplacer. Mettre 255 pour les unités
amphibies. |
MaxWaterDepth=10; |
MaxWaterSlope |
Pente maximale dans l'eau que
peut grimper une unité |
MaxWaterSlope=30; |
MinWaterDepth |
Profondeur d'eau minimale dans
laquelle l'unité peut se déplacer. Pour les unités marines |
MinWaterDepth=20; |
MobileStandOrders |
Indique si l'unité a le menu
d'ordres de mouvement (Position,...) |
MobileStandOrders=1; |
Moverate1 |
?? Utilisé par les avions. Tous
ont MoveRate1=8 sauf les avions de transport. |
MoveRate1=8; |
MovementClass |
Spécifie le type de mouvement de
l'unité (pour l'IA) :
KBOTSS2, KBOTSF2,
TANKDS2, TANKDH3,
TANKSH3, TANKSH2,
BOATD3, BOATS5,
BOATD6, BOATS4,
BOATS6, SPID3,
TANKBH3 |
MovementClass=TANKSH2; |
Name |
Nom de l'unité en anglais |
Name=Fido; |
NoAutoFire |
Indique si l'unité tire
automatiquement ou non. |
NoAutoFire=1; |
NoChaseCategory |
Indique la catégorie d'unité à
ne par poursuivre |
NoChaseCategory=VTOL; |
NoRestrict |
Indique si l'unité figure ou non
dans le tableau des restrictions en multijoueurs. |
NoRestrict=1; |
NoShadow |
Indique si l'unité a une ombre
portée. Les unités flottantes n'ont pas d'ombres. |
NoShadow=1; |
ObjectName |
Indique le nom de l'objet 3D
utilisé pour l'unité. Il est possible d'utiliser un objet 3D pour
plusieurs unités. |
ObjectName=ARMHLT; |
OnOffAble |
Indique si l'unité peut être
activée/désactivée (comme le radar) |
onoffable=1; |
OvrAdjust |
Utilisé par les avions |
ovrajust=1; |
PigLatinDescription |
Description en ?? |
|
PigLatinName |
Nom en ?? |
|
PitchScale |
Utilisé dans l'avion de
transport CORE. |
PitchScale=1; |
RadarDistance |
Distance couverte par le radar de
l'unité |
RadarDistance=1200; |
RadarDistanceJam |
Portée du brouilleur de radar |
RadarDistanceJam=1; |
Scale |
Probablement l'échelle de
l'objet 3D dans le jeu |
Scale=0.8; |
SelfDestructAs |
Explosion engendrée par
l'autodestruction de l'unité. Voir ExplodeAs pour les types d'explosion |
SelfDestructAs=BIG_UNIT; |
SelfDestructCountdown |
Définit le temps du compte à
rebours avant l'autodestruction de l'unité. Par défaut, c'est 5 s |
SelfDestructCountdown=2; |
ShootMe |
Indique si les unités adverses
tirent automatiquement sur l'unité. La plupart des bâtiments n'ont pas
ceci. L'effet est contré avec le code +SHOOTALL |
ShootMe=1; |
ShowPlayerName |
Indique si, en multi, le nom de
l'unité est remplacé par le nom du joueur (comme pour le Commandeur) |
ShowPlayerName=1; |
Side |
Indique le camp de l'unité.
Sans importance, mais doit être présent. |
Side=ARM; |
SightDistance |
Champ de vision de l'unité. Il
semble être limité à 400 |
SightDistance=320; |
SonarDistance |
Portée du sonar de l'unité
(pour découvrir les unités sous-marines) |
SonarDistance=1180; |
SonarDistanceJam |
Portée du brouilleur de sonar
(rend invisible les unités sous-marines) |
SonarDistanceJam=1000; |
Sortbias |
1 par défaut. Les usines de
véhicule avancées ARM et CORE, ainsi que l'usine de véhicule ARM et
les pistes de réparation ont SortBias=0 |
SortBias=0; |
SoundCategory |
Catégorie de sons associée à
l'unité. Détermine les sons à utiliser quand elle effectue une
action. Voir le fichier SOUNDS.TDF dans le répertoire Gamedata de
Totala1.hpi |
SoundCategory=TANKPLANT; |
SpanishDescription |
Description en espagnol |
|
SpanishName |
Nom en espagnol |
|
StandingFireOrder |
Ordre d'attaque initiale de
l'unité (de 0 pour "Halte au feu" à 2 pour "Feu à
volonté") |
StandingFireOrder=0; |
StandingMoveOrder |
Ordre de mouvement initial (de 0
pour "Position" à 2 pour "Explorer") |
StandingMoveOrder=1; |
Stealth |
Indique si l'unité n'est pas
visible sur la minicarte (sauf si le CDV est désactivé). |
Stealth=1; |
SteeringMode |
Indique la manière de tourner de
l'unité : Sur place comme les robots (2) ou large comme une voiture (1) |
SteeringMode=1; |
TEDClass |
Catégorie de l'unité :
Plant, Vtol, KBOT,
Ship, Tank, Special,
Metal, Energy,
Underwater
Utilisé pour BadTargetCategory par exemple |
TEDClass=VTOL; |
Teleporter |
Indique que cette unité est une téléporteur
(inutile) |
Teleporter=1; |
ThreeD |
Indique que l'unité est en 3D.
Il est à 1 pour toutes le unités. |
ThreeD=1; |
TidalGenerator |
Indique que l'unité est une
centrale marémotrice |
TidalGenerator=1; |
TransMaxUnits |
Capacité de l'unité de
transport (pour l'avion) |
TransMaxUnits=1; |
TransportMaxUnits |
Capacité de l'unité de
transport (pour le bateau) |
TransportMaxUnits=5; |
TransportCapacity |
Idem je pense |
TransportCapacity=5 |
TransportSize |
Taille de l'unité de transport
je pense (carré) |
TransportSize=3; |
TurnRate |
Vitesse de rotation de l'unité |
TurnRate=128; |
UnitName |
Nom court de l'unité, utilisé
dans le nom des fichiers de l'unité. |
UnitName=ARMCOM; |
UnitNumber |
Numéro de l'unité. N'importe
quel nombre convient, surtout un grand nombre. Je n'ai jamais eu de
problèmes de conflits, même avec des unités qui avaient le même
nombre, mais il est préférable de donner un nombre unique à chaque
unité. |
UnitNumber=12; |
Upright |
Indique si l'unité suit
l'inclinaison du sol (comme les véhicules) ou reste droite (comme les
KBOTS). De même c'est nécessaire à un avion pour qu'il se pose à
plat. |
Upright=1; |
Version |
Version du jeu minimale
nécessaire pour faire fonctionner l'unité. |
Version=3.0; |
WaterLine |
Indique la position de la ligne
d'eau (enfoncement de l'unité dans l'eau quand elle flotte). Importante
pour un sous-marin (pour qu'il reste sous l'eau) |
Waterline=10; |
Weapon1 |
Nom de la première arme |
Weapon1=ARM_LASERH1 |
Weapon2 |
Nom de la seconde arme |
Weapon2=ARM_BATS; |
Weapon3 |
Nom de la troisième arme
(utilisé comme Dgun) |
Weapon3=CORE_LASERH1; |
WindGenerator |
Indique la quantité d'énergie
produite par l'unité en fonction du vent |
WindGenerator=30; |
WorkerTime |
Indique la puissance de
construction de l'unité. |
WorkerTime=300; |
wpri_BadTargetCategory |
Indique le mauvais type de cible
de l'arme 1 |
wpri_BadTargetCategory=VTOL; |
wsec_BadTargetCategory |
Indique le mauvais type de cible
de l'arme 2 |
wsec_BadTargetCategory=NOTAIR; |
wter_BadTargetCategory |
Indique le mauvais type de cible
de l'arme 3 |
wter_BadTargetCategory=VTOL; |
YardMap |
Indique les zones occupées et
libres de l'unité (précise le footprint)
Le codage s'effectue par lettres, une lettre par case. On écrit par
lignes séparées par un espace. Donc pour une taille de 4x4, il y a 4
groupes de 4 lettres. Si on ne veut pas préciser le footprint, il
suffit de ne mettre qu'une lettre. Les lettres sont :
- o : Espace occupé. C'est le paramètre le plus courant.
- c : Espace inoccupé. Principalement utilisé pour les usines.
- w : Espace occupé dans l'eau
- y : Absence de footprint
- G : Espace utilisé pour placer une centrale géothermique. C'est
le seul moyen de différencier ce type de centrale d'un autre.
- f : Espace occupé par un résidu (comme les dents de dragon)
|
Pour l'usine de KBots avancée
CORE:
FootprintX=7;
FootprintZ=6;
YardMap=ooooooo ooooooo occccco ccccccc ccccccc oocccoo;
On voit que le centre est inoccupé, ainsi que le devant et les
cotés.
|
ZBuffer |
Indique si l'unité utilise le
ZBuffer (toutes le font) |
ZBuffer=1; |
GAF Un
fichier Gaf est une collection d'images. Un GAF contient en fait plusieurs
groupes d'images. Un groupe d'images est formé d'une à plusieurs images qui
constituent une animation, à la manière d'un GIF, et on lui attribue un nom.
Ce type de fichier peut être créé avec un logiciel comme Gaffer
à partir d'images.
On distingue trois catégories : Animations, textures, "gadgets"
(images affichées dans le menu de construction). Animations Dans
un fichier Gaf d'animations, chaque groupe d'images a un nom utilisé par le
jeu, pour le désigner. Donc ne pas mettre n'importe quoi. Ces animation servent
pour les explosions, les tirs plasma (pour le projectile), le feu, la fumée,
mais aussi les arbres, les rochers et tout objet qui n'est pas en 3D (feature)
et toute image utile au jeu. C'est le type de GAF lu par TAE (éditeur de cartes
pour TA) pour les "features". Ce type de fichier se place dans le
répertoire anims. Textures Ce
type de GAF regroupe les images qui sont placées sur les faces des unités. Ce
sont les fichiers que lit 3DOBuilder pour afficher la liste de textures. Il y en
a de toutes les tailles et des animées (comme le "glow" qui passe du
jaune au rouge). On peut en créer plus facilement avec Texture
Packer ou 3DOBuilder.
Il faut placer ce fichier dans le répertoire textures. Image
de menu de construction Voici le type le plus utilisé
dans la création d'unité. Dans ce fichier se trouve l'image affichée dans le
menu de construction. Il n'est pas nécessaire, car on peut se contenter d'un
bouton gris affiché à la place de l'image en l'absence de ce fichier. En fait
il y a un groupe de 3 images par unité, une pour le bouton normal, une pour le
bouton cliqué et une pour le bouton désactivé. Chaque groupe a le nom de
l'unité qu'il représente. Un gaf peut en contenir plusieurs, car seul le nom
des groupe compte. On peut créer facilement les 3 images et le gaf avec 3DOBuilder,
en utilisant la commande "Create Unit Picture" et en donnat le nom de
l'unité de cliquer sur "Save GAF". Le format d'image 64x64 en 256
couleurs doit être respecté. Il suffit ensuite de placer ce fichier dans le
répertoire anims.
PCX Ce
format d'image est utilisé par le jeu quand on appuie sur F1 en étant sur une
unité. C'est l'image affichée avec les informations sur l'unité (je les
utilise pour la page Unités). Elle est parfaitement optionnelle. Par contre il
faut qu'elle respecte le format 96x96 en 256 couleurs. Elle peut être créée
par 3DOBuilder en même temps que le GAF avec "Save BMP" mais elle
doit être convertie en PCX avec un logiciel de dessin (comme Paint Shop Pro).
Le répertoire d'enregistrement est unitpics et le fichier doit porter le nom de
l'unité.
TDF On
distingue 3 types de fichier portant cette extension : Menus, feature
et arme. Ce sont des fichiers
textes en langage C (comme le FBI). Menus Le
premier est le fichier qui indique au jeu dans quel(s) menu(s) de construction
est placée une unité. Sa syntaxe est très simple :
[MENUENTRYx]
{
UNITMENU =
CORAAP;
//Unité qui construit
MENU = 3;
//Menu de construction
BUTTON =
0;
//Bouton du menu
UNITNAME = CORVDHEL;
//Unité à construire
} |
Le nombre x dans MENUENTRYx n'est pas important pour le jeu. Par
contre le nombre de MENUENTRY semble être limité PAR FICHIER. Donc si vous
dépassez 6 (faut pas faire trop gros) dans un fichier, il suffit d'en créer un
autre et de continuer. Le nom du fichier n'est pas important pour le jeu. Les
variables sont :
UNITMENU |
Nom court de l'unité qui peut construire cette unité.
Obligatoire |
MENU |
Numéro de la page de menu dans laquelle sera le bouton de
construction. S'il est omis, seule l'IA pourra construire cette unité. Le
1er menu de construction est le n°2 (MENU=2). |
BUTTON |
Position du bouton dans le menu parmi les 6 cases. Elles
sont numérotées de gauche à droite de 0 à 5. Si omis, seule l'IA
pourra construire cette unité. |
UNITNAME |
Nom de l'unité à construire. |
Il faut éviter les conflits de menus, car un seul bouton
s'affiche à la fois sur une case, et c'est celui de l'unité la plus récente.
Le fichier est à placer dans le répertoire download. Menus
de construction du jeu (TACC compris): X = Menu occupé, Arm en rouge et Core en
vert
Unité |
MENU=2 |
MENU=3 |
MENU=4 |
MENU=5 |
MENU=6 |
ARMCOM
CORCOM |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
|
|
XX |
XX |
XX |
XX |
XX |
XX |
|
|
|
|
XX |
XX |
XX |
XX |
XX |
XX |
|
|
|
|
ARMCK
CORCK |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
|
|
|
XX |
XX |
XX |
XX |
XX |
XX |
|
|
|
|
XX |
XX |
XX |
XX |
XX |
XX |
|
|
|
|
ARMCV
CORCV |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
X |
|
|
XX |
XX |
XX |
XX |
XX |
XX |
|
|
|
|
XX |
XX |
XX |
XX |
XX |
XX |
|
|
|
|
ARMCA
CORCA |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
X |
|
|
XX |
XX |
XX |
XX |
XX |
XX |
|
|
|
|
XX |
XX |
XX |
XX |
XX |
XX |
|
|
|
|
ARMCS
CORCS |
XX |
XX |
XX |
XX |
XX |
|
|
|
|
|
XX |
XX |
XX |
XX |
|
|
|
|
|
|
XX |
XX |
XX |
XX |
|
|
|
|
|
|
ARMCSA
CORCSA |
XX |
XX |
XX |
XX |
|
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
X |
ARMCH
CORCH |
XX |
XX |
XX |
XX |
|
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
XX |
X |
ARMMLV
CORMLV |
XX |
XX |
|
|
|
|
|
|
|
|
XX |
XX |
|
|
|
|
|
|
|
|
XX |
XX |
|
|
|
|
|
|
|
|
ARMACK
CORACK |
XX |
XX |
XX |
XX |
XX |
XX |
|
|
|
|
XX |
XX |
XX |
XX |
XX |
XX |
|
|
|
|
XX |
XX |
XX |
XX |
X |
XX |
|
|
|
|
ARMACV
CORACV |
XX |
XX |
XX |
XX |
XX |
XX |
|
|
|
|
XX |
XX |
XX |
XX |
XX |
XX |
|
|
|
|
XX |
XX |
XX |
XX |
|
XX |
|
|
|
|
ARMACA
CORACA |
XX |
XX |
XX |
XX |
XX |
XX |
|
|
|
|
XXX |
XX |
XX |
XX |
XX |
XX |
|
|
|
|
XX |
XX |
XX |
XX |
|
XX |
|
|
|
|
ARMACSUB
CORACSUB |
XX |
XX |
|
|
|
|
|
|
|
|
XX |
XX |
|
|
|
|
|
|
|
|
XX |
XX |
|
|
|
|
|
|
|
|
ARMLAB
CORLAB |
XX |
XX |
X |
X |
|
|
|
|
|
|
XX |
XX |
|
|
|
|
|
|
|
|
XX |
|
|
|
|
|
|
|
|
|
ARMVP
CORVP |
XX |
XX |
X |
|
|
|
|
|
|
|
XX |
XX |
|
|
|
|
|
|
|
|
XX |
XX |
|
|
|
|
|
|
|
|
ARMAP
CORAP |
XX |
XX |
|
|
|
|
|
|
|
|
XX |
XX |
|
|
|
|
|
|
|
|
XX |
|
|
|
|
|
|
|
|
|
ARMSY
CORSY |
XX |
XX |
|
|
|
|
|
|
|
|
XX |
XX |
|
|
|
|
|
|
|
|
XX |
|
|
|
|
|
|
|
|
|
ARMHP
CORHP |
XX |
XX |
|
|
|
|
|
|
|
|
XX |
XX |
|
|
|
|
|
|
|
|
XX |
XX |
|
|
|
|
|
|
|
|
ARMPLAT
CORPLAT |
XX |
XX |
|
|
|
|
|
|
|
|
XX |
XX |
|
|
|
|
|
|
|
|
XX |
XX |
|
|
|
|
|
|
|
|
ARMALAB
CORALAB |
XX |
XX |
XX |
X |
XX |
XX |
|
|
|
|
XX |
XX |
XX |
X |
X |
|
|
|
|
|
XX |
XX |
XX |
X |
X |
|
|
|
|
|
ARMAVP
CORAVP |
XX |
XX |
XX |
XX |
|
|
|
|
|
|
XX |
XX |
X |
XX |
|
|
|
|
|
|
XX |
XX |
X |
|
|
|
|
|
|
|
ARMASY
CORASY |
XX |
XX |
XX |
XX |
|
|
|
|
|
|
XX |
XX |
XX |
|
|
|
|
|
|
|
XX |
XX |
|
|
|
|
|
|
|
|
ARMAAP
CORAAP |
XX |
XX |
XX |
|
|
|
|
|
|
|
XX |
XX |
|
|
|
|
|
|
|
|
XX |
|
|
|
|
|
|
|
|
|
CORGANT |
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Feature Le
second type de fichier est associé aux résidus qui jonchent la carte (arbre,
rocher, carcasse, etc.) Dans notre cas, on s'intéressera aux carcasses
laissées après un combat. Lorsqu'une unité meure, en fonction de la violence
du coup, il peut soit ne rien rester, soit rester une carcasse, soit rester des
débris. Ces derniers forment deux catégories, DEAD et HEAP. Par exemple, pour
la mutilator, il y a ARMHLT_DEAD et ARMHLT_HEAP. Quand on explose le DEAD, il
reste le HEAP. On est pas forcé de faire tout cela, on peut dire que l'unité
explose sans rien laisser, ou passe directement en HEAP... La syntaxe est :
[NOMUNIT_DEAD]
{
Variable = Valeur;
Variable_2 = Valeur_2;
...
Variable_n = Valeur_n;
} [NOMUNIT_HEAP]
{
Variable = Valeur;
Variable_2 = Valeur_2;
...
Variable_n = Valeur_n;
} |
On est pas obligé de nommer le fichier avec _DEAD puisqu'on
doit utiliser le nom mis dans le fichier FBI pour la variable corpse.
Comme le FBI, on déclare des variables. Les voici :
Variable |
Description |
Examples |
animating |
|
animating=0; |
animtrans |
|
animtrans=0; |
autoreclaimable |
Indique si une unité en patrouille doit le
reprendre ou non |
autoreclaimable=0; |
burnmax |
|
burnmax=15; |
burnmin |
|
burnmin=5; |
burnweapon |
Dommages infligés par un objet en feu aux
unités proches |
burnweapon=ShrubBurn; |
category |
Catégorie de l'objet |
category=rocks;
category=steamvents; |
description |
Description de l'objet |
description=Wreckage; |
blocking |
Est-ce qu'une unité peut ou non marcher
dessus l'objet |
blocking=1; |
damage |
Indique la résistance de l'objet |
|
energy |
L'énergie gagnée en récupérant l'objet |
|
featuredead |
Indique le résidu à laisser lorsque cet
objet est mort |
|
featurereclamate |
Indique l'image à laisser (trace) quand
l'objet est récupéré |
|
filename |
|
filename=rocks; |
flamable |
L'objet peut-il prendre feu ? |
flamable=1; |
footprintx |
Taille en X de l'objet |
|
footprintz |
Taille en Z de l'objet |
|
geothermal |
Est-ce qu'on peut mettre une géothermique
dessus ? |
geothermal=1; |
height |
Hauteur de l'objet (pour bloquer les tirs) |
|
hitdensity |
|
|
indestructible |
L'objet est-il invincible ? |
indestructible=1; |
metal |
Métal gagné après récupération de
l'objet |
metal=127; |
nodisplayinfo |
N'affiche pas les informations sur l'objet
dans le jeu |
nodisplayinfo=1; |
object |
Nom de l'objet 3DO à utiliser pour cet objet
(pour les HEAP on peut utiliser ceux de TA) |
|
permanent |
L'objet est-il permanent |
permanent=1; |
reclaimable |
L'objet peut-il être récupéré |
|
reproduce |
|
reproduce=0; |
reproducearea |
|
reproducearea=6; |
seqname |
|
seqname=rockmetal1; |
seqnameburn |
Indique le nom de l'animation GAF pour le feu |
seqnameburn=shruburn; |
seqnamedie |
Nom de l'objet qui reste quand l'autre meurt |
seqnamedie=smudge04; |
seqnamereclamate |
Animation à afficher quand l'objet est
récupéré. |
|
seqnameshad |
|
seqnameshad=; |
shadtrans |
|
shadtrans=1; |
sparktime |
|
sparktime=5; |
spreadchance |
Chance de prendre feu quand il y a le feu à
coté. |
spreadchance=30; |
world |
Type de monde sur lequel on peut mettre
l'objet |
world=All Worlds; |
Armes Le
3ème type est le fichier d'arme. Comme les autres, c'est une déclaration de
variables. Les variables sont expliquée en anglais dans le fichier Weapons.TDF
contenu dans totala1.hpi. Je vais bientôt le traduire et le mettre sur cette
page.
WAV Toute
arme ou unité émet des sons. Ces sons sont au format WAV et doivent être
placé dans le répertoire sounds. Pour l'utiliser dans une arme, il suffit de
modifier les paramètres soundstart et soundhit de l'arm en mettant le nom du
fichier son. Pour les unités c'est plus complexe et je ne sais pas trop le
faire.
Haut de la page
Pour
toute remarque ou suggestion, vous pouvez m'écrire à vdtaunit@hotmail.com
|