4 votes

Comment puis-je basculer/parcourir les paramètres ?

Je veux pouvoir passer en revue les noms, les scripts ou les commandes sources.

Par cycle, j'entends le passage à un autre nom, script ou commande après avoir appuyé sur un bouton. En appuyant sur ce bouton de manière répétée, vous passerez par toutes ces entrées jusqu'à la fin où vous atteindrez à nouveau la première entrée.

Par exemple, si j'ai 3 surnoms A, B et C et que je veux les faire défiler.

En appuyant sur un bouton, on exécute une commande qui change mon nom en B et, après avoir appuyé à nouveau sur le même bouton, mon nom devient C. En appuyant à nouveau, mon nom redevient A, ce qui complète le cycle.

A quoi ressemblerait un modèle pour cela ?

8voto

Wandang Points 3241

Pour passer d'un nom à l'autre, d'un réglage à l'autre, d'un script à l'autre, vous devez suivre le modèle suivant (le code complet se trouve à la fin si vous voulez éviter les détails) :

Cyclage à travers des scripts faits par soi-même en utilisant des alias

Étape 1 : Définir un point de départ

alias cycler "useName1"

Maintenant, si nous déclenchons cycleur -> nom d'utilisateur1 sera exécuté.

cycleur y nom d'utilisateur1 sont des noms que j'ai inventés. Vous pouvez les changer en fonction de vos besoins.

Étape 2 : Définir useName1 et définir le cycler

alias useName1 "setinfo name "First_name"; alias cycler useName2"

Ceci exécutera le changement de nom (ou votre script ou votre paramètre) et réglera le cycler sur nom d'utilisateur2 . La prochaine fois que nous déclencherons cycleur -> nom d'utilisateur2 sera exécuté.

nom d'utilisateur2 est un nom que j'ai inventé aussi.

Étape 3 : Définir useName2 et définir le cycler

alias useName2 "setinfo name "Second_name"; alias cycler useName1"

Ceci exécutera le deuxième changement de nom (ou votre script ou votre réglage) et remettra le cycler en mode nom d'utilisateur1 . La prochaine fois que nous déclencherons cycleur -> nom d'utilisateur1 sera à nouveau exécuté. Le cycle est terminé.

Étape 4 : lier votre cycler à une clé

bind "key" cycler

Nous avons terminé. Vous pouvez répéter les parties 2 et 3 pour d'autres définitions (si vous passez par 15 noms, allez-y). Laissez simplement la dernière mettre le cycliste sur la première !

Solution complète du code 1

alias cycler "useName1"
alias useName1 "setinfo name "First_name"; alias cycler useName2"
alias useName2 "setinfo name "Second_name"; alias cycler useName1"
bind "key" cycler

Passage en revue des paramètres fournis par le moteur source

Si vous voulez itérer à travers les paramètres qui sont prédéfinis par l'option source engine et nécessitent un nombre comme valeur, par exemple :

net_graph x (value 0 to 3 are possible)
sensitivity x (any value is possible)

alors vous n'avez pas besoin d'utiliser le cycleur ci-dessus.

Au lieu de cela, la source nous fournit deux commandes astucieuses :

Basculer

toggle command value1 value2 value3

Cette commande nous permet de parcourir les paramètres avec des valeurs spécifiques.

Par exemple :

toggle net_graph 1 2 3

Cela commence par l'exécution net_graph 1 . En utilisant à nouveau cette commande, on exécute net_graph 2 et ainsi de suite.

Pour utiliser cette commande rapidement, il suffit de la lier à une clé.

Code complet à bascule

bind "x" "toggle net_graph 1 2 3"

Incrémentvar

incrementvar command min max steps

Cela nous permet de procéder au réglage par étapes définies.

Par exemple :

incrementvar net_graph 1 3 1

Commence par net_graph 1 et augmente à chaque étape +1. Cela signifie qu'en exécutant à nouveau la commande, on obtient net_graph 2 . Le suivant serait net_graph 3 . Après cela, il reviendra à net_graph 1 parce qu'on lui a dit que la valeur maximale serait de 3.

L'autre exemple serait :

incrementvar sensitivity 200 800 200

qui augmente la sensibilité de 200 à chaque fois que nous l'exécutons jusqu'à ce qu'elle atteigne 800, après quoi elle retombera à 200.

Les étapes peuvent être négatives à (cycle en arrière) comme :

incrementvar sensitivity 200 800 -200

Pour utiliser cette commande, nous devons encore la lier :

Incrément de code complet

bind "key" "incrementvar sensitivity 200 800 200"

Une autre solution

Une autre solution pour parcourir les variables (paramètres, commandes, etc.) serait de lier à nouveau le bouton directement.

Cette méthode est toutefois déconseillée car elle exige davantage de ressources du système, alors que le simple fait de remplacer un alias par un autre n'interfère pas du tout avec le mappage des touches, qui est donc assez statique.

Je vais quand même le montrer pour être complet

Solution complète du code 2

alias useName1 "setinfo name "First_name"; bind "key" useName2"
alias useName2 "setinfo name "Second_name"; bind "key" useName1"
bind "key" useName1

-2voto

user128764 Points 1

Full Code Solution 2 - fonctionne bien SANS setinfo

alias useName1 "dota_spectator_mode "1"; bind "c" useName2"
alias useName2 "dota_spectator_mode "3"; bind "c" useName1"
bind "c" useName1

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X