Commandes
retour sommaire
Retour texte principal
Texte original par Bjarne Grönnevick
Titre original
Appendix
A commands
Traduction par Tropheus et Whisky
Bien, vous savez maintenant comment écrire un script,
alors il est grand temps d'utiliser les commandes invoquées
dans le scripting. Ce document est une liste de commandes associées
à une description et autres explications pour les utiliser
au mieux. Ce n'est pas une liste exhaustive, mais une liste des
commandes, soit les plus utilisées, soit celles qui nécessitent
une expliaction. Pour avoir une complète définition
(mais courte) de toutes les commandes, jetez un oeil sur les fichiers
suivants :
g_allclasses.html
(pour Mohaa) et MOH_GameClass.html
(pour spearhead).
De plus il parait indispensable de lire parallèlement
le document classes (pour les classes).
Table des matières.
* Définition et syntaxe
* Manipulation d'objets
¤ Existence
¤ Rotation
¤ Mouvement
* Objets et conditions
* Dommages
* Sons
* Affichage de messages.
* Mathématiques
* Combinaison de commandes.
¤ Ascenseur
* Définition
et syntaxe
Le format utilisé pour décrire la commande est
le suivant :
Commande |
Nom de la commande. |
Syntaxe |
A quelle classe appartient cette commande et combien de paramètre
lui faut-il ? |
Exemple |
Bribe de code en exemple pour expliquer comment utiliser cette
commande. |
Description |
Description textuelle de la commande. Quand faut-il l'utiliser
etc... |
Commentaire |
Détail rajouté si besoin est. |
La partie syntaxe est écrite comme cela :
Classe nom_de_la_commande (type_du_paramètre_1, nom_du_paramètre_1,
[type_du_paramètre_optionel_2, nom_du_parmètre_optionel_2])
Exemple : <Entitée> cansee (Entitée
entitée, [float fov], [float distance_de_vision])
Explication : La classe "Entitée"
tolère la commande "cansee". Cettre commande
requièrt un paramètre de la classe "Entitée".
De plus, vous pouvez ajouter 2 paramètres "float"
(fov et distance_de_vision).
En résumé :
Un paramètre de commande est écrit entre parenthèses
( ). Une commade optionelle est écrite
entre crochets [ ]. |
* Manipulation d'objets
¤ Existence
Commande |
hide |
Syntaxe |
<Entitée> hide |
Exemple |
$documents_à_voler hide |
Description |
Cette commande cache un objet qui devient invible au joueur.
Cet objet existe toujours, il est simplement invisible. Tant
qu'il est invisible, rien ne se passe. |
Commande |
show |
Syntaxe |
<Entité> show |
Exemple |
$documents_à_voler show |
Description |
Cette commande permet de monter un objet au joueur. Tant
qu'il est visible, rien ne se passe |
Commande |
remove |
Syntaxe |
<Entitée> remove |
Exemple |
$documents_à_voler remove |
Description |
Enlève un objet, de cette façon il n'existe
plus dans le jeu. |
¤ Rotation
Commande |
rotateX, rotateY, rotateZ |
Syntaxe |
<ScriptSlave> rotateX (Float angular_velocity) |
Exemple |
$fan rotateX 1.5 |
Description |
Rotation selon l'axe X (Y ou Z) à la vitesse angulaire
spécifiée. "Angular-velocity" représente
la vitesse de rotation de l'objet. |
Commande |
rotateXdown, rotateYdown, rotateZdown |
Syntaxe |
<ScriptSlave> rotateXdown (Float angle) |
Exemple |
$trapdoor rotateXdown 45.0 |
Description |
Tourne le X (Y ou Z) vers le bas de l'angle spécifié.
L'angle représente l'angle de rotation de l'objet. |
Commande |
rotateXup, rotateYupp, rotateZup |
Syntaxe |
<ScriptSlave> rotateXup (Float angle) |
Exemple |
$trapdoor rotateXup 45.0 |
Description |
Tourne le X (Y ou Z) vers le haut de l'angle spécifié.
L'angle représente l'angle de rotation de l'objet. |
Commande |
rotateXdownto, rotateYdownto, rotateZdownto |
Syntaxe |
<ScriptSlave> rotateXdownto (Float angle) |
Exemple |
$trapdoor rotateXdownto 45.0 |
Description |
Tourne le X (Y ou Z) vers le bas de l'angle spécifié.
L'angle représente l'angle de rotation de l'objet. |
Commande |
rotateXupto, rotateYupto, rotateZupto |
Syntaxe |
<ScriptSlave> rotateXupto (Float angle) |
Exemple |
$trapdoor rotateXupto 45.0 |
Description |
Tourne le X (Y ou Z) vers le haut de l'angle spécifié.
L'angle représente l'angle de rotation de l'objet. |
¤ Mouvement
Commande |
move, waitmove |
Syntaxe |
<ScriptSlave> move |
Exemple |
$elevator moveto $waypoint_down
$elevator move |
Description |
Fait bouger le script esclave. Cette commande execute la
commande de mouvement précédente envoyée
au script-esclave (la classe du script_objet). La commande waitmove
attend que le mouvement soit terminé avant de continuer
l'exécution du script. |
Commande |
move, waitmove |
Syntaxe |
<ScriptSlave> move |
Exemple |
$elevator moveto $waypoint_down
$elevator move |
Description |
Fait bouger le script esclave. Cette commande execute la
commande de mouvement précédente envoyée
au script-esclave (la classe du script_objet). La commande waitmove
attend que le mouvement soit terminé avant de continuer
l'exécution du script. |
Commande |
moveto |
Syntaxe |
<ScriptSlave> moveto (destination) |
Exemple |
$elevator moveto $top_floor |
Description |
bouge jusqu'à l'entitée spécifiée. |
Commande |
moveto |
Syntaxe |
<Actor> moveto (Stin anim,string dest) |
Exemple |
$diable moveto "anim/mon_animation" "ici" |
Description |
Spécifie l'endroit où doit se déplacer
le personnage ainsi que l'animation décidée pour
son déplacement. |
Commande |
moveup, movedown, moveFoward, moveBackward,
moveLeft, moveRight, moveEast, moveWest, moveNorth, moveSouth |
Syntaxe |
<ScriptSlave> moveup (float distance) |
Exemple |
$elevator moveup 64 |
Description |
Fait bouger l'objet de la distance définie (64 en unités
Mohaa) |
* Objets et conditions.
Commande |
isAlive |
Syntaxe |
<ScriptThread> isAlive |
Exemple |
if ! (isAlive $vip_player) {
teamwin axis
} |
Description |
Cette commande teste pour voir si quelque chose est vivant. Si
c'est le cas 1 est retourné sinon c'est 0 (si c'est mort).
La définition de la "vie" dans MOH est le fait
d'avoir plus de 0 en point de vie. |
Commande |
isTouching |
Syntaxe |
<Entité> isTouching (Entité entité) |
Exemple |
if ! ($player[local.index] isTouching $it)
{
teamwin axis
} |
Description |
Cette commande teste pour savoir si quelque chose touche l'objet.
Si c'est le cas 1 est retourné sinon c'est 0. (Je ne suis
pas sur de cette fonction, si vous avez plus de précision,
merci de m'en faire part !) |
Commande |
sighttrace |
Syntaxe |
|
Exemple |
|
Description |
|
* Dommages
Quelques commandes ont un paramètre appelé "meansofdeath"
(damage et killed de la classe Player par exemple). C'st un paramètre
qui utilise ces valeurs :
ID |
Nom |
Description |
0 |
MOD_NONE |
|
1 |
MOD_SUICIDE |
|
2 |
MOD_CRUSH |
|
3 |
MOD_CRUSH_EVERY_FRAME |
|
4 |
MOD_TELEFRAG |
|
5 |
MOD_LAVA |
|
6 |
MOD_SLIME |
|
7 |
MOD_FALLING |
|
8 |
MOD_LAST_SELF_INFLICTED |
|
9 |
MOD_EXPLOSION |
|
10 |
MOD_EXPLODEWALL |
|
11 |
MOD_ELECTRIC |
|
12 |
MOD_ELECTRICWATER |
|
13 |
MOD_THROWNOBJECT |
|
14 |
MOD_BEAM |
|
15 |
MOD_ROCKET |
|
16 |
MOD_IMPACT |
|
17 |
MOD_BULLET |
|
18 |
MOD_FAST_BULLET |
|
19 |
MOD_VEHICLE |
|
20 |
MOD_FIRE |
|
21 |
MOD_FLASHBANG |
|
22 |
MOD_ON_FIRE |
|
23 |
MOD_GIB |
|
24 |
MOD_IMPALE |
|
25 |
MOD_BASH |
|
26 |
MOD_TOTAL_NUMBER |
|
* Sons
Le sons est joué sur différents canaux, Voici
une liste des canaux valides :
Numéro |
Nom |
Description |
0 |
auto |
C'est le canal qui a le moins de priorité. Il est
toujours joué si c'est possible (harware audio channel
) mais ne jouera pas par dessus d'autres sons. Si aucun canal
n'est disponible, le son ne sera pas joué tout simplement.
Il est préférable de l'utiliser pour qui n'ont
pas d'importances particulières comme les impacts de balles,
plutot que pour des sons plus importants comme les bruits de
pas. |
1 |
body (personnage) |
Ce sont les bruits faits par le corps du personnage. Ceci
inclue des sons comme les impacts (de chutes et d'attérissage
difficiles) mais aussi les bruit fait par l'équipement
du joueur. |
2 |
item (objets) |
Ce sont les sons faits par les objets portés par
le personnage, ou tout les sons qui s'y réfèrent.
Ceci incluerait aussi les sons faits par les objets utilisés
par les joueur comme les jumelles les papiers, mais aussi ce
canal peut être utilisé comme second canal pour
les sons des armes si une arme doit emettre 2 sons en même
temps. C'est aussi le canal utilisé pour le rechargement
des armes pour prévenir des coupure de sons sur les autres
canaux. |
3 |
weaponidle (arme au repos) |
C'est pour les bruits contants faits par les armmes ou
le personnage en lui même. Un exemple de Quake 3 le bruit
du rail de l'arme. |
4 |
voice (voix) |
Ce sont des sons émis par les personnages comme
la douleur, la mort, les cris pendant le combat. C'est effectivement
le canal ayant la plus basse priorité pour les dialogues. |
5 |
local |
Sons considérés comme locaux pour le joueur.
Il n'y a pas de spécialisation 3D pour le son. Il accorde
le volume en fonction de la distance. Il est préférable
des les utiliser pour des sons qui sons unidertionnels comme
la pluie et les éclairs. |
6 |
weapon (arme) |
Ce sont les sons qui sont émis par les armes du
joueur. Ceci inclue les sons du tir, mais du rechargement. |
7 |
dialog-secondary
(dialogues secondaires) |
C'est le canal secondaire pour les dialogues. Bien à
utiliser des dialogues de basse priorité comme les discussions
entre les personnages. Il devrait inclure uniquement les les
dialogues avec des sous-titres. |
8 |
dialogue (dialogue) |
C'est le canal primaire pour les dialogues des joueurs.
Il devrait inclure uniquement les les dialogues avec des sous-titres. |
9 |
menu (menu) |
C'est le canal réservé aux sons du menu. |
Commande |
playsound |
Syntaxe |
<Entity> playsond (nom du son, [numéro du
canal], [volume], [distance min], [hauteur]) |
Exemple |
$radio playsound "emergency-broadcast" 7 |
Description |
Joue un son venant de cette entité. Le canal par défaut
est le canal 1 (body) |
Commande |
stopsound |
Syntaxe |
<Entité> stopsound ([canal]) |
Exemple |
$radio stopsound 7 |
Description |
Arrête le son joué sur le canal spécifié.
Canal par défaut (canal 1 (body)) |
Commande |
loopsound |
Syntaxe |
<Entité> loopsound (nom_du_son, [volume],
[distance minimale]) |
Exemple |
$radio loopsound "ether_static" |
Description |
Joue un son en boucle avec un cetain volume et une certaine distance_minimale |
Commande |
stoploopsound |
Syntaxe |
<Entité>stoploopsound |
Exemple |
$radio stoploopsound |
Description |
Arrête le son en boucle sur cette entité. |
* Affichage de messages
Commande |
print, println |
Syntaxe |
<ScriptThread> print (texte) |
Exemple |
print "Le prix du sucre à doublé !" |
Description |
Affiche le message dans la console! LA commande println est suivie
d'un retour à la ligne. |
Commande |
iprintln, iprintlnbold |
Syntaxe |
<ScriptThread>iprintln (texte) |
Exemple |
iprintln "La farine aussi !" |
Description |
Affiche un message en haut à gauche de l'écran
en jaune (mais sans le clic) suivi d'un retour à la ligne.
La version bold, utilise la même police, mais en blanc
et avec le clic. |
Commande |
iprintln_noloc, iprintlnbold_noloc |
Syntaxe |
<ScriptThread> iprintln_noloc (texte) |
Exemple |
iprintln_noloc " C'est la faute du temps, si y fait pas
beau !!!" |
Description |
Affiche un message dan la partie gauche de l'écran en
blanc (avec un clic) et avec un retour à la ligne. la
version bold utilise les caractères gras. |
Commande |
locprint |
Syntaxe |
<ScriptThread> locprint (Valeur de X, Valeur de Y,
texte) |
Exemple |
locprint 30, 100, "Mais y fait beau quand il ne pleut pas
!" |
Description |
Affiche le message aux coordonnées(X et Y) spécifiée
pour tous les écran de tous les joueurs. |
* Mathématiques
Commande |
abs |
Syntaxe |
<ScritpThread> abs (valeur) |
Exemple |
abs -23.656 |
Description |
Donne la valeurs absolue du paramètre. Pour 15.3 on aura
15.3, pour -2 on aura 2, pour-5.999 on aura 5.999 |
* Combinaison de commandes.
Cette partie du tutorial
n'ayant pas encore été écrite par Bjarne
Grönnevick je ne peux hélas pas vous la traduire.
Retour au
texte principal.
Retour au sommaire