COMO ASIGNAR COMANDO A BOTON ESPECIFICO

Esta sección es para preguntas sobre programación/scripting usando AutoHotkey.

Moderator: Flipeador

HUNK
Posts: 16
Joined: 12 Dec 2015, 13:37

COMO ASIGNAR COMANDO A BOTON ESPECIFICO

12 Dec 2015, 13:42

Hola que tal soy nuevo en este foro. Tal como dice el titulo quiero asignar un comando a un boton en particular.
en este caso, para hacer una accion hay que tocar dos veces un mismo boton, pues lo unico que quiero hacer es darle un boton diferente.
a y otra cosa, alguien sabe si se puede abrir dosbox con esto?? saludos
User avatar
Flipeador
Posts: 1146
Joined: 15 Nov 2014, 21:31
GitHub: Flipeador
Location: Argentina
Contact:

Re: COMO ASIGNAR COMANDO A BOTON ESPECIFICO

12 Dec 2015, 14:33

Hola,
¿un comando para hacer que?
este es un ejemplo con F1.

Code: Select all

F1::
if (A_TimeSincePriorHotkey<350) && (A_PriorHotkey=A_ThisHotkey) {
	SetTimer, _F1, Off
	ToolTip x2
	SetTimer, CT, -2000
} else {
	SetTimer, _F1, -350
	SetTimer, CT, -2000
}
return

_F1:
ToolTip x1
return

CT:
ToolTip
return
se puede abrir dosbox con esto??
nunca lo he usado, pero creería que si.
HUNK
Posts: 16
Joined: 12 Dec 2015, 13:37

Re: COMO ASIGNAR COMANDO A BOTON ESPECIFICO

12 Dec 2015, 15:03

mira el tema es este.
te pongo un ejemplo.
SUPONETE QUE PARA CORRER EN UN JUEGO, HAYA TE TOCAR DOS VECES LA TECLA "C" . Y ESTE JUEGO LO ABRO CON DOSBOX.

AHORA, LO QUE YO QUIERO ES CORRER CON LA TECLA W POR EJEMPLO CON SOLO PRESIONARLA UNA VEZ. AHORA BIEN, COMO HAGO ESO Y COMO LO GUARDO EN LAS OPCIONES DEL DOSBOX PARA QUE QUEDE ASI??? GRACIAS
User avatar
Flipeador
Posts: 1146
Joined: 15 Nov 2014, 21:31
GitHub: Flipeador
Location: Argentina
Contact:

Re: COMO ASIGNAR COMANDO A BOTON ESPECIFICO

13 Dec 2015, 09:05

¿que juego es?
puedes intentar algo como:

Code: Select all

w::
SendInput, c
Sleep, 20
SendInput, c
return
para abrir:

Code: Select all

DOSBox := "D:\Program Files\DOSBox-0.74\DOSBox.exe"
Mount := "C:\Tapper"

Run, "%DOSBox%" -c Mount "%Mount%"
HUNK
Posts: 16
Joined: 12 Dec 2015, 13:37

Re: COMO ASIGNAR COMANDO A BOTON ESPECIFICO

13 Dec 2015, 16:43

no entiendo de estas cosas me das una mano??
lo primero que pusiste de send input que es eso??

te repito que lo que quiero es reemplazar la accion de correr (en este caso es dos veces arriba) por el boton shift left.

como seria el tema???

sendinput KEY UP X 2 o algo asi??? xq no te olvides que tengo que presionarlo dos veces el boton arriba.
saludos
HUNK
Posts: 16
Joined: 12 Dec 2015, 13:37

Re: COMO ASIGNAR COMANDO A BOTON ESPECIFICO

13 Dec 2015, 18:23

donde tengo que poner la tabla?

w::
SendInput, c
Sleep, 20
SendInput, c
return

en el cript del juego o del box?

veo que funciono porque al teclear la ece me aparece ----------> key_upkey_up
User avatar
Flipeador
Posts: 1146
Joined: 15 Nov 2014, 21:31
GitHub: Flipeador
Location: Argentina
Contact:

Re: COMO ASIGNAR COMANDO A BOTON ESPECIFICO

13 Dec 2015, 18:53

¿que tabla?
¿te funciona bien?, o ¿que ves que falta ajustar?

yo también te repito que nunca e usado ese programa y no se que es lo que quieres hacer exactamente, si quieres te dije que me digas el nombre del juego para ver bién como quieres que trabaje el script.
me dijiste que necesitas que al apretar la W tenga la misma función que apretar la C x2... eso hace el script con "sendinput" que te puse arriba.

para precionar el boton arriba usa: SendInput, {Up}
Windws 1♂ Pro 64-Bits I make scripts for AHKv2 (my v2 compiler) & WIN_7+ Spanish Argentina
(If any of my code written for v2 has stopped working, send me a private message. I appreciate that you correct my English.)
HUNK
Posts: 16
Joined: 12 Dec 2015, 13:37

Re: COMO ASIGNAR COMANDO A BOTON ESPECIFICO

13 Dec 2015, 20:58

hice esto pero no sirve

s::
SendInput,{Up}
Sleep,20/1000
SendInput,{Up}
return

lo puse entre corechetes pero no va. o quizas en ves de poner up haya q poner key_Up
HUNK
Posts: 16
Joined: 12 Dec 2015, 13:37

Re: COMO ASIGNAR COMANDO A BOTON ESPECIFICO

14 Dec 2015, 16:01

puse esto

{
n::
SendInput,{Up}
Sleep,20
SendInput,{Up hold}
return
{
DOSBox := "D:\Program Files\DOSBox-0.74\DOSBox.exe"
Mount := "C:\Tapper"
Run, "%DOSBox%" -{Up hold} Mount "%Mount%"
}

tambien si la parte que empieza con dosbox. la puse en el script del juego pero nada.

despues probe con poner este en las opciones del dopbox

DOSBox := "D:\Program Files\DOSBox-0.74\DOSBox.exe"
Mount := "C:\Tapper"

Run, "%DOSBox%" -c Mount "%Mount%"

pero tampoco pasa nada.

donde tengo que poner lo que me mandaste como respuesta el domingo???
no te puedo decir el juego porque es una idea que estoy armando
TENES FACEBOOK O ALGO?? ASI HABLAMOS MAS SEGUIDO ME VENDRIA BIEN TU AYUDA. SALUDOS
HUNK
Posts: 16
Joined: 12 Dec 2015, 13:37

Re: COMO ASIGNAR COMANDO A BOTON ESPECIFICO

16 Dec 2015, 00:51

bueno estuve probando ambas opciones tanto de pink como flipeador pero aun asi no funciona, es algo muy simple ademas
LES COMENTO QUE TANTO EL JUEGO COMO EL PROGRAMA se encuentran en el disco C. El dos box esta en archivos de programaX86 y el la imagen
del juego en el disco C pero una subcarpeta NO EN ARCHIVOS de programa.
en fin les mando el script que trato de editar. van a ver que puse algunas cosas mias como key up y demas.
otra cosa importante que les queria decir es lo siguiente lean con atencion.
EN EL JUEGO, LA ACCION DE CORRER SE REALIZA TECLEANDO DOS VECES LA TECLA ARRIBA,Y LA SEGUNDA VEZ QUE LA PRESIONO LA MANTENGO PRESIONADA ME ENTIENDEN?
SOLO QUERIA QUE ESTA MOLESTIA SE REEMPLAZE CON SOLO TECLEAR UNA VEZ LEFT SHIFT O LEFT CONTROL POR EJEMPLO.

COMO VAN A VER, EN EL ARCHIVO AHK QUE LES SUBO BORRE EL NOMBRE DEL JUEGO PARA NO MOSTRAR.
XXXX ES UNA SUBCARPETA CON EL NOMBRE DEL JUEGO Y GAME.BIN ES LA IMAGEN DEL MISMO. ESPERO NO LES MOLESTE.

SALUDOS Y ESPERO RESPUESTA. ESTO DEBE SER FACIL JEJE
Attachments
game.ahk
(1.52 KiB) Downloaded 103 times
HUNK
Posts: 16
Joined: 12 Dec 2015, 13:37

Re: COMO ASIGNAR COMANDO A BOTON ESPECIFICO

16 Dec 2015, 14:00

Bueno tal parece ser que no me deja correrlo, no se que pasa. puse la direccion del dos box y del juego tal cual esta en mi pc.
ambos estan en el disco C. incluso probe poniendolo aparte como floy me dice pero no pasa nada. a ver si me ayudan por favor como puede ser que no ande.
HUNK
Posts: 16
Joined: 12 Dec 2015, 13:37

Re: COMO ASIGNAR COMANDO A BOTON ESPECIFICO

16 Dec 2015, 14:38

bueno probe con esto pero no pasa nada.

#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.

SetTitleMatchMode 2
SetTitleMatchMode Slow
run C:\Documents and Settings\All Users\Menú Inicio\Programas\DOSBox-0.74\Options\DOSBox 0.74 Options.lnk,
WinWait, ahk_class Notepad, dosbox
Send ^{End}
Send mount c "c:\DOS\xxxx\GAMECD.bin"`nc:`ncall aitd.bat
Send imgmount d "c:\DOS\xxxx\GAMECD.cue" -t cdrom`nc:`ncall aitd.bat
Send c:`nc:`ncall aitd.bat
Send !{F4}
Send {Enter}
Sleep, 800
{
DOSBox := "C:\Program Files\DOSBox-0.74\DOSBox.exe"
Mount := "C:\Dos\xxxx\GAMECD.bin"

Run,"C:\Archivos de programa\DOSBox-0.74\DOSBox.exe" -c Mount, "C:\Dos\xxxx\GAMECD.bin"

W::Send, {Up 2}
}

run C:\Archivos de programa\DOSBox-0.74\DOSBox.exe

se cuelga el juego al arrancar. so se si es temporal
HUNK
Posts: 16
Joined: 12 Dec 2015, 13:37

Re: COMO ASIGNAR COMANDO A BOTON ESPECIFICO

16 Dec 2015, 16:46

Haber.
En el juego, para que el personaje pueda correr, hay que pulsar 2 veces la flecha arriba. (ustedes ya saben que me refiero siempre a las teclas de teclado)
La 2da vez que presionas debes mantener presionado, sino dejara de correr. ↑, ↑ (presionado) = correr
Yo lo que quiero hacer es que pulsando otra y solo una tecla, corra. Que tenga asignado ese patron.
Tambien, quiero que una vez que sueltes la tecla el personaje deje de correr.
HUNK
Posts: 16
Joined: 12 Dec 2015, 13:37

Re: COMO ASIGNAR COMANDO A BOTON ESPECIFICO

20 Dec 2015, 19:46

no funciona. que raro.
decime dos cosas: el punto y coma es por algo???
y lo segundo: porque en el ejemplo pusiste entre parentesis ademas de la w la u??

el script que me pasaste tengo que ponerlo en alguna parte en especial en el script del juego??
User avatar
Flipeador
Posts: 1146
Joined: 15 Nov 2014, 21:31
GitHub: Flipeador
Location: Argentina
Contact:

Re: COMO ASIGNAR COMANDO A BOTON ESPECIFICO

20 Dec 2015, 20:40

el parámetro U no hace nada en GetKeyState().
Prueba:

Code: Select all

Loop {
	ToolTip % GetKeyState("w", "U")
	Sleep 500
}
es exactemene lo mismo que:

Code: Select all

Loop {
	ToolTip % GetKeyState("w", "ASD")
	Sleep 500
}
lo correcto seria usar (bueno, en realidad, en este caso, funciona igual con "U", ya que es lo mismo que no espesificar nada):

Code: Select all

Loop {
	ToolTip % GetKeyState("w", "P")
	Sleep 500
}
"" = recupera el estado lógico, que es lo mismo que "P" a menos que se use #InstallKeybdHook o #InstallMouseHook, donde actúa con precisión si el usuario esta presionando físicamente la tecla.
"P" = verdadero si la tecla está siendo presionada
"T" = verdadero si la tecla está activada (CapsLock, NumLock...)
igualmente, al parecer Send, {Up Down} no está funcionando, ya que parece que esto tiene el mismo efecto:

Code: Select all

w::SendInput, {Up}
HUNK
Posts: 16
Joined: 12 Dec 2015, 13:37

Re: COMO ASIGNAR COMANDO A BOTON ESPECIFICO

20 Dec 2015, 21:16

hola floyd te cuento lo que paso. no funciono lo que me mandaste.asi que te paso el script del juego y el juego portable para que me ayudes a terminar con esto.
si tenes mail por favor pasamelo porque por aca no puedo. te mando una carpeta del juego y todo. saludos
Attachments
aitd.ahk
(577 Bytes) Downloaded 70 times
HUNK
Posts: 16
Joined: 12 Dec 2015, 13:37

Re: COMO ASIGNAR COMANDO A BOTON ESPECIFICO

20 Dec 2015, 22:18

floyd, soy yo de nuevo. ya te mande el script, ahora aca te mando un link de DATA FILE HOST donde subi la carpeta del juego. Ojala puedas ayudarme ya llevo casi 3 semanas en esto :headwall: :headwall: :headwall: :headwall:
no te olvides el script que te subi anteriormente.

bueno aca el link saludos: http://www.datafilehost.com/d/15eb52ac
HUNK
Posts: 16
Joined: 12 Dec 2015, 13:37

Re: COMO ASIGNAR COMANDO A BOTON ESPECIFICO

21 Dec 2015, 13:43

vos decis el script?? bueno ahora te lo subo
aca el link depaso vuelvo a poner el del juego.

SCRIPT http://www.datafilehost.com/d/48e274d5

JUEGO http://www.datafilehost.com/d/15eb52ac
HUNK
Posts: 16
Joined: 12 Dec 2015, 13:37

Re: COMO ASIGNAR COMANDO A BOTON ESPECIFICO

21 Dec 2015, 21:36

mira, si no te llega a andar, pasame un mail. ojala tengas.
User avatar
Flipeador
Posts: 1146
Joined: 15 Nov 2014, 21:31
GitHub: Flipeador
Location: Argentina
Contact:

Re: COMO ASIGNAR COMANDO A BOTON ESPECIFICO

22 Dec 2015, 08:04

HUNK, si Send, {Up Down} no te funciona, no creo que haya otra manera de hacerlo funcionar en el juego...
esto debería de hacer lo que quieres (precionar arriba 2 veces pero la 2da mantenerlo apretado hasta soltar la "w"), pero no lo hace...

Code: Select all

w::
SendInput, {Up}
Sleep, 10
SendInput, {Up Down} ;no funciona 
KeyWait, w
SendInput, {Up Up}
return

el juego, ¿como se llama?, el link que pasaste me descarga un .rar de nombre "a" pero no veo el juego, solo veo dosbox...
el script que pasaste es bastante confuso, ¿que es Send mount c "d:\Games\DOS"`nc:`ncall al.bat?
tienes que usar:

Code: Select all

DOSBox := "C:\Program Files\DOSBox-0.74\DOSBox.exe"
Mount := "C:\DOS\AITD\INFOGRAM\INDARK"
Run, "%DOSBox%" -c Mount "%Mount%"
y luego cuando abre la consola, escribis INDARK y deberia de ejecutar el juego.

Return to “Pedir Ayuda”

Who is online

Users browsing this forum: No registered users and 30 guests