Problema Con Bot De Video Juego

RoBots_Hard: Electrónica, OCR, WebCams, Reconocimiento de objetos, maquinas
DarkProvex
Mensajes: 16
Registrado: 27 Oct 2009, 13:03

Problema Con Bot De Video Juego

Mensaje por DarkProvex »

Bueno primero les saludo y les felicito por este gran foro donde aprendemos todos...

pero aqui viene lo feo...llevo una par de dias haciendo jugo de neuronas tratando de que cuando el bot reconozca el pixel de salida y envie la box con los botones de reintentar o cancelar pasado unos segundos el mouse haga click en reintentar y asi siga funcionando

ojala me echen una manito...pq ya llevo varios dolores de cabeza con esto

les dejo el codigo pq la verdad no se donde como o que hacer ^^

Opt("WinWaitDelay", 100)
Opt("WinTitleMatchMode", 4)
Opt("WinDetectHiddenText", 1)
Opt("PixelCoordMode", 2)
Opt("MouseCoordMode", 2)
WinWait("CABAL", "")
If Not WinActive("CABAL", "") Then WinActivate("CABAL", "")
WinWaitActive("CABAL", "")
Send("{UP 30}")
MouseWheel("down",25)
$title_b = "CABALBOT"
$Process = WinGetProcess($title_b, "")


$Pickup = 0
Global $lastaction = 0


While $Pickup = 0
$Color3 = PixelGetColor(448, 398) ;
If $Color3 = 0x000000 Then ;
$Color3 = 0
Call("Terminate")
Else
Send("{space 5}")
Send("1")
sleep(10)
Send("2")
sleep(10)
Send("3")
sleep(10)
send("1")
sleep(10)
send("2")
sleep(10)
Send("6")
sleep(10)
send("7")
sleep(10)
Send("8")
Call("HealFindMonster")
EndIf

WEnd


Func FIGHT()
Sleep(10)
Send("{1 2}")
Sleep(10)
Send("{2 2}")
Sleep(10)
send("{3 2}")
Sleep(10)
send("{4 2}")
Sleep(10)
Send("{SPACE 4}")
Send("1")
Send("2")
Send("3")
Send("6")
send("7")
Send("8")
Call("HealFindMonster")

EndFunc

Func Terminate()
$MB_MsgBoxButtons = 5
$MB_Cancel = 2
if MsgBox($MB_MsgBoxButtons, $title_b, "Tai Seguro Wn??") == $MB_Cancel Then <--- aqui es donde sale el box... :smt013
EXIT
EndIf
EndFunc



Func HealFindMonster()

$Color1 = PixelGetColor(132,28) ;
If $Color1 = 2105376 Then ;
$Color1 = 0
Send("0")
Sleep(100)
EndIf
$Color = PixelGetColor(653,7) ;
If $Color = 14935010 Then
$Color = 0
Call("FIGHT")
Else


$coord = PixelSearch( 100, 100, 1024, 718, 0XE1DE0C, 50, 2)
If Not @error Then
MouseMove($coord[0],$coord[1],0)
MouseClick("left",$coord[0],$coord[1])
EndIf
EndIf

EndFunc

se agradece vuestra ayuda ^^
DarkProvex
Mensajes: 16
Registrado: 27 Oct 2009, 13:03

Re: Problema Con Bot De Video Juego

Mensaje por DarkProvex »

estuve pensando en anular la deteccion de pixel de salida y ponerle un hotsetkey etc etc

pero mi pregunta es donde pongo el codigo que seria este

HotkeySet ("{ESC}","Terminate")

para que al presionar la tecla escape envie llame la func terminate y salga el mensajito ese no se si va en el while o en otro lado
pero lo he puesto en mil lugares y nada alguien que me eche una manito se agradece de antemano ^^
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2085
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: Problema Con Bot De Video Juego

Mensaje por BasicOs »

Es que te equivocaste al escribirlo es así: HotKeySet ("{ESC}","Terminate") :smt021 :smt021
Por cierto, si usas el Scite te corrige automaticamente las funciones, y les pone un color para que las veas más definidas.
Salu2:)
DarkProvex
Mensajes: 16
Registrado: 27 Oct 2009, 13:03

Re: Problema Con Bot De Video Juego

Mensaje por DarkProvex »

si asi lo escribi de la manera correcta pero no entiendo ....intente todo por todos lados y no me toma la maldita tecla...o sea queda andando y no se detiene a menos que resetee el pc >_< y eso ya me tiene con un dolor de cabeza del porte de un tren... >_< ya no se que mas hacer u.u

esto pas apor ser un novatillo en esto del autoit...no me toma ni processclose ni el hotkeyset ni nada...ojala me dieran la solucion a este dilema...help!!
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: Problema Con Bot De Video Juego

Mensaje por Ximorro »

Puede ser que el juego haya capturado esa tecla, o que haya anulado totalmente la funcionalidad de HotKeySet.
(Por cierto lo tenías bien escrito, AutoIt no distingue entre mayúsculas y minúsculas en nombres de funciones o variables)

Así que como primera prueba intenta otras teclas diferentes a ESC, a ver si es que casualmente esa tecla no te deja usarla.

Si pruebas unas cuantas y no hay manera será que HotKeySet está bloqueado, en ese caso lo podrías hacer con _IsPressed. En ese caso tienes que estar mirando continuamente la tecla (dentro del while) pero en casos donde HotKeySet no me iba con eso lo he hecho.

Míralo y si no te aclaras a usarlo nos lo dices, si es que te hace falta.

Saludos saludetesss
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
DarkProvex
Mensajes: 16
Registrado: 27 Oct 2009, 13:03

Re: Problema Con Bot De Video Juego

Mensaje por DarkProvex »

metiendole mano al codigo lo deje asi

HotKeySet("{ESCAPE}", "Puerta")
Opt("WinWaitDelay", 100)
Opt("WinTitleMatchMode", 4)
Opt("WinDetectHiddenText", 1)
Opt("PixelCoordMode", 2)
Opt("MouseCoordMode", 2)

WinWait("CABAL", "")
If Not WinActive("CABAL", "") Then WinActivate("CABAL", "")
WinWaitActive("CABAL", "")
Send("{UP 30}")
MouseWheel("down",25)
$title_b = "CABAL"
$Process = WinGetProcess($title_b, "")

$Pickup = 0
Global $lastaction = 0

While $Pickup = 0
$lanzador = 0
If $lanzador = 1 Then
Call("Salida")
Else
Send("{space 5}")
Send("1")
sleep(100)
Send("2")
sleep(100)
Send("3")
sleep(100)
send("1")
sleep(100)
send("2")
sleep(100)
Send("6")
sleep(100)
send("7")
sleep(100)
Send("8")
Call("Buscando")
EndIf
WEnd

Func Ataque()
Sleep(100)
Send("{1 2}")
Sleep(100)
Send("{2 2}")
Sleep(100)
send("{3 2}")
Sleep(100)
send("{4 2}")
Sleep(100)
Send("{SPACE 4}")
Send("1")
Send("2")
Send("3")
Send("6")
send("7")
Send("8")
Call("Buscando")
EndFunc

Func Puerta()
$lanzador = 1
EndFunc


Func Salida()
$MB_MsgBoxButtons = 5
$MB_Cancel = 2
If MsgBox($MB_MsgBoxButtons, $title_b, "Tai Seguro Wn??") == $MB_Cancel Then
Exit
EndIf
EndFunc

Func Buscando()
$Color1 = PixelGetColor(132,28) ;
If $Color1 = 2105376 Then ;
$Color1 = 0
Send("0")
Sleep(100)
EndIf
$Color = PixelGetColor(653,7) ;
If $Color = 14935010 Then
$Color = 0
Call("Ataque")
Else
$coord = PixelSearch( 100, 100, 1024, 718, 0XE1DE0C, 50, 2)
If Not @error Then
MouseMove($coord[0],$coord[1],0)
MouseClick("left",$coord[0],$coord[1])
EndIf
EndIf
EndFunc

esta un poco mas ordenadito y lo entiendo mejor... pero el hotkeyet no me funka...funcionan todas las demas cosas pero naranjas con el hotkey

ademas vi tu recomendacion y probe con las 107 teclas del teclado (valga la rebundancia) y nada asi que tendre que ver eso de ispressed pero no me queda claro aun el uso de esa funcion >-<*
DarkProvex
Mensajes: 16
Registrado: 27 Oct 2009, 13:03

Re: Problema Con Bot De Video Juego

Mensaje por DarkProvex »

al fin!!!!

despues de estar pensando en la solucion del ispressed he dado con la clave y pum funciona!!!

asi que les agradesco mucho vu8estra ayuda y les dejo el codigo por si a alguien le sirve jiji


#include <Misc.au3>


Opt("WinWaitDelay", 100)
Opt("WinTitleMatchMode", 4)
Opt("WinDetectHiddenText", 1)
Opt("PixelCoordMode", 2)
Opt("MouseCoordMode", 2)

WinWait("CABAL", "")
If Not WinActive("CABAL", "") Then WinActivate("CABAL", "")
WinWaitActive("CABAL", "")
Send("{UP 30}")
MouseWheel("down",25)
$title_b = "CABALBOT V 2.0 By Dark Provex"
$Process = WinGetProcess($title_b, "")
$dll = DllOpen("user32.dll")



$Pickup = 0
Global $lastaction = 0

While $Pickup = 0
Sleep ( 250 )
If _IsPressed("23", $dll) Then
$MB_MsgBoxButtons = 5
$MB_Cancel = 2
If MsgBox($MB_MsgBoxButtons, $title_b, "Tai Seguro Wn??") == $MB_Cancel Then
Exit
ExitLoop
DllClose($dll)
EndIf
Else

Send("{space 5}")
Send("1")
sleep(10)
Send("2")
sleep(10)
Send("3")
sleep(10)
send("1")
sleep(10)
send("2")
sleep(10)
Send("6")
sleep(10)
send("7")
sleep(10)
Send("8")
Call("Buscando")
EndIf
WEnd

Func Ataque()
Sleep(10)
Send("{1 2}")
Sleep(10)
Send("{2 2}")
Sleep(10)
send("{3 2}")
Sleep(10)
send("{4 2}")
Sleep(10)
Send("{SPACE 4}")
Send("1")
Send("2")
Send("3")
Send("6")
send("7")
Send("8")
Call("Buscando")
EndFunc

Func Puerta()
$lanzador = 1
EndFunc


Func Buscando()
$Color1 = PixelGetColor(132,28) ;
If $Color1 = 2105376 Then ;
$Color1 = 0
Send("0")
Sleep(100)
EndIf
$Color = PixelGetColor(653,7) ;
If $Color = 14935010 Then
$Color = 0
Call("Ataque")
Else
$coord = PixelSearch( 100, 100, 1024, 718, 0XE1DE0C, 50, 2)
If Not @error Then
MouseMove($coord[0],$coord[1],0)
MouseClick("left",$coord[0],$coord[1])
EndIf
EndIf
EndFunc

un abrazo fraternal a todos y nada mas que decir muchisimas gracias ^^
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: Problema Con Bot De Video Juego

Mensaje por Ximorro »

Bueno bueno, esto no tiene secretos para ti ;-)

Una cosa, fíjate en el orden de lo que tienes en el If MsgBox(...) == $MB_Cancel

Si pones
Exit
ExitLoop
DllClose($dll)

El Exit acaba el programa ahí mismo, así que las otras dos no se ejecutan. Lo primero que tienes que hacer es cerrar la dll, después salir. ExitLoop sale del bucle, Exit sale del programa, como fuera del bucle no tienes nada en este caso son equivalentes, pero los dos juntos no tienen sentido, uno impediría la ejecución del otro. Así que esas 3 líneas yo las dejaría en:
DllClose($dll)
Exit

O si más adelante pones cosas fuera del bucle y sí tienen que ejecutarse, pues en vez de Exit pones un ExitLoop (pero no los dos).

Me alegro de haber sido de ayuda, pero te lo has currado tú, muy bien.

Taluec
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
DarkProvex
Mensajes: 16
Registrado: 27 Oct 2009, 13:03

Re: Problema Con Bot De Video Juego

Mensaje por DarkProvex »

tendre en cuenta tu consejo para la version 3 de este proyectito...claro que ahora estoy estudiando lo de las GUI y esas cosas para ponerle mas parafernalia y que no sea tan simplon...

mi duda es... en autoit hay alguna manera de que un script reconozca texto dentro de la pantalla o ventana activa en ese momento? pq el reconocimiento de colores de pixel en la ventana funciona pero... >_< tiene sus problemas...se queda pegado en lo amarillo y etc etc...es algo sin importancia pero a la vez es molesto por eso pensaba en la opcion de mi pregunta que busque el texto (en este caso nombre de los mobs) y los haga pupa xD y asi poder ejecutarlo en cualquier lado ya que si tu nivel es muy alto el nombre de los mobs se va poniendo gris y eso me jode >-< (aunque hay soluciones alternas como bajarte el nivel pero es una lata) asi que ojala los capos y maestros del mago autoit me saquen de estos bucles duditativos xD

un saludo a todos ^^
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: Problema Con Bot De Video Juego

Mensaje por Ximorro »

AutoIT puede buscar texto "normal" en ventanas, como los textos de los botones, etiquetas, cajas de texto, etc...

Pero en un juego a saber cómo dibujan ese texto, me temo que vas a tener que seguir con el tema de los colores.
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
DarkProvex
Mensajes: 16
Registrado: 27 Oct 2009, 13:03

Re: Problema Con Bot De Video Juego

Mensaje por DarkProvex »

ufff 2 largos años abandonado este proyecto pero bueno aqui estamos de nuevo ^^, me acorde del foro ya que perdi el codigo fuente de mi bot xD! jaja, la cosa es que estos dias he estado tratando de hacer que el p... bot me tome texto dentro de la pantalla del cabal, es decir ejemplo un bicho de llama Moscutter , cuando el mouse pasa por encima se convierte en [Moscutter] y leyendo por aqui y por alla no logro dar con la funcion que en vez de hacer un pixel search busque el texto e inicie la funcion siguiente, que seria atacar y recolectar el drop...

Ojala los maestros del AI me echen una manito para empezar a armar eso y claro, si funciona como mi primer proyecto compartirles el codigo ^^

Un saludo fraternal ^^

P.D: is disculpa por no venir al foro...pero cuando llega una hija tu tiempo ya no existe jaja
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2085
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: Problema Con Bot De Video Juego

Mensaje por BasicOs »

DarkProvex escribió:ufff 2 largos años abandonado este proyecto pero bueno aqui estamos de nuevo ^^,

P.D: is disculpa por no venir al foro...pero cuando llega una hija tu tiempo ya no existe jaja
Disculpas nada, bienvenido por acordarte de nosotros, y felicidades por la niña!!!
Creo que guardando el texto que tienes que buscar previamente, tendrías que ejecutar la busqueda del texto/grafico refiriendote a lo guardado. ¿Tienes creado código nuevo?.
Es posible que alguien haya realizado algo parecido. :)
Salu22:)
DarkProvex
Mensajes: 16
Registrado: 27 Oct 2009, 13:03

Re: Problema Con Bot De Video Juego

Mensaje por DarkProvex »

la verdad estuve mirando por aqui y por alla y naranjas no hay similar o creo que no busque bien, en todo caso, he estado leyendo algunos tut de autoit y en ninguno aparece una funcion o instruccion que haga lo que busco, pero bueno seguir buscando la solucion hasta llegar al fin que se desea xD
DarkProvex
Mensajes: 16
Registrado: 27 Oct 2009, 13:03

Re: Problema Con Bot De Video Juego

Mensaje por DarkProvex »

soy un desconsiderado....

despues de poner el codigo aqui hice algunas modificaciones para que esteticamente se viera mejor asi que les comparto el codigo del 3.0 rc1 ya que el 30 final sera el que lea los textos dentro de la pantalla del juego xD!

#include <Misc.au3>


Opt("WinWaitDelay", 100)
Opt("WinTitleMatchMode", 4)
Opt("WinDetectHiddenText", 1)
Opt("PixelCoordMode", 2)
Opt("MouseCoordMode", 2)

WinWait("CABAL", "")
If Not WinActive("CABAL", "") Then WinActivate("CABAL", "")
WinWaitActive("CABAL", "")
Send("{UP 30}")
MouseWheel("down",25)
$title_b = "CABAL AutoBOT V 3.0 RC1 By Dark Provex"
$Process = WinGetProcess($title_b, "")
$dll = DllOpen("user32.dll")



$Pickup = 0
Global $lastaction = 0

While $Pickup = 0
Sleep ( 250 )
If _IsPressed("23", $dll) Then
If MsgBox(4, $title_b, "Estas Seguro Que Deseas Salir? ") == 6 Then
DllClose($dll)
Exit
ExitLoop
DllClose($dll)
EndIf
Else
WinActivate("CABAL", "")
Send("{space 5}")
Send("1")
sleep(10)
Send("2")
sleep(10)
Send("3")
sleep(10)
send("1")
sleep(10)
send("2")
sleep(10)
Send("6")
sleep(10)
send("7")
sleep(10)
Send("8")
Call("Buscando")
EndIf
WEnd

Func Ataque()
Sleep(10)
Send("{1 2}")
Sleep(10)
Send("{2 2}")
Sleep(10)
send("{3 2}")
Sleep(10)
send("{4 2}")
Sleep(10)
Send("{SPACE 4}")
Send("1")
Send("2")
Send("3")
Send("6")
send("7")
Send("8")
Call("Buscando")
EndFunc

Func Puerta()
$lanzador = 1
EndFunc


Func Buscando()
$Color1 = PixelGetColor(132,28) ;
If $Color1 = 2105376 Then ;
$Color1 = 0
Send("0")
Sleep(100)
EndIf
$Color = PixelGetColor(653,7) ;
If $Color = 14935010 Then
$Color = 0
Call("Ataque")
Else
$coord = PixelSearch( 100, 100, 1024, 718, 0XE1DE0C, 50, 2)
If Not @error Then
MouseMove($coord[0],$coord[1],0)
MouseClick("left",$coord[0],$coord[1])
EndIf
EndIf
EndFunc

saludillos
DarkProvex
Mensajes: 16
Registrado: 27 Oct 2009, 13:03

Re: Problema Con Bot De Video Juego

Mensaje por DarkProvex »

bueno bueno...despues de quebrarme la cabeza logre hacer un codigo que lea la memoria del juego (ayudado de cheat engine claro xD)

Código: Seleccionar todo

#include <GUIConstants.au3>
#include <NomadMemory.au3>
#include <Array.au3>

GUICreate("Cabal AutoBOT 3.0 Final Version By Dark Provex")
GUISetState ()
$Proceso1 = WinGetProcess("CABAL")
GUICtrlCreateLabel("Ingresa La Direccion Obtenida En Cheat Engine", 40, 30)
$Memoria = GUICtrlCreateInput( "0x",40, 50,100) ;aqui se insertaria la address a buscar
$Boton1 = GUICtrlCreateButton ("Presiona Para Buscar",  40, 80, 150)
GUICtrlCreateLabel("En Este Momento Buscas Al Mob Llamado:",40,120)
$Mensaje1 = GUICtrlCreateLabel("",80, 150, 100,100)

While 1
    $msg = GUIGetMsg()
    Select
        Case $msg = $GUI_EVENT_CLOSE
            ExitLoop
        Case $msg = $Boton1
			$Mem_Abrir = _MemoryOpen($Proceso1) 
			$Mem_Leer = _MemoryRead(GUICtrlRead($Memoria), $Mem_Abrir, "char[17]") ;aqui se supone que se lee el valor
			_MemoryClose($Mem_Abrir) ; aqui se chinga la memoria o sea se cierra xD!
			
			GUICtrlSetData($Mensaje1,$Mem_Leer ) ; aqui deberia mostrar que bicho estas buscando
			
    EndSelect
Wend
este seria el codigo....ahora mi pregunta es...sirve todo esto para localizar un mob en la pantalla, por que si es asi le agrego el resto y quedaria listo el bot

ojala me echen una manito

saludos cordiales
DarkProvex
Mensajes: 16
Registrado: 27 Oct 2009, 13:03

Re: Problema Con Bot De Video Juego

Mensaje por DarkProvex »

bueno aca estoy de nuevo...y metiendole mano a esto..ya consegui unir el bot al codigo pero.... no lee el string que da la memoria y ya no se me ocurre que mas moverle..dejo codigo para que me digan donde estoy cayendome

P.D: hay una parte que no modifique por que no entiendo como hacerle..

Código: Seleccionar todo

#include <GUIConstants.au3>
#include <NomadMemory.au3>
#include <Array.au3>
#include <Misc.au3>
#include <string.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
Opt("WinWaitDelay", 100)
Opt("WinTitleMatchMode", 4)
Opt("WinDetectHiddenText", 1)
Opt("PixelCoordMode", 2)
Opt("MouseCoordMode", 2)

WinWait("CABAL", "")
If Not WinActive("CABAL", "") Then 
WinActivate("CABAL", "")
WinWaitActive("CABAL", "")
Send("{UP 30}")
MouseWheel("down",25)
$dll = DllOpen("user32.dll")
GUICreate("Cabal AutoBOT 3.0 Final Version By Dark Provex")
$tittle_b = "CABAL AutoBOT V 3.0 Final Version By Dark Provex"
GUISetState ()
$Proceso1 = WinGetProcess("CABAL")
GUICtrlCreateLabel("Ingresa La Direccion Obtenida En Cheat Engine", 40, 30)
$Memoria = GUICtrlCreateInput( "0x",40, 50,100) ;aqui se insertaria la address a buscar
$Boton1 = GUICtrlCreateButton ("Presiona Para Buscar",  40, 80, 150)
$Boton2 = GUICtrlCreateButton ("Iniciar Bot",  120, 300, 150)
GUICtrlCreateLabel("En Este Momento Buscas Al Mob Llamado:",40,120)
$Mensaje1 = GUICtrlCreateLabel("",80, 150, 500,150)

While 1
    $msg = GUIGetMsg()
    Select
        Case $msg = $GUI_EVENT_CLOSE
            ExitLoop
        Case $msg = $Boton1
			$Mem_Abrir = _MemoryOpen($Proceso1) 
			$Mem_Leer = _MemoryRead(GUICtrlRead($Memoria), $Mem_Abrir, "char[17]") ;aqui se supone que se lee el valor
			GUICtrlSetFont(-1, 16, Default, "Arial")
			GUICtrlSetColor(-2, "0xff0000")
			GUICtrlSetData($Mensaje1,$Mem_Leer ) ; aqui deberia mostrar que bicho estas buscando
		
		Case $msg = $boton2
			$Pickup = 0
			Global $lastaction = 0

	
				While $Pickup = 0
				Sleep ( 250 )
					If _IsPressed("23", $dll) Then
						If MsgBox(4, $tittle_b, "Estas Seguro Que Deseas Salir?                               ") == 6 Then
							DllClose($dll)
							Exit
						ExitLoop
						EndIf
					Else
						WinActivate("CABAL", "")
						If $Mem_leer <> 0 Then
						 Call("ataque")
					 Else
						call("buscando")
						
					endif
					endif
				WEnd
				_MemoryClose($Mem_Abrir)
		EndSelect				

WEnd
EndIf

Func Buscando()
$Color1 = PixelGetColor(132,28) ;
If $Color1 = 2105376 Then ;
$Color1 = 0
Send("0")
Sleep(100)
EndIf
$Color = PixelGetColor(653,7) ;
If $Color = 14935010 Then
$Color = 0
Call("Ataque")
Else
$coord = PixelSearch( 100, 100, 1024, 718, 0X000000, 50, 2) ;esta parte no la saque
If Not @error Then
MouseMove($coord[0],$coord[1],0)
MouseClick("left",$coord[0],$coord[1])
EndIf
EndIf
EndFunc

func ataque()
							 
								
						Send("{space 5}")
  						Send("1")
						sleep(10)
						Send("2")
						sleep(10)
						Send("3")
						sleep(10)
						send("1")
						sleep(10)
						send("2")
						sleep(10)
						Send("6")
						sleep(10)
						send("7")
						sleep(10)
						Send("8")
						EndFunc
ahora me voy a descansar un poco..me pillo el amanecer aqui cabeceandome con esto..

la idea es conseguir que el pixelsearch sea inutil y que solo buscando el nombre via memory address el mouse vaya a la coordenada y ataque...(creo que la pido dificil)
DarkProvex
Mensajes: 16
Registrado: 27 Oct 2009, 13:03

Re: Problema Con Bot De Video Juego

Mensaje por DarkProvex »

probando y metiendole mano logre que me detectara el teexto en la pantalla del juego agregando esta opcion

If StringInStr($mem_leer , "Garlie") Then
Call("ataque")

y funciona al fin...ahora falta que el mouse se mueva a la posicion del texto y ejecute la funcion...jejeje...poco a poco voy llegando...
Avatar de Usuario
ms999
Hacker del Foro
Mensajes: 116
Registrado: 26 Ene 2011, 06:13

Re: Problema Con Bot De Video Juego

Mensaje por ms999 »

la posicion la podes sacar por pixelsearch si tenes algun problema con la funcion avisa que aca te ayudamos.
DarkProvex
Mensajes: 16
Registrado: 27 Oct 2009, 13:03

Re: Problema Con Bot De Video Juego

Mensaje por DarkProvex »

pues me seria de gran ayuda saber como lograr que si stringinstr ve el texto por ejemplo "garlie" mueva el mouse hacia alli y ejecute una funcion, pixelsearch no creo que sirva ya que ese comando busca un color...no busca strings...

o sea lo que quiero hacer es que detecte el string que se lee en la memoria y que detecta en la pantalla y con eso obtenga coordenadas para el mouse se mueva hacia alli, he buscado por todos lados y solo hay complementos para internet explorer pero es raro que no haya para una pantalla en especial.

por mas que trato de encontrar la manera de transformar dicho texto en coordenadas no la pillo.

bueno espero vuestra respuesta

saludos cordiales ^^
DarkProvex
Mensajes: 16
Registrado: 27 Oct 2009, 13:03

Re: Problema Con Bot De Video Juego

Mensaje por DarkProvex »

bueno intente pedir ayuda en el foro eningles y resultaron ser unos cerrados de cabeza...solo saben decir lee las reglas del foro las lei y al final con autoit no se puede hacer nada entretenido... sorry que lo diga asi pero pense que era un buen foro y resulto ser basurita xD

bueno sigo cabeceandome con este programa y bueno agradezco una vez mas la ayuda brindada...ya que en este foro si saben ayudar a quienes quieren aprender ^^
Responder