• Este proyecto es un proyecto que le tengo mucho amor y cariño por la historia que lleva. Pronto traeré actualizaciones, no los he olvidado! Atte. gAN++

[Tutorial] Guia basica de binding

R4DaMaNtyS

New member
Aca traigo otra guia mas, esta vez sobre scripting y personalizacion en cuanto a binds.

1) Conceptos básicos

Para empezar, voy a explicar de qué están compuestas básciamente las Cfg's: comandos, alias y binds

Comandos: Hay varios tipos de comandos;
1) De acción: estos permiten hacer una acción en el juego (como recargar, disparar, etc.)
2) De ajustes: generalmente (pero no siempre) están precedidos por una abreviación que indica qué es lo que modifica. A estos comandos se les tiene que asignar un valor (todos tienen uno por defecto) que casi siempre es "0" ó "1", siendo comunmente, “0” desactivado y “1” activado, pero hay algunos que se pueden extender hasta 2, 3 (incluso 4 o más).
Vale destacar que cualquier comando puede ser escrito en la .cfg directamente, tanto como dentro de un bind o alias.

Alias: los alias sirven para denominar varios comandos conn un solo nombre, el archivo config.cfg no los reconoce por lo tanto los debemos poner siempre en el autoexec.cfg (leer en el próximo post ), userconfig.cfg o en nuestro .cfg personal. Dentro de un Alias puede haber otros alias u otros binds incluso (en éste último hay que especificar la tecla y el comando/alias; sin comillas). La sintaxis de un alias es la siguiente:

alias nombre "comando; alias"


Binds: es donde terminan todos los Alias/Comandos a los que queremos asignar una tecla o botón/rueda del mouse. En el proximo post hay un link hacia un thread con una lista de todas las teclas bindeables y su nombre. La sintaxis de un bind es la siguiente:

bind "tecla" "comando; alias"


2) El primer bind

Teclas Bindeables
teclas.jpg


Bueno nuestro primer bind va a ser muy sencillo, cuando apretemos la tecla Suprimir/Delete (en scripting se escribe DEL esta tecla) dirá nuestro MSN.

bind "DEL" "say MSN: [email protected]"


O bien lo podemos hacer en forma de alias:

alias msn "say MSN: [email protected]"
bind “DEL” “msn”


Donde podemos ver claramente como el bind a “msn” “llama” al alias con el comando especificado.


3) Tipos de alias útiles

Los alias pueden usarse para varias funciones como "Toggles" o "Loops", a continuación explicaré para que sirve cada uno. Para no complicarse tanto con el tema del autoexec.cfg o userconfig.cfg, es mejor que creen su propio config y pongan TODO ahí. (más adelante explicaré cómo crearnos nuestro propio archivo .cfg y todo el tema, para ejecutarlo al inicar el CS).

Toggles (interruptores)

Como su nombre lo indica, sirve para hacer interruptores entre comandos o alias; al apretar la tecla bindeada, el primer comando se ejecutará y la próxima vez el segundo, y luego el primero nuevamente y así sucesivamente... La sintaxis de este tipo de alias es así:

alias mano "derecha"
alias derecha "cl_righthand 1; alias mano izquierda"
alias izquierda "cl_righthand 0; alias mano derecha"
bind "tecla" "mano"

Como podemos ver, al apretar la tecla asignada, cambiaremos de la mano derecha a la izquierda, y luego a la derecha al apretar nuevamente.

Loops (bucles)

Este es un poquito más complejo, pero la base es la misma. Eso sí, requiere más paciencia, pero los resultados pueden ser de mucha más comodidad. El concepto del alias de bucle es como el de un interruptor citado anteriormente, sólo que en vez de usar 2 "opciones", puede usar una cantidad infinita de ellas. La sintaxis de este tipo de alias es la siguiente:

alias sens "sens5"
alias sens5 "sensitivity 5; alias sens sens4"
alias sens4 "sensitivity 4; alias sens sens3"
alias sens3 "sensitivity 3; alias sens sens2"
alias sens2 "sensitivity 2; alias sens sens1"
alias sens1 "sensitivity 1; alias sens sens5"
bind "tecla" "sens"


Este script ira cambiando la sensibilidad del mouse de 5 a 1 mientras apretemos la tecla, cuando llegue a 1 y apretemos nuevamente volverá a 5.


4) Echos y Developers (solo 1.5)

Para complementar el script anterior de la sensibilidad, tenemos los echos y los developers.
Ambos se pueden utilizar para mostrar en la parte superior izquierda de la pantalla el "estado" de nuestro script. o sea, cual es la sensibilidad a la que cambiamos en este caso. Vale aclarar que esta no es la utilidad principal de estos comandos, así que para que vayan entendiendo cómo funcionan les doy las definiciones:

echo: sirve para mandar un mensaje a la consola que sólo nosotros veremos, por ejemplo:

echo Hola!


Mostrará en la consola "Hola!".

developer (0 ó 1): por defecto este comando viene en 0, y sirve para mostrar los mensajes de la consola en la esquina superior izquierda (donde nos aparecen los carteles de los jugadores cuando se conectan) y es lo que va a hacer que nuestros "echos" se vean en pantalla sin necesidad de bajar la consola, para que haga esto, el comando debe tener como valor "1".

Bueno ahora que les expliqué cómo funcionan vamos a ver la sintaxis, con el ejemplo anterior del script de sensibilidad:

alias d1 "developer 1"
alias d0 "developer 0"
alias sens "sens5"
alias sens5 "sensitivity 5; d1; echo Sensibilidad 5; d0; alias sens sens4"
alias sens4 "sensitivity 4; d1; echo Sensibilidad 4; d0; alias sens sens3"
alias sens3 "sensitivity 3; d1; echo Sensibilidad 3; d0; alias sens sens2"
alias sens2 "sensitivity 2; d1; echo Sensibilidad 2; d0; alias sens sens1"
alias sens1 "sensitivity 1; d1; echo Sensibilidad 1; d0; alias sens sens5"
bind "tecla" "sens"


Como pudieron ver, abrevié el comando developer en un alias (d1 y d0), así no se nos hace tedioso tener que escribirlo completo. (acá en realidad no hacia tanta falta, pero lo cité ya que se pueden encontrar con scripts de ese tipo con 20 "opciones", y ahí les va a ser de mucha utilidad un alias así).


5) + y -

Si alguna vez abrieron su config.cfg habrán notado que hay comandos que tienen adelante un "+". El ejemplo más notable es:

bind "MOUSE1" "+attack"


El + que precede al comando para disparar, significa que la acción es ejecutada pero no detenida, para detenerla debemos tener el mismo comando con un - adelante, pero esto no es necesario en este caso.
Para comprobar esto, en el juego bajen la consola y escriban +attack, verán que empiezan a disparar sin parar, para detenerlo es cuestión de bajar la consola nuevamente y escribir -attack, y verán que se detiene.
Para hacer un alias que funcione de la misma forma, esto es más complicado ya que el comando +attack es predefinido y no es necesario especificar que es lo que representa, al contrario de un alias. Igual con el tiempo se irán acostumbrando a hacer esto y les resultará bien fácil:

alias +cjump "+jump; +duck"
alias -cjump "-jump; -duck"
bind "ALT" "+cjump"


Si se fijan bien, verán que el bind de +attack es similar al que creamos recién de +cjump, ya que no es necesario poner -cjump, mientras lo especifiquemos antes definiendo un alias con ese nombre y las acciones que queremos que haga, con los comandos de acciones (definidos en la primera sección) solo hace falta poner el +accion. En este caso el script que construimos hará un crouch-jumping (saltar + agacharse), siendo +jump el comando predefinido para saltar, y +duck el de agacharse.

Gracias a -Piojoso- de Alkon por la excelente guia.

Atte. n0s3
 
Arriba