Lire (Console) Variables et les imprimer

J'essaie de créer une liaison pour mon autoexec.cfg , où je bascule la variable voice_enable

 bindtoggle "F1" "voice_enable" 

Travaille, et sera traduit en

 bind "F1" "incrementvar voice_enable 0 1 1" 

Donc, comme je l'ai dit, cela fonctionne. Mais j'aimerais obtenir des commentaires visuels (ingame) sur la variable actuelle.

Le seul commentaire visuel que je connais serait de dire quelque chose dans le chat (peut-être qu'il y a une meilleure façon, si oui, dites-moi)

Je voudrais donc passer la commande à quelque chose comme ça

 bind "F1" "incrementvar voice_enable 0 1 1; say_team voice: voice_enable" 

Mais comme vous pouvez l'imaginer, dans le chat, il écrit: voice: voice_enable

Donc, ma question est, puis-je lire la valeur actuelle de cette variable et imprimer la variable? Donc, la commande say impressionerait quelque chose comme la voice: 1 ou voice: 0

Je vous remercie

Eh bien, personnellement, je ne ferais pas le commandement dire au chat, car cela pourrait être ennuyant pour les autres joueurs. Vous pouvez plutôt utiliser "echo", qui affiche un message dans la console.

Mais pour répondre à votre question, je n'ai pas une façon dont vous l'aimeriez (je doute que vous puissiez vérifier la variable comme celle de CSGO), mais j'ai une alternative : liez-la pour deux clés.

F1 définit voice_enable 1, et vous pourriez ajouter un message pour que ça soit activé.

F2 définit voice_enable 0, et il donnerait un message indiquant que la voix est désactivée.

Si tu utilises

 bind "F1" "toggle voice_enable 0 1" 

Vous pouvez voir la modification de la console, sans avoir à ajouter de "echo" ou d'autres commandes. Assurez-vous d'avoir lié la console à une clé.

D'accord, vous pourriez le faire d'une autre manière:

Alias ​​"enable_voice" "voice_disabled"

Alias ​​"voice_enabled" "voice_enable 1; say_team" voix: voice_enable 1 "; alias" enable_voice "" voice_disabled "" alias "voice_disabled" "voice_enable 0; say_team" voix: voice_enable 0 "; alias" enable_voice "" voice_enabled ""

Lier "F1" "enable_voice"

La clé est maintenant liée à un alias qui pointe vers un autre alias (voice_disabled) qui désactivera la voix et dira à l'équipe "voice: voice_enable 0". Ensuite, l'alias Voice_disabled rendra l'alias lié d'origine à un autre alias (voice_enabled) qui permettra la voix et dira à l'équipe "voice: voice_enable 1". Ensuite, il fera que l'alias lié pointe l'alias de la voix désactivée. Cela devrait fonctionner. Si vous renommez les alias, veillez à ne nommer aucun alias enable_voice, parce que c'est le nom de la commande intégrée et ne doit pas être écrasé.

Il n'y a aucun moyen d'obtenir la valeur d'une variable dans une commande – uniquement si vous tapez la variable par elle-même. Par exemple, le fait de taper, say voice_enable dans la console, imprimera "voice_enable" pour discuter lorsque vous tapez voice_enable dans la console, vous imprimerez 1 ou 0 pour la console.

La meilleure alternative ici est d'imprimer manuellement la valeur de voice_enable sur chaque bascule tout en basculant la variable. Voici comment:

Lier "F1" toggleVoice;
Alias ​​toggleVoice "disableVoice";
Alias ​​disableVoice "alias toggleVoice enableVoice; voice_enable 0; say voice: 0";
Alias ​​enableVoice "alias toggleVoice disableVoice; voice_enable 1; say voice: 1";

Je l'ai pris de ma réponse à une autre question sur un problème similaire. Il crée simplement deux alias qui sont activés l'un l'autre en basculant manuellement un troisième alias, et ce troisième alias est alors lié à une clé pour déclencher la bascule.

Ce serait formidable si l'on a ajouté un moyen de lire dynamiquement les valeurs variables dans les commandes, mais cela permettrait certainement de créer des scripts ridicules et devraient donc être interdits aux serveurs officiels.