EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Re: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post by GaahFlash » 30 May 2020, 14:55

Achei esse vídeo de um cara que conseguiu criar o script acredito que esse que estamos criando esteja quase lá

https://youtu.be/WgUh_bu_b2s

Re: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post by GaahFlash » 26 May 2020, 15:37

Gio wrote:
19 Mar 2020, 09:14
Bom dia Gaahflash.

É importante que entenda que somente você tem acesso ao jogo em questão. Se você não puder compreender o código e realizar o ajuste fino, o código provavelmente não funcionará no jogo.

Eu modifiquei o código abaixo para ser ainda mais auto-explicativo no seu funcionamento. Agora, ele exibe um ToolTip no início da área de busca contendo a informação apertar ou soltar, conforme a leitura que ele estiver fazendo da barra verde. Também modifiquei o código para interpretar o soltar a partir da diferença ser >70 (e não mais >125) e inverti as situações de soltar e puxar baseado na sua descrição.

Code: Select all

; Passos 1 e 2: buscamos o conteúdo do arquivo Concepts.htm que está disponibilizado na internet no repositório do AutoHotkey.
; O código abaixo busca o arquivo no link, lê o conteúdo de texto inteiro do arquivo e grava na variável CONTEUDO_DO_ARQUIVO.
; O exemplo vem da página de ajuda do comando URLDownloadToFile (https://www.autohotkey.com/docs/commands/URLDownloadToFile.htm)

SetBatchLines, -1
#SingleInstance, Force

AREA_CENTRAL_X1 := (A_ScreenWidth / 2) - 150
AREA_CENTRAL_Y1 :=  (A_ScreenHeight / 2) - 150
AREA_CENTRAL_X2 := (A_ScreenWidth / 2) + 150
AREA_CENTRAL_Y2 :=  (A_ScreenHeight / 2) + 150

Loop
{
	ATUAL := A_TickCount
	CoordMode, Pixel, Screen
	PixelSearch, FoundX, FoundY, %AREA_CENTRAL_X1%, %AREA_CENTRAL_Y1%, %AREA_CENTRAL_X2%, %AREA_CENTRAL_Y2%, 0xFf7a09, 3, Fast RGB
	If (ErrorLevel = 0) ; Neste caso a bóia foi encontrada. iniciam-se os comandos para ler a barra verde.
	{
		CoordMode, ToolTip, Screen
		NOVO_Y := FoundY + 20
		NOVO_X := FoundX - 12
		GREEN := 10, RED := 0, BLUE := 0, DISTANCIA_ESQUERDA := 0 ; Estes valores iniciais são apenas para iniciar o while. Não têm outro sentido.
		While ((GREEN > RED) AND (GREEN > BLUE))
		{
			CoordMode, Pixel, Screen
			PixelGetColor, COR_ENCONTRADA, %NOVO_X%, %NOVO_Y%, RGB
			CoordMode, Tooltip, Screen
			NOVO_X := NOVO_X - 5
			RED := "0x" . SubStr(COR_ENCONTRADA, 3, 2)
			GREEN := "0x" . SubStr(COR_ENCONTRADA, 5, 2)
			BLUE := "0x" . SubStr(COR_ENCONTRADA, 7, 2)
			DISTANCIA_ESQUERDA := DISTANCIA_ESQUERDA + 5
		}
		NOVO_Y := FoundY + 20
		NOVO_X := FoundX + 12
		GREEN := 10, RED := 0, BLUE := 0, DISTANCIA_DIREITA := 0
		While ((GREEN > RED) AND (GREEN > BLUE)) ; Estes valores iniciais são apenas para iniciar o while. Não têm outro sentido.
		{
			CoordMode, Pixel, Screen
			PixelGetColor, COR_ENCONTRADA, %NOVO_X%, %NOVO_Y%, RGB
			CoordMode, Tooltip, Screen
			NOVO_X += 5
			RED := "0x" . SubStr(COR_ENCONTRADA, 3, 2)
			GREEN := "0x" . SubStr(COR_ENCONTRADA, 5, 2)
			BLUE := "0x" . SubStr(COR_ENCONTRADA, 7, 2)
			DISTANCIA_DIREITA := DISTANCIA_DIREITA + 5
		}
		If (DISTANCIA_DIREITA > DISTANCIA_ESQUERDA - 70) ; Neste caso a bóia foi encontrada e a posição dela na barra verde justifica apertar o mouse um pouco.
		{
			ToolTip, APERTAR, %AREA_CENTRAL_X1%, %AREA_CENTRAL_Y1%
			Send {LButton Down}
			Random, MILISECONDS, 900, 1400
			Sleep %MILISECONDS%
			Send {LButton Up}
		}
		else ; Nesse caso, a bóia foi encontrada, mas a posição atual é muito próxima da lateral esquerda. Melhor soltar o botão do mouse até que ela caia um pouco.
		{
				ToolTip, SOLTAR, %AREA_CENTRAL_X1%, %AREA_CENTRAL_Y1%
		}
	}
	else
	{
		ToolTip ; nesse caso, o tooltip será desligado, pois a bóia não foi encontrada.
	}
	Sleep 10
}

Return

:arrow: Se possível grave um vídeo do script em funcionamento para que possa ver o que está ocorrendo.

boa tarde gio , estava voltando a mexer no script e vi que tem uma linha invertida
"else ; Nesse caso, a bóia foi encontrada, mas a posição atual é muito próxima da lateral esquerda. Melhor soltar o botão do mouse até que ela caia um pouco."


quando a boia esta na esquerda ele deveria puxar e nao soltar como esta escrito nessa linha , qual linha devo modificar ??
esse ramdom de puxar e soltar nao esta funcionando , ele puxa quando tem que soltar e solta quando tem que puxar.

Re: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post by GaahFlash » 31 Mar 2020, 22:46

Gio wrote:
20 Mar 2020, 12:16
Pelo vídeo me parece que o script está segurando o mouse, porém está soltando muito rápido, e quando isso acontece, a bóia cai antes de o script conseguir realizar uma nova leitura da barra.

Neste caso podemos fazer duas coisas:

1. Aumentar o tempo de segurar o mouse.

Code: Select all

Random, MILISECONDS, 1800, 2500
OU

2. melhorar o cálculo do tempo para que segure por mais tempo caso a bóia esteja mais próxima de cair. Isso pode ser feito usando a diferença entre esquerda e direita para determinar o valor em várias condicionais.

Mas vamos tentar a opção 1 primeiro. Altere a linha corresponde e vamos ver o que ocorre.
fui fazendo experimentos mudando os milisegundos , e mesmo assim continua como no video que eu gravei , tem vez que puxa de mais , tem vez que solta de mais

Re: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post by Gio » 20 Mar 2020, 12:16

Pelo vídeo me parece que o script está segurando o mouse, porém está soltando muito rápido, e quando isso acontece, a bóia cai antes de o script conseguir realizar uma nova leitura da barra.

Neste caso podemos fazer duas coisas:

1. Aumentar o tempo de segurar o mouse.

Code: Select all

Random, MILISECONDS, 1800, 2500
OU

2. melhorar o cálculo do tempo para que segure por mais tempo caso a bóia esteja mais próxima de cair. Isso pode ser feito usando a diferença entre esquerda e direita para determinar o valor em várias condicionais.

Mas vamos tentar a opção 1 primeiro. Altere a linha corresponde e vamos ver o que ocorre.

Re: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post by GaahFlash » 19 Mar 2020, 15:12

Gio wrote:
19 Mar 2020, 09:14
Bom dia Gaahflash.

É importante que entenda que somente você tem acesso ao jogo em questão. Se você não puder compreender o código e realizar o ajuste fino, o código provavelmente não funcionará no jogo.

Eu modifiquei o código abaixo para ser ainda mais auto-explicativo no seu funcionamento. Agora, ele exibe um ToolTip no início da área de busca contendo a informação apertar ou soltar, conforme a leitura que ele estiver fazendo da barra verde. Também modifiquei o código para interpretar o soltar a partir da diferença ser >70 (e não mais >125) e inverti as situações de soltar e puxar baseado na sua descrição.

Code: Select all

; Passos 1 e 2: buscamos o conteúdo do arquivo Concepts.htm que está disponibilizado na internet no repositório do AutoHotkey.
; O código abaixo busca o arquivo no link, lê o conteúdo de texto inteiro do arquivo e grava na variável CONTEUDO_DO_ARQUIVO.
; O exemplo vem da página de ajuda do comando URLDownloadToFile (https://www.autohotkey.com/docs/commands/URLDownloadToFile.htm)

SetBatchLines, -1
#SingleInstance, Force

AREA_CENTRAL_X1 := (A_ScreenWidth / 2) - 150
AREA_CENTRAL_Y1 :=  (A_ScreenHeight / 2) - 150
AREA_CENTRAL_X2 := (A_ScreenWidth / 2) + 150
AREA_CENTRAL_Y2 :=  (A_ScreenHeight / 2) + 150

Loop
{
	ATUAL := A_TickCount
	CoordMode, Pixel, Screen
	PixelSearch, FoundX, FoundY, %AREA_CENTRAL_X1%, %AREA_CENTRAL_Y1%, %AREA_CENTRAL_X2%, %AREA_CENTRAL_Y2%, 0xFf7a09, 3, Fast RGB
	If (ErrorLevel = 0) ; Neste caso a bóia foi encontrada. iniciam-se os comandos para ler a barra verde.
	{
		CoordMode, ToolTip, Screen
		NOVO_Y := FoundY + 20
		NOVO_X := FoundX - 12
		GREEN := 10, RED := 0, BLUE := 0, DISTANCIA_ESQUERDA := 0 ; Estes valores iniciais são apenas para iniciar o while. Não têm outro sentido.
		While ((GREEN > RED) AND (GREEN > BLUE))
		{
			CoordMode, Pixel, Screen
			PixelGetColor, COR_ENCONTRADA, %NOVO_X%, %NOVO_Y%, RGB
			CoordMode, Tooltip, Screen
			NOVO_X := NOVO_X - 5
			RED := "0x" . SubStr(COR_ENCONTRADA, 3, 2)
			GREEN := "0x" . SubStr(COR_ENCONTRADA, 5, 2)
			BLUE := "0x" . SubStr(COR_ENCONTRADA, 7, 2)
			DISTANCIA_ESQUERDA := DISTANCIA_ESQUERDA + 5
		}
		NOVO_Y := FoundY + 20
		NOVO_X := FoundX + 12
		GREEN := 10, RED := 0, BLUE := 0, DISTANCIA_DIREITA := 0
		While ((GREEN > RED) AND (GREEN > BLUE)) ; Estes valores iniciais são apenas para iniciar o while. Não têm outro sentido.
		{
			CoordMode, Pixel, Screen
			PixelGetColor, COR_ENCONTRADA, %NOVO_X%, %NOVO_Y%, RGB
			CoordMode, Tooltip, Screen
			NOVO_X += 5
			RED := "0x" . SubStr(COR_ENCONTRADA, 3, 2)
			GREEN := "0x" . SubStr(COR_ENCONTRADA, 5, 2)
			BLUE := "0x" . SubStr(COR_ENCONTRADA, 7, 2)
			DISTANCIA_DIREITA := DISTANCIA_DIREITA + 5
		}
		If (DISTANCIA_DIREITA > DISTANCIA_ESQUERDA - 70) ; Neste caso a bóia foi encontrada e a posição dela na barra verde justifica apertar o mouse um pouco.
		{
			ToolTip, APERTAR, %AREA_CENTRAL_X1%, %AREA_CENTRAL_Y1%
			Send {LButton Down}
			Random, MILISECONDS, 900, 1400
			Sleep %MILISECONDS%
			Send {LButton Up}
		}
		else ; Nesse caso, a bóia foi encontrada, mas a posição atual é muito próxima da lateral esquerda. Melhor soltar o botão do mouse até que ela caia um pouco.
		{
				ToolTip, SOLTAR, %AREA_CENTRAL_X1%, %AREA_CENTRAL_Y1%
		}
	}
	else
	{
		ToolTip ; nesse caso, o tooltip será desligado, pois a bóia não foi encontrada.
	}
	Sleep 10
}

Return

:arrow: Se possível grave um vídeo do script em funcionamento para que possa ver o que está ocorrendo.
veja , mesmo tando perto da area vermelha ele esta soltando

Re: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post by Gio » 19 Mar 2020, 09:14

Bom dia Gaahflash.

É importante que entenda que somente você tem acesso ao jogo em questão. Se você não puder compreender o código e realizar o ajuste fino, o código provavelmente não funcionará no jogo.

Eu modifiquei o código abaixo para ser ainda mais auto-explicativo no seu funcionamento. Agora, ele exibe um ToolTip no início da área de busca contendo a informação apertar ou soltar, conforme a leitura que ele estiver fazendo da barra verde. Também modifiquei o código para interpretar o soltar a partir da diferença ser >70 (e não mais >125) e inverti as situações de soltar e puxar baseado na sua descrição.

Code: Select all

; Passos 1 e 2: buscamos o conteúdo do arquivo Concepts.htm que está disponibilizado na internet no repositório do AutoHotkey.
; O código abaixo busca o arquivo no link, lê o conteúdo de texto inteiro do arquivo e grava na variável CONTEUDO_DO_ARQUIVO.
; O exemplo vem da página de ajuda do comando URLDownloadToFile (https://www.autohotkey.com/docs/commands/URLDownloadToFile.htm)

SetBatchLines, -1
#SingleInstance, Force

AREA_CENTRAL_X1 := (A_ScreenWidth / 2) - 150
AREA_CENTRAL_Y1 :=  (A_ScreenHeight / 2) - 150
AREA_CENTRAL_X2 := (A_ScreenWidth / 2) + 150
AREA_CENTRAL_Y2 :=  (A_ScreenHeight / 2) + 150

Loop
{
	ATUAL := A_TickCount
	CoordMode, Pixel, Screen
	PixelSearch, FoundX, FoundY, %AREA_CENTRAL_X1%, %AREA_CENTRAL_Y1%, %AREA_CENTRAL_X2%, %AREA_CENTRAL_Y2%, 0xFf7a09, 3, Fast RGB
	If (ErrorLevel = 0) ; Neste caso a bóia foi encontrada. iniciam-se os comandos para ler a barra verde.
	{
		CoordMode, ToolTip, Screen
		NOVO_Y := FoundY + 20
		NOVO_X := FoundX - 12
		GREEN := 10, RED := 0, BLUE := 0, DISTANCIA_ESQUERDA := 0 ; Estes valores iniciais são apenas para iniciar o while. Não têm outro sentido.
		While ((GREEN > RED) AND (GREEN > BLUE))
		{
			CoordMode, Pixel, Screen
			PixelGetColor, COR_ENCONTRADA, %NOVO_X%, %NOVO_Y%, RGB
			CoordMode, Tooltip, Screen
			NOVO_X := NOVO_X - 5
			RED := "0x" . SubStr(COR_ENCONTRADA, 3, 2)
			GREEN := "0x" . SubStr(COR_ENCONTRADA, 5, 2)
			BLUE := "0x" . SubStr(COR_ENCONTRADA, 7, 2)
			DISTANCIA_ESQUERDA := DISTANCIA_ESQUERDA + 5
		}
		NOVO_Y := FoundY + 20
		NOVO_X := FoundX + 12
		GREEN := 10, RED := 0, BLUE := 0, DISTANCIA_DIREITA := 0
		While ((GREEN > RED) AND (GREEN > BLUE)) ; Estes valores iniciais são apenas para iniciar o while. Não têm outro sentido.
		{
			CoordMode, Pixel, Screen
			PixelGetColor, COR_ENCONTRADA, %NOVO_X%, %NOVO_Y%, RGB
			CoordMode, Tooltip, Screen
			NOVO_X += 5
			RED := "0x" . SubStr(COR_ENCONTRADA, 3, 2)
			GREEN := "0x" . SubStr(COR_ENCONTRADA, 5, 2)
			BLUE := "0x" . SubStr(COR_ENCONTRADA, 7, 2)
			DISTANCIA_DIREITA := DISTANCIA_DIREITA + 5
		}
		If (DISTANCIA_DIREITA > DISTANCIA_ESQUERDA - 70) ; Neste caso a bóia foi encontrada e a posição dela na barra verde justifica apertar o mouse um pouco.
		{
			ToolTip, APERTAR, %AREA_CENTRAL_X1%, %AREA_CENTRAL_Y1%
			Send {LButton Down}
			Random, MILISECONDS, 900, 1400
			Sleep %MILISECONDS%
			Send {LButton Up}
		}
		else ; Nesse caso, a bóia foi encontrada, mas a posição atual é muito próxima da lateral esquerda. Melhor soltar o botão do mouse até que ela caia um pouco.
		{
				ToolTip, SOLTAR, %AREA_CENTRAL_X1%, %AREA_CENTRAL_Y1%
		}
	}
	else
	{
		ToolTip ; nesse caso, o tooltip será desligado, pois a bóia não foi encontrada.
	}
	Sleep 10
}

Return

:arrow: Se possível grave um vídeo do script em funcionamento para que possa ver o que está ocorrendo.

Re: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post by GaahFlash » 18 Mar 2020, 15:36

GaahFlash wrote:
13 Mar 2020, 12:54
Gio wrote:
06 Mar 2020, 13:21
Pois é. Isso era meio que previsível. Mas como disse: não se preocupe. O que temos que fazer é ir ajustando até que funcione.

Próximo teste:

Code: Select all

; Passos 1 e 2: buscamos o conteúdo do arquivo Concepts.htm que está disponibilizado na internet no repositório do AutoHotkey.
; O código abaixo busca o arquivo no link, lê o conteúdo de texto inteiro do arquivo e grava na variável CONTEUDO_DO_ARQUIVO.
; O exemplo vem da página de ajuda do comando URLDownloadToFile (https://www.autohotkey.com/docs/commands/URLDownloadToFile.htm)

SetBatchLines, -1
#SingleInstance, Force

AREA_CENTRAL_X1 := (A_ScreenWidth / 2) - 150
AREA_CENTRAL_Y1 :=  (A_ScreenHeight / 2) - 150
AREA_CENTRAL_X2 := (A_ScreenWidth / 2) + 150
AREA_CENTRAL_Y2 :=  (A_ScreenHeight / 2) + 150

Loop
{
	ATUAL := A_TickCount
	CoordMode, Pixel, Screen
	PixelSearch, FoundX, FoundY, %AREA_CENTRAL_X1%, %AREA_CENTRAL_Y1%, %AREA_CENTRAL_X2%, %AREA_CENTRAL_Y2%, 0xFf7a09, 3, Fast RGB
	If (ErrorLevel = 0) ; Se a cor for encontrada, ErrorLevel recebe o valor 0.
	{
		CoordMode, ToolTip, Screen
		NOVO_Y := FoundY + 20
		NOVO_X := FoundX - 12
		GREEN := 10, RED := 0, BLUE := 0, DISTANCIA_ESQUERDA := 0 ; Estes valores iniciais são apenas para iniciar o while. Não têm outro sentido.
		While ((GREEN > RED) AND (GREEN > BLUE))
		{
			CoordMode, Pixel, Screen
			PixelGetColor, COR_ENCONTRADA, %NOVO_X%, %NOVO_Y%, RGB
			CoordMode, Tooltip, Screen
			NOVO_X := NOVO_X - 5
			RED := "0x" . SubStr(COR_ENCONTRADA, 3, 2)
			GREEN := "0x" . SubStr(COR_ENCONTRADA, 5, 2)
			BLUE := "0x" . SubStr(COR_ENCONTRADA, 7, 2)
			DISTANCIA_ESQUERDA := DISTANCIA_ESQUERDA + 5
		}
		NOVO_Y := FoundY + 20
		NOVO_X := FoundX + 12
		GREEN := 10, RED := 0, BLUE := 0, DISTANCIA_DIREITA := 0
		While ((GREEN > RED) AND (GREEN > BLUE)) ; Estes valores iniciais são apenas para iniciar o while. Não têm outro sentido.
		{
			CoordMode, Pixel, Screen
			PixelGetColor, COR_ENCONTRADA, %NOVO_X%, %NOVO_Y%, RGB
			CoordMode, Tooltip, Screen
			NOVO_X += 5
			RED := "0x" . SubStr(COR_ENCONTRADA, 3, 2)
			GREEN := "0x" . SubStr(COR_ENCONTRADA, 5, 2)
			BLUE := "0x" . SubStr(COR_ENCONTRADA, 7, 2)
			DISTANCIA_DIREITA := DISTANCIA_DIREITA + 5
		}
		If (DISTANCIA_DIREITA < DISTANCIA_ESQUERDA + 125)
		{
			Send {LButton Down}
			Random, MILISECONDS, 900, 1400
			Sleep %MILISECONDS%
			Send {LButton Up}
		}
	}
	Sleep 10
}

Return
:arrow: Agora o clique ocorre ainda que a bóia esteja bem mais próxima do limite à esquerda.
ola infelizmente estive fora por uns dias e nao conseguir editar o script, esta ultima edição nao melhorou nem piorou nada no script. parece que o script nao esta reconhecendo as cores vermelhar laranjas e verdes ... sera que se nos focar apenas o lado direiro nao melhoraria ?? porque a unica coisa que esta mudando o script q o tempo de puxar e soltar... ele nao esta reconhecendo a hora que esta na area vermelha ou laranja ...

Ninguém ?

Re: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post by GaahFlash » 13 Mar 2020, 12:54

Gio wrote:
06 Mar 2020, 13:21
Pois é. Isso era meio que previsível. Mas como disse: não se preocupe. O que temos que fazer é ir ajustando até que funcione.

Próximo teste:

Code: Select all

; Passos 1 e 2: buscamos o conteúdo do arquivo Concepts.htm que está disponibilizado na internet no repositório do AutoHotkey.
; O código abaixo busca o arquivo no link, lê o conteúdo de texto inteiro do arquivo e grava na variável CONTEUDO_DO_ARQUIVO.
; O exemplo vem da página de ajuda do comando URLDownloadToFile (https://www.autohotkey.com/docs/commands/URLDownloadToFile.htm)

SetBatchLines, -1
#SingleInstance, Force

AREA_CENTRAL_X1 := (A_ScreenWidth / 2) - 150
AREA_CENTRAL_Y1 :=  (A_ScreenHeight / 2) - 150
AREA_CENTRAL_X2 := (A_ScreenWidth / 2) + 150
AREA_CENTRAL_Y2 :=  (A_ScreenHeight / 2) + 150

Loop
{
	ATUAL := A_TickCount
	CoordMode, Pixel, Screen
	PixelSearch, FoundX, FoundY, %AREA_CENTRAL_X1%, %AREA_CENTRAL_Y1%, %AREA_CENTRAL_X2%, %AREA_CENTRAL_Y2%, 0xFf7a09, 3, Fast RGB
	If (ErrorLevel = 0) ; Se a cor for encontrada, ErrorLevel recebe o valor 0.
	{
		CoordMode, ToolTip, Screen
		NOVO_Y := FoundY + 20
		NOVO_X := FoundX - 12
		GREEN := 10, RED := 0, BLUE := 0, DISTANCIA_ESQUERDA := 0 ; Estes valores iniciais são apenas para iniciar o while. Não têm outro sentido.
		While ((GREEN > RED) AND (GREEN > BLUE))
		{
			CoordMode, Pixel, Screen
			PixelGetColor, COR_ENCONTRADA, %NOVO_X%, %NOVO_Y%, RGB
			CoordMode, Tooltip, Screen
			NOVO_X := NOVO_X - 5
			RED := "0x" . SubStr(COR_ENCONTRADA, 3, 2)
			GREEN := "0x" . SubStr(COR_ENCONTRADA, 5, 2)
			BLUE := "0x" . SubStr(COR_ENCONTRADA, 7, 2)
			DISTANCIA_ESQUERDA := DISTANCIA_ESQUERDA + 5
		}
		NOVO_Y := FoundY + 20
		NOVO_X := FoundX + 12
		GREEN := 10, RED := 0, BLUE := 0, DISTANCIA_DIREITA := 0
		While ((GREEN > RED) AND (GREEN > BLUE)) ; Estes valores iniciais são apenas para iniciar o while. Não têm outro sentido.
		{
			CoordMode, Pixel, Screen
			PixelGetColor, COR_ENCONTRADA, %NOVO_X%, %NOVO_Y%, RGB
			CoordMode, Tooltip, Screen
			NOVO_X += 5
			RED := "0x" . SubStr(COR_ENCONTRADA, 3, 2)
			GREEN := "0x" . SubStr(COR_ENCONTRADA, 5, 2)
			BLUE := "0x" . SubStr(COR_ENCONTRADA, 7, 2)
			DISTANCIA_DIREITA := DISTANCIA_DIREITA + 5
		}
		If (DISTANCIA_DIREITA < DISTANCIA_ESQUERDA + 125)
		{
			Send {LButton Down}
			Random, MILISECONDS, 900, 1400
			Sleep %MILISECONDS%
			Send {LButton Up}
		}
	}
	Sleep 10
}

Return
:arrow: Agora o clique ocorre ainda que a bóia esteja bem mais próxima do limite à esquerda.
ola infelizmente estive fora por uns dias e nao conseguir editar o script, esta ultima edição nao melhorou nem piorou nada no script. parece que o script nao esta reconhecendo as cores vermelhar laranjas e verdes ... sera que se nos focar apenas o lado direiro nao melhoraria ?? porque a unica coisa que esta mudando o script q o tempo de puxar e soltar... ele nao esta reconhecendo a hora que esta na area vermelha ou laranja ...

Re: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post by Gio » 06 Mar 2020, 13:21

Pois é. Isso era meio que previsível. Mas como disse: não se preocupe. O que temos que fazer é ir ajustando até que funcione.

Próximo teste:

Code: Select all

; Passos 1 e 2: buscamos o conteúdo do arquivo Concepts.htm que está disponibilizado na internet no repositório do AutoHotkey.
; O código abaixo busca o arquivo no link, lê o conteúdo de texto inteiro do arquivo e grava na variável CONTEUDO_DO_ARQUIVO.
; O exemplo vem da página de ajuda do comando URLDownloadToFile (https://www.autohotkey.com/docs/commands/URLDownloadToFile.htm)

SetBatchLines, -1
#SingleInstance, Force

AREA_CENTRAL_X1 := (A_ScreenWidth / 2) - 150
AREA_CENTRAL_Y1 :=  (A_ScreenHeight / 2) - 150
AREA_CENTRAL_X2 := (A_ScreenWidth / 2) + 150
AREA_CENTRAL_Y2 :=  (A_ScreenHeight / 2) + 150

Loop
{
	ATUAL := A_TickCount
	CoordMode, Pixel, Screen
	PixelSearch, FoundX, FoundY, %AREA_CENTRAL_X1%, %AREA_CENTRAL_Y1%, %AREA_CENTRAL_X2%, %AREA_CENTRAL_Y2%, 0xFf7a09, 3, Fast RGB
	If (ErrorLevel = 0) ; Se a cor for encontrada, ErrorLevel recebe o valor 0.
	{
		CoordMode, ToolTip, Screen
		NOVO_Y := FoundY + 20
		NOVO_X := FoundX - 12
		GREEN := 10, RED := 0, BLUE := 0, DISTANCIA_ESQUERDA := 0 ; Estes valores iniciais são apenas para iniciar o while. Não têm outro sentido.
		While ((GREEN > RED) AND (GREEN > BLUE))
		{
			CoordMode, Pixel, Screen
			PixelGetColor, COR_ENCONTRADA, %NOVO_X%, %NOVO_Y%, RGB
			CoordMode, Tooltip, Screen
			NOVO_X := NOVO_X - 5
			RED := "0x" . SubStr(COR_ENCONTRADA, 3, 2)
			GREEN := "0x" . SubStr(COR_ENCONTRADA, 5, 2)
			BLUE := "0x" . SubStr(COR_ENCONTRADA, 7, 2)
			DISTANCIA_ESQUERDA := DISTANCIA_ESQUERDA + 5
		}
		NOVO_Y := FoundY + 20
		NOVO_X := FoundX + 12
		GREEN := 10, RED := 0, BLUE := 0, DISTANCIA_DIREITA := 0
		While ((GREEN > RED) AND (GREEN > BLUE)) ; Estes valores iniciais são apenas para iniciar o while. Não têm outro sentido.
		{
			CoordMode, Pixel, Screen
			PixelGetColor, COR_ENCONTRADA, %NOVO_X%, %NOVO_Y%, RGB
			CoordMode, Tooltip, Screen
			NOVO_X += 5
			RED := "0x" . SubStr(COR_ENCONTRADA, 3, 2)
			GREEN := "0x" . SubStr(COR_ENCONTRADA, 5, 2)
			BLUE := "0x" . SubStr(COR_ENCONTRADA, 7, 2)
			DISTANCIA_DIREITA := DISTANCIA_DIREITA + 5
		}
		If (DISTANCIA_DIREITA < DISTANCIA_ESQUERDA + 125)
		{
			Send {LButton Down}
			Random, MILISECONDS, 900, 1400
			Sleep %MILISECONDS%
			Send {LButton Up}
		}
	}
	Sleep 10
}

Return
:arrow: Agora o clique ocorre ainda que a bóia esteja bem mais próxima do limite à esquerda.

Re: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post by GaahFlash » 06 Mar 2020, 11:49

Gio wrote:
05 Mar 2020, 17:02
Bom, na teoria ele devia funcionar. Mas não estou tão surpreso que não funcione ainda. Por isso que disse que tem muito teste a ser feito para que um projeto desses de fato funcione adequadamente.

Tente aumentar o tempo do {Lbutton Down}. No momento está entre 900ms e 1,4 segundos. Pode colocar entre 1,5 e 2 segundos.

Code: Select all

Random, MILISECONDS, 1500, 2000

Também é possível que o minigame aplique um efeito inverso conforme você segura o mouse. Talvez se você segurar demais a linha, ele caia muito mais rápido depois. Se for isso, pode ser mais complexo definir o tempo certo de {Lbutton Down}.
ele e complexo sim porque depende do peixe que voce puxa fica "pesado" a boia de puxar e quando solta ele volta mais rapido...

Re: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post by Gio » 05 Mar 2020, 17:02

Bom, na teoria ele devia funcionar. Mas não estou tão surpreso que não funcione ainda. Por isso que disse que tem muito teste a ser feito para que um projeto desses de fato funcione adequadamente.

Tente aumentar o tempo do {Lbutton Down}. No momento está entre 900ms e 1,4 segundos. Pode colocar entre 1,5 e 2 segundos.

Code: Select all

Random, MILISECONDS, 1500, 2000

Também é possível que o minigame aplique um efeito inverso conforme você segura o mouse. Talvez se você segurar demais a linha, ele caia muito mais rápido depois. Se for isso, pode ser mais complexo definir o tempo certo de {Lbutton Down}.

Re: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post by GaahFlash » 05 Mar 2020, 16:00

Gio wrote:
05 Mar 2020, 08:56
Bom dia.

Os números são parte do código usado durante a etapa de desenvolvimento. Nesse caso específico, eu usei para saber quantas vezes o script tinha contado as distâncias da barra verde. O objetivo era entender a velocidade da rotina, para saber se era veloz o bastante para executar a ação sem perder o jogo.

Você pode eliminar a linha ToolTip, %COUNTER% se quiser. Os números deixarão de ser exibidos.

Mas e quanto ao código em si, está funcionando? Está pegando os peixes?
infelizmente nao ele esta soltando por muito tempo e a boia esta chegando no vermelho do lado direito e com isso a linha esta estourando.

acredito que ele esteja confundindo os lados direito e esquerdo porque quando a boia esta perto do laranja do lado direito >>> ele solta por pouco tempo e logo apos começa a precionar dnv... quando a boia esta perto do laranja do lado esquerdo ele tambem solta , porem ele revia continuar presionado.

Re: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post by Gio » 05 Mar 2020, 08:56

Bom dia.

Os números são parte do código usado durante a etapa de desenvolvimento. Nesse caso específico, eu usei para saber quantas vezes o script tinha contado as distâncias da barra verde. O objetivo era entender a velocidade da rotina, para saber se era veloz o bastante para executar a ação sem perder o jogo.

Você pode eliminar a linha ToolTip, %COUNTER% se quiser. Os números deixarão de ser exibidos.

Mas e quanto ao código em si, está funcionando? Está pegando os peixes?

Re: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post by GaahFlash » 04 Mar 2020, 21:14

Gio wrote:
04 Mar 2020, 19:27
Boa tarde.

Bom, agora você deve fazer o que eu disse antes. Caso a bóia seja encontrada, deve seguir-se uma rotina que calcula as distâncias da barra verde à esquerda e à direita da bóia. Se a distância à direita for menor do que a distância à esquerda, deve apertar o mouse por um tempo. Se não for, não deve fazer nada.

Ajuste o código a seguir conforme seja necessário.

Code: Select all

; Passos 1 e 2: buscamos o conteúdo do arquivo Concepts.htm que está disponibilizado na internet no repositório do AutoHotkey.
; O código abaixo busca o arquivo no link, lê o conteúdo de texto inteiro do arquivo e grava na variável CONTEUDO_DO_ARQUIVO.
; O exemplo vem da página de ajuda do comando URLDownloadToFile (https://www.autohotkey.com/docs/commands/URLDownloadToFile.htm)

SetBatchLines, -1
#SingleInstance, Force

AREA_CENTRAL_X1 := (A_ScreenWidth / 2) - 150
AREA_CENTRAL_Y1 :=  (A_ScreenHeight / 2) - 150
AREA_CENTRAL_X2 := (A_ScreenWidth / 2) + 150
AREA_CENTRAL_Y2 :=  (A_ScreenHeight / 2) + 150

COUNTER := 0
Loop
{
	CoordMode, Pixel, Screen
	PixelSearch, FoundX, FoundY, %AREA_CENTRAL_X1%, %AREA_CENTRAL_Y1%, %AREA_CENTRAL_X2%, %AREA_CENTRAL_Y2%, 0xFf7a09, 3, Fast RGB
	If (ErrorLevel = 0) ; Se a cor for encontrada, ErrorLevel recebe o valor 0.
	{
		CoordMode, ToolTip, Screen
		NOVO_Y := FoundY + 20
		NOVO_X := FoundX - 12
		GREEN := 10, RED := 0, BLUE := 0, DISTANCIA_ESQUERDA := 0 ; Estes valores iniciais são apenas para iniciar o while. Não têm outro sentido.
		While ((GREEN > RED) AND (GREEN > BLUE))
		{
			CoordMode, Pixel, Screen
			PixelGetColor, COR_ENCONTRADA, %NOVO_X%, %NOVO_Y%, RGB
			CoordMode, Tooltip, Screen
			NOVO_X := NOVO_X - 10
			RED := "0x" . SubStr(COR_ENCONTRADA, 3, 2)
			GREEN := "0x" . SubStr(COR_ENCONTRADA, 5, 2)
			BLUE := "0x" . SubStr(COR_ENCONTRADA, 7, 2)
			DISTANCIA_ESQUERDA := DISTANCIA_ESQUERDA + 10
		}
		NOVO_Y := FoundY + 20
		NOVO_X := FoundX + 12
		GREEN := 10, RED := 0, BLUE := 0, DISTANCIA_DIREITA := 0
		While ((GREEN > RED) AND (GREEN > BLUE)) ; Estes valores iniciais são apenas para iniciar o while. Não têm outro sentido.
		{
			CoordMode, Pixel, Screen
			PixelGetColor, COR_ENCONTRADA, %NOVO_X%, %NOVO_Y%, RGB
			CoordMode, Tooltip, Screen
			NOVO_X += 10
			RED := "0x" . SubStr(COR_ENCONTRADA, 3, 2)
			GREEN := "0x" . SubStr(COR_ENCONTRADA, 5, 2)
			BLUE := "0x" . SubStr(COR_ENCONTRADA, 7, 2)
			DISTANCIA_DIREITA := DISTANCIA_DIREITA + 10
		}
		COUNTER += 1
		ToolTip, %COUNTER%
		If (DISTANCIA_DIREITA < DISTANCIA_ESQUERDA)
		{
			Send {LButton Down}
			Random, MILISECONDS, 900, 1400
			Sleep %MILISECONDS%
			Send {LButton Up}
		}
	}
	Sleep 10
}

Return
sou muito iniciante no ahk nao entendi

qual linha eu devo ir alterando e pra que esses numeros que ficam aparecendo quando aparece a boia ?? conforme eu fico controlando a boia esse numero vai subindo.

Re: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post by Gio » 04 Mar 2020, 19:27

Boa tarde.

Bom, agora você deve fazer o que eu disse antes. Caso a bóia seja encontrada, deve seguir-se uma rotina que calcula as distâncias da barra verde à esquerda e à direita da bóia. Se a distância à direita for menor do que a distância à esquerda, deve apertar o mouse por um tempo. Se não for, não deve fazer nada.

Ajuste o código a seguir conforme seja necessário.

Code: Select all

; Passos 1 e 2: buscamos o conteúdo do arquivo Concepts.htm que está disponibilizado na internet no repositório do AutoHotkey.
; O código abaixo busca o arquivo no link, lê o conteúdo de texto inteiro do arquivo e grava na variável CONTEUDO_DO_ARQUIVO.
; O exemplo vem da página de ajuda do comando URLDownloadToFile (https://www.autohotkey.com/docs/commands/URLDownloadToFile.htm)

SetBatchLines, -1
#SingleInstance, Force

AREA_CENTRAL_X1 := (A_ScreenWidth / 2) - 150
AREA_CENTRAL_Y1 :=  (A_ScreenHeight / 2) - 150
AREA_CENTRAL_X2 := (A_ScreenWidth / 2) + 150
AREA_CENTRAL_Y2 :=  (A_ScreenHeight / 2) + 150

COUNTER := 0
Loop
{
	CoordMode, Pixel, Screen
	PixelSearch, FoundX, FoundY, %AREA_CENTRAL_X1%, %AREA_CENTRAL_Y1%, %AREA_CENTRAL_X2%, %AREA_CENTRAL_Y2%, 0xFf7a09, 3, Fast RGB
	If (ErrorLevel = 0) ; Se a cor for encontrada, ErrorLevel recebe o valor 0.
	{
		CoordMode, ToolTip, Screen
		NOVO_Y := FoundY + 20
		NOVO_X := FoundX - 12
		GREEN := 10, RED := 0, BLUE := 0, DISTANCIA_ESQUERDA := 0 ; Estes valores iniciais são apenas para iniciar o while. Não têm outro sentido.
		While ((GREEN > RED) AND (GREEN > BLUE))
		{
			CoordMode, Pixel, Screen
			PixelGetColor, COR_ENCONTRADA, %NOVO_X%, %NOVO_Y%, RGB
			CoordMode, Tooltip, Screen
			NOVO_X := NOVO_X - 10
			RED := "0x" . SubStr(COR_ENCONTRADA, 3, 2)
			GREEN := "0x" . SubStr(COR_ENCONTRADA, 5, 2)
			BLUE := "0x" . SubStr(COR_ENCONTRADA, 7, 2)
			DISTANCIA_ESQUERDA := DISTANCIA_ESQUERDA + 10
		}
		NOVO_Y := FoundY + 20
		NOVO_X := FoundX + 12
		GREEN := 10, RED := 0, BLUE := 0, DISTANCIA_DIREITA := 0
		While ((GREEN > RED) AND (GREEN > BLUE)) ; Estes valores iniciais são apenas para iniciar o while. Não têm outro sentido.
		{
			CoordMode, Pixel, Screen
			PixelGetColor, COR_ENCONTRADA, %NOVO_X%, %NOVO_Y%, RGB
			CoordMode, Tooltip, Screen
			NOVO_X += 10
			RED := "0x" . SubStr(COR_ENCONTRADA, 3, 2)
			GREEN := "0x" . SubStr(COR_ENCONTRADA, 5, 2)
			BLUE := "0x" . SubStr(COR_ENCONTRADA, 7, 2)
			DISTANCIA_DIREITA := DISTANCIA_DIREITA + 10
		}
		COUNTER += 1
		ToolTip, %COUNTER%
		If (DISTANCIA_DIREITA < DISTANCIA_ESQUERDA)
		{
			Send {LButton Down}
			Random, MILISECONDS, 900, 1400
			Sleep %MILISECONDS%
			Send {LButton Up}
		}
	}
	Sleep 10
}

Return

Re: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post by GaahFlash » 03 Mar 2020, 14:02

Gio wrote:
03 Mar 2020, 10:58
Bom dia Gaahflash.

O pixel da bóia não tem uma posição estática, pois a bóia se move. Ademais a bóia não existe a todo momento, ela existe somente quando o personagem inicia a ação da pesca. Sendo assim você deve fazer o primeiro passo como mencionei: um loop de checagem com PixelSearch, ou seja, uma rotina repetitiva de checagem que vai acionar a segunda rotina somente caso (e somente quando) encontre de fato a bóia.

O objetivo deste primeiro loop é ficar procurando a bóia na tela até que ela exista. Quando existir, aí sim executará a próxima rotina. Mas enquanto a bóia não existir, ele fica apenas procurando ela silenciosamente em segundo plano.

Vou te dar um exemplo. O código a seguir procura em loop (ou seja, repetidamente) um pixel com cores 0xFF7A09 (e tolerância de até 3 em cada canal) na área de 300x300 pixels central da sua tela. Quando ele acha essa cor nesta área, ele imediatamente avisa por meio de um ToolTip. Este ToolTip só é exibido caso a cor apareça na área e se ela sumir de lá, ele some também.

Code: Select all

SetBatchLines, -1
#SingleInstance, Force

AREA_CENTRAL_X1 := (A_ScreenWidth / 2) - 150
AREA_CENTRAL_Y1 :=  (A_ScreenHeight / 2) - 150
AREA_CENTRAL_X2 := (A_ScreenWidth / 2) + 150
AREA_CENTRAL_Y2 :=  (A_ScreenHeight / 2) + 150

Loop
{
	CoordMode, Pixel, Screen
	PixelSearch, FoundX, FoundY, %AREA_CENTRAL_X1%, %AREA_CENTRAL_Y1%, %AREA_CENTRAL_X2%, %AREA_CENTRAL_Y2%, 0xFF7A09, 3, Fast RGB
	If (ErrorLevel = 0) ; Se a cor for encontrada, ErrorLevel recebe o valor 0.
	{
		CoordMode, ToolTip, Screen
		Tooltip, Bóia encontrada!, %FoundX%, %FoundY%
		; Aqui vai o código do passo 2.
	}
	else
	{
		ToolTip
	}
	Sleep 10
}

Return

:arrow: Perceba que no código acima tudo o que estiver dentro do bloco onde está escrito "aqui vai o código do passo 2" estará imediatamente condicionado ao encontrar do pixel na área. Isso significa que só executa se o pixel estiver lá. Ou seja, é dentro desse bloco de códigos (ou seja, dentro do { e }) que você vai escrever o próximo passo.

Cabe destacar que o valor de cor 0xFF7A09 e o grau de tolerância 3 (parâmetros do PixelSearch) são um mero chute: você vai precisar testar bastante essa rotina pra saber se ela é confiável ou se precisa de ajuste nestes parâmetros. Dessa forma, precisa testar muito pra saber se ela de fato consegue sempre encontrar a bóia e também se ela não fica te causando transtornos com falso-positivos em outros elementos do cenário (por exemplo, se ela não fica acusando uma flor laranja ou algo do tipo de ser a bóia). Caso a rotina não esteja confiável o suficiente, você terá que ir mudando a cor escolhida e o grau de tolerância da cor até que consiga encontrar os melhores valores (ou seja, aqueles que vão sempre encontrar a bóia, mas não vão te dar muitos falso-positivos com outros elementos do cenário).
FUNCIONOU EU COLOKEI O COMANDO SO PRA TESTAR

FIZ ESSE EXEMPLO PARA TESTAR E FUNCINOU PUXOU E SOLTOU A BOIA
\/
\/

Code: Select all

CoordMode, ToolTip, Screen
		Tooltip,
		; if alternar {
        send {LButton Down}
sleep 1500
        send {LButton Up}
sleep 400
   
    alternar := !alternar
	}
	
	{
		ToolTip
	}

acredito que agora so falte conseguir implementar o ultimo comando

Image

Image

Re: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post by Gio » 03 Mar 2020, 10:58

Bom dia Gaahflash.

O pixel da bóia não tem uma posição estática, pois a bóia se move. Ademais a bóia não existe a todo momento, ela existe somente quando o personagem inicia a ação da pesca. Sendo assim você deve fazer o primeiro passo como mencionei: um loop de checagem com PixelSearch, ou seja, uma rotina repetitiva de checagem que vai acionar a segunda rotina somente caso (e somente quando) encontre de fato a bóia.

O objetivo deste primeiro loop é ficar procurando a bóia na tela até que ela exista. Quando existir, aí sim executará a próxima rotina. Mas enquanto a bóia não existir, ele fica apenas procurando ela silenciosamente em segundo plano.

Vou te dar um exemplo. O código a seguir procura em loop (ou seja, repetidamente) um pixel com cores 0xFF7A09 (e tolerância de até 3 em cada canal) na área de 300x300 pixels central da sua tela. Quando ele acha essa cor nesta área, ele imediatamente avisa por meio de um ToolTip. Este ToolTip só é exibido caso a cor apareça na área e se ela sumir de lá, ele some também.

Code: Select all

SetBatchLines, -1
#SingleInstance, Force

AREA_CENTRAL_X1 := (A_ScreenWidth / 2) - 150
AREA_CENTRAL_Y1 :=  (A_ScreenHeight / 2) - 150
AREA_CENTRAL_X2 := (A_ScreenWidth / 2) + 150
AREA_CENTRAL_Y2 :=  (A_ScreenHeight / 2) + 150

Loop
{
	CoordMode, Pixel, Screen
	PixelSearch, FoundX, FoundY, %AREA_CENTRAL_X1%, %AREA_CENTRAL_Y1%, %AREA_CENTRAL_X2%, %AREA_CENTRAL_Y2%, 0xFF7A09, 3, Fast RGB
	If (ErrorLevel = 0) ; Se a cor for encontrada, ErrorLevel recebe o valor 0.
	{
		CoordMode, ToolTip, Screen
		Tooltip, Bóia encontrada!, %FoundX%, %FoundY%
		; Aqui vai o código do passo 2.
	}
	else
	{
		ToolTip
	}
	Sleep 10
}

Return

:arrow: Perceba que no código acima tudo o que estiver dentro do bloco onde está escrito "aqui vai o código do passo 2" estará imediatamente condicionado ao encontrar do pixel na área. Isso significa que só executa se o pixel estiver lá. Ou seja, é dentro desse bloco de códigos (ou seja, dentro do { e }) que você vai escrever o próximo passo.

Cabe destacar que o valor de cor 0xFF7A09 e o grau de tolerância 3 (parâmetros do PixelSearch) são um mero chute: você vai precisar testar bastante essa rotina pra saber se ela é confiável ou se precisa de ajuste nestes parâmetros. Dessa forma, precisa testar muito pra saber se ela de fato consegue sempre encontrar a bóia e também se ela não fica te causando transtornos com falso-positivos em outros elementos do cenário (por exemplo, se ela não fica acusando uma flor laranja ou algo do tipo de ser a bóia). Caso a rotina não esteja confiável o suficiente, você terá que ir mudando a cor escolhida e o grau de tolerância da cor até que consiga encontrar os melhores valores (ou seja, aqueles que vão sempre encontrar a bóia, mas não vão te dar muitos falso-positivos com outros elementos do cenário).

Re: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post by GaahFlash » 02 Mar 2020, 23:31

Gio wrote:
02 Mar 2020, 18:05
Ok, dando uma olhada na rotina eu tenho a dizer o seguinte: é possível fazer sem dúvida, mas vai ser um script que vai requerer um bom grau de otimização e testes, tendo em vista principalmente a necessidade de muita velocidade na leitura da posição da boia e na reação com o clique do mouse. Também dificulta um pouco esta tarefa o fato de que a barra verde é semi-transparente, o que significa que a cor exata dos pixels depende em parte do cenário embaixo dela, tornando-a difícil de prever com exatidão. Portanto, não é algo que eu possa apresentar um código-exemplo, mas talvez eu possa descrever os passos para obter este código funcional.

Então se eu fosse descrever sem testes a solução do problema (ou como eu tentaria fazê-lo à princípio), seria mais ou menos como o esboço a seguir:


PIXEL PENA.png

1. A cor da pena da boia parece ter uns pixels com cores laranjas bem opacas. Usaria eles como o primeiro nivel de checagem em loop para determinar SE e QUANDO existirá uma barra de pesca aparecendo na tela. Faria isso em uma sub-área central da tela, pois vejo que a barra da bóia parece ficar mais ou menos ao centro da tela e diminuir a área de busca pode tornar a rotina mais rápida.

2. (talvez não seja necessário este passo - teria que determinar nos testes) Uma vez descoberta a existência da barra, o próximo passo talvez seja iniciar uma série de "comandos de mouse intermitentes" em uma espécie de "pente grosso". Isso significa basicamente que o script já vai reagir imediatamente quando descobrir a existência da boia, ainda que de uma forma um pouco cega a princípio: o objetivo nesse primeiro momento é clicar com o mouse para dificultar (ou seja, FREAR) o movimento da barra de descer muito rapidamente, e não para acertar o ritmo dela até o fim. A quantidade de cliques por segundo do pente grosso teria que ser determinada por meio de testes, buscando um nível que garanta o máximo de tempo até que a boia falhe (por exemplo: se vc deixar a boia parada, ela pode falhar em 5 segundos, tornado-se irreversível em 3. Mas se vc fizer dez cliques a cada 500ms, ou se vc segurar o botao do mouse 100ms a cada 300ms, talvez ela passe a falhar em 10 segundos, tornando-se irreversível em 8. Esse tempo extra é o tempo que talvez você precise para encontrar as outras posições necessárias e então fazer o script determinar a forma certa de clicar - ou seja, o "pente fino" dos cliques). Portanto, Enquanto faz esses cliques de pente grosso, o script:


PIXEL INTERMITENCIA.png

PIXEL INTERMITENCIA DIREITA.png

3. iniciaria em paralelo (pseudo-paralelo na verdade) uma rotina para encontrar a posição da boia em relação à barra verde. Para fazer isso, é preciso somente determinar as posições das intermitências verde-laranjas à esquerda e à direita da da barra. Isso pode ser facilitado sabendo-se que a próxima busca será em apenas uma linha de pixels, que será determinada como sendo um pouco abaixo da linha onde a pena da boia foi localizada. Encontrar as intermitências pode ser tão fácil quanto ir pulando um PixelGetColor de X em X pixels do centro até a esquerda (e depois direita) da barra em um número de pixels fixo abaixo da posição da pena da boia. A intermitência ocorre onde o canal verde não for mais o maior dos 3 canais da cor.


CALCULO PENTE FINO.png

4. Quando o script estiver certo de que encontrou todas as três variáveis (posição da pena da boia, posição da intermitência verde-laranja à esquerda e posição da intermitência verde-laranja à direita) ficaria muito fácil calcular em loop o nivel de cliques a serem enviados em pente fino: É só ver a diferença da posição horizontal (ou seja, X) da pena da boia em relação à posição horizontal das duas intermitências. Se estiver mais ou centro, mantém a quantidade (ou tempo) dos cliques, se estiver mais à esquerda, alivia a quantidade (ou tempo) dos cliques, se estiver mais à direita, aumenta a quantidade (ou tempo) dos cliques. O nivel do alivio ou do aumento dos cliques (ou do tempo de clique) a cada checagem teria que ser determinado por tentativa e erro.

5. O final da rotina (com a conclusão da pescaria) seria determinado pela mudança na cor do local onde estavam as intermitências antes.


:arrow: Acredito que uma rotina assim resolveria o problema. Mas como você já viu, esta rotina está mais para um pequeno projeto. Indico que comece então resolvendo o necessário para que o passo 1 esteja de acordo e preocupe-se somente com ele agora. Tente fazer um código que fica buscando em loop a cor da pena da bóia e que apresenta uma msgbox sempre que encontra a pena. Veja com testes se ele consegue jogar a msgbox quando a boia aparece e vá ajustando ele até que consiga. Depois (e somente depois) você passa para o passo 2.

Se tiver alguma dúvida sobre algum dos passos, basta postar abaixo.

OBS: Cabe repetir o que disse em outro tópico: não recomendo que faça nenhuma automação que possa ser contrária aos termos de uso do jogo em questão. Eu não conheço esse jogo que você indicou, mas saiba que muitos jogos podem banir sua conta se sua automação for contrária aos termos de uso deles. A responsabilidade e o julgamento do que é ou não certo em qualquer caso é totalmente sua ;)

peguei o seu tutorial do pixelsearh q mostra a posição do chapeu para encontar o pixel e a posição da boia.

o pixel da pena da boia é o : 0xfd7c16

e a posição x: 637 y:510

agora devo fazer oque ?

Re: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post by Gio » 02 Mar 2020, 18:05

Ok, dando uma olhada na rotina eu tenho a dizer o seguinte: é possível fazer sem dúvida, mas vai ser um script que vai requerer um bom grau de otimização e testes, tendo em vista principalmente a necessidade de muita velocidade na leitura da posição da boia e na reação com o clique do mouse. Também dificulta um pouco esta tarefa o fato de que a barra verde é semi-transparente, o que significa que a cor exata dos pixels depende em parte do cenário embaixo dela, tornando-a difícil de prever com exatidão. Portanto, não é algo que eu possa apresentar um código-exemplo, mas talvez eu possa descrever os passos para obter este código funcional.

Então se eu fosse descrever sem testes a solução do problema (ou como eu tentaria fazê-lo à princípio), seria mais ou menos como o esboço a seguir:

PIXEL PENA.png
PIXEL PENA.png (162.89 KiB) Viewed 5757 times
1. A cor da pena da boia parece ter uns pixels com cores laranjas bem opacas. Usaria eles como o primeiro nivel de checagem em loop para determinar SE e QUANDO existirá uma barra de pesca aparecendo na tela. Faria isso em uma sub-área central da tela, pois vejo que a barra da bóia parece ficar mais ou menos ao centro da tela e diminuir a área de busca pode tornar a rotina mais rápida.

2. (talvez não seja necessário este passo - teria que determinar nos testes) Uma vez descoberta a existência da barra, o próximo passo talvez seja iniciar uma série de "comandos de mouse intermitentes" em uma espécie de "pente grosso". Isso significa basicamente que o script já vai reagir imediatamente quando descobrir a existência da boia, ainda que de uma forma um pouco cega a princípio: o objetivo nesse primeiro momento é clicar com o mouse para dificultar (ou seja, FREAR) o movimento da barra de descer muito rapidamente, e não para acertar o ritmo dela até o fim. A quantidade de cliques por segundo do pente grosso teria que ser determinada por meio de testes, buscando um nível que garanta o máximo de tempo até que a boia falhe (por exemplo: se vc deixar a boia parada, ela pode falhar em 5 segundos, tornado-se irreversível em 3. Mas se vc fizer dez cliques a cada 500ms, ou se vc segurar o botao do mouse 100ms a cada 300ms, talvez ela passe a falhar em 10 segundos, tornando-se irreversível em 8. Esse tempo extra é o tempo que talvez você precise para encontrar as outras posições necessárias e então fazer o script determinar a forma certa de clicar - ou seja, o "pente fino" dos cliques). Portanto, Enquanto faz esses cliques de pente grosso, o script:

PIXEL INTERMITENCIA.png
PIXEL INTERMITENCIA.png (179.71 KiB) Viewed 5757 times
PIXEL INTERMITENCIA DIREITA.png
PIXEL INTERMITENCIA DIREITA.png (173.41 KiB) Viewed 5757 times
3. iniciaria em paralelo (pseudo-paralelo na verdade) uma rotina para encontrar a posição da boia em relação à barra verde. Para fazer isso, é preciso somente determinar as posições das intermitências verde-laranjas à esquerda e à direita da da barra. Isso pode ser facilitado sabendo-se que a próxima busca será em apenas uma linha de pixels, que será determinada como sendo um pouco abaixo da linha onde a pena da boia foi localizada. Encontrar as intermitências pode ser tão fácil quanto ir pulando um PixelGetColor de X em X pixels do centro até a esquerda (e depois direita) da barra em um número de pixels fixo abaixo da posição da pena da boia. A intermitência ocorre onde o canal verde não for mais o maior dos 3 canais da cor.

CALCULO PENTE FINO.png
CALCULO PENTE FINO.png (175.32 KiB) Viewed 5757 times
4. Quando o script estiver certo de que encontrou todas as três variáveis (posição da pena da boia, posição da intermitência verde-laranja à esquerda e posição da intermitência verde-laranja à direita) ficaria muito fácil calcular em loop o nivel de cliques a serem enviados em pente fino: É só ver a diferença da posição horizontal (ou seja, X) da pena da boia em relação à posição horizontal das duas intermitências. Se estiver mais ou centro, mantém a quantidade (ou tempo) dos cliques, se estiver mais à esquerda, alivia a quantidade (ou tempo) dos cliques, se estiver mais à direita, aumenta a quantidade (ou tempo) dos cliques. O nivel do alivio ou do aumento dos cliques (ou do tempo de clique) a cada checagem teria que ser determinado por tentativa e erro.

5. O final da rotina (com a conclusão da pescaria) seria determinado pela mudança na cor do local onde estavam as intermitências antes.


:arrow: Acredito que uma rotina assim resolveria o problema. Mas como você já viu, esta rotina está mais para um pequeno projeto. Indico que comece então resolvendo o necessário para que o passo 1 esteja de acordo e preocupe-se somente com ele agora. Tente fazer um código que fica buscando em loop a cor da pena da bóia e que apresenta uma msgbox sempre que encontra a pena. Veja com testes se ele consegue jogar a msgbox quando a boia aparece e vá ajustando ele até que consiga. Depois (e somente depois) você passa para o passo 2.

Se tiver alguma dúvida sobre algum dos passos, basta postar abaixo.

OBS: Cabe repetir o que disse em outro tópico: não recomendo que faça nenhuma automação que possa ser contrária aos termos de uso do jogo em questão. Eu não conheço esse jogo que você indicou, mas saiba que muitos jogos podem banir sua conta se sua automação for contrária aos termos de uso deles. A responsabilidade e o julgamento do que é ou não certo em qualquer caso é totalmente sua ;)

Re: EXISTE ALGUN SCRIPT PARA JOGOS DE PESCA

Post by GaahFlash » 28 Feb 2020, 17:39

Gio wrote:
28 Feb 2020, 12:39
Não vejo o link do vídeo. Você tem certeza de que o escreveu?

Top