Primero lo primero:
¿Que es un bind?
Bind es un comando de Half Life, que asigna otro comando o alias a una tecla. Veamos un ejemplo de bind por defecto del HL.
(Sintaxis: bind tecla "comando/alias"):
bind "MOUSE1" " attack"
Este bind cumple la función de disparar y viene preestablecido en tu HL y AGmod en un archivo llamado config.cfg. De esta forma podemos asignar a una tecla cualquier comando o alias.
¿Que es un alias?
Un alias es un nombre que tú eliges, el cual ligado a un bind ejecutara un comando o un grupo de comandos. Half-Life trata un alias como un comando más del juego.
Veamos un ejemplo de alias
(sintaxis: alias "nombre" "comando"):
alias "Hi" "say Hola a todos !!!!!"
Escribiendo esto en la consola o poniéndolo en un archivo .cfg creamos el nuevo comando de HL "Hi", ahora con un bind asignaremos una tecla para nuestro nuevo comando “Hi” y lo ejecutaremos solo pulsando la tecla asignada.
Quedaría así:
alias "Hi" "say Hola a todos !!!!!"
bind "x" "Hi"
Ahora pulsando la tecla “x” diremos ese mensaje por el chat del juego.
Complicándolo un poco más, podemos hacer un alias que contenga varios comandos. Veamos este ejemplo:
alias "nick" "name ^8rAz ^1# ^8furay^6. ^2; stopsound; model raz; default_fov 110"
bind "F1" "nick"
Ahora al comienzo de cada ronda, presionando F1 cambiaras tu nombre, tu model, el default_fov y detendrás el sonido al hacer todo eso.
¿Que es un script?
Un script es un grupo de alias y binds que están programados para realizar juntos tareas demasiado complicadas que no podrían hacer por separado y que trabajan en conjunto. Hay multitud de scripts que se pueden dividir en tipos según lo que hacen y como lo hacen.
Muchos scripts se pueden descargar de internet para diversos usos. Después de esta guía estarás preparado para comprender y modificar estos scripts e incluso para hacer los tuyos propios. Mas adelante veremos los tipos de scripts uno a uno y con detalle.
Config.cfg
Cada MOD que instalemos sobre nuestro HL va a guardar su propia configuración en uno de estos archivos que situara en su carpeta. En nuestro caso este archivo esta situado en "Half-Life (valve)\\AG_spanish" y aquí debemos colocar nuestros .cfg personalizados. Configuracion de los controles, el mouse, la pantalla, el sonido, el render, ... todo esta guardado en este archivo, por tanto lo siguiente es, que deberías hacer una copia de este y guardarlo en un lugar seguro, igual que el autoexec.cfg que ahora veremos.
Es recomendable no guardar ningún alias ni nada en este archivo, a parte de por el riesgo de "cagarla" que esto conllevaría, porque cada vez que instalemos algo de HL nos va a borrar este archivo. Por este motivo es mejor guardar este archivo cada vez que lo modifiquemos en lugar seguro.
La única utilidad que le vamos a dar a este archivo va a ser la de incluir ahí nuestros binds, ya que el juego guarda ahí todos los que tiene (uno por cada tecla que sirve para algo) y así podremos ver las teclas que nos quedan libres y mantendremos nuestros archivos ordenados y limpios.
Autoexec.cfg
Este será el archivo sobre el que trabajemos de momento. Es el único archivo .cfg que se ejecuta automáticamente, además del config.cfg y posiblemente ni siquiera lo tengas en tu ordenador, ya que el HL/AG no lo crea. Está situado en el mismo directorio que el anterior, si no lo tienes ahí es que no lo tienes y deberás crearlo. En el vamos a guardar todos los alias que creemos aquí (recuerda, de forma ordenada y limpia si no quieres luego volverte loco para encontrar un error).
En caso de no tener este archivo asegúrate de que lo creas correctamente: Abre NotePad (Block de Notas) y guarda el archivo vacio en el directorio correspondiente pero asegurándote que esta marcada la opción "Todos los archivos (*.*)" y de introducir el nombre completo "autoexec.cfg". Después ya esta preparado para meter material en el.
NOTA: Hay gente que le da fallos al crear este archivo, si es tu caso el "truco" es copiar y pegar el config.cfg y renombrarlo a autoexec.cfg, entonces funcionara seguro.
Otros archivos .cfg
Si nuestros scripts empiezan a tener una longitud considerable no es recomendable (y puede darnos problemas) el meter todos los alias en el mismo archivo. De forma que tendremos que ordenarlos en diferentes archivos para mantener un tamaño razonable en cada .cfg
El problema, como ya te habrás dado cuenta, ya lo hemos comentado: Solo los dos archivos que hemos visto se ejecutan por si solos. La solución es bien sencilla: la orden "exec":
exec “nuevoarchivo.cfg”
Podemos añadir esta orden en el autoexec.cfg para cada archivo de alias que hayamos creado, o podemos hacer un bind a ella para que lo cargue solo cuando queramos... los limites los pone tu imaginación. (ojala y no sea corta xD..)
Diferentes tipos de alias
Alias /-
Con este tipo de alias es posible tener un grupo de comandos que se ejecuta al presionar una tecla y otro al soltarla.
La sintaxis es:
alias Nombre " comando1; comando2"
alias -Nombre "-comando1; comando2"<"r>
La lista de comandos de Nombre se ejecuta al presionar la tecla y la de -Nombre al soltarla.
El nombre del alias debe ser igual, con el o el - adelante.
Por ejemplo:
alias lj " duck;wait; jump; moveup"
alias -lj "-duck;wait;-jump;-moveup"
bind “space” " lj"
En este ejemplo, mientras la tecla "space" se mantenga presionada el jugador se va a agachar y saltar. Con lo cual si posee el modulo del Long Jump lo hara simplemente presionando una tecla.
El signo delante de duck hace que el jugador se agache hasta que se ejecute -duck, si al soltar la tecla -duck no es ejecutado el jugador se va a quedar agachado. Lo mismo para jump.
El bind a este tipo de alias siempre debe ir al alias con el signo .
Interruptores
Estos alias ejecutan unos comandos al presionar una tecla y otros al volverla a presionar.
La sintaxis es:
alias Nombre1 "comando1; comando2; alias Nombre Nombre2"
alias Nombre2 "comando1; comando2; alias Nombre Nombre1"
alias Nombre ''Nombre1"
El alias Nombre al ser ejecutado por primera vez llamará a Nombre1; Nombre1 ejecutará su lista de comandos y cambiará a Nombre de forma tal que al ejecutarse por segunda vez llamará a Nombre2; al volver a ejecutar el alias Nombre, Nombre2 ejecuta su lista de comandos y cambia a Nombre para que llame a Nombre1.
Por ejemplo:
//Latency graph
alias graph_on "net_graph 3;alias graph graph_off"
alias graph_off "net_graph 0;alias graph graph_on"
alias graph graph_on
bind p "graph"
Al presionar la tecla "p" por primera vez se mostrara el net_graph3 (lo conocen cierto?) y luego a volver a presionarla se desactivará. Es exactamente un alias interruptor (on/off).
Ciclos
Los ciclos son grupos de alias en los que al presionar una tecla por primera vez se ejecuta el primero, la segunda vez se ejecutará el segundo alias, la tercera el tercero, y así hasta llegar al final, donde se ejecuta otra vez el primero. Son muy similares a los interruptores pero secuenciales.
La sintaxis es:
alias Ciclo1 "comando1; comando2; alias Bucle Ciclo2"
alias Ciclo2 "comando1; comando2; alias Bucle Ciclo3"
alias Ciclo3 "comando1; comando2; alias Bucle Ciclo4"
alias Ciclo4 "comando1; comando2; alias Bucle Ciclo1"
alias Bucle "Ciclo1"
bind p "Bucle"
Al presionar por primera vez "p" se ejecuta Bucle que a su vez ejecuta Ciclo1, al presionar otra vez "p" se ejecuta Bucle, pero ahora este ejecuta Ciclo2.
Por ejemplo:
alias "smile" "smile1"
alias "smile1" "say ^8}^1:^8>; alias smile smile2"
alias "smile2" "say ^7}^1:^7>; alias smile smile3"
alias "smile3" "say ^1}^7:^1>; alias smile smile4"
alias "smile4" "say ^2}^1:^2>; alias smile smile5"
alias "smile5" "say ^3}^1:^3>; alias smile smile6"
alias "smile6" "say ^4}^1:^4>; alias smile smile7"
alias "smile7" "say ^5}^1:^5>; alias smile smile8"
alias "smile8" "say ^6}^1:^6>; alias smile smile9"
alias "smile9" "say ^7}^1:^7>; alias smile smile10"
alias "smile10" "say ^7}^8:^7>; alias smile smile11"
alias "smile11" "say ^4}^6:^4>; alias smile smile12"
alias "smile12" "say ^5}^6:^5>; alias smile smile13"
alias "smile13" "say ^2}^5:^2>; alias smile smile1"
bind “t” "smile”
En este ejemplo mostramos caritas . Al presionar la letra "t" por 1era vez mostramos la carita 1. Si se sigue presionando aparecerá la 2 y así hasta llegar a final, donde si se presiona otra vez la tecla se volverá a mostrar la 1.
Bueno esa es la primera parte de la guia, luego crearé una para análisis y creación de scripting.Aqui les dejos pagina en la red, en la cual podran encontrar Bind, aliases y scripting para hacer mas fluido y agil su juego.
Nota:Recuerden que solo es una pequeña ayuda; Abstenganse a usar los scripts considerados como lame y a jugar AG.
Scripts Hyperlinks:
http://www.tolon.net/gaming/halflife1/scripts/
http://www.pro-hl.com/scripts.shtml
by furay
Saludos