You are on page 1of 34
21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community AutoHotkey Community Let's help each other out Skip to content ABC para Novatos 4: BUEN TUTORIAL EXTERNO Post Reply * Email topic + Print view ‘Search this topic. Search Advanced search 1 post * Page 1 of 1 * Quote (,/postin 14224) + _(avascript:void(0):) 23 Set 2016, 23:57 ‘A CONTINUACION SE COPIA LO QUE FIGURA EN LA WEB SIGUIENTE, YA QUE CONSIDERO UNA DESCRIPCION MUY UTIL Y QUE NO SERIA BUENO PERDER, EN CASO DE QUE DEJARA DE ESTAR DISPONIBLE EN SU LUGAR ORIGINAL. LOS EJEMPLOS SON PENSADOS PARA APLICAR AHK A JUEGOS, PERO SIRVEN PARA CUALQUIER USO. ESTA ES LA PAGINA DE ORIGEN - INGRESEN PRIMERAMENTE ALLI - CASO DE NO PODER ACCEDER, LEANLO DE AQui. http://ciudadmaniarp.forosactivos.net/t ... cion-y-uso (http: //ciudadmaniarp.forosactivos.net/t31. Pues he decidido hacer éste tutorial basico e inter medio pero MUY completo (me tomé casi 4 horas hacerlo) acerca del AutoHotkey, un programa disefiado para asignar macros a teclas o palabras clave. Hay varios programas que también hacen ésto como el HKB y el AKB pero en mi opinién el AHK, aunque pueda resultar un poco mas complicado, es superior a dichos programas, pero bueno: que cada quién use el de su preferencia. Este tutorial va dirigido tanto para los que son nuevos en el mundo del roleplay y/o no saben acerca de los macros, 0 inclusive para los que usan otro programa de macros, ya que AHK ofrece una gran cantidad de opciones para su configuracién. En este tutorial mostraré la instalacién, creacién y uso de macros con AutoHotkey, y daré un script base con varios tipos de macros para que se vayan ubicando en el tema de la creacién de scripts de AutoHotkey. Voy a dividir el tutorial en 4 partes. 1, Definicién de macro. 2. Descarga e instalacién del programa. 2.1 Descarga. 2.2 Instalacion. 3. Uso del programa y creacién de scripts. ___3.1 Abriendo el programa. 2 Preparando nuestro script. 3 Configurando los macros. 3.3.1 Macros con una tecla (hotkey). hitps:autonotcey.comiboardsiiewtopic php t=24168 4134 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community 2 Macros y temporizadores. 3.3.3 Macros y alternaciones. 3.3.4 Macros con cadenas de texto (Hotstrings). 4. Variables y macros que usan variables. 4.1 Variables, editar variables con InputBox y macros que usan variables. 5. Script base. 4. {Qué es un macro? Un macro es una cadena de texto o palabra definida por el usuario la cual se envia al presionar una tecla, botén o teclear una cadena de texto. Ejemplo: Al presionar la tecla "1" del teclado numérico, el programa mandara un /ad (anuncio publicitario) vendiendo un Sultan, el cual seria */ad Vendo Sultan tuneado 0 lo cambio por otro coche. 2, Descarga e instalacién de AutoHotkey 2.4 Descarga: Primero, descargamos el programa de la pagina oficial: (Busquen en Google “AutoHotkey” y entran a la primer pagina, y arriba aparece un cuadro naranja que dice "Download", de ahi lo bajan). 2.2 Instalacién: Una vez descargado el instalador, lo abrimos y nos mostrar 2 opciones: "Express Installation” y "Custom Installation”. Dan click en "Express Installation” y el programa se instalaré automaticamente en "C:\VArchivos de programa\AutoHotkey”. Ya con ésto queda el programa instalado. 3. Uso del programa y creacién de scripts. 3.1 Abriendo el programa. Primero abrimos el programa, el cual lo podemos encontrar en "Inicio>Todos los programas>AutoHotkey". Una vez lo abramos, aparecera el icono de una"H" en el area de notificaciones de la barra de tareas (esquina de abajo a la derecha), le damos click derecho al icono>Edit This Script y se abrir un archivo de bloc de notas, borramos todo lo que haya escrito alli, Ahora escribiremos alli nuestro script. 3.2 Preparando nuestro script Primero, es recomendable agregar unas instrucciones al script, asi que podemos empezar por agregar ésto al archivo de bloc de notas, entonces pondremos alli: cODIGo: Process, Priority,, High F12:: reload Procesos GroupAdd, GTA, GTA:SA: GroupAdd, GTA, Sin titulo: Bloc de notas #ifWinActive ahk_group GTA SetKeyDelay -1 Quizas no entiendan de que va el cddigo, pero pues haré una pequefia explicacién (si quieren se la htps:autonotcey.comiboardsiiewtopic php t=24168 2134 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community pueden saltar, no la lean): La primera linea dice "Process, Priority,, High" La instruccién "Process" lo usamos cuando queremos que AHK altere o haga algo con un proceso que se esté ejecutando, “Priority” significa que queremos cambiar la prirodidad del proceso, ",,” es el proceso al que le queremos cambiar la prioridad, y ya que son 2 comas seguidas, el programa entiende que al proceso al que le queremos cambiar la prioridad es al propio script que se esta ejecutando, "High" es la prioridad que le queremos poner, en éste caso, Alta. Lo de "F12:: reload” lo pueden agregar opcional.. Es que a medida que vayan agregando macros al script, hay que “recargarlo” o actualizarlo, para que los nuevos macros sirvan, asi que con ésto harén que la tecla F12 puedan recargar el script sin tener que ir a la barra, buscar el icono>click derecho>Reload This Script. ‘Como pueden ver, también hay algo llamado ";Procesos’, el";” indica que es un comentario, algo que el programa no debe leer como script, simplemente es algo que agregamos para guiarnos y saber qué contiene ésa parte del script, en éste caso, bajo ";Procesos” hay 2 instrucciones, las cuales son ‘GroupAdd’, las cudles indican que quiero que el programa asigne ciertos procesos a un grupo, con los cuales interactuar, en éste caso el GTA y un Bloc de notas vacio. Explicacién de GroupAdd: "GroupAdd” se usa para agregar un proceso o ventana a un grupo, "GTA" es el nombre que le voy a poner al grupo, y “GTA:SA:MP" es el nombre de la ventana que quiero agregar al grupo. Asi que seria: copIGo: GroupAdd, "Nombre del grupo", "Nombre de la ventana para asignar al grupo” Luego esta la instruccién "#ifWinActive” (si la ventana esta activa), la cual la usaremos para que nuestros macros no funcionen a menos que no estemos en la ventana que le indiquemos. Entonces “#lfWinActive ahk_group GTA" indica que los macros solo funcionara en las ventanas que agregamos al grupo "GTA’, asi que para probar los macros pueden usar una ventana sin titulo del bloc de notas 0 bien, el mismo GTA. Luego esta "SetKeyDelay -1" el cual simplemente le indica al programa el retraso con el que debe enviar cada macro, y ya que es "-1", lo hara inmediatamente (sin retraso). Cada vez que vayamos agregando macros recuerden que toca guardar el archivo (Ctrl+G) y usar la tecla F12 para recargar el script, asi se ahorran tiempo y el programa les notifica instantaneamente si algdn macro no sirve. Ahora si podemos empezar a agregar nuestros macros. 3.3 Configurando los macros: Para asignar el macro a una tecla, primero ponemos la tecla que vamos a usar, asi que para ello indicamos la tecla que vamos a usar. Hay caracteres o teclas especiales como Ctrl, Shift, Enter, !, Inicio, Fin, etc... las cuales no va a leer el AutoHotkey a menos que las pongamos en medio de un par de {} Por ejemplo, para que presione la tecla Enter seria {enter}. 1=(} Fin/End = {End} Inicio/Home = {Home) htps:autonotcey.comiboardsiiewtopic php t=24168 ai34 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community Shift derecha/izquierda = {RShift} {Lshift} “NOTA: La lista con todas las teclas la pueden encontrar aqui: (Buscan en Google: “AutoHotkey Key List’, y entran en la primer pagina). La instruccién "Sendinput” significa que queremos que el programa mande el macro y que nuestro computador lo detecte como si hubiera sido tecleado directamente, también esta "Send" que es para que envie texto y ya, pero éso no lo vamos a usar. 3.3.1 Macros con una tecla (hotkey) Ejemplo para enviar el rol de un arma al presionar la tecla "1" del teclado numérido. coDIco: NumPad1:: Sendinput t/me descuelga su arma de la espalda répidamente y la cargafenter} Rol de un robo con la tecla "2" del teclado numérico: cODIGO: NumPad2:: Sendinput t/g {j}Las manos arriba hijo de puta ((/rendirse)) o le lleno el culo de plomo{!} © pueden hacer que una sola tecla mande 2 acciones a la vez: copIco: NumPad1:: Sendinput t/me descuelga su arma de la espalda, le quita el seguro y la cargafenter}t/do *CLICK-CLACK" Arma cargadafenter} 3.3.2 Macros y temporizadores: Como ven en el ejemplo de arriba, con la tecla 1 del teclado numérico se mandan 2 cadenas de texto en una sola tecla, aunque podemos agregar un "temporizador” entre cada cadena de texto, para éso vamos a usar la funcién “Sleep”, aunque el script se cambiar un poco. coDIGo: NumPadt :: t Sendinput t/me descuelga su arma de la espalda, le quita el seguro y la cargafenter} Sleep, 1500 Sendlnput t/do *CLICK-CLACK* Arma cargadafenter} + return E1500" después del "Sleep" significa que queremos que el macro se pause durante 1500 milisegundos (segundo y medio) y que luego envie el resto del macro, “return” indica que ahi termina el script del macro, y que no quiero que quizas por error, envie algo de otro macro. 3.3.3 Macros y alternaciones Ahora pasaremos a algo ain mas complicado, los scripts de alternacién. Por ejemplo, queremos que al presionar la tecla 4 del teclado numérico el programa envie 2 cosas diferentes, que cuando se presione la tecla por primera vez envie cierto macro y a la segunda vez que se presione la tecla envie otro macro, por ejemplo, abrir y cerrar el maletero del auto. cODIGO: hitps:autonotcey.comiboardsiiewtopic php t=24168 4i34 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community numpad7; Maletero { If ( Maletero ) Sendinput t/v maleterofenter}t/me abre el maletero de su automévil{enter} Else Sendinput t/v maleterofenter}t/me cierra el maletero de su automévilfenter} 3 return ! Maletero) Ahora, explico: “Maletero := (! Maletero)" significa que quiero que el programa cree una variable que cambia cada vez que se use, en éste caso quiero que la variable sea "Maletero”. “If’ significa "en caso de” y "( Maletero )" es la variable que va a buscar, asi que serfa: "En caso de que la variable sea ( Maletero ), enviar el macro para abrir el maletero”. Else” significa "en caso contrario’, asi que “en caso de que la variable no sea "Maletero™ envie el macro para cerrar el maletero. Si por ejemplo usamos ésto con un arma para que con una sola tecla saque y guarde el arma seria: copico: NumPadt ‘Arma t If (Arma) { Sendinput t/me descuelga su arma de la espalda, le quita el seguro y la cargafenter} Sleep, 1500 Sendinput t/do *CLICK-CLACK* Arma cargadafenter} Sleep, 500 3 Else t Sendinput t/me le pone el seguro a su arma y se la cuelga en la espaldafenter} Sleep, 500 } + return ! Arma) Incluso agregué un par de pausas (Sleep) al final de cada macro para que si por error presiono la tecla 2 veces, no salgan ambos macros. Intenten modificar lo que vean que entienden del macro, agregar mas linea de rol por una sola tecla, cambiar el tiempo del Sleep, que ensayando es que se aprende. 3.3.4 Macros con cadenas de texto (Hotstrings). Ahora, aparte de usar teclas para macros podemos usar texto para macros, lo cual es muy util mas que todo para los que usan equipos portatiles y les faltan teclas. Un ejemplo de Hotstring: si quiero hacer el rol del maletero del vehiculo, en lugar de presionar la tecla 4 del teclado numérico, puedo dejarto para que salga al teclear "male{’, o para el arma puedo usar "arma" e incluso, puedo crear un macro aparte para cada arma, por ejemplo, para sacar la M4 que sea al teclear "m4{", La AK-47 al teclear ‘ak{’, la Desert Eagle al teclear “def”. htps:autonotcey.comiboardsiiewtopic php t=24168 5134 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community Para éso, agregamos preferiblemente al final de nuestro script la funcién “#Hotstrings’, la cual debe ir del siguiente modo: copiGo: #Hotstrings EndChars { “gHotstrings EndChars {" significa que las palabras claves que vamos a usar para los macros, después de ser escrita, debe ser tecleado un "EndChar” (caracter final) el cual confirmara que queremos que se envie el macro. Como ven, en la funcién dice "EndChars {". Pues el "{” viene siendo la tecla que se presiona para que salga el macro (pueden cambiar el EndChar por lo que quieran, pueden poner -,.}0( lo que quieran, si quieren un guién pues usen “EndChars -" o si quieren un punto pues "EndChars ."), pero, gcémo se crea un hotstring? Si para hacer un macro con una tecla usamos por ejemplo "NumPadt::" 0 "a hace parecido pero de éste modo: para los hotstrings se Ejemplo con rol de arma: cODIGO: arma:: { SendInput t/me descuegla su arma de la espalda y la cargafenter} 3 return Los hotstrings 0 “palabras claves” deben ser encerrados entre un par de "::" y se debe usar un EndChar. En el ejemplo de “Arma” pues se teclea lo que esta en medio de los "::" y luego el EndChar, asi que vendria siendo “arma{’; y si, también se pueden usar Sleeps, alternaciones y demés, lo Unico que cambia entre el macro con hotstrings y hotkeys (los de presionar una tecla) es que se agregan "::" al principio y en lugar de una tecla se usa la palabra, de resto pueden usar el mismo tipo de script para el macro. Por ejemplo, aqui hay un par de hotstrings que tengo para AK y M4, los cuales usan alternaciones y sleeps, y se activan al teclear "m4{" y "ak(" cODIGO: If (M4) t Sendinput t/me descuelga la M4 de su espalda, le quita el seguro y la cargafenter} Sleep, 1500 Sendinput t/do *CLICK-CLACK* Arma lista para dispararfenter} Sleep, 500 } Else { SendInput t/me le pone el seguro a su M4 y se la cuelga en la espaldafenter} Sleep, 500 3 2 return hitps:autonotcey.comiboardsiiewtopic php t=24168 6134 2ua2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHottey Communty cODIGo: nak: AK: t If (AK) t Sendinput t/me descuelga la AK-47 de su espalda, le quita el seguro y la cargafenter} Sleep, 1500 Sendinput t/do *CLICK-CLACK* Arma lista para dispararfenter} + Else SendInput t/me le pone el seguro a su AK-47 y se la cuelga en la espaldafenter} 3 return AK) 3.3.5 Hotstrings con EndChar diferente o sin EndChar. Pues si, si quieren usar otro EndChar que no sea el que se establecié en “#Hotstrings EndChars” pues simplemente hacen ésto. Por ejemplo, el hotstring de la tecla del macro de la M4 es "y sien lugar del "{° que usamos ‘como EndChar quieren usar un guién o cualquier otro EndChar solo para ése macro, pues ponen un * entre el primer par de "::" (con ésto anulan el #Hotstrings EndChar) y luego ponemos el caracter que quieran como EndChar después de la palabra clave, Asi que vendria saliendo asi Entonces el script completo del macro quedaria asi: cODIGo: “m4. M4) If (M4) { Sendinput t/me descuelga la M4 de su espalda, le quita el seguro y la cargafenter} Sleep, 1500 Sendinput t/do *CLICK-CLACK* Arma lista para dispararfenter} Sleep, 500 } Else { SendInput t/me le pone el seguro a su M4 y se la cuelga en la espaldafenter} Sleep, 500 3 3 return 4, Variables. Las variables son campos de “memoria” que crea el AHK para en ellos poder guardar cierta informacion la cual podremos modificar en cualquier momento a través de otro script, comando 0 usando una “InputBox’, y luego podremos usar las variables en macros como al secuestrar a alguien o al momento de un hitman hacer una muerte con cuchillo o sniper. En fin, puede resultar muy iitil ahorréndonos tiempo a la hora de rolear. Asi que para empezar, vamos a crear las variables, para éso vamos a agregar al principio de nuestro hitps:autonotcey.comiboardsiiewtopic php t=24168 734 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community script, debajo del “GroupAdd’, las siguientes instrucciones, que indicaran que quiero crear memorias variables: coDIco: ;Variables MyVart = %Victima% ‘Como saben, lo que esta marcado con un *;" es simplemente un comentario, el cual nos ayudara a separar el script y que quede un poco més organizado, para que a la hora de editarlo encontremos lo que buscamos de forma mas facil. Las memoria que creamos es "MyVart", la cual es una memoria que voy a usar en el siguiente rol, y como ven, luego de las memorias hay un y un texto entre un par de "%". Ese texto va a ser el contenido de la memoria, y los "é" es para indicar que es un texto variable que vamos a editar y leer en cualquier momento. Pueden agregar cualquier cantidad de memorias variables que necesiten (MyVart, MyVar2, MyVar3, etc...). Pues bueno, el principio de nuestro script deberia quedar mas o menos asi: copIGo: Process, Priority,, High ;Procesos GroupAdd, GTA, GTA:SA:MP GroupAdd, GTA, Sin titulo: Bloc de notas ;Variables MyVari = %Victima% F12:: reload #ifWinActive ahk_group GTA SetKeyDelay -1 ‘Ahora pasemos a usar dichas variables. 4.1 Variables, editar variables con InputBox y macros que usan variables. Primero vamos a empezar por editar las variables, para ello lo voy a hacer con un hotstring para el rol de cuchillo de sicario, el cual va a tener un par de funciones, las cuales seran: Minimizar el juego, \wego mostrar un cuadro en el cual introduciremos el nombre de nuestra vicitima, y una vez introducido el nombre, nos mostrar un cuadro indicando el nombre de la victima que hemos asignado y volver automaticamente al juego. En caso de que no pongamos nada en el cuadro o lo cerremos, se borrara cualquier otro nombre que hayamos introducido anteriormente y volveremos al juego automaticamente. El comando viene siendo mas o menos asi: cODIGo: \cuc:: { WinMinimize, GTA:SA:MP Sleep, 1000 InputBox, Victima, Objetivo cuchillo., , , 200, 100, If MyVart = %Victimays t WinRestore, GTA:SA:MP Sleep, 500 htps:autonotcey.comiboardsiiewtopic php t=24168 8134 24192017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHottey Communty return i Else t MsgBox, Se ha asignado a %Victima% como objetivo a cuchillo. WinRestore, GTA:SA:MP Sleep, 500 } } return Algo complicado, jeh?, La instruccién "WinMinimize” es la que minimizara el juego. La instruccién "InputBox’ es la que crea el cuadro en el que introduciremos el nombre de la vicitma, como ven, tiene varias comas y textos (InputBox, Victima, Objetivo cuchillo., , , 200, 100,) las cuales vendrian siendo: Donde dice "Victima” es la parte de la memoria donde la “InputBox'" va a escribir, asi que "InputBox" editara la variable que contenga "%Victimax”. "Objetivo cuchillo.” es el nombre que va a tener la ventana. La siguiente coma es para poner lo que quiero que diga en la ventana, pero como es una ventana muy pequefia, apenas para introducir el texto, no lo vamos a usar. Después hay otra coma que también esta vacia, y pues ésta es para la fuente que queremos que tenga el texto en la ventana, pero eso ain no ha sido implementado en el AHK y tampoco lo vamos a usar. “200,” es el tamafo en pixeles en direccién horizontal, y "100," es el tamaiio en pixeles vertical. La instruccién "If MyVar1 = %Victimas” lo que va a hacer es verificar si metimos algiin nombre en la InputBox, en caso de que no lo hayamos hecho, simplemente restauraré el juego y en caso de que si hayamos metido un texto en la InputBox, mostraré qué objetivo asignamos y tras eso nos enviara al juego. El "WinRestore” pues es lo que restauraré la ventana del GTA, enviéndonos de vuelta al juego (seria lo ‘opuesto a "WinMinimize La instruccién “MsgBox” es la que se encargaré de mostrar el nombre de la victima que hemos asignado para matarlo con cuchillo, y mostrar en el dialogo "Se ha asignado a %Victima% como objetivo a cuchillo.” Y pues, a la hora de usar el rol de hitman seria algo mas o menos asi. *Hitman mete su mano derecha en su chaleco y saca rapidamente un cuchillo, sujetandolo firmemente.* *Hitman levanta su brazo derecho e intenta clavarle el cuchillo en el cuello a Victima* {Aqui el script sélo continéa al volver a presionar la tecla) “Acierta con el cuchillo, Victima est desangrandose (( Hitman ))* Pues como ven, en el rol dice "Victima’, que viene siendo la variable que va a cambiar automaticamente por el nombre que le hayamos asignado con el macro anterior. Aqui lo que seria el script para el macro (que se usa con el slash del teclado numérico, 0 mejor dicho: la tecla de divison) y el rol se confirma también con la tecla de divisién. El macro incluye If, variables, alternaciones y sleeps. copIGo: numpaddiv: If MyVart = &Victimay return Else Cuchitl { htps:autonotcey.comiboardsiiewtopic php t=24168 9134 (! Cuchillo) 24192017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHottey Communty If ( Cuchillo ) { Sendinput t/me mete su mano derecha en su chaleco y saca rapidamente un cuchillo, sujetandolo firmementefenter} Sleep, 1000 Sendinput t/me levanta su brazo derecho e intenta clavarle el cuchillo en el cuello a %Victima%fenter} 1 Else Sendinput t/do Acierta con el cuchillo, %Victima% esta desangrandosefenter} + return ‘Como ven, en la parte de "Sendinput”, la cual contiene lo que se envia en el macro, dice ¥Victimax, lo cual le indica que el programa donde dice %Victima% debe ir ésa variable (el objetivo que haya sido asignado con el macro anterior). Aparte de éso, el primer "If" del script verifica que se haya escrito algo en la variable, y en caso de que la variable esté vacia, no funcionara el macro. 5. Script base (Agregado script de variable de cuchillo). ‘Aqui pongo un script con un par de macros de hotkeys y hotrstrings, el cual viene configurado para que solo sirva en un documento en blanco de bloc de notas (Sin titulo) 0 en el GTA. Incluye el rol para varias armas con el uso de hotstrings. copiGo: Process, Priority,, High sProcesos GroupAdd, GTA, GTA:SA:MP GroupAdd, GTA, Sin titulo: Bloc de notas F12:: reload #ifWinActive ahk_group GTA SetKeyDelay -1 ncuc:: t WinMinimize, GTA:SA:MP Sleep, 1000 InputBox, Victima, Objetivo cuchillo., , , 200, 100, If MyVart = %Victimas { WinRestore, GTA: Sleep, 500 return 3 Else { MsgBox, Se ha asignado a %Victima% como objetivo a cuchillo. WinRestore, GTA:SA:MP Sleep, 500 } 3 return numpaddiv: If MyVart = %Victima% return Else MP htps:autonotcey.comiboardsiiewtopic php t=24168 0134 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community Cuchillo := (! Cuchillo) { If ( Cuchillo ) { SendInput t/me mete su mano derecha en su chaleco y saca rapidamente un cuchillo, sujeténdolo firmementefenter} Sleep, 1000 Sendinput t/me levanta su brazo derecho e intenta clavarle el cuchillo en el cuello a %Victima%fenter} } Else SendInput t/do Acierta con el cuchillo. %Victimak est desangrandosefenter} + return Sendinput t/g {j}Gritando{!}{enter} Luces := (! Luces) t If ( Luces ) Sendinput t/me enciende las luces de su vehiculofenter}t/v lucesfenter} Else SendInput t/me apaga las luces de su vehiculofenter}t/v lucesfenter} 3 return numpad5 Abierto = (! Abierto) { If ( Abierto ) Sendinput t/v capofenter}t/me abre el capé de su automévilfenter} Else SendInput t/v capofenter}t/me cierra el capé de su vehiculofenter} 3 return numpad7: Maletero : t If ( Maletero ) Sendinput t/v maleterofenter}t/me abre el maletero de su automovil{enter} Else SendInput t/v maleterofenter}t/me cierra el maletero de su automévilfenter} 3 return numpado:: Sendinput t/v motorfenter} insert:: Sendinput t/cinturonfenter} RMA ! Maletero) #ifWinActive ahk_group GTA #Hotstring EndChars { Sendinput t/me descuelga la M4 de su espalda, le quita el seguro y la cargafenter} Sleep, 1500 Sendinput t/do *CLICK-CLACK* Arma lista para dispararfenter} htps:autonotcey.comiboardsiiewtopic php t=24168 34 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community Sleep, 500 i Else { Sendinput t/me le pone el seguro a su M4 y se la cuelga en la espaldafenter} Sleep, 500 3 3 return AK { If (AK) t SendInput t/me descuelga la AK-47 de su espalda, le quita el seguro y la cargafenter} Sleep, 1500 Sendinput t/do *CLICK-CLACK* Arma lista para dispararfenter} } Else Sendinput t/me le pone el seguro a su AK-47 y se la cuelga en la espaldafenter} + return 1 AK) Sniper := (! Sniper) t If (Sniper ) { Sendinput t/me abre la puerta de pasajero de su helicépterofenter} Sleep, 2500 SendInput t/do Se puede ver un rifle francotirador detras del asiento del copilotofenter} Sleep, 1500 Sendinput t/me se inclina sobre el asiento de pasajero y coge firmemente el riflefenter} Sleep, 2000 Sendinput t/me le quita el seguro al rifle, le quita el protector a la mira y carga un cartuchofenter} Sleep, 2500 Sendinput t/do *CLICK-CLACK* Arma cargadafenter} } Else £ . SendInput t/me répidamente le pone el seguro al rifle y le cubre la mirafenter) Sleep, 1500 Sendinput t/me se inclina sobre el asiento de pasajero, pone el rifle detras del asiento del copiloto y cierra la puertafenter} 3 3 return fo’ SendInput t/me fija a como su objetivofleft 17} return DEagle t If ( DEagle ) { ! DEagle) htps:autonotcey.comiboardsiiewtopic php t=24168 aia 24192017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHottey Communty Sendinput t/me acerca la mano a su cadera, desenfunda su Desert Eagle, le quita el seguro y la carga{enter} Sleep, 1500 Sendinput t/do *CLICK-CLACK* Arma lista para disparar{enter} 3 Else Sendinput t/me le pone el seguro a su Desert Eagle y la guarda en la funda junto a su cinturéngenter} 3 return mp5: MPS { If (MPS ) t Sendinput t/me descuelga su MPS de su hombro, le quita el seguro y la cargafenter} Sleep, 1500 Sendinput t/do *CLICK-CLACK* Arma lista para dispararfenter} } Else Sendinput t/me le pone el seguro a su MPS y se la cuelga en el hombrofenter} + return 5g: Shotgun t If ( Shotgun ) { Sendinput t/me descuelga la escopeta de su espalda, le quita el seguro y la cargafenter} Sleep, 1500 Sendinput t/do *CLICK-CLACK* Arma lista para dispararfenter} 3 Else Sendinput t/me le pone el seguro a su escopeta y se la cuelga en la espaldafenter} y return MP5) (! Shotgun) Ultima edicién por Juan Quevedo el Dom Mar 03, 2013 7:34 am, editado 10 veces Juan Quevedo Lider de Faccién y Administrador. Lider de Faccién y Administrador. Mensajes : 14 Puntos : 26 Reputacidn : 0 Fecha de inscripcion : 01/03/2013 Edad : 21 Volver arriba Ir abajo Re: [Gufa]Macros con AutoHotkey (AHK) - Instalacién y uso. Mensaje por Michael Leon el Sab Mar 02, 2013 10:50 am Muy bueno, el tutorial amigo... htps:autonotcey.comiboardsiiewtopic php t=24168 13104 24192017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHottey Communty Espero qué otras personas, que no entiendan se puedan ayudar de aca. Michael Leon Administrador Duefio/a Administrador Duefio/a Mensajes : 21 Puntos : 65 Reputacién : 0 Fecha de inscripcién : 28/02/2013 Volver arriba Ir abajo Re: [Gufa]Macros con AutoHotkey (AHK) - Instalacién y uso. Mensaje por Ivanova Anton el Dom Mar 03, 2013 2:42 am Excelente tutorial!!! Gracias por el aporte (Y) Puedes vivir 5 afios sin creer en ningun dios y sin leer la biblia. Intenta vivir 1 afio sin sol... La Vida es musica. La musica es Vida. Rock & Roll Invitado Bienvenido a CiudadaMania RolePlay iQuieres pertenecer a SAMD? ;Postulate aqui! Ivanova Anton Administrador Duefio/a Administrador Duefio/a Mensajes : 13 Puntos : 44 Reputacién : 0 Fecha de inscripcién : 28/02/2013 Localizacién : La Tierra Volver arriba Ir abajo Re: [Guia]Macros con AutoHotkey (AHK) - Instalacién y uso. Mensaje por Diego Nule el Lun Mar 04, 2013 1:22 pm Quisiera compartir con ustedes el siguiente Macro, para el trabajo de camionero... la Accién es Carga de camién... Se presiona el botén y esperan a que cargue el camién; es macro bastante sencillo, apenas uso el SLEEP. hitps:autonotcey.comiboardsiiewtopic php t=24168 ais 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community (EL Numpadadd es el signo mas del teclado numérico, pero ustedes lo pueden cambiar por el que quieran) copIGo: Numpadadd:: t Sendinput t/do El empleado hace la solicitud de carga de mercancia al camionfenter} Sleep, 2000 Sendinput t/do Solicitud aprobadafenter}t/cargarcamionfenter} Sleep, 1000 Sendinput {enter} Sleep, 1000 Sendinput {enter} Sleep, 3000 Sendinput t/do Cargando camién [1/3}{enter} Sleep, 3000 Sendinput t/do Cargando camion [2/3]{enter} Sleep, 3200 Sendinput t/do Cargando camién [3/3}{enter} Sleep, 2000 Sendinput t/do El empleado emprende la ruta hacia la entrega de mercanciafenter} 3 return PD: Tienen que estar justo en el punto de checkpoint exacto donde se carga el camién... sino, seria un fail xD. Uttima edicién por Diego Nule el Mar Mar 05, 2013 7:56 am, editado 1 vez Diego Nule Administrador/a Administrador/a Mensajes : 4 Puntos : 4 Reputacién : 0 Fecha de inscripcién : 03/03/2013 Edad : 24 Localizacién : Colombia Volver arriba Ir abajo Re: [Guia]Macros con AutoHotkey (AHK) - Instalacién y uso. Mensaje por Juan Quevedo el Lun Mar 04, 2013 2:41 pm lol, yo también tengo uno para camion pero con toggle y activacién con “ccaf" y see, también toca estar en la zona de carga para usarlo. copIGo: sceatt Camion := (! Camion) If (Camion ) hitps:autonotcey.comiboardsiiewtopic php t=24168 15104 24192017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHottey Communty { Sendinput t/me pone su camién en la zona de carga y entrega la solicitud de un cargamento a un empleadofenter} SendInput t/cargarcamionfenter} 3 Else t Sendinput t/do El empleado verifica la solicitud y la aprueba - empiezan a llenar el camion con varias cajas{enter} Sleep, 1950 SendInput t/do *Cargando camién [1/4]*{enter} Sleep, 1950 SendInput t/do *Cargando camién [2/4]*{enter} Sleep, 1950 Sendinput t/do *Cargando camién [3/4]*{enter} Sleep, 1950 Sendinput t/do *El camién fue cargado [4/4] y esté listo para llevar la mercancia‘{fenter} } return Y aqui pongo un par de scripts de ejemplo para encender un auto, y esta para que muestre el nombre del vehiculo (Sultan): Encender: copiGo: su: { Sendinput t/me saca una llave de su bolsillo y la introduce en el contacto de su Sultanfenter} Sleep, 1000 SendInput t/v motorfenter} Sleep, 1200 Sendinput t/me gira la llave y enciende el autofenter} 3 return Apagar: CODIGO: Hasu:: { SendInput t/v motorfenter} SendInput t/me gira la llave y apaga su Sultanfenter} Sleep, 1300 Sendinput t/me saca la llave del contacto y la guarda en su bolsillofenter} 3 return Cualquier duda o si necesitan algun macro pregunten en éste post. Juan Quevedo Lider de Faccién y Administrador. Lider de Faccién y Administrador. Mensajes : 14 Puntos : 26 hitps:autonotcey.comiboardsiiewtopic php t=24168 16194 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community Reputacién : 0 Fecha de inscripcion : 01/03/2013 Edad : 21 Volver arriba Ir abajo Re: [Guia]Macros con AutoHotkey (AHK) - Instalacién y uso. Mensaje por Diego Nule el Mar Mar 05, 2013 7:39 am Neh Juan baby, yo tengo un macro de encender y apagar el vehiculo, mucho muy funcional... es decir, mejor que el suyo y lo mejor, estd en un sélo macro, Se obtiene en este Macro que voy a poner: Encender, prender luces, abrocharse el cinturon... y Apagar. apagar las luces y por supuesto al salirse del auto se desabrocha el cinturén, ademas le puse un macro de Rol... activando la alarma: Aqui va Wink copIGo: numpado: Motor := (! Motor) If ( Motor ) { Sendinput t/v motorfenter}t/me gira la llave 90 grados hacia la derecha y enciende el vehiculofenter}t/me enciende las luces del vehiculofenter}t/v lucesfenter) Sleep, 2500 Sendinput t/cinturonfenter}t/do Vehiculo Encendidofenter}t/do Mete el primer cambio y arranca el vehiculofenter} 3 Else { SendInput t/v motorfenter}t/me gira la llave 90 grados hacia la izquierda y apaga el vehiculofenter}t/me apaga las luces del vehiculofenter}t/v lucesfenter} Sleep, 4000 Sendinput t/me Activa la alarma del vehiculofenter}t/do [BIP-BIP] / Alarma activadafenter} 3 return el Numpadd, por supuesto es el 0 del teclado numérico. in embargo, les explicaré la falencia de este Macro, que una vez ustedes hacen el encendido, van a tener que rolear la apagada... a menos que pongan el siguiente mini-macro, el cual lo que hard sera recargar el AutoHotkey y con sigo reiniciar los macros... es decir... Si yo ejecuto el Encender vehiculo que est dentro del IF y luego recargo el autohotkey a la proxima que ejecute el macro de encender y apagar, se va a ejecutar de nuevo el IF de encender vehiculo. cODIGo: F5:: reload Sugiero agregar este “mini-macro” de recargar de AutoHotkey Smile para dar una mejor utilizacién de cualquier macro. Diego Nule Administrador/a Administrador/a Mensajes : 4 hitps:autonotcey.comiboardsiiewtopic php t=24168 ris 209017 ‘ABC para Novatos &: BUEN TUTORIAL EXTERNO -AutoHetkey Community Puntos : 4 Reputacién Fecha de inscripcién : 03/03/2013 Edad : 24 Localizacién : Colombia Volver arriba Ir abajo Re: [Guia]Macros con AutoHotkey (AHK) - Instalacién y uso. ‘Mensaje por Juan Quevedo el Mar Mar 05, 2013 9:20 am Diego, por eso es que yo dejo el encendido y apagado en diferentes macros, para evitar la recarga porque eso puede desincronizar otros macros. {Que tal por recargar el macro del carro termine cagando un rol? Como sacar un arma 2 veces, o encender las luces del auto 2 veces, etc... Igual usted puede hacer un macro para recargar ciertos macros, se usa la instruccién return. Si algo en estos dias pongo un tutorial para éso. Juan Quevedo Lider de Faccién y Administrador. Lider de Faccién y Administrador. Mensajes : 14 Puntos : 26 Reputacién : 0 Fecha de inscripcién : 01/03/2013 Edad : 21 Volver arriba Ir abajo Re: [Gufa]Macros con AutoHotkey (AHK) - Instalacién y uso. Mensaje por Diego Nule el Mar Mar 05, 2013 9:30 am Tiene razén en ese sentido... el caso es que mi macro lo que tiene adicional al suyo, es el cinturén y las luces... :3 Pues tal y como lo tengo yo... me ha servido. ejecutar los macros. pues porque muchas veces soy muy cuidadoso al Diego Nule Administrador/a Administrador/a Mensajes : 4 Puntos : 4 Reputacién : 0 Fecha de inscripcin : 03/03/2013 Edad : 24 Localizacién : Colombia Volver arriba Ir abajo Re: [Guia]Macros con AutoHotkey (AHK) - Instalacién y uso. ‘Mensaje por Diego Nule el Mar Mar 05, 2013 10:31 am Bueno utilizando el método de Juan y mezclandolo con el mio... El resultado es el siguiente: hitps:autonotcey.comiboardsiiewtopic php t=24168 18134 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community Para encender el vehiculo: coDiGo: pmo: t Sendinput t/v motorfenter}t/me gira la llave 90 grados hacia la derecha y enciende el vehiculofenter}t/me enciende las luces del vehiculofenter}t/v lucesfenter} Sleep, 2500 Sendinput t/cinturonfenter}t/do Vehiculo Encendidofenter}t/do Mete el primer cambio y arranca el vehiculofenter} 3 return Para apagar el vehiculo: cODIGo: sm { Sendlnput t/v motorfenter}t/me gira la llave 90 grados hacia la izquierda y apaga el vehiculofenter}t/me apaga las luces del vehiculofenter}t/v lucesfenter} Sleep, 4000 Sendinput t/me Activa la alarma del vehiculofenter}t/do [BIP-BIP] / Alarma activadafenter} 3 return Y al final del documento ponen lo siguiente: cODIGo: #Hotstring EndChars - PD: Para activar estos macros se debe escribir lo siguiente: pmo seguido de un guién, el guién ejecuta el macro entonces seria asi: pmo- Inténtenlo, es bastante util... Estos Hotstrings sirven en la cuestién de que se pueden hacer muchisimos macros, y se ahorra muchos botones, y para que hayan tantos fails por macros lanzados sin querer. Diego Nule Administrador/a Administrador/a Mensajes : 4 Puntos : 4 Reputacién : 0 Fecha de inscripcién : 03/03/2013 Edad : 24 Localizacién : Colombia Volver arriba Ir abajo Ayuda Mensaje por gallo1979 el Dom Nov 23, 2014 5:47 am. Juan Quevedo escribio: htps:autonotcey.comiboardsiiewtopic php t=24168 19134 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community *NOTA: Para poder publicar links externos el foro requiere que todo usuario tenga mas de 7 dias de antigiiedad, asi que pondré instrucciones de como encontrar el programa en Google. Pues he decidido hacer éste tutorial basico e intermedio pero MUY completo (me tomé casi 4 horas hacerlo) acerca del AutoHotkey, un programa disefiado para asignar macros a teclas o palabras clave. Hay varios programas que también hacen ésto como el HKB y el AKB pero en mi opinién el AHK, aunque pueda resultar un poco mas complicado, es superior a dichos programas, pero bueno: que cada quién use el de su preferencia. Este tutorial va dirigido tanto para los que son nuevos en el mundo del roleplay y/o no saben acerca de los macros, o inclusive para los que usan otro programa de macros, ya que AHK ofrece una gran cantidad de opciones para su configuracién. En este tutorial mostraré la instalacién, creacién y uso de macros con AutoHotkey, y daré un script base con varios tipos de macros para que se vayan ubicando en el tema de la creacién de scripts de ‘AutoHotkey. Voy a dividir el tutorial en 4 partes. 1. Definicién de macro. 2. Descarga e instalacién del programa. 2.1 Descarga. 2.2 Instalacién. 3. Uso del programa y creacién de scripts. 3.1 Abriendo el programa. ___3.2 Preparando nuestro script. 3.3 Configurando los macros. 1 Macros con una tecla (hotkey). 3.3.2 Macros y temporizadores. 3 Macros y alternaciones. 4 Macros con cadenas de texto (Hotstrings). 3. 4, Variables y macros que usan variables. 4.1 Variables, editar variables con InputBox y macros que usan variables. 5. Script base. 4. {Qué es un macro? Un macro es una cadena de texto o palabra definida por el usuario la cual se envia al presionar una tecla, botén o teclear una cadena de texto. Ejemplo: Al presionar la tecla "1" del teclado numérico, el programa mandaré un /ad (anuncio publicitario) vendiendo un Sultan, el cual seria */ad Vendo Sultan tuneado o lo cambio por otro coche.’ 2. Descarga e instalacién de AutoHotkey 2.1 Descarga: Primero, descargamos el programa de la pagina oficial: (Busquen en Google ‘AutoHotkey” y entran a la primer pagina, y arriba aparece un cuadro naranja que dice "Download ahi lo bajan). de htps:autonotcey.comiboardsiiewtopic php t=24168 20194 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community 2.2 Instalacion: Una vez descargado el instalador, lo abrimos y nos mostrara 2 opciones: “Express Installation” y "Custom Installation”. Dan click en “Express Installation” y el programa se instalard automaticamente en "C:\Archivos de programa\AutoHotkey”. Ya con ésto queda el programa instalado. 3. Uso del programa y creacién de scripts. 3.1 Abriendo el programa. Primero abrimos el programa, el cual lo podemos encontrar en "Inicio>Todos los programas»AutoHotkey”. Una vez lo abramos, aparecera el icono de una “H” en el area de notificaciones de la barra de tareas (esquina de abajo a la derecha), le damos click derecho at icono>Edit This Script y se abrir un archivo de bloc de notas, borramos todo lo que haya escrito alli. Ahora escribiremos alli nuestro script. 3.2 Preparando nuestro script Primero, es recomendable agregar unas instrucciones al script, asi que podemos empezar por agregar ésto al archivo de bloc de notas, entonces pondremos alli: copIco: Process, Priority,, High F2:: reload sProcesos GroupAdd, GTA, GTA:SA:MP GroupAdd, GTA, Sin titulo: Bloc de notas #ifWinActive ahk_group GTA SetKeyDelay -1 Quizas no entiendan de que va el cédigo, pero pues haré una pequefia explicacién (si quieren se la pueden saltar, no la lean): La primera linea dice "Process, Priority,, High’ La instruccion "Process" lo usamos cuando queremos que AHK altere o haga algo con un proceso que se esté ejecutando, “Priority” significa que queremos cambiar la prirodidad del proceso, *,,” es el proceso al que le queremos cambiar la prioridad, y ya que son 2 comas seguidas, el programa entiende que al proceso al que le queremos cambiar la prioridad es al propio script que se esta ejecutando, “High” es la prioridad que le queremos poner, en éste caso, Alta. Lo de "F12:: reload” lo pueden agregar opcional. Es que a medida que vayan agregando macros al script, hay que "recargarlo” 0 actualizarlo, para que los nuevos macros sirvan, asi que con ésto harén que la tecla F12 puedan recargar el script sin tener que ir a la barra, buscar el icono>click derecho>Reload This Script. ‘Como pueden ver, también hay algo llamado ";Procesos’, el ";" indica que es un comentario, algo que el programa no debe leer como script, simplemente es algo que agregamos para guiarnos y saber qué contiene ésa parte del script, en éste caso, bajo ";Procesos” hay 2 instrucciones, las cuales son "GroupAdd’, las cudles indican que quiero que el programa asigne ciertos procesos a un grupo, con los cuales interactuar, en éste caso el GTA y un Bloc de notas vacio. Explicacién de GroupAdd: "GroupAdd” se usa para agregar un proceso o ventana a un grupo, "GTA" es el htps:autonotcey.comiboardsiiewtopic php t=24168 21194 airazot7 ‘ABC por Novaos 4: BUEN TUTORIAL EXTERNO -AutoHotiey Community nombre que le voy a poner al grupo, y "GT :MP" es el nombre de la ventana que quiero agregar al grupo. Asi que seria: copico: GroupAdd, "Nombre del grupo, "Nombre de la ventana para asignar al grupo” Luego esta la instruccién "#lfWinActive” (si la ventana esta activa), la cual la usaremos para que nuestros macros no funcionen a menos que no estemos en la ventana que le indiquemos. Entonces “#lfWinActive ahk_group GTA" indica que los macros solo funcionara en las ventanas que agregamos al grupo "GTA", asi que para probar los macros pueden usar una ventana sin titulo del bloc de notas 0 bien, el mismo GTA. Luego esta "SetKeyDelay -1" el cual simplemente le indica al programa el retraso con el que debe enviar cada macro, y ya que es "-1", lo hara inmediatamente (sin retraso). Cada vez que vayamos agregando macros recuerden que toca guardar el archivo (Ctrl+G) y usar la tecla F12 para recargar el script, asi se ahorran tiempo y el programa les notifica instantaneamente si algin macro no sirve. Ahora si podemos empezar a agregar nuestros macros. 3.3 Configurando los macros: Para asignar el macro a una tecla, primero ponemos la tecla que vamos a usar, asi que para ello indicamos la tecla que vamos a usar. Hay caracteres o teclas especiales como Ctrl, Shift, Enter, !, Inicio, Fin, etc... las cudles no va a leer el AutoHotkey a menos que las pongamos en medio de un par de Por ejemplo, para que presione la tecla Enter seria {enter}. 1=Q Fin/End = {End} Inicio/Home = {Home) Shift derecha/izquierda = {RShift} {LShift} *NOTA: La lista con todas las teclas la pueden encontrar aqui: (Buscan en Google: “AutoHotkey Key List’, y entran en la primer pagina). La instruccién "Sendinput" significa que queremos que el programa mande el macro y que nuestro computador lo detecte como si hubiera sido tecleado directamente, también esta "Send" que es para que envie texto y ya, pero éso no lo vamos a usar. 3.3.1 Macros con una tecla (hotkey). Ejemplo para enviar el rol de un arma al presionar la tecla “1” del teclado numérido. copIGo: NumPad1:: Sendinput t/me descuelga su arma de la espalda répidamente y la cargafenter} Rol de un robo con la tecla "2" del teclado numérico: hitps:autonotcey.comiboardsiiewtopic php t=24168 22ia4 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community copIGo: NumPad2:: Sendinput t/g {j}Las manos arriba hijo de puta ((/rendirse)) 0 le leno el culo de plomo{!} © pueden hacer que una sola tecla mande 2 acciones a la vez: cODIGO; NumPad1:: Sendinput t/me descuelga su arma de la espalda, le quita el seguro y la cargafenter}t/do *CLICK-CLACK" Arma cargadafenter} 3.3.2 Macros y temporizadores: Como ven en el ejemplo de arriba, con la tecla 1 del teclado numérico se mandan 2 cadenas de texto en una sola tecla, aunque podemos agregar un "temporizador” entre cada cadena de texto, para és0 vamos a usar la funcién "Sleep", aunque el script se cambiara un poco. coDIGo: NumPadt t Sendinput t/me descuelga su arma de la espalda, le quita el seguro y la cargafenter} Sleep, 1500 Sendinput t/do *CLICK-CLACK* Arma cargadafenter} 3 return EL"1500" después del “Sleep” significa que queremos que el macro se pause durante 1500 milisegundos (segundo y medio) y que luego envie el resto del macro, “return” indica que ahi termina el script del macro, y que no quiero que quizas por error, envie algo de otro macro. 3.3.3 Macros y alternaciones Ahora pasaremos a algo alin mas complicado, los scripts de alternacién. Por ejemplo, queremos que al presionar la tecla 4 del teclado numérico el programa envie 2 cosas diferentes, que cuando se presione la tecla por primera vez envie cierto macro y a la segunda vez que se presione la tecla envie otro macro, por ejemplo, abrir y cerrar el maletero del auto. coDIGo: numpad7: Maletero { If ( Maletero ) Sendinput t/v maleterofenter}t/me abre el maletero de su automévil{enter} Else Sendinput t/v maleterofenter}t/me cierra el maletero de su automévilfenter} 2 return ! Maletero) hitps:autonotcey.comiboardsiiewtopic php t=24168 23104 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community Ahora, explic "Maletero := (! Maletero)" significa que quiero que el programa cree una variable que cambia cada vez ue se use, en éste caso quiero que la variable sea "Maletero”. If" significa "en caso de” y "( Maletero )" es la variable que va a buscar, asi que seria: "En caso de que la variable sea ( Maletero ), enviar el macro para abrir el maletero”. Else” significa "en caso contrario’, asi que “en caso de que la variable no sea "Maletero™ envie el macro para cerrar el maletero. Si por ejemplo usamos ésto con un arma para que con una sola tecla saque y guarde el arma seria: coDIGo: NumPadt Arma t If (Arma ) { Sendinput t/me descuelga su arma de la espalda, le quita el seguro y la cargafenter} Sleep, 1500 Sendinput t/do *CLICK-CLACK* Arma cargadafenter} Sleep, 500 2 Else { Sendinput t/me le pone el seguro a su arma y se la cuelga en la espaldafenter} Sleep, 500 } 3 return Arma) Incluso agregué un par de pausas (Sleep) al final de cada macro para que si por error presiono la tecla 2 veces, no salgan ambos macros. Intenten modificar lo que vean que entienden del macro, agregar mas linea de rol por una sola tecla, cambiar el tiempo del Sleep, que ensayando es que se aprende. 3.3.4 Macros con cadenas de texto (Hotstrings). Ahora, aparte de usar teclas para macros podemos usar texto para macros, lo cual es muy util mas que todo para los que usan equipos portatiles y les faltan teclas. Un ejemplo de Hotstring: si quiero hacer el rol del maletero del vehiculo, en lugar de presionar la tecla 4 del teclado numérico, puedo dejarto para que salga al teclear “male”, o para el arma puedo usar "arma" e incluso, puedo crear un macro aparte para cada arma, por ejemplo, para sacar la M4 que sea al teclear “m4{", La AK-47 al teclear ‘ak{’, la Desert Eagle al teclear “def”. Para éso, agregamos preferiblemente al final de nuestro script la funcién "#Hotstrings’, la cual debe ir del siguiente modo: coDIGo: #Hotstrings EndChars { htps:autonotcey.comiboardsiiewtopic php t=24168 aia 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community “gHotstrings EndChars {" significa que las palabras claves que vamos a usar para los macros, después de ser escrita, debe ser tecleado un "EndChar” (caracter final) el cual confirmara que queremos que se envie el macro. Como ven, en la funcién dice "EndChars {". Pues el "{" viene siendo la tecla que se presiona para que salga el macro (pueden cambiar el EndChar por lo que quieran, pueden poner -,.}{)( lo que quieran, si quieren un guién pues usen "EndChars -" o si quieren un punto pues "EndChars pero, zcémo se crea un hotstring? Si para hacer un macro con una tecla usamos por ejemplo "NumPad1::" 0 "a::", para los hotstrings se hace parecido pero de éste modo: Ejemplo con rol de arma: copIGo: rm: t Sendinput t/me descuegla su arma de la espalda y la carga{enter} 3 return Los hotstrings 0 “palabras claves” deben ser encerrados entre un par de "::" y se debe usar un EndChar. En el ejemplo de "Arma" pues se teclea lo que esta en medio de los "::" y luego el EndChar, asi que vendria siendo "arma{’; y si, también se pueden usar Sleeps, alternaciones y demas, lo Unico que cambia entre el macro con hotstrings y hotkeys ((os de presionar una tecla) es que se agregan "::" al principio y en lugar de una tecla se usa la palabra, de resto pueden usar el mismo tipo de script para el macro. Por ejemplo, aqui hay un par de hotstrings que tengo para AK y Mé, los cuales usan alternaciones y sleeps, y se activan al teclear "m4(" y “ak(" coDIGo: Sendinput t/me descuelga la M4 de su espalda, le quita el seguro y la cargafenter} Sleep, 1500 Sendinput t/do *CLICK-CLACK* Arma lista para disparar{enter} Sleep, 500 3 Else { Sendinput t/me le pone el seguro a su M4 y se la cuelga en la espaldafenter} Sleep, 500 3 3 return cODIGo: htps:autonotcey.comiboardsiiewtopic php t=24168 25104 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community 1 AK) If (AK) t Sendinput t/me descuelga la AK-47 de su espalda, le quita el seguro y la cargafenter} Sleep, 1500 SendInput t/do *CLICK-CLACK* Arma lista para dispararfenter} } Else SendInput t/me le pone el seguro a su AK-47 y se la cuelga en la espaldafenter} 3 return 3.3.5 Hotstrings con EndChar diferente o sin EndChar. Pues si, si quieren usar otro EndChar que no sea el que se establecié en “#Hotstrings EndChars” pues simplemente hacen ésto. Por ejemplo, el hotstring de la tecla del macro de la M4 es y sien lugar del "{° que usamos ‘como EndChar quieren usar un guién o cualquier otro EndChar solo para ése macro, pues ponen un * entre el primer par de "::" (con ésto anulan el #Hotstrings EndChar) y luego ponemos el caracter que quieran como EndChar después de la palabra clave, Asi que vendria saliendo asi Entonces el script completo del macro quedaria asi: cODIGO; stemdass M4 = (1 M4) { (M4) t Sendinput t/me descuelga la M4 de su espalda, le quita el seguro y la cargafenter} Sleep, 1500 Sendinput t/do *CLICK-CLACK* Arma lista para dispararfenter} Sleep, 500 } Else { Sendinput t/me le pone el seguro a su M4 y se la cuelga en la espaldafenter} Sleep, 500 3 3 return 4, Variables. Las variables son campos de “memoria” que crea el AHK para en ellos poder guardar cierta informacién la cual podremos modificar en cualquier momento a través de otro script, comando 0 usando una "InputBox’, y luego podremos usar las variables en macros como al secuestrar a alguien o al momento de un hitman hacer una muerte con cuchillo o sniper. En fin, puede resultar muy itil ahorréndonos tiempo a la hora de rolear. htps:autonotcey.comiboardsiiewtopic php t=24168 26104 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community ‘Asi que para empezar, vamos a crear las variables, para éso vamos a agregar al principio de nuestro script, debajo del "GroupAdd’, las siguientes instrucciones, que indicaran que quiero crear memorias variables: cODIGo: Variables MyVart = Victima% Como saben, lo que esté marcado con un ";* es simplemente un comentario, el cual nos ayudara a separar el script y que quede un poco més organizado, para que a la hora de editarlo encontremos lo que buscamos de forma mas facil. Las memoria que creamos es “MyVar1”, la cual es una memoria que voy a usar en el siguiente rol, y como ven, luego de las memorias hay un "=" y un texto entre un par de "%”. Ese texto va a ser el contenido de la memoria, y los "" es para indicar que es un texto variable que vamos a editar y leer en cualquier momento. Pueden agregar cualquier cantidad de memorias variables que necesiten (MyVart, MyVar2, MyVar3, etc...). Pues bueno, el principio de nuestro script deberia quedar mas o menos asi: coDIGo: Process, Priority,, High sProcesos GroupAdd, GTA, GTA:SA:MP GroupAdd, GTA, Sin titulo: Bloc de notas ;Nariables MyVart = XVictima% FA2:: reload #ifWinActive ahk_group GTA SetKeyDelay -1 ‘Ahora pasemos a usar dichas variables. 4.1 Variables, editar variables con InputBox y macros que usan variables. Primero vamos a empezar por editar las variables, para ello lo voy a hacer con un hotstring para el rol de cuchillo de sicario, el cual va a tener un par de funciones, las cuales seran: Minimizar el juego, luego mostrar un cuadro en el cual introduciremos el nombre de nuestra vicitima, y una vez introducido el nombre, nos mostrar un cuadro indicando el nombre de la victima que hemos asignado y volver automaticamente al juego. En caso de que no pongamos nada en el cuadro o lo cerremos, se borrara cualquier otro nombre que hayamos introducido anteriormente y volveremos al juego automaticamente. El comando viene siendo mas 0 menos asf: coDIGo: sineue:: { htps:autonotcey.comiboardsiiewtopic php t=24168 risa 24192017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHottey Communty WinMinimize, GTA:SA:MP Sleep, 1000 InputBox, Victima, Objetivo cuchillo., , , 200, 100, If MyVart = %Victimays t WinRestore, GTA:SA:MP Sleep, 500 return } Else { MsgBox, Se ha asignado a %Victima% como objetivo a cuchillo. WinRestore, GTA:SA:MP Sleep, 500 3 y return ‘Algo complicado, jeh?. La instruccién “WinMinimize" es la que minimizara el juego. La instruccién “InputBox" es la que crea el cuadro en el que introduciremos el nombre de la vicitma, como ven, tiene varias comas y textos (inputBox, Victima, Objetivo cuchillo., , , 200, 100,) las cuales vendrian siendo: Donde dice "Victima” es la parte de a memoria donde la "InputBox" va a escribir, asi que "InputBox" editara la variable que contenga "%Victimax”. "Objetivo cuchillo.” es el nombre que va a tener la ventana. La siguiente coma es para poner lo que quiero que diga en la ventana, pero como es una ventana muy pequefia, apenas para introducir el texto, no lo vamos a usar. Después hay otra coma que también esta vacia, y pues ésta es para la fuente que queremos que tenga el texto en la ventana, pero eso ain no ha sido implementado en el AHK y tampoco lo vamos a usar. "200," es el tamafo en pixeles en direccién horizontal, y "100," es el tamaiio en pixeles vertical. La instruccién "If MyVart = %Victimas" lo que va a hacer es verificar si metimos algiin nombre en la InputBox, en caso de que no lo hayamos hecho, simplemente restauraré el juego y en caso de que si hayamos metido un texto en la InputBox, mostrara qué objetivo asignamos y tras eso nos enviara al juego. EL"WinRestore” pues es lo que restauraré la ventana del GTA, enviéndonos de vuelta al juego (seria lo ‘opuesto a "WinMinimize”. La instruccion "MsgBox" es la que se encargaré de mostrar el nombre de la victima que hemos asignado para matarlo con cuchillo, y mostrar en el dialogo "Se ha asignado a ¥Victima% como objetivo a cuchillo.” Y pues, a la hora de usar el rol de hitman seria algo mas 0 menos asi. *Hitman mete su mano derecha en su chaleco y saca rapidamente un cuchillo, sujetandolo firmemente.* “Hitman levanta su brazo derecho ¢ intenta clavarle el cuchillo en el cuello a Victima* (Aqui el script sélo continda al volver a presionar la tecla) “Acierta con el cuchillo, Victima esté desangrandose (( Hitman ))* Pues como ven, en el rol dice "Victima’, que viene siendo la variable que va a cambiar automaticamente por el nombre que le hayamos asignado con el macro anterior. Aqui lo que seria el script para el macro (que se usa con el slash del teclado numérico, o mejor dicho: la tecla de divison) y el rol se confirma también con la tecla de divisién. El macro incluye If, variables, alternaciones y sleeps. hitps:autonotcey.comiboardsiiewtopic php t=24168 28194 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community coDIGo: numpaddiv: If MyVart = &Victimay return Else Cuchillo { If ( Cuchitlo ) { Sendinput t/me mete su mano derecha en su chaleco y saca rapidamente un cuchillo, sujetandolo firmementefenter} Sleep, 1000 Sendinput t/me levanta su brazo derecho ¢ intenta clavarle el cuchillo en el cuello a %Victima%fenter} 1 Else Sendinput t/do Acierta con el cuchillo, %Victima% esta desangrandosefenter} 3 return (1 Cuchillo) Como ven, en la parte de "Sendinput”, la cual contiene lo que se envia en el macro, dice %Victima%, lo cual le indica que el programa donde dice %Victima% debe ir ésa variable (el objetivo que haya sido asignado con el macro anterior). Aparte de éso, el primer "If" del script verifica que se haya escrito algo en la variable, y en caso de que la variable esté vacia, no funcionara el macro. 5. Script base (Agregado script de variable de cuchillo). Aqui pongo un script con un par de macros de hotkeys y hotrstrings, el cual viene configurado para que solo sirva en un documento en blanco de bloc de notas (Sin titulo) 0 en el GTA. Incluye el rol para varias armas con el uso de hotstrings. cODIGo: Process, Priority,, High ;Procesos GroupAdd, GTA, GTA:SA:MP GroupAdd, GTA, Sin titulo: Bloc de notas FA2:: reload #ifWinActive ahk_group GTA SetKeyDelay -1 sncuc:: { WinMinimize, GTA:SA:MP Sleep, 1000 InputBox, Victima, Objetivo cuchillo., , , 200, 100, If MyVart = &Victimays { WinRestore, GTA: Sleep, 500 return 1 Else MP htps:autonotcey.comiboardsiiewtopic php t=24168 aia 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community { MsgBox, Se ha asignado a %Victima% como objetivo a cuchillo. WinRestore, GTA:SA:MP Sleep, 500 3 2 return numpaddiv:: If MyVart = %Victima% return Else Cuchill { If ( Cuchillo ) t Sendinput t/me mete su mano derecha en su chaleco y saca rapidamente un cuchillo, sujetandolo firmementefenter} Sleep, 1000 Sendinput t/me levanta su brazo derecho e intenta clavarle el cuchillo en el cuello a %Victimaxfenter} i Else Sendinput t/do Acierta con el cuchillo. %Victima% esta desangrndosefenter} 3 return numpadt:: Sendinput t/g {)}Gritando{!}fenter} numpad4: Luces := (! Luces) { if ( Luces ) Sendinput t/me enciende las luces de su vehiculofenter}t/v lucesfenter} Else Sendinput t/me apaga las luces de su vehiculofenter}t/v luces{enter} 3 return numpad5:: Abierto { If ( Abierto ) Sendinput t/v capofenter}t/me abre el capé de su automévilfenter} Else Sendinput t/v capofenter}t/me cierra el capé de su vehiculofenter} 3 return numpad7; Maletero { If ( Maletero ) Sendinput t/v maleterofenter}t/me abre el maletero de su automévilfenter} Else Sendinput t/v maleterofenter}t/me cierra el maletero de su automévilfenter} 3 return numpadd:: Sendinput t/v motorfenter} insert:: Sendinput t/cinturonfenter} (1 Cuchillo) (! Abierto) ! Maletero) htps:autonotcey.comiboardsiiewtopic php t=24168 30134 24192017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHottey Communty ARMAS: o_ #lfWinActive ahk_group GTA #Hotstring EndChars { Sendinput t/me descuelga la M4 de su espalda, le quita el seguro y la cargafenter} Sleep, 1500 SendInput t/do *CLICK-CLACK* Arma lista para dispararfenter) Sleep, 500 3 Else t SendInput t/me le pone el seguro a su M4 y se la cuelga en la espaldafenter} Sleep, 500 } 3 return ik: AK) If (AK) t Sendinput t/me descuelga la AK-47 de su espalda, le quita el seguro y la cargafenter} Sleep, 1500 Sendinput t/do *CLICK-CLACK* Arma lista para dispararfenter} + Else Sendinput t/me le pone el seguro a su AK-47 y se la cuelga en la espaldafenter} 3 return sn: Sniper { If ( Sniper ) { SendInput t/me abre la puerta de pasajero de su helicépterofenter} Sleep, 2500 Sendinput t/do Se puede ver un rifle francotirador detras del asiento del copilotofenter} Sleep, 1500 Sendinput t/me se inclina sobre el asiento de pasajero y coge firmemente el riflefenter} Sleep, 2000 Sendinput t/me le quita el seguro al rifle, le quita el protector a la mira y carga un cartuchofenter} Sleep, 2500 SendInput t/do *CLICK-CLACK* Arma cargadafenter} i Else £ 5 SendInput t/me répidamente le pone el seguro al rifle y le cubre la mirafenter} Sleep, 1500 Sendinput t/me se inclina sobre el asiento de pasajero, pone el rifle detras del asiento del copiloto y cierra la puertafenter} ! Sniper) hitps:autonotcey.comiboardsiiewtopic php t=24168 tis 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community } + return SendInput t/me fija a como su objetivofleft 17}, return Déagle { If ( DEagle ) { Sendinput t/me acerca la mano a su cadera, desenfunda su Desert Eagle, le quita el seguro y la cargafenter} Sleep, 1500 Sendinput t/do *CLICK-CLACK* Arma lista para dispararfenter} 1 Else Sendinput t/me le pone el seguro a su Desert Eagle y la guarda en la funda junto a su cinturénfenter} 3 return ! DEagle) MP! t If (MPS ) t Sendinput t/me descuelga su MPS de su hombro, le quita el seguro y la cargafenter} Sleep, 1500 Sendlnput t/do *CLICK-CLACK* Arma lista para dispararfenter} + Else Sendinput t/me le pone el seguro a su MPS y se la cuelga en el hombrofenter} 3 return 58 Shotgun : { if (Shotgun ) { SendInput t/me descuelga la escopeta de su espalda, le quita el seguro y la cargafenter} Sleep, 1500 SendInput t/do *CLICK-CLACK* Arma lista para disparar{enter} 3 Else Sendinput t/me le pone el seguro a su escopeta y se la cuelga en la espaldafenter} 3 return (MP5) ! Shotgun) hola queria saber si me podrian ayudar, cree un scribd con autohotkey para que se ponga toda la pantalla negra y lo activo como un exe dos clic y se activa hasta ahi bien ahora lo que yo quiero es que para desactivar o cerrar ese scribd solo tenga que pulsar la tecla Esc las lineas son las siguentes que tendria que hacer para cerrarlo con esc j PONEMOS TODA LA PANTALLA EN NEGRO Gui, +toolwindow hitps:autonotcey.comiboardsiiewtopic php t=24168 sais 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community Gui, -Caption Gui, Color, black Gui, show, +toolwindow Maximize Top Post Reply Email topic Print view 1 post * Page 1 of 1. Return to “Tutoriales” Jump to AutoHotkey Foundation About This Community Forum Issues AutoHotkey Ask For Help Gaming Scripts and Functions Gaming Tutorials Wish List Bug Reports AutoHotkey v2 Development AutoHotkey_H Ask For Help Development Announcements Editors AHK Studio Pulovers Macro Creator SciTE4AutoHotkey ‘AutoGUI General Other Utilities & Resources Other Programming Languages Offtopic Other languages Deutsch (German) Ich brauche Hilfe Spiele Skripte und Funktionen Tutorials Tooltime Allgemeines "#3 (Chinese) RM HA SER MALTA Fee, Espafiol (Spanish) Pedir Ayuda Automatizacién de Juegos Scripts y Funciones hitps:autonotcey.comiboardsiiewtopic php t=24168 33104 21i9r2017 [ABC para Novatos 4: BUEN TUTORIAL EXTERNO - AutoHotkey Community + Tutoriales + Otras Utilidades y Recursos + General + Pycckwis (Russian) + Tomous . Ckpuntel ana Uirp * Ckpunrei w 6uGaMoTeKH * Craton w pykosonctsa + Apoune pecypest 1 NO. + Cao6oaHoe obweHne Francais (French) J'ai besoin d'aide Scripts et Fonctions Tutoriels Autres Utilitaires et Ressources Hors Sujet Who is online Users browsing this forum: No registered users and 0 guests Powered by phpBB® Forum Software © phpBB Limited Style by Arty hitps:autonotcey.comiboardsiiewtopic php t=24168

You might also like