Tutorial Binds & Alias

Voila un dossier que je voulais faire depuis longtemps, mais a vrai dire j'ai jamais eu le courage de m'y mettre vraiment. Bon pour ce dossier j'ai essaye de faire le plus simple possible, de sorte que tout le monde puisse faire des Binds/Alias, voir meme des alias plus avancés. Bon faut quand meme pas exagerer c'est pas du C, mais ca comporte des petites difficultés.


Introduction :

 



Pour commencer, c'est quoi les Alias/Binds ? On va deja commencer par les Binds :p
Premiere chose : allez dans votre repertoire Half-life/cstrike (ou Counter-strike/cstrike pour la version Retail), puis ouvrez le fichier config.cfg avec Notepad. Ce fichier config comporte toute votre configuration CS (etonnant non :p), c'est a dire d'une part les Binds et d'autre part les variables. Nous on s'interresse aux Binds. En francais Bind c'est Attacher, c'est a dire que vous allez attacher une touche de votre clavier a une action (comme tirer, sauter). Regardez les binds dans votre config, ils sont sous la forme: bind "X" "YYYYY"
X la touche et YYYYY est l'action qui lui est associée.

Par ex:
bind "mouse2" "+jump"
Un click sur le deuxieme bouton de la souris vous fera sauter.

Bon maintenant les Alias: de meme que pour le config.cfg, allez dans votre repertoire /cstrike et ouvrez le fichier autoexec.cfg (creez le s'il n'existe pas). Ce fichier autoexec.cfg contient (ou va contenir) vos alias. Ce fichier est auto executé (etonnant non :p BIS) lorsque vous lancez une partie CS. En fait les Alias sont (enfin peuvent etre) tout simplement des Binds. Alors pourquoi les mettre dans l'autoexec ? C'est une question simplement pratique, de plus l'autoexec permet d'assigner des fonctions bien plus puissantes a certaines touches que le config ne l'autorise. Un petit exemple pour mettre les chose au clair:
Dans votre Autoexec vous pouvez mettre un alias sous la forme :
alias "Newbie" "name Je suis un Newbie"
Puis dans votre config:
bind "n" "Newbie"

Une pression sur n et votre nom changera en "Je suis un Newbie" ...
Bon j'admet que ya pas de grande utilité a faire un alias dans ce cas la :p. Mais bon si vous avez 10 noms differents, un seul alias suffit (donc une ou 2 touches a binder au plus) alors qu'il vous faudra binder 10 touches si vous passez par le config (vous allez comprendre).





Premiere partie: les Alias/Binds d'achat :

 



Sans conteste les alias les plus importants, parcequ'ils permettent de gagner un temps fou en debut de round. En effet ils permettent d'assigner a une touche l'achat d'un equipement quelconque (gun+munitions+Kevlar.....). Realiser ses propres Binds (ou alias c'est pareil) est tres simple, d'autant plus simple que j'ai realisé la partie la plus chiante du boulot (vous allez comprendre BIS). Pour les faire il suffit de savoir decomposer l'action d'acheter sous forme de script. Je m'explique:
Par exemple vous voulez acheter la Colt M4A1 (la 4-3 quoi :):
Premiere etape, vous appuyez sur la touche pour acheter les guns (b par defaut je crois), puis avec votre souris ou les numeros du clavier (ca depend si le VGUI menus est activé ou pas), vous allez donc dans le 4eme menu (Rifles) puis le 3eme choix (Colt). Donc en langage du script CS ca donne:
"buy; menuselect 4; menuselect 3"

Vous pouvez alors associer une touche a cette action :
bind "F5" "buy; menuselect 4; menuselect 3"

Ou meme faire un alias:
->Autoexec:
alias "colt" "buy; menuselect 4; menuselect 3"
->Config:
bind "F5" "colt"

Si vous voulez acheter du materiel d'equipement c'est plus "buy" mais "buyequip", sinon le reste c'est le meme. Bon pour que vous faciliter la tache j'ai realisé un gros script bien sympa pour acheter son matos le plus simplement du monde. Comment ca marche ?

->Autoexec: vous avez juste a taper cette ligne
exec buyscript.nfr
Il faudra avoir télécharcher buyscript.nfr et l'avoir mis dans votre repertoire cstrike.
->Config: C'est la que le script entre en jeu pour acheter votre matos (oubliez les menuselect...). Par exemple vous voulez acheter un mp5 (3-1) + munitions + HE + 2 flashs + Kevlar&Helmet. Vous avouerez que taper tout ca c'est plutot chiant. Alors voici ce que vous aurez a taper:
bind "F6" "mp5; ammo1; he; flash; flash; kevlar2"
Soit:
bind "F6" "3-1; ammo1; he; flash; flash; kevlar2"
La seule difference entre les deux c'est que puisque la plupart d'entre vous ne connait pas le nom des armes mais leur "raccourci" dans le menu d'achat, j'ai mis le nom des armes egalement sous forme de numeros, par exemple l'awp sera la "4-6". Vous retrouverez le beau tableau des correspondances ici :

Photo Nom Raccourci
H&K USP .45 Tactical usp ou 1-1
Glock18 Select Fire glock ou 1-2
Desert Eagle .50AE deagle ou 1-3
SIG P228 sig1 ou 1-4
Dual Beretta 96G Elite beretta ou 1-5
FN Five-Seven FN ou 1-6
Benelli M3 Super90 M3 ou 2-1
Benelli XM1014 XM ou 2-2
H&K MP5-Navy mp5 ou 3-1
Steyr Tactical Machine Pistol steyr2 ou 3-2
FN P90 P90 ou 3-3
Ingram MAC-10 Ingram ou 3-4
H&K UMP45 UMP ou 3-5
AK-47 ak ou 4-1
Sig SG-552 Commando sig ou 4-2
Colt M4A1 Carbine colt ou 4-3
Steyr Aug aug ou 4-4
Steyr Scout scout ou 4-5
AI Arctic Warfare/Magnum awp ou 4-6
G3/SG-1 Sniper Rifle SG1 ou 4-7
Sig SG-550 Sniper SG550 ou 4-8
  Kevlar Vest kevlar1
  Kevlar Vest & Helmet kevlar2
Flashbang flash
HE Grenade he
Smoke Grenade smoke
  NightVision Goggles nvg
  Primary Ammo ammo1
  Secondary Ammo ammo2


Voila, le tout pour vous est de pas vous tromper dans le nom des guns :)
Cependant, voici des conseils assez importants pour que vos binds soient bien efficaces:
->Mettez les armes dans "le bon ordre", c'est a dire, en reprenant l'exemple de tout a l'heure:
BIEN: bind "F6" "mp5; ammo1; kevlar2; he; flash; flash"
PAS BIEN: bind "F6" "flash; flash; ammo1; kevlar2; mp5; he"
Pourquoi ? Pensez au fait que vous n'aurez pas toujours 10000$, donc mettez les armes par ordre d'importance (avoir juste une flash c'est assez bof :p) et par ordre logique (on achete le mp5 et APRES les munitions pour le mp5 ...).

Si vous avez deja fait vos propres binds d'achat vous vous serez aprecu d'un bug assez lourd: la fenetre d'achat reste a l'ecran apres avoir acheté son matos. Pour virer ce bug, j'ai fait un petit alias "close" sensé fermer automatiquement ce menu. Pour cela les menus VGUI doivent etre desactivés (l'execution de buyscript.nfr desactivera ces menus, vous cassez pas). Donc pour que ce menu se ferme vous devez rajouter a la fin de chaque bind d'achat la commande "close". Ce qui donne avec notre exemple:
bind "F6" "mp5; ammo1; kevlar2; he; flash; flash; close"
ATTENTION: Chez certaines personnes cet alias provoque un bug bizarre (le perso peut pu bouger pendant 1 ou 2 secondes), si ca vous arrive, editer le fichier buyscript.nfr, cherchez l'alias "close" et enlevez la moitié (ou un peu moins) des "wait", ca devrait marcher.

Voila !! Avec tout ca vous devriez realiser très vite des bons Binds d'achat.





2eme Partie: Les Alias Alternatifs (Toggle) :

 



Voila la partie la plus interressante des alias, en fait c'est la qu'on se rend compte de la vraie utilité des alias. Bon deja qu'est ce que j'entends par alternatifs ? Prenons un exemple:
bind "mouse1" "+attack"
La difference avec un bind normal c'est le "+". Quand on dit + on dit aussi - ... C'est a dire que la pression sur le bouton 1 de la souris (le +) va faire tirer, la depression de ce bouton (le -) va donc provoquer l'arret du tir. C'est tout con lol. Bref, le truc c'est de faire ses propres alias alternatifs. Le but etant evidemment de pouvoir cumuler plusieurs actions par la pression d'un bouton. Vous avez surement entendu parler du Duck N Jump, l'alias qui vous permet de sauter accroupi, et qui vous rend plus difficile a toucher (mouais). Cet alias combine donc deux actions: Le duck ("+duck") et le jump ("+jump"). Ca donne donc, en prenant +jump2 comme nom de l alias alternatif:
alias "+jump2" "+duck; +jump"
alias "-jump2" "-jump; -duck"
Et bien sur on bind une touche "+jump2"

Vous pouvez vous amusez a faire des trucs pratiques, comme afficher avec une seule touche pleins d'infos, comme le net_graph et le tableau des scores etc...
D'autre part les alias peuvent servir pour activer et desactiver des fonctions que vous aurez predefinies. Pour changer, on va prendre un exemple bien utile :) Le probleme avec la marche sur CS, c'est qu'il fait rester appuyer sur le bouton pour marcher, voici donc un alias qui vous permet de marcher en pressant une fois la touche:
alias walk "walk_on"
alias walk_on "alias walk walk_off; +speed"
alias walk_off "alias walk walk_on; -speed"

De meme on bind un bouton "walk"
Le fait de relacher le bouton pour marcher quand celui est bindé par walk_on ne va pas entrainer l'arret de la marche (-speed).
Dans la meme lignée que cet alias, mais en un peu plus compliqué, on a celui qui permet de changer de nom (autant qu'on veut) avec seulement deux boutons. Ici on introduit les commandes "developer 1; echo =*NFR*=Ben Rulez; developer 0". Le fait d'activer le developer (donc de le mettre a 1) va entrainer l'affichage du contenu de le console en haut a gauche de votre ecran, echo c'est comme sous DOS, ensuite on desactive le developer. Du coup, avec cette commande on a =*NFR*=Ben Rulez qui s'affiche en haut a gauche de l'ecran. On a donc l'alias suivant :
alias "namex" "name1"
alias "name1" "developer 1; echo =*NFR*=Ben%RuleZ ?; developer 0; alias ok okname1; alias namex name2"
alias "okname1" "name =*NFR*=Ben%RuleZ"
alias "name2" "developer 1; echo =*NFR*=%PowA%4%3v3r ?; developer 0; alias ok okname2; alias namex name3"
alias "okname2" "name =*NFR*=%PowA%4%3v3r"
alias "name3" "developer 1; echo crotte ?; developer 0; alias ok okname3; alias namex name4"
alias "okname3" "name crotte"
alias "name4" "developer 1; echo pipi ?; developer 0; alias ok okname4; alias namex name1"
alias "okname4" "name pipi"


(Pourquoi ces "%" ? Simplement pour mettre un espace dans un nom, le pourcentage se transformera en espace sous CS) Bon gare a vous cet alias je l'ai Copyrighté (=*NFR*=Ben©) tellement il est puissant si vous avez un peu d'imagination :) Bref j'ai trop la flemme de vous expliquer comment ca marche, si vous etes arrivé jusqu'ici c'est que vous pouvez comprendre. Ici on a donc deux touches de bindées: une avec "namex" et une autre avec "ok". Les noms defileront en haut a gauche de l'ecran avec la touche "namex" et vous validerez (donc changerez de noms) avec celle bindée par "ok". N'oubliez pas de renvoyer le dernier alias au premier, pour que celui fasse une boucle. Essayez de toujours faire un alias "ok" pour valider une action, comme ca vous pouvez utiliser toujours la meme touche pour valider et donc vous pourrez mettre des alias enormes sur une seul touche, la touche de validation etant commune.

Pour finir un dernier type d'alias qui est très utile: celui ci permet de changer la fonction d'une touche, et permet donc d'activer ou desactiver une fonction associée a nue touche. Par exemple vous pouvez faire un alias qui active/desactive le duckNjump :
alias "jumpx" "jumpon"
alias "jumpon" "bind mouse2 +jump2; alias jumpx jumpoff"
alias "jumpoff" "bind mouse2 +jump; alias jumpx jumpon"
bind "x" "jumpx"

Voila si on appuie sur x les sauts se feront en duckNjump (Cf plus haut pour +jump2); si on reappuie les sauts seront normaux. De meme si ca vous embete d'avoir a binder deux touches pour changer de nom, cette methode permet l'utilisation d'un seule touche. Par contre, pour passer du 1er nom au 4eme nom par exemple, vous changerez de nom 4 fois (au lieu d'une quel que soit le nom voulue pour l'autre methode), donc c'est foutu si vous vouliez passer incognito :p
Ah oui une derniere chose: ne jamais mettre de guillemets dans un alias ca nique tout !!

Et voila je pense qu'on a fait a peu près le tour de la question...maintenant a vous de jouer !!