Come posso cambiare / ciclare le impostazioni?

Voglio essere in grado di scorrere nomi, script o comandi sorgente.

In bicicletta intendo passare a un altro nome, script o command dopo aver premuto un button. Premendo ripetutamente questo button si passeranno tutte quelle voci fino alla fine, where raggiungerà di nuovo la prima voce.

Per esempio se ho 3 soprannomi A, B e C e voglio passare in rassegna quelli.

Premendo un button si eseguirà un command che cambia il mio nome in B e dopo aver premuto nuovamente lo stesso button il mio nome sarà cambiato in C. Premendo di nuovo il mio nome cambierà nuovamente in A, completando il ciclo.

Come sarebbe un model per questo?

Per scorrere diversi nomi / impostazioni / script ecc. Devi seguire il seguente schema (alla fine c'è il codice completo se vuoi saltare i dettagli):

Ciclando attraverso script autoprodotti usando alias

Passaggio 1: impostare un punto di partenza

alias cycler "useName1" 

Ora se attiviamo cycler -> useName1 verrà eseguito.

cycler e useName1 sono nomi che ho inventato . Puoi cambiarle in base alle tue esigenze.

Passaggio 2: Definire useName1 e impostare cycler

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

Questo eseguirà il namechange (o il tuo script o le tue impostazioni) e imposterà il cycler su UseName2 . La prossima volta che attiveremo cycler -> useName2 verrà eseguito.

useName2 è un nome che ho inventato anch'io.

Passaggio 3: definire useName2 e impostare cycler

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

Questo eseguirà il secondo namechange (o il tuo script o le tue impostazioni) e reimposterà il cicler su useName1 . La prossima volta che attiveremo cycler -> useName1 verrà eseguito di nuovo. Il ciclo è completo.

Passo 4: lega il tuo loopssta a una chiave

 bind "key" cycler 

Abbiamo chiuso. È ansible ripetere le parti 2 e 3 per altre definizioni (se si selezionano 15 nomi, fare clic). Lascia che sia l'ultimo a impostare il termociclatore sul primo!

Soluzione a codice completo 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 

Ciclando attraverso le impostazioni fornite dal motore di origine

Se si desidera ripetere le impostazioni predefinite dal source engine e richiedere un numero come valore, ad esempio:

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

quindi non è necessario utilizzare il ciclatore sopra.

Invece la fonte ci fornisce due comandi nifty:

Toggle

toggle command value1 value2 value3

Questo command ci consente di scorrere l'impostazione con valori specifici.

Per esempio:

toggle net_graph 1 2 3

Inizia con l'esecuzione di net_graph 1 . L'utilizzo di questo command esegue nuovamente net_graph 2 e così via.

Per usare rapidamente questo command, basta andare avanti e associarlo a una chiave

Attiva il codice completo

bind "x" "toggle net_graph 1 2 3"

Incrementvar

incrementvar command min max steps

Questo ci permette di scorrere l'impostazione in passaggi definiti.

Per esempio:

incrementvar net_graph 1 3 1

Inizia con net_graph 1 e aumenta each passaggio +1. Ciò significa che eseguire nuovamente il command restituisce net_graph 2 . Il prossimo sarebbe net_graph 3 . Dopo di che tornerà a net_graph 1 perché gli abbiamo detto che il valore massimo sarebbe 3.

L'altro esempio sarebbe:

incrementvar sensitivity 200 800 200

che aumenta la sensibilità di 200 each volta che lo eseguiamo fino a raggiungere l'800, momento in cui scenderà nuovamente a 200.

I passaggi possono essere negativi a (ciclo all'indietro) come:

incrementvar sensitivity 200 800 -200

Per usare questo command abbiamo ancora bisogno di legarlo:

Codice completo incrementvar

bind "key" "incrementvar sensitivity 200 800 200"

Un'altra soluzione

Un'altra soluzione per scorrere le variables (impostazioni, comandi, ecc.) Sarebbe quella di riassociare direttamente il button.

Ciò tuttavia è scoraggiato dal momento che richiede più risorse dal sistema cambiando semplicemente un alias in un altro senza interferire con il keymapping, il che è quindi abbastanza statico.

Comunque lo mostrerò per completezza

Soluzione a codice completo 2

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

Full Code Solution 2 – funziona bene SENZA setinfo

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