Principe d'un alias +truc ^
Un alias +truc permet de faire une action tant qu'on appuie sur une touche, ou bien de modifier l'action d'une autre touche. La syntaxe générale est la suivante:
bind <touche> +vstr action1 action2
set action1 <série de commande...>
set action2 <série de commande...>
Tant qu'on appuiera sur <touche>, les commandes décrites dans action1 seront effectives, puis quand on relachera la touche, les commandes décrites dans action2 seront exécutées.
Par exemple, pour afficher le nombre de FPS tant qu'on appuie sur espace:
bind space +vstr FPSon FPSoff
set FPSon cg_drawFPS 1
set FPSoff cg_drawFPS 0
Mais on peut également modifier une autre touche, à la manière d'un shift. Dans l'exemple qui suit : la touche C vous fait dire "chuis content", mais shift+C donne "chuis pas content!"
set bindContent "bind c say Chuis content :)"
set bindPasContent "bind c say Chuis pas content :("
vstr bindContent
bind shift +vstr bindPasContent bindContent
// No Backpack for you ^
Cet alias tire parti d'une autre caractéristique du CPM : le switch instantané des armes. Ce qu'il fait : lorsque vous sélectionnez une arme, elle n'est que "mémorisée". C'est uniquement quand vous tirez qu'elle est sélectionnée, puis quand vous arrêtez de tirer, vous reprenez automatiquemet le gauntlet. Si vous re-tirez, vous re-sélectionnez automatiquement l'arme, et ainsi de suite.
Plusieurs intérêts :
- si vous mourez, vous ne laissez pas de backpack avec une arme dedans, puisque vous aurez eu en main le gauntlet au moment de trépasser.
- vous pouvez vous ballader avec le railgun ou le shaft sélectionné, mais sans faire de bruit (le zonzonnement électrique du shaft par exemple) puisque c'est en fait le gauntlet que vous avez en main.
Quelques inconvénients :
- c'est assez saoulant d'entendre à tout bout de champ le bruit du switch de l'arme :)
- vous pouvez croire sélectionner une arme mais pour laquelle vous n'avez plus d'ammo : le HUD du CPM revêt tout son intéret dans ce cas.
- il y a un léger retard à l'allumage qui peut être génant sur une arme comme le railgun, ou bien avec le rocket launcher pour faire un RJ. A vous de voir pour quelles armes vous l'utiliserez (c'est pas génant sur des armes à tir continu comme le MG ou le shaft par exemple).
bind 1 "set weap weapon 1; echo Gauntlet"
bind 2 "set weap weapon 2; echo MG"
bind 3 "set weap weapon 3; echo SSG"
bind 4 "set weap weapon 4; echo GL"
bind 5 "set weap weapon 5; echo RL"
bind 6 "set weap weapon 6; echo LG"
bind 7 "set weap weapon 7; echo RG"
bind 8 "set weap weapon 8; echo PG"
bind 9 "set weap weapon 9; echo BFG"
set fire "vstr weap; +attack"
set stopfire "weapon 1; -attack"
bind mouse1 "+vstr fire stopfire" // remplace le bind simple "+attack"
// Railgun pour Sniper (shame !) ^
Voilà la reprise d'un alias que j'avais fait pour Q2 et qui avait été assez populaire dans les mods de campeurs (typiquement les mods avec des classes de persos, dont certains ne faisaient que de la défense en snipant)
Moins adapté au style rapide du jeu CPM, il est simplement intéressant parce qu'il associe une action -truc à une action +machin
Ce qu'il fait : vous sélectionnez le railgun, puis vous activez le mode Snipage. Lorsque vous cliquez sur le bouton, vous zoomez; cela ne tirera que lorsque vous relacherez le bouton. Si vous tirez normalement (un coup bref sur le bouton), cela tirera presque instantanément.
set railzoom "cg_fov 40"
set railshoot "cg_fov 120; +attack; wait; -attack"
set zoomIsOn "bind mouse1 +vstr railzoom railshoot; echo Snipe ON; set zoomOnOff vstr zoomIsOff"
set zoomIsOff "bind mouse1 +attack; echo Snipe OFF; set zoomOnOff vstr zoomIsOn"
vstr zoomIsOff
bind space "vstr zoomOnOff"
La particularité de cet alias est donc qu'il appelle l'action +truc dans sa deuxième phase, là ou habituellement on fait appel à une action -truc. A essayer par curiosité, mais voilà un alias que j'ai fait par pur plaisir conceptuel, y'a aucun intérêt réel :)
Comme d'habitude, préferez un alias qui change la fov plutôt qu'un alias qui utilise "+zoom" : vous aurez un zoom immédiat, sans grossissement progressif.
// Communication TP/CTF ^
Jetez d'abord un oeil à la page des alias avancés pour avoir la version normale.
La version CPM peut permettre une combinaison plus simple de touches : par exemple apuyer sur 1, 2 ou 3 dit "YA available", "RA available" ou "RL available". Mais appuyer sur shift+1, shift+2, shift+3 dira "Ennemy @ YA", "Ennemy @ RA", etc...
Je vous écris le principe pour deux locations, par exemple "YA" et "RA" :
set secureYA "say_team available YA"
set nmyYA "say_team nmy @ YA"
set secureRA "say_team available RA"
set nmyRA "say_team nmy @ RA"
// définissez ainsi toutes vos locations
set available "bind 1 vstr secureYA; bind 2 vstr secureRA"
set nmy "bind 1 vstr nmyYA; bind 2 vstr nmyRA"
// complétez les alias "available" et "nmy" avec tous les binds de vos locations
vstr available // initialise les binds au debut
bind alt +vstr nmy available
Par défaut, appuyer sur une touche donnera le bind définit dans l'alias "available". Si vous shiftez, cela donnera le bind définit dans l'alias "nmy".
Si vous désirez inverser les deux états (touche = "nmy @" et shift+touche = "available"), il vous suffit d'inverser les deux alias dans le bind alt :
bind alt +vstr available nmy
A vous maintenant de faire votre config de communication. Les joueurs de TP préféreront des locations d'après les armes et les principaux items (RL, LG, MH, RA...), les joueurs de CTF (en CPM, doit pas y en avoir des millions) utiliseront plutôt des locations a partir d'items et de power-ups.