Réalisé par abc-vitrine.com
Plan du site
 
CHAT / Salon de discutions
 


quake3 urban terror



Depuis le 14/5/05
956 visites
10 aujourd'hui
1 connecté
Urban terror  Nouveau tube: "le poinçonneur des Lalas"
ABCspide:   // Ajouter un site
 
Scripter pour Quake III

Définition d'un script:

keyboard   Un script est un fichier texte avec l'extension .cfg placé dans le dossier du mod dans lequel il va servir.
  Il comporte un code simple à programmer et apportant des fonctions supplémentaires à Quake en automatisant des taches ou actions courantes. Par exemple, avec une seule touche vous pouvez sélectionner les grenades, en lancer une et revenir sur l'arme précédente.
  Pour utiliser un script, il suffit de le placer dans le dossier du mod et de le lancer dans la console avec la commande "/exec nom_du_script", vous n'avez pas besoin de taper l'extension ".cfg". Cette commande peut être associée à un bind car il faut charger les scripts à chaque nouveau lancement de Quake.


Codage des scripts:

Les grands principes des scripts:
-Tout ce qui peut être validé dans la console peut être enregistré dans un script (commande, cvar).
-Définir des variables dynamiques ou définies pour les attribuer à des commandes.
-Exécuter plusieurs commandes en même temps ou en différé.
-Pour séparer plusieurs fonctions, tapez un retour à la ligne. Pour séparer plusieurs commandes utilisez ";".


Attribuer une valeur à une variable
Les 3 exemples suivants ont exactement la même fonction, profitez en pour comprendre comment utiliser les variables.
// Exemple 1: simple bind
bind x "ut_radio 5 5"

// Exemple 2: définition d'une variable et bind
seta medic "ut_radio 5 5";
bind x vstr medic

// Exemple 3: définition d'une variable, échange entre 2 variables et bind
seta message_medic "ut_radio 5 5";
seta medic vstr message_medic;
bind x vstr medic



Le principe du toggle ou comment affecter plusieurs actions différentes à chaque pression sur la même touche:
Ce point est fondamental au codage d'un script. Nous partons sur le principe des variables à définir comme vu juste au dessus.
On va affecter à une touche une variable, cette variable correspondra à une autre action que l'on va permutter au fur et à mesure.

Voici un exemple qui va illustrer ce toggle: en appuyant sur la molette centrale, 3 actions vont se succéder:
1) sélection du SR8
2) mode zoom
3) départ du coup de feu
Puis à chaque nouveau click sur la molette, on passe directement entre la 2ème et 3ème action sans repasser par la 1ère (sélection du SR8). Cette 1ère action ne sera active qu'après la sélection d'une arme d'un niveau inférieur qu SR8 (ex: mp5 ou pistol) grâce au mouvement bas de la molette.
 
// weap, zoomSR8 et feu sont les 3 actions qui vont s'enchainer
set weap "ut_weaptoggle primary; set SR8 vstr zoomSR8" // 1) sélection SR8 puis préparation zoom
set zoomSR8 "ut_zoomin; set SR8 vstr feu" // 2) zoom puis préparation départ du coup
set feu "ut_zoomin; +attack; -attack; set SR8 vstr zoomSR8" // 3) coup de feu puis préparation zoom

// En premier lieu, on défini à la variable SR8 les actions de la variable weap
set SR8 vstr weap

// A chaque sélection d'une arme ou click sur MOUSE1, on relance le script au début en définissant à la variable SR8 les actions de la variable weap
bind MWHEELDOWN "weapprev; set SR8 vstr weap"
bind MWHEELUP "weapnext; set SR8 vstr weap"
bind MOUSE1 "+attack; set SR8 vstr weap"

// En cliquant sur la molette, on active les actions définies pour la variable SR8
bind MOUSE3 vstr SR8
Info: Le script complet est en Download sur le site: script SR8.

PS: Pour passer une variable de 1 à 0 et de 0 à 1, utilisez plutot la fonction toggle.



Les fonctions utiles aux scripts:
Lisez bien les exemples pour comprendre les quelques principes de bases.

+attack -attack Attaquer/Utiliser une arme
Exemple
weapon 9; +attack; wait 20; -attack;
Sélectionne le G36, lance une rafale de 3

+button8 -button8 Action de sprint légèrement plus rapide que la course mais qui fait perdre du stamina.
Exemple
bind shift "+button8;"
accélération lors de la pression de la touche majuscule.

+movedown -movedown s'accroupir se redresser
Exemple
bind x +movedown
bind y -movedown
Rester accroupi en appuyant une fois sur "x" et se redresser avec "y"

+zoom -zoom Activer/Augmenter le zoom
Exemple
bind mwheelup +zoom
bind mwheeldown -zoom
Grossis le zoom avec la molette.

bind key "valeur" Attribue une ou plusieurs actions à une touche.
Exemple
bind x "ut_zoomin; say je suis en mode ZOOM";
Attribue à la touche "x" la commande de zoom et affiche en chat "je suis en mode ZOOM".

cmdlist affiche la liste des commandes
Exemple
cmdlist

dir "dossier" liste un répertoire.
Exemple
dir map;
dir sound;
Liste tout le contenu d'un dossier. Les dossiers les plus courants sont les dossiers maps et sound (comporte des sous dossiers).

echo "chaine
de caractères" Afficher un message dans la console.
Exemple
echo "mode SPRINT activated"
Affiche "mode SPRINT activated" dans la console.

exec "chemin d'un script" Exécuter un script en spécifiant son chemin et nom
Exemple
bind x exec scripts/zoom
Exécute le script zoom.cfg placé dans le dossier script/ du dossier du mode en cours.

gear Permet de définir une combinaison d'armes/équipements
Exemple
set lo_01 "set load vstr lo_02; gear GeAOVWA;"
set lo_02 "set load vstr lo_03; gear GMAOUWA;"
set lo_03 "set load vstr lo_01; gear GZJOWAA;"
set load "vstr lo_01" // Par Defaut

bind = "vstr load"
en pressant la touche "=" vous sélectionnerez une config d'équipement différente.
Pour plus de renseignements sur cette fonction, lisez l'article Config de l'équipement

messagemode Afficher un message à tout le monde. messagemode2 l'affichera seulement à son équipe.
Exemple
bind x messagemode "salut a tous"

play "son" Joue un son ou musique
Exemple
play sound/feedback/one;
wait 100;
play sound/feedback/two;
wait 100;
play sound/feedback/three;
Prononcera "One", "Two" et "Three" l'un après l'autre

rconpassword "chaine
de
caractères" Définir ou s'authentifier avec un mot de passe
Exemple
rconpassword eve_angeli
rcon map ut_sliema
Donne le mot de passe au serveur pour utiliser les commandes rcon

rcon "commande" Envoyer des commandes classiques au serveur
Exemple
rcon kick Fat_Cobra
Pour kicker Fat_Cobra de son serveur.

reconnect Permet de se reconnecter au dernier serveur sélectionné.
Exemple
bind F10 "timescale 50; reconnect"
Avec la touche F10, se reconnecter au serveur si il est "FULL" en accélérant par 50 les délais entre les différentes tentatives.

say "chaine
de caractères" Affiche en chat.
Exemple
say "je suis en defense"
Affiche dans le chat "Je suis en défense"

say_team "chaine de caractères" Chatter avec son équipe
Exemple
bind x "+button8; say_team je sprint comme un ouf"

screenshot screenshootJPEG Capturer l'image du jeu en TGA ou en JPEG
Exemple
bind F11 screenshotJPEG
La capture s'enregistre dans le dossier screenshots/
Sous systèmes X, ce dossier est dans le dossier utilisateur/Applications supports/Quake3/dossier du mod/

sensitivity Sensibilité des mouvements de la souris
Exemple
set highsens "sensitivity 15";
set lowsens "sensitivity 5"
Permet de choisir plusieurs sensibilités de souris suivant les actions en cours. Il peut être pratique de descendre cette sensibilité en mode zoom.

seta var
"valeur" Remplir une variable avec une chaine de caractères ou une valeur.
Exemple
seta weap "weapon 9";
bind x "vstr weap";
Rempli la variable "weap" avec la chaine de caractères "weapon 9" et l'associe par bind à la touche "x". En appuyant sur "x", le G36 sera sélectionné.

set var "valeur" Définir une variable.
Exemple
seta weap "weapon 9";
set arme vstr weap;
bind x "vstr weap";
Rempli la variable "weap" avec la chaine de caractères "weapon 9" puis rempli la variable "arme" par la valeur de "weap" et l'associe par bind à la touche "x". En appuyant sur "x", le G36 sera sélectionné.

toggle Permet de changer une variable entre ses valeurs 0 et 1
Exemple
bind x toggle cg_thirdperson
Permet de passer en vue de derrière et en FPS.

ut_echo "......" Afficher un message en haut de son propre écran.
Exemple
// dans un script de gear
set lo_01 "set load vstr lo_02; gear GeAOVWA; ut_echo M4+LASER+CASQUE"
set lo_02 "set load vstr lo_03; gear GMAOUWA; ut_echo G36+SILENCER+CASQUE"
set lo_03 "set load vstr lo_01; gear GZJOWAA; ut_echo SR8+UMP45+CASQUE"
set load "vstr lo_01" // Default

bind = "vstr load"
en pressant la touche "=" vous sélectionnerez une config d'équipement différente et les armes impliquées par cette config s'afficheront en haut de l'écran.

ut_itemdrop Jetter un équipement ou le flag
Exemple
/bind x "ut_itemdrop flag; say Amenez le flag !"
Ce bind servira à lacher le Flag et afficher une phrase.
les équipements que vous pouvez utiliser avec cette fonction sont: kevlar, helmet, flag, nvg (pour les goggles), et silencer.
Si vous exécutez simplement ut_itemdrop, l'équipement sélectionné précédemment ou par défaut, le premier sera jetté.
Vous pouvez l'utiliser avec les fonctions ut_itemprev et ut_itemnext qui servent à naviguer dans son équipement.

vstr (variable) Indique l'utilisation d'une variable et non d'une chaine de caractères.
Exemple
set weap "weapon 9";
bind x vstr "weap"
Rempli la variable "weap" avec la chaine de caractères "weapon 9" et attribue la variable "weap" à la touche "x".
Si on avait pas mis le "vstr", Quake aurait cherché à exécuter la commande "weap" qui n'existe pas.

wait (s/100) Fait une pause dans l'éxécution des commandes. Valeur en centièmes de seconde.
Exemple
weapon 13;
wait 30;
ut_zoomin;
+attack;
-attack;
wait 10;
ut_zoomout;
Sélectionne le SR8, fait une pause pour activer le zoom et tirer. La pause ici est obligatoire car si on active le zoom pendant le changement d'arme, il ne fonctionnera pas et sera schinté.

writeconfig "chemin
du
fichier" Sauvegarde la config en cours dans un chemin et fichier spécifié
Exemple
set listing "toggleconsole; bindlist; set save_cfg vstr sauvegarde"
set sauvegarde "writeconfig sauvegarde/config.cfg"
set save_cfg vstr listing
bind F9 vstr save_cfg
En appuyant sur F9, la console s'ouvre et affiche la liste des BINDs.
la variable bindée "save_cfg" prend la valeur de "sauvegarde"
Donc au deuxième F9, la sauvegarde du fichier config.cfg va s'effectuer dans le dossier sauvegarde/


 
Contact  //  Aide 
49 inscrits, 75 sites, 35 techniques.  Get Firefox!   Valid XHTML 1.0! Valid CSS!
Urban Terror est un mod réalisé par Silicon Ice
Site et design par Dux abc-vitrine.com, agrée par l'international TTBS