Problema con un BOT

« Older   Newer »
  Share  
byuccio
CAT_IMG Posted on 21/8/2009, 13:50     +1   -1




Salve. Innanzi tutto spiego brevemente cosa dovrebbe fare questo BOT, che è (o almeno dovrebbe essere) abbastanza semplice.

Questo BOT mi serve per un gioco online, quindi immaginate il gioco a tutto schero a al suo interno questa barra
image
La Moving Red Bar si muove continuamente a sinistra e destra, io devo fare in modo che quando raggiunge la Perfect Zone venga premuto il CTRL di sinistra tot volte. Se viene fatto rapidamente a mano, la barra rimane ferma lì fino a che si continuano a fare "perfect", ma quando lo fa il pc che dovrebbe essere 100000 volte più veloce di me, quasi sempre manca il bersaglio o e non capisco il perché.
La barra generale ha una posizione fissa nello schermo e delle coordinate e colore sono sicuro al 100%, li ho presi con Photoshio e ho verificato più volte, su questo son sicuro.

Ah poi c'è un altro problema: oltre al fatto che non centra il bersaglio (o comunque lo centra di rado), il bot esegue il ciclo circa due volte e poi basta, altra cosa che non mi spiego. L'unico motivo che riesco a pensare è che per qualche ragione si blocca e smette di funzionare, difatti quando poi vado a premere STOP mi da questo errore nella finestra in basso riservata agli errori:
>Process failed to respond; forcing abrupt termination...
>Exit code: 1 Time: 50.070


Ecco il codice del programma, l'ho provato sia così
CODICE
$x= 1

While $x== 1
       sleep (10)
       If PixelGetColor (598,412) = 930135 Then
               send ("{LCTRL 20}")
       Endif
Wend

che così
CODICE
$x = 1

While $x == 1
       sleep (10)
       $col = PixelGetColor (598,412)
       IF $col == 930135 then
               send ("{LCTRL 20}")
       Endif
Wend

e i problemi sono sempre gli stessi.

Ah per chi se lo chiedesse, ho messo la pausa di un centesimo di secondo perché senza di quella occupa troppe risorse e nel gioco si produce un lag grafico notevole.
 
Top
MatteoJug
CAT_IMG Posted on 21/8/2009, 22:05     +1   -1




Se sei sicuro di coordinate e colore, prova tipo:
CODICE
$x= 1
While $x==1
       sleep (10)
       while PixelGetColor (598,412) = 930135
               send ("{LCTRL}")
       WEnd
Wend
 
Top
byuccio
CAT_IMG Posted on 22/8/2009, 14:24     +1   -1




Stesso problema. Non credo a questo punto sia un errore di programmazione, anche perché sono solo poche righe... sembra che per qualche motivo il programma si blocchi. Ora devo andare, ma farò una prova togliendo la condizione e facendo premere CTRL ogni secondo per vedere se continua a farlo all'infinito o si blocca ancora.
 
Top
byuccio
CAT_IMG Posted on 23/8/2009, 16:48     +1   -1




Ho fatto il test, gli ho fatto premere CTRL ogni mezzo secondo in un ciclo infinito e funziona per un po' (tipo 30 secondi) e poi smette...

CODICE
$x= 1
While $x==1
      sleep (500)
      send ("{LCTRL}")
Wend
 
Top
rothia2
CAT_IMG Posted on 12/9/2009, 13:03     +1   -1




L'ho provato anche io, ma a me funziona all'infinito! Comunque al posto di $x == 1 prova a mettere solo 1 così while 1 .... wend!
 
Top
4 replies since 21/8/2009, 13:50   183 views
  Share