Benvenuto! Per postare e godere delle funzionalità del forum registrati, occorrono pochi secondi ed è gratis!

[Cheat e Hack] Giochi Flash...

Iscritto
Messaggi: 30
Discussioni: 0
Registrato: 12-2012
Mix: 0
aspettiamo ansiosi il tuo programma alloraHappywide

01/01/2013, 15:32
#46
Cerca

1 Life, 1 Avatar <3
Messaggi: 9,074
Discussioni: 271
Registrato: 08-2011
Mix: 0
E il tuo source Tounge postalo comunque anche se è grezzo voglio vederlo.....

01/01/2013, 20:31
#47
Cerca
(Questo messaggio è stato modificato l'ultima volta il: 10/01/2013, 0:29 da digger.)

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
vabbè io lo posto, ma ricordatevi che è tutto da ritoccare, sistemare, migliorare e ci sono cose da aggiungere e altre da togliere, comunque se avete voglia di provare e divertirvi Happywide


Codice:
"""
risoluzione: 1280x1024
usando chrome
aggiornato 9-1-2012
"""

import winsound as ws
import ImageGrab
import os
import time
import win32api, win32con
import threading
import ImageOps
from numpy import *

# Globals
# ------------------
x_pad = 0
y_pad = 60
counter_5Min=0
counter_15Min=0
sleepValue=1
coords_case5Min = []    #lista coordinate case a 5Min
coords_case15Min = []   #lista coordinate case a 15Min
coords_produci5Min = [] #lista coordinate produzione a 5Min

def grab(x,y,x2,y2):
    box = (x+x_pad,y+y_pad,x2+x_pad,y2+y_pad)
    im = ImageOps.grayscale(ImageGrab.grab(box))
    a = array(im.getcolors())
    a = a.sum()
    #print a
    return a    

def fullGrab():
    box = ()
    im = ImageGrab.grab()
    im.save(os.getcwd() + '\\full_snap__' + str(int(time.time())) +'.png', 'PNG')
    
def screenGrab():
    b1 = (x_pad + 1,y_pad+1,x_pad+1280,y_pad+870)
    im = ImageGrab.grab()
    return im
      
def leftDown():
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0)
    time.sleep(.1)
    print 'left Down'
        
def leftUp():
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0)
    time.sleep(.1)
    print 'left release'

def leftClick():
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0)
    time.sleep(.1)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0)
    print "Click."          #completely optional. But nice for debugging purposes.  

def mousePos(cord):
    win32api.SetCursorPos((x_pad + cord[0], y_pad + cord[1]))
    
def get_cords():
    x,y = win32api.GetCursorPos()
    x = x - x_pad
    y = y - y_pad
    print "((" +str(x)+ "," +str(y)+ "))"

def gameWinVisible():
    if (grab(22,9,131,24)==2504):
        return True
    else:
        return False

def clicca_15Min():
    global counter_15Min
    global coords_case15Min

    if (counter_15Min<=0)and not (gameWinVisible()):
        print "Game window not visible, skipping"

    if (counter_15Min<=0):
        if (gameWinVisible()):
            counter_15Min = 930
            
            for casa in coords_case15Min:
                mousePos(casa)
                leftClick()
                time.sleep(sleepValue)
                check_msgbox()      

    else:
        counter_15Min=counter_15Min-10
        if counter_15Min<0:
            counter_15Min=0
        print "15Min=" + str(counter_15Min)

    threading.Timer(10.0,clicca_15Min).start()

def check_msgbox():

    if (grab(443,339,551,357))==3423: #capanna
        mousePos((847,348))      
        leftClick()
        time.sleep(sleepValue)

    if (grab(494,263,675,281))==4629: #menu capanno
        mousePos((957,272))
        leftClick()
        time.sleep(sleepValue)

def check_Avvisi():
    if ((grab(560,343,710,362))==4437): #nuovo evento, vostra maestà perdonatemi se vi disturbo... bla bla bla
        mousePos((851,356))
        leftClick()
        time.sleep(sleepValue)      


def clicca_5Min():
    global counter_5Min
    global coords_case5Min
    global coords_produci5Min

    check_Avvisi() # questo va messo prima di gamevisible perchè di fatto un avviso a video fa si che la finestra del gioco
                    # risulti non visibile per lo script, quindi non andrebbe avanti

    if (counter_5Min<=0)and not (gameWinVisible()):
        soundfile = "C:/Windows/Media/chimes.wav"
        ws.PlaySound(soundfile, ws.SND_FILENAME|ws.SND_ASYNC)
        print "Game window not visible, skipping"

    if (counter_5Min<=0):
        if (gameWinVisible()):
            counter_5Min=290

            for casa in coords_case5Min:
                mousePos(casa)
                leftClick()
                time.sleep(sleepValue)
                check_msgbox()

            #diamo il tempo ai soldi raccolti di salire in cielo
            time.sleep(5)
                
            # ora produciamo  
            for prod in coords_produci5Min:
                mousePos(prod)
                leftClick()
                time.sleep(sleepValue)
                mousePos((411,450))
                leftClick()
                time.sleep(sleepValue)

    else:
        counter_5Min=counter_5Min-10
        if counter_5Min<0:
            counter_5Min=0
        print "5Min=" + str(counter_5Min) + " "

    threading.Timer(10.0,clicca_5Min).start()

def init_coords_case5Min():
    global coords_case5Min
    global coords_produci5Min
    coords_case5Min.append((263,349))
    coords_case5Min.append((328,325))
    coords_case5Min.append((201,385))
    coords_case5Min.append((389,356))
    coords_case5Min.append((325,381))
    coords_case5Min.append((260,416))
    coords_case5Min.append((360,462))
    coords_case5Min.append((548,402))
    coords_case5Min.append((610,432))
    coords_case5Min.append((737,308))
    coords_case5Min.append((791,341))
    coords_case5Min.append((853,373))
    coords_case5Min.append((138,423))
    coords_case5Min.append((204,450))
    coords_case5Min.append((293,496))
    coords_case5Min.append((448,417))
    coords_case5Min.append((510,451))

    #7 capanni produttivi da raccogliere
    coords_case5Min.append((415,135))
    coords_case5Min.append((320,184))
    coords_case5Min.append((261,246))
    coords_case5Min.append((176,290))
    coords_case5Min.append((674,357))
    coords_case5Min.append((762,402))
    coords_case5Min.append((419,510))

    #7 capanni produttivi (come sopra) da mettere in produzione
    coords_produci5Min.append((415,135))
    coords_produci5Min.append((320,184))
    coords_produci5Min.append((261,246))
    coords_produci5Min.append((176,290))
    coords_produci5Min.append((674,357))
    coords_produci5Min.append((762,402))
    coords_produci5Min.append((419,510))

def init_coords_case15Min():
    global coords_case15Min
                      
def main():
    init_coords_case5Min()
    init_coords_case15Min()
    time.sleep(5)
    clicca_5Min()
    time.sleep(.1)
    #clicca_15Min()

    pass


if __name__ == '__main__':
    main()



digger
01/01/2013, 23:18
#48
Cerca

maurow
Messaggi: 6,041
Discussioni: 2,066
Registrato: 03-2011
Mix: 8,107
io :heart: quest'uomo :p


La libertà non si insegna, è una scelta individuale.
01/01/2013, 23:40
#49
Cerca

Danyele360
Messaggi: 690
Discussioni: 37
Registrato: 12-2011
Mix: 727
Ma l'hai scritto tutto tu? io non ne capisco un'accidente di tutti sti codici Smile +1 Happywide

01/01/2013, 23:43
#50
Cerca

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
si l'ho scritto io ma tieni conto come avevo scritto all'inizio che sono partito da un tutorial che c'era in internet che spiegava come fare con un altro gioco.
Siccome il concetto era applicabile anche a sto gioco qui mi sono limitato a cambiare in base alle esigenze e ad aggiungere quello che serviva, quindi non è tutta farina del mio sacco.
Anche perchè io il python non lo conosco proprio Tounge
anche se adesso giocandoci lo sto un po' imparando Happywide


digger
01/01/2013, 23:46
#51
Cerca

Iscritto
Messaggi: 30
Discussioni: 0
Registrato: 12-2012
Mix: 0
bravo veramente bravoHappywide.... un piccolo problema per farlo funzionare da me cosa devo fare?o.o

02/01/2013, 0:10
#52
Cerca

1 Life, 1 Avatar &lt;3
Messaggi: 9,074
Discussioni: 271
Registrato: 08-2011
Mix: 0
Ah, ah , ah. boss aspetta la relase Wink entro poco metteremo (perchè ho scritto emo è digger che lo fa Asd Asd ) il download e potrai scaricare il nostro (ahahahah ) progetto su cui abbiamo lavorato molto Smile

02/01/2013, 12:06
#53
Cerca

Iscritto
Messaggi: 30
Discussioni: 0
Registrato: 12-2012
Mix: 0
ha ha ha an eccoHappywide mi vedevo un po incasinato senno:s...

02/01/2013, 13:49
#54
Cerca
(Questo messaggio è stato modificato l'ultima volta il: 02/01/2013, 14:22 da digger.)

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
(02/01/2013, 12:06)Pocciox Ha scritto:

[Per vedere i link devi REGISTRARTI.]

...il nostro (ahahahah ) progetto su cui abbiamo lavorato molto Smile

noi sei quell'attimino egocentrico? Asd

comunque non penso ci sarà mai una release, con sta cosa ci sto un po' giocando ma non penso di andare molto lontano, mentre per una release seria ci vuole molto piu lavoro.
Ci vuole che il programma trovi in automatico le risorse da raccogliere o preveda un'interfaccia perchè tu possa dirgli cosa vuoi produrre, ogni quanto e poi raccogliere di conseguenza etc etc

Qui invece siamo al punto che a mano gli do le coordinate della casette che io ho costruito (quindi già nel tuo pc sarebbero diverse e andrebbero rimesse) e lui semplicemente ci va sopra e clicca...

non so è chiaro il quadretto
comunque ora mangio poi posto il necessario per far girare sta cosa cosi ci potete giocare anche voi,
e chissà magari qualcuno avrà voglia di scriverlo un po' meglio


digger
02/01/2013, 14:08
#55
Cerca

1 Life, 1 Avatar &lt;3
Messaggi: 9,074
Discussioni: 271
Registrato: 08-2011
Mix: 0
Beh digger con quel programmino puoi gia fare comunque un bot per Empire & Allies ci giocavo tempo fa e basta cliccare sulla casa una volta ogni 5 min senza bisogno di niente...Poi non basta che usi il comando equivalente a cin e chiedi le coordinate???

02/01/2013, 16:00
#56
Cerca

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
beh anche in questo se ti vuoi limitare a raccogliere ogni tot già cosi funziona,
la tua osservazione poi non è sbagliata, ma poco pratica, nel senso che non essendo un programma compilato ma interpretato, ovvero hai il source lo runni e lui gira, senza passare dalla compilazione in exe, tra chiederti le coordinate e andarle a mettere tu nel sorgente è piu pratica la seconda, anche perchè cosi facendo restano memorizzate e potrai usarle tutte le volte che vuoi senza doverle riscrivere.
Però capisci che non è pratico come sistema per distribuirlo in giro.
Tu pensa, lo giro a te e invece di poterlo usare subito pronti-via ti tocca appena stare li a scriverti tutte le coordinate dove si trovano tutte le tue casette da cliccare, perdendoci magari mezz'ora nell'operazione...
Sarebbe carino invece che appena lo fai partire lui sia in grado di trovare tutte le casette da solo, si crei cioè una mappa della situazione.
Non credo sia impossibile, però non è nemmeno una cosa cosi semplice


digger
02/01/2013, 16:08
#57
Cerca

Iscritto
Messaggi: 30
Discussioni: 0
Registrato: 12-2012
Mix: 0
e se io lo scrivo su c++ dopo come si fa a farlo funzionare?Smile

02/01/2013, 18:29
#58
Cerca

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
beh se lo scrivi in c++ è perchè sai come scriverlo in c++ e quindi dovresti anche sapere come farlo funzionare... no? mi sono perso qualcosa?

comuqnue... per provarlo con python fai cosi, scarica questo che ho appena uppato:

[Per vedere i link devi REGISTRARTI.]


è uno zip con tutto il necessario,
estrai il contenuto dove ti pare, poi come prima cosa lanci questo:
python-2.7.3.msi

si installerà python, il linguaggio vero e proprio,
poi lanci gli altri eseguibili, uno dopo l'altro, l'ordine non credo abbia importanza.

Una volta che hai finito ti crei un file di testo, ci incolli il sorgente che ho scritto sopra, il file lo salvi con un nome che piace a te e gli metti l'estensione .py

Da qui in avanti per testarlo fai cosi, tasto destro sul file appena creato, selezioni dal menu la voce "edit with IDLE" e ti si apre nell'editor di python
Cambi il codice come vuoi e quando vuoi eseguirlo selezioni dal menu in alto "RUN - Run module" o se preferisci premi semplicemente il tasto F5


digger
02/01/2013, 19:11
#59
Cerca

Iscritto
Messaggi: 30
Discussioni: 0
Registrato: 12-2012
Mix: 0
no perche ho fatto copia e incolla di quello che hai scritto te pero manca qualcosa mi sa e mi da sempre errore ..

02/01/2013, 19:31
#60
Cerca


Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  [Undetected] Forge of Empires bot hack mix Admin 0 282 19/08/2019, 0:38
Ultimo messaggio: Admin
  Hack Browser Game" Anime Pirates " alessio95 9 2,645 26/08/2014, 14:45
Ultimo messaggio: alessio95
  HACK PER COMMAND E CONQUER TIBERIUM ALLIANCE Deglan 6 3,856 18/06/2012, 23:52
Ultimo messaggio: Giniu



Utenti che stanno guardando questa discussione: 1 Ospite(i)