Go Fishing

08/06/2013 14:51 wertron#1
hiho,
ich hab mal was zum thema gfi geschrieben da mich die geschenke doch arg annerven
ich habs in 2 .exen aufgeteilt
nr1
Code:
#include <Misc.au3>
#include <IE.au3>
#include <String.au3>
#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <Date.au3>

Opt("GUIOnEventMode", 1)

HotKeySet("{Esc}", "_stop")


Global $timer_geschenk, $gesendetes_geschenk, $fehlversuche, $gesamtegeschenke = 0, $anzeige = 0
Global $isLogged = False
If FileExists(@ScriptDir & "\usereinstellung.ini") Then
	Global Static $xUsername = IniRead("usereinstellung.ini", "login", "username", "default")
	Global Static $xPassword = _StringEncrypt(0, IniRead("usereinstellung.ini", "login", "passwort", "default"), $xUsername)
Else
	Global Static $xUsername = InputBox("Benutzername", "Bitte trag Deine Email hier ein")
	If $xUsername = "" Then
		MsgBox(0, "Fehler", "Kein Username eingegeben")
		Exit
	Else
		IniWrite("usereinstellung.ini", "login", "username", $xUsername)
	EndIf
	Global Static $xPassword = InputBox("Passwort", "Bitte trag hier dein Passwort ein", "", "*")
	If $xUsername = "" Then
		MsgBox(0, "Fehler", "Kein Passwort eingegeben")
		Exit
	Else
		IniWrite("usereinstellung.ini", "login", "passwort", _StringEncrypt(1, $xPassword, $xUsername))
	EndIf
EndIf

Global Static $urlStartSite = "www.facebook.de"
_IEErrorHandlerRegister()
Global $oIE = _IECreateEmbedded()


GUICreate("Facebook Go Fishing", 1000, 820, -1, -1, $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
GUISetOnEvent($GUI_EVENT_CLOSE, "_stop")
Dim $edit_Log = GUICtrlCreateEdit(_Now() & ": Programm Gestartet", 5, 770, 990, 100)
GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKBOTTOM + $GUI_DOCKHEIGHT)
GUICtrlCreateObj($oIE, 5, 5, 990, 760);5 war anfang
GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKBOTTOM + $GUI_DOCKTOP)
GUISetState()
Opt("PixelCoordMode", 2)
Opt("MouseCoordMode", 2) ;client mode beim info tool

Do
	_Login()
Until $isLogged

_start()

Func _Login()
	Local $name = $xUsername, $pass = $xPassword
	_Log("Navigiere zur Startseite >> Versuch Login")
	_IENavigate($oIE, $urlStartSite)
	$obj = _IEGetObjById($oIE, "email")
	_IEFormElementSetValue($obj, $name)
	$obj = _IEGetObjById($oIE, "pass")
	_IEFormElementSetValue($obj, $pass)
	$obj = _IEGetObjById($oIE, "loginbutton")
	_IEAction($obj, "click")
	_IELoadWait($oIE)
	$text = _IEBodyReadText($oIE)
	If StringInStr($text, "Anfragen") Then
		$isLogged = True
		_Log("Login erfolgreich")
		Return $isLogged
	EndIf
EndFunc   ;==>_Login

Func _log($text)
	Local $oldtext = GUICtrlRead($edit_Log)
	Local $newtext = _Now() & ": " & $text & @CRLF & $oldtext
	If StringLen($newtext) > 200000 Then $newtext = StringTrimRight($newtext, 100000)
	GUICtrlSetData($edit_Log, $newtext)
EndFunc   ;==>_log

$timer_geschenk = TimerInit()

While 1
	Sleep(100)
WEnd

Func _start()
	_IENavigate($oIE, "https://frontfish.go-games.org")
	Local $timer = TimerInit()
	Local $zeit = 60000
	Do
		_bild_justieren()
		If TimerDiff($timer) > $zeit Then
			ExitLoop
		EndIf
		$rad = PixelSearch(710, 240, 760, 290, 0xDE6245)
		If IsArray($rad) Then MouseClick("left", 738, 267, 1, 0)

		$energiebonus = PixelSearch(375, 550, 405, 565, 0x826740)
		If IsArray($energiebonus) Then MouseClick("left", 389, 557, 1, 0)

		$fertig_geladen = PixelSearch(60, 225, 70, 255, 0x3BAF3E)
	Until IsArray($fertig_geladen)
	Sleep(1000)
	_lottoscheine()
	_stop()
EndFunc   ;==>_start

Func _stop()
	MouseUp("left")
	_MouseTrap()
	Sleep(100)
	Exit
EndFunc   ;==>_stop

Func _lottoscheine()
	$geschenk = PixelSearch(40, 695, 50, 705, 0xEFB326)
	Local $lottoschein

	If IsArray($geschenk) Then
		MouseClick("left", 50, 720, 1);
		Local $timer_lotto = TimerInit()
		Do
			$lottoschein = PixelSearch(245, 380, 255, 390, 0xFDC20E, 1);
			If TimerDiff($timer_lotto) > 15000 Then ExitLoop
		Until IsArray($lottoschein)

		If IsArray($lottoschein) Then
;~ 			MsgBox(0,"","lottoschein gefunden")
			MouseClick("left", 254, $lottoschein[1] + 100, 1);
			Sleep(2000)
			$timer_lotto = TimerInit()
			Do
				Sleep(100)
				$erstes_bild = PixelSearch(155, 300, 155, 300, 0xFFFFFF, 1)
				If TimerDiff($timer_lotto) > 5000 Then ExitLoop
			Until Not IsArray($erstes_bild)
			_anklicken()
			Local $schieber = PixelSearch(669, 336, 670, 337, 0xFFFFFF)
			If IsArray($schieber) Then ;kein schieber gefunden
				Sleep(10)
			Else
				MouseMove(669, 336, 0)
				MouseClickDrag("left", 669, 336, 669, 575, 0)
				Sleep(2000)
				_anklicken()
			EndIf

			$anfrageknopf = PixelSearch(450, 625, 460, 635, 0x29447E)
			If IsArray($anfrageknopf) And $gesendetes_geschenk > 0 Then
				MouseClick("left", $anfrageknopf[0] + 65, $anfrageknopf[1] + 10, 1)
				$gesendetes_geschenk = 0
				Local $timer_geschenk = TimerInit()
				Do
					$geschenk = PixelSearch(40, 695, 50, 705, 0xEFB326)
					If TimerDiff($timer_geschenk) > 15000 Then ExitLoop
				Until Not IsArray($geschenk)
			EndIf
		EndIf
	Else
		$fehlversuche += 1
		If $fehlversuche > 5 Then
			MsgBox(0, "Fehler", "Geschenk nicht gefunden" & @CRLF & "Tool wird geschlossen", 10)
			Exit
		EndIf
		$timer_geschenk = TimerInit()
	EndIf
EndFunc   ;==>_lottoscheine

Func _anklicken()
	ToolTip("")
	$box = PixelSearch(118, 235, 122, 305, 0x696969)
	If IsArray($box) Then
		Local $x = $box[0] ;120, 298, 476
		Local $y = $box[1] ;299, 340, 381

		Sleep(2000)
		For $ix = 1 To 3 Step 1
			MouseMove($x + 9, $y + 6, 1)
			For $iy = 1 To 9 Step 1
				$angeklickt = PixelSearch($x + 12, $y, $x + 15, $y + 2, 0xD8DFEA)
				If IsArray($angeklickt) Then
					Sleep(1)
				ElseIf $gesendetes_geschenk = 50 Then
					ExitLoop 2
				Else
					MouseClick("left", $x + 8, $y + 2, 1, 0)
					$gesendetes_geschenk += 1
					$gesamtegeschenke += 1
				EndIf
				$y += 41
			Next
			$x += 178
			$y = $box[1]
		Next
	EndIf
EndFunc   ;==>_anklicken

Func _bild_justieren()
	Local $timer = TimerInit()
	Local $zeit = 15000
	Do
		If TimerDiff($timer) > $zeit Then
			ExitLoop
		EndIf
		$fertig_geladen = PixelSearch(60, 25, 70, 350, 0x3BAF3E)
	Until IsArray($fertig_geladen)
	Do
		$fisch1 = PixelSearch(660, 137, 665, 142, 0x555555)
		If IsArray($fisch1) Then
			Sleep(1)
		Else
			$fisch = PixelSearch(660, 20, 665, 300, 0x555555)
			If IsArray($fisch) Then ;gefunden bei 240
				$dif = $fisch[1] - 137
				$dif = $dif / 3
				$ystart = 230
				$ydif = $ystart + $dif
				MouseClickDrag("left", 985, $ystart, 985, $ydif, 1)
			EndIf
		EndIf
	Until IsArray($fisch1)
	If IsArray($fisch1) Then
		Sleep(1)
	Else
		_IENavigate($oIE, "https://apps.facebook.com/go-fishing/")
		_bild_justieren()
	EndIf
EndFunc   ;==>_bild_justieren
nr2
Code:
ShellExecute("geschenke go fishing.exe")
Global $timer_geschenk, $anzeige = 0

While 1
	$fertig = IniRead("usereinstellung.ini", "Fertig", "fertiggeladen", "default")
	If $fertig = 1 Then
		IniWrite("usereinstellung.ini", "Fertig", "fertiggeladen", "0")
		$timer_geschenk = TimerInit()
		While 1
			Sleep(100)
			If TimerDiff($timer_geschenk) > 1920000 And $anzeige = 0 Then;1920000
				$anzeige = 1
				TrayTip("Achtung", "in 60 sec startet der bot neu", 5, 2)
			EndIf

			If TimerDiff($timer_geschenk) > 1980000 Then;1980000
				ShellExecute("geschenke go fishing.exe")
				$anzeige = 0
				ExitLoop
			EndIf
		WEnd
	EndIf
WEnd
verbesserungsvorschlaege werden gerne angenommen