Oggi un piccolo tutorial sulla creazione di un semplice bot per Pet Society il famoso gioco su FaceBook, il bot si limita a visitare tutti gli amici e a fare un attività sociale (bacio) , questo vi farà guadagnare 20 coin ad amico visitato, tuttavia visitare tutti gli amici a mano è una gran rottura, ecco quindi l’idea di questo bot, realizzato con ACTool un software opensource per la creazione di macro, il programma offre un linguaggio di programmazione molto semplice da imparare e permette di mappare degli oggetti su video.
Analiziamo un attimo il problema, quando si clicca in basso su un profilo amico, ci apparirà una finestra che ci chiederà “vuoi andare a visitare Tizio?” una volta da Tizio, apparirà un altro popup che questa volta ci chiede cosa vogliamo fare? (Baciare, ballare, scherzare ecc…) e dopo un pò di tempo, apparirà un altro pop up che ci ringrazierà e dirà che ci siamo divertiti e a quel punto arrivano i 20 coin e questo si ripete finche ci sono amici da cliccare…
Allora per primacosa scarichiamo ACTool e AC Tool Object Mapper, installiamo entrambi i programmi e lanciamoli entrambi, ora dobbiamo fare uno screen (premendo Stamp) della schermata del gioco, andiamo su Pet Society dopo aver loggato su facebook:
Apriamo L’object mapper e clicchiamo su “Paste Image From Clipboard“, questo copierà la schermata che verra visualizzata nella area dovremmo fare uno screen per ogni popup che appare, gli screen appariranno tutti sotto il tasto Past, questo xke ci servirà dopo per poter settare le coordinate, l’esempio qui è fatto per una risoluzione 1680×1050
Ora apriamo AC Tool e scriviamo:
Include object.inc
SetActiveWindow Pet Society su Facebook - Mozilla Firefox //Ridimensiona finestra.. ricompilato per eliminare il ripristino
Creiamo il file object.inc, e ricordiamoci di aggiungere il path dove si trova questo file in ACTool altrimenti non lo troverà, dove metteremo il codice Object generato da AC Tool Object Mapper, selezioniamo l’interno del cerchi verde di spunta della richiesta di conferma, scriviamo un nome nel campo Object Name e clicchiamo su create object, verra fuori qualcosa del genere:
grazievisita
:Object // Test at coords 743, 580
255=0,0|255=2,0|255=4,0|255=6,0|255=8,0|255=10,0|255=12,0|
255=30,48|255=32,48|255=34,48|255=36,48|255=38,48|255=40,48
|255=42,48|255=44,48|255=46,48|255=48,48|255=50,48|255=52,48
:End Object
non ci resta che togliere i 2 punti all’inizio e alla fine e incollare il tutto in object, ripetiamo il tutto per tuti gli screen dando i seguenti nomi:
vuoivisitare – Primo click su amico conferma il bot dovrà cliccare sulla V appena appare
cosafare – Cosa vuoi fare? noi selezioniamo bacio
fineamici – Non ci sono altri amici quindi ferma il bot
grazievisita – Ringraziamento visita quindi clicca su V
andareacasa – Vuoi andare a casa? clicca su X, questo xke nella lista amici c’è anche il tuo pet
ora torniamo a ACTool e scriviamo la funzione che gestisce la visita:
Procedure playWithPet
Constants
flag_ok = false
i=0
End
// ShowMessage i = Warning, OK:CANCEL, Alert di debug
While 1 = 1 // Vuoi visitare?
IsObject andareacasa at 699, 617
Mousepos 853, 625
LeftClick
exit
end
IsObject vuoivisitare at 699, 626
MousePos 702, 619
LeftClick
break
end
end
While 1 = 1
// ShowMessage i = Warning, OK:CANCEL, Cosa vuoi fare?
IsObject cosafare at 702, 548 //Cosa vuoi fare scegli
MousePos 762, 490 //bacio
LeftClick
break
End
End
While 1 = 1
// Seconda Schermata di ok 😀
//ShowMessage i = Warning, OK:CANCEL, Grazie per la visita?
IsObject grazievisita at 768, 670
MousePos 783, 675
LeftClick
break
End
End
End
A questo punto bisogna settare le coordinate di ogni singolo oggetto, creato sostituiamo il codice di controllo con le coordinate che troviamo affianco al nome degli oggetti creati ad esempio il controllo grazievisita diventerà cosi, poiche come abbiamo visto da codice di esempio "Object
grazievisita // Test at coords 743, 580":
IsObject grazievisita at 743
, 580
MousePos 783, 675
LeftClick
break
Una volta fatto per tutti gli oggetti è bisogna modificare anche le coordinate del click quindi, usando sempre
AC Tool Object Mapper facciamo un piccolo quadrato sul punto in cui vogliamo cliccare, in alto a dx vediamo le coordinate, usiamole e copiamole come parametri di MousePos.
Una volta fatto avremo il bot completamente funzionante o quasi ora non ci resta che fare la funzione per cliccare su ogni singolo amico ecco il codice, anche in questo caso dovrete ricalcolare la posizione dei click in base alla vostra risoluzione, se avete unar isoluzione 1680×1050 dovrebbe funzionare il programma originale.
Ecco il sorgente, dell’ultima parte:
while 1=1
MousePos 1018, 830 // PRIMO CLICK POSIZIONE 1
LeftClick
call playWithPet
DELAY 3sec
MousePos 931, 830 // PRIMO CLICK POSIZIONE 2
LeftClick
call playWithPet
DELAY 3sec
MousePos 741, 830 // PRIMO CLICK POSIZIONE 3
LeftClick
call playWithPet
DELAY 3sec
MousePos 661, 830 // PRIMO CLICK POSIZIONE 4
LeftClick
call playWithPet
DELAY 3sec
MousePos 582, 830 // PRIMO CLICK POSIZIONE 5
LeftClick
call playWithPet
DELAY 3sec
MousePos 515, 848 // Avanzamento di una pagina
LeftClick
DELAY 2sec
IsObject fineamici at 503, 844
break
exit
end
end
Questo è tutto se c’è qualche problema non esitate a lasciare un commento…
Clicca qui per scaricare il bot da megaupload
Scusa ma potresti spiegarmi bene questi passaggi? Non li ho capiti e mi servono per un altro gioco.
“Ora apriamo AC Tool e scriviamo:
Include object.inc
SetActiveWindow Pet Society su Facebook – Mozilla Firefox //Ridimensiona finestra.. ricompilato per eliminare il ripristino
Creiamo il file object.inc, e ricordiamoci di aggiungere il path dove si trova questo file in ACTool altrimenti non lo troverà, dove metteremo il codice Object generato da AC Tool Object Mapper, selezioniamo l’interno del cerchi verde di spunta della richiesta di conferma, scriviamo un nome nel campo Object Name e clicchiamo su create object, verra fuori qualcosa del genere:
:Object grazievisita // Test at coords 743, 580
255=0,0|255=2,0|255=4,0|255=6,0|255=8,0|255=10,0|255=12,0|
255=30,48|255=32,48|255=34,48|255=36,48|255=38,48|255=40,48
|255=42,48|255=44,48|255=46,48|255=48,48|255=50,48|255=52,48
:End Object
non ci resta che togliere i 2 punti all’inizio e alla fine e incollare il tutto in object, […etc…]
Hehe passato un pò di tempo se non ricordo male SetActiveWindows serve per portare in primo piano la finestra include object.inc è il file che andiamo a creare con AC Tool Object Mapper o meglio lo creiamo con l’editor e poi ci copiamo quei numeri ma togliendo i due puntini davanti, ACTool Object Mapper è un tool che legge i pixel sul monitor e li trasforma in quei numeri (oggetti) possiamo in questo modo verificare se a una determinata coordinata c’è o non c’è quell’oggetto, quell’oggetto potrebbe essere un bottone, una finestra che appare, gli hp ecc…, quindi puoi fare un loop che fa n cose finche non appare quel bottone/non finisce la vita ecc..
salve, potresti inserire tuto lo script intero senza interruzioni?nn si capisce molto cosi.
Grazie
è un articolo di 2 anni fa e c’èra lo script ma con la chiusura di megaupload è andato perso…
Si si ACTools viene utilizzato anche per fare bot per giochi mmorpg, ovviamente essendo un linguaggio di programmazione si può fare quasi tutto, il limite sta solo nel tempo e nel grado di complessità,e ovviamente va tenuto aggiornato visto che si basa sulla lettura del monitor se cambiano colori o posizioni il bot non funziona più e va sistemato.
Ma intendi utilizzare ACTOOL x fare un bot x Happy Aquarium??? Pendi si possa fare????
Non credo esista già qualcosa o almeno non ho trovato nulla, ma non credo sia complicato ci vuole solo tempo…
Possibile utilizzare questo schema x “Happy Aquarium”….esiste un sorgente gia compilato x far prima. Grazie.