Binds
Le client DDNet dispose d'une multitude de commandes et paramètres qui peuvent être bind à presque n'importe quelle touche ou bouton de la souris. Vous pouvez saisir des commandes dans la console, à laquelle on accède par défaut en appuyant sur F1.
Syntaxe
Binds simples
bind [clef] [commande/paramètre] [valeur]
Voici la syntaxe pour les binds simple.
- [clef] est la touche sur votre clavier/souris à laquelle vous voulez associer votre commande.
- [commande/paramètre] : une liste complète des commandes et paramètres possibles peut être trouvée ici.
- [valeur] est la variable sur laquelle vous souhaitez définir votre paramètre ou un argument pour une commande. Toutes les commandes ne nécessitent pas d'arguments.
Vous pouvez retrouver des codes clés ici, ou simplement taper temporairement la clé dans l'un des contrôles de la page Paramètres > Contrôles dans le client DDNet et le nom de la clé s'affichera. Vous pouvez également associer des touches modifiées avec des bind.
bind ctrl+[clef] [commande/paramètre] [valeur]
Vous pouvez utiliser ctrl, alt, shift, et gui. Gui est utilisé pour se référer à la touche windows sur Windows, la touche commande sur macOS/osx, et super/meta sur linux.
Binds multiples
Vous pouvez également enchaîner des commandes/paramètres en les séparant par un point-virgule et en les plaçant entre guillemets. Vous pouvez ajouter autant de commandes que vous le souhaitez à votre chaîne.
bind [clef] "[commande/paramètre] [valeur]; [commande/paramètre] [valeur]"
Lorsque vous enchaînez des commandes de cette manière, toutes les commandes/paramètres sont exécutés par le jeu exactement au même moment, ce qui signifie qu'ils ne s'exécuteront pas séquentiellement dans l'ordre dans lequel vous les avez écrits. Il n'y a pas de commande de type "sleep" ou "delay" pour espacer les choses comme vous le souhaitez. La meilleure façon de faire en sorte que les choses se déroulent dans une séquence ordonnée est de lier une touche différente pour chaque étape de la séquence, ou d'utiliser des fichiers de configuration pour appuyer plusieurs fois sur une même touche afin de lire plusieurs fichiers de façon séquentielle.
Binds imbriqués
Vous pouvez imbriquer plusieurs chaînes de caractères entre guillemets sur une même ligne en séparant chaque nouvelle série de guillemets par des backslash.
bind [clef] "bind [clef] \"[commande/paramètre] [valeur]; bind [clef] \\\"[commande/paramètre] [valeur] \\\"\""
Au fur et à mesure que les commandes entre guillemets deviennent plus imbriquées, vous devez également des backslash. Chaque nouvelle couche retirera les backslash à nouveau, vous devez doubler la quantité de backslash par couche. Le nombre maximum de couches que vous pouvez utiliser est de 5 avant que la console ne retourne une erreur. Ceci est dû au fait que la console a une limite maximale de caractères de 255. La quantité de backslash pour 6 couches est de 240 (1*2 + 3*2 + 7*2 + 15*2 + 31*2 + 63*2), ce qui vous laisse seulement 15 caractères.
1 = 1 \ 2 = 3 \\\ 3 = 7 \\\\\\\ 4 = 15 \\\\\\\\\\\\\\\ 5 = 31 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Si cela vous semble compliqué, essayez de créer un nouveau retour à la ligne indenté pour chaque commande entre guillemets afin d'obtenir une idée visuelle plus claire de ce qui se passe.
bind [clef] "bind [clef] \"[commande/paramètre] [valeur]; bind [clef] \\\"[commande/paramètre] [valeur]; bind [clef] \\\\\\\"[commande/paramètre] [valeur] \\\\\\\" \\\" \" "
Note : Vous ne pouvez pas lancer un fichier de configuration formatté comme dans l'exemple ci dessus. Il ne fonctionnerait pas, et permet juste d'avoir une idée visuelle de comment un bind imbriqué est construit.
==Commandes et paramètres utiles
Toggles
Les toggles permettent d'alterner entre deux valeurs pour une seule touche. Il existe deux types de toggle.
- 'toggle est utilisé pour qu'à chaque fois que vous appuyez sur une touche, elle change entre l'une des deux valeurs paramétrées.
- '+toggle est utilisé pour que la première valeur soit définie uniquement lorsque la touche est enfoncée, et que la seconde valeur soit définie lorsque la touche est relâchée.
bind [clef] toggle [paramètre] [valeur1] [valeur2]
bind [clef] +toggle [paramètre] [valeur1] [valeur2]
Les toggles fonctionnent uniquement pour les paramètres du client. On ne peut pas les utiliser pour des commandes liés au client ou au chat.
Say
Say est une commande client importante pour le binding. Elle vous permet d'incorporer des commandes de chat dans un bind et d'envoyer simplement du texte au chat.
bind [clef] say /[commande dans le chat]
bind [clef] say [message dans le chat]
Couleurs
Certaines commandes client permettent de définir des couleurs.
- player_color_body (couleur du joueur)
- player_color_feet (couleur des pieds)
- cl_message_client_color (couleur des messages du client)
sont quelques exemples.
Pour obtenir les valeurs de couleur que vous désirez, allez dans Settings > Tee, et utilisez les curseurs pour trouver votre couleur. Allez dans la console et tapez la commande de la couleur que vous essayez de définir, seule, sans valeur. Le nombre qui vient après « "Valeur": est le nombre pertinent.
player_color_body 5635840
ou, si vous préférez utiliser la valeur héxadecimale :
player_color_body $00FF00
Quelques noms de couleurs sont acceptés : red, yellow, green, cyan, blue, magenta, white, gray, black fonctionnent !
Émoticônes
La commande emote permet d'afficher les émoticônes sans avoir à les sélectionner manuellement. Chaque émote est représentée par un numéro différent.
emote 0 | oups! |
emote 1 | exclamation |
emote 2 | coeurs |
emote 3 | goutte |
emote 4 | ... |
emote 5 | musique |
emote 6 | pardon! |
emote 7 | fantôme |
emote 8 | sushi |
emote 9 | splatee |
emote 10 | diable |
emote 11 | censuré |
emote 12 | zzz |
emote 13 | wtf |
emote 14 | yeux |
emote 15 | question |
Par exemple :
bind h emote 14
Autres
binds [clef]
Vous pouvez utiliser cette commande pour afficher ce qui est bind sur une touche. Utilisez-la commande sans ajouter la clef pour obtenir une liste complète de touts vos binds actuels.
unbind [clef]
Cette commande unbind la touche que vous aurez spécifié.
Utiliser des fichiers de configuration
Syntaxe
Pour des binds plus complexes, vous pouvez créer des fichiers texte contenant des paramètres/commandes qui seront exécutés en appuyant sur une touche.
settings.cfg
[commande/paramètre] [valeur] [commande/paramètre] [valeur] [commande/paramètre] [valeur]; [commande/paramètre] [valeur] [commande/paramètre] [valeur]; [commande/paramètre] [valeur] bind [clef] [commande/paramètre] [valeur] bind [clef] exec [file.cfg]
Les commandes/paramètres se suivre à l'aide d'un point-virgule ou allant simplement à la ligne. Vous pouvez mettre autant de commandes/paramètres/binds que vous le souhaitez dans ces fichiers.
Note: Vous n'avez pas besoin d'utiliser .cfg comme extension. Vous pouvez en fait utiliser n'importe quelle extension de fichier. .cfg est simplement la norme.
Path/Exec (Chemin/Exécution)
Pour exécuter ces fichiers, vous devez les placer dans le bon répertoire et les exécuter avec la commande exec. Le chemin correct dépend de votre système d'exploitation. Pour trouver le bon chemin pour votre système d'exploitation, voir FAQ#Où est la configuration DDNet, dossier de configuration ou de sauvegarde?.
Une fois que les fichiers sont dans le bon chemin, vous pouvez les exécuter dans la console du jeu avec la commande exec.
exec [fichier.cfg]
ou bien
bind [clef] exec [fichier.cfg]
Vous pouvez utiliser des sous-répertoires dans le répertoire 'DDNet' ou 'Teeworlds' pour organiser les fichiers. Il suffit d'inclure le chemin d'accès lorsque vous exécutez le fichier.
bind [clef] exec [chemin/vers/le/fichier.cfg]
Améliorer le 'toggle' avec les fichiers de configuration
La raison la plus courante d'utiliser des fichiers de configuration est de créer une touche unique permettant d'alterner entre deux fichiers.
fichier1.cfg
[commande/paramètre] [valeur] [commande/paramètre] [valeur] [commande/paramètre] [valeur] bind [clef] exec fichier2.cfg
fichier2.cfg
[commande/paramètre] [valeur] [commande/paramètre] [valeur] [commande/paramètre] [valeur] bind [clef] exec fichier1.cfg
Dans ce cas, [clef] est la même touche dans les deux fichiers. De cette façon, chaque fois que vous appuyez sur la touche, l'autre fichier est activé. Une fois que vous avez placé ces deux fichiers dans le bon chemin, vous pouvez executer l'un ou l'autre une seule fois et ils seront bind pour toujours jusqu'à ce que vous les unbindiez.
bind [clef] exec fichier1.cfg
Vous pouvez utiliser cette méthode pour alterner entre autant de fichiers que vous le souhaitez.
Customisation
Echo
Pour montrer plus clairement quel fichier vous activez lorsque vous appuyez sur une touche, vous pouvez utiliser la commande echo pour afficher le fichier actif.
[commande/paramètre] [valeur] [commande/paramètre] [valeur] echo paramètre ON bind [clef] exec fichier1.cfg
Pour aller encore plus loin, une commande permet également de changer la couleur de messages echo !
[commande/paramètre] [valeur] [commande/paramètre] [valeur] cl_message_client_color red echo paramètre OFF
bind [clef] exec fichier1.cfg
Avoir des couleurs différentes pour les états "on" et "off" permettent de savoir plus facilement quel paramètre est activé. Si vous voulez encore plus d'originalité, vous pouvez jeter un coup d’œil à la section sur les couleurs.
Commentaires
Vous pouvez également ajouter des commentaires dans vos fichiers de bind.
# Ces lignes changes des paramètres [commande/paramètre] [value] [commande/paramètre] [value] # Cette ligne rebind la clef bind [clef] exec fichier1.cfg
Exemples
Ligne de hook toujours visible
La commande cl_show_hook_coll_own, définit si vous verrez votre propre ligne de collision de crochet ou non lorsque vous tenez votre bind +showhookcoll (par défaut à 1). Lorsque ce paramètre est réglé à 2, votre ligne de collision sera toujours visible mais seulement pour vous. Les autres joueurs ne la verront pas.
hook_line_on.cfg
cl_show_hook_coll_own 2 cl_message_client_color green echo Ligne de hook ON bind x exec hook_line_off.cfg
hook_line_off.cfg
cl_show_hook_coll_own 1 cl_message_client_color red echo Ligne de hook OFF bind x exec hook_line_on.cfg
Mettez ces deux fichiers dans le bon dossier, et dans la console :
bind x exec hook_line_on.cfg
La ligne de hook de tout le monde
La commande cl_show_hook_coll_other vous permet de voir les hooklines des autres tee, ce qui peut être utile lorsqu'ils sont hors de votre vue. Vous pouvez ajouter cette commande à la ligne basique qui montre les lignes de hook pour l'améliorer :
cl_show_hook_coll_other
bind x "+showhookcoll; +toggle cl_show_hook_coll_other 2 1"
Deepfly
Le bind pour deepfly permet au dummy de vous frapper (ou vous tirer dessus) dès que vous tirez avec votre tee principal. Si votre dummy est deep freeze, il peut vous frappez en retour avec ce bind. Vous pouvez même voler avec votre dummy, mais ça demande de l'entrainement. Ce bind offre un meilleur contrôle, que le bind inclus dans les paramètres de jeu permettant de Hammerfly, car vous choisissez le moment où le dummy utilise son marteau.
Note : Si le mappeur a défini sv_deepfly 0
sur sa carte, vous ne pourrez pas faire de deepfly avec un tee freeze. Le bind pour deepfly fonctionnera cependant normalement avec des tees simplement freeze ou non freeze. En tant que joueur, vous ne pouvez pas ajuster ce paramètre.
La commande cl_dummy_hammer 1 est utilisée pour le Dummy Hammerfly dans les options de contrôle du jeu. En utilisant un toggle, vous pouvez faire en sorte que votre dummy ne vous frappe que lorsque vous tirez, et vous pouvez configurer un switch on/off avec des fichiers de configuration.
Utiliser 2 fichiers de configuration
deepfly_on.cfg
bind mouse1 "+fire; +toggle cl_dummy_hammer 1 0" cl_message_client_color green echo Deep Fly ON bind x exec deepfly_off.cfg
deepfly_off.cfg
bind mouse1 +fire cl_dummy_hammer 0 cl_message_client_color red echo Deep Fly OFF bind x exec deepfly_on.cfg
Mettez ces 2 fichiers au bon endroit, puis dans la console écrivez :
bind x exec deepfly_on.cfg
Utiliser 1 fichier de configuration
Vous pouvez réaliser la même chose utilisant un seul fichier de configuration.
bind x "bind mouse1 \"+fire; +toggle cl_dummy_hammer 1 0\";cl_message_client_color green; echo Deep Fly ON; bind x \"bind mouse1 +fire; cl_dummy_hammer 0; cl_message_client_color red; echo Deep Fly OFF; exec deepfly.cfg\""
Mettez ce fichier au bon endroit, puis dans la console écrivez :
bind x exec deepfly.cfg
Note 1 : Cela suppose que votre clic gauche de la souris correspond au bond +fire.
Note 2 : Si vous désactivez le deepfly alors que vous laissez enfoncé la touche +fire, votre dummy va se bloquer en train de frapper, parce que cl_dummy_hammer est toujours à 1. La commande cl_dummy_hammer 0 dans le fichier deepfly_off.cfg corrige cela.
Weapon Swapping
If your dummy isn't holding hammer when you turn the bind on, they will switch back and forth between pistol and hammer. If you want to fix this:
cl_dummy_restore_weapon 0
Now if they're holding pistol when you start using the bind, they will switch to hammer and stay there after 1 pistol shot. There are however some benefits of having this setting set to 1.
cl_dummy_restore_weapon 1
This will allow you to laser yourself with your dummy with perfect aim. It can also be useful with shotgun.
To manage dealing with both of these settings, you can either create a toggle, use config files, or have this setting attached to your weapon binds.
bind [key] "+weapon1; cl_dummy_restore_weapon 0"
bind [key] "+weapon5; cl_dummy_restore_weapon 1" This of course only works if you have dedicated weapon binds as opposed to +nextweapon and +prevweapon which is by default bound to mousewheelup and mousewheeldown.
45° Aiming
This bind allows you to only aim in 45° angles when holding down the key. This is useful for shooting rockets straight up for double rockets and a few other scenarios.
bind x "+toggle cl_mouse_max_distance 2 400; +toggle inp_mousesens 1 200; +showhookcoll"
Keep in mind that if you have changed cl_mouse_max_distance or inp_mousesens from the default, using the example above will reset those settings to default. Before you just enter the binds, check your settings for both first by typing cl_mouse_max_distance and inp_mousesens into the console.
bind x "+toggle cl_mouse_max_distance 2 [Your Value]; +toggle inp_mousesens 1 [Your Value]; +showhookcoll"
Note: the +showhookcoll line is optional. It's just helpful to see which way you're aiming since your tee's eyes don't follow the 45° constraints, and by nature of how this bind works, your crosshair won't show direction either.
Rainbow Tee
You will sometimes see players rapidly changing color as they play. To do this you just have to bind a player_color_body change to each of your regular movement inputs.
bind a "+left; player_color_body red"
You can do this for several common inputs and get a variety of to cycle through.
rainbow_tee.cfg
bind a "+left; player_color_body red" bind d "+right; player_color_body yellow" bind space "+jump; player_color_body green" bind mouse1 "+fire; player_color_body blue" bind mouse2 "+hook; player_color_body cyan"
Here's an example of what a rainbow tee file looks like. You could save that in the correct path and execute it once.
exec rainbow_tee.cfg
Or if you want a key to toggle it on and off:
rainbow_tee_on.cfg
bind a "+left; player_color_body red" bind d "+right; player_color_body yellow" bind space "+jump; player_color_body green" bind mouse1 "+fire; player_color_body blue" bind mouse2 "+hook; player_color_body cyan" bind x exec rainbow_tee_off.cfg
rainbow_tee_off.cfg
bind a +left bind d +right bind space +jump bind mouse1 +fire bind mouse2 +hook bind x exec rainbow_tee_on.cfg
Put both of these in the correct path, and in console:
bind x exec rainbow_tee_on.cfg
You can of course get more creative with colors and use player_color_feet too. To learn more about how colors work, see colors
Note: This assumes you have default binds for left, right, jump, fire, and hook. There is also a delay between color changes, so changes don't happen the instant you press a key.
See also
- Just bind it - Useful binds available for copying
- Take Binding to the next level, with Scripting! - Another forum post about more advanced binds
- Teeworlds New Binding Tutorial by Klex - A video tutorial about binds by KlexMikrowelle