PixelSearch

Tire suas dúvidas sobre programação em AutoHotkey

Moderator: Gio

User avatar
Hologram
Posts: 126
Joined: 06 May 2020, 16:47

PixelSearch

28 Aug 2020, 10:21

Eu to trocando o searchimage pelo pixel pra deixar mais dinamico, mas to tendo bastante dificuldade, to testando em cores hexadecimais, porém só ta dando erros..
Estou lidando com o seguinte código:

Code: Select all

	PixelSearch, PosX2, PosY2, 646, 118, 818, 567, #e8c05e, 0, Fast --nao targetado
	If (ErrorLevel = 0){
		MouseMove, %PosX2%, %PosY2%
		Mouseclick, left
		sleep, 100
		ControlSend,, {%attack1%}{%attack2%}{%attack3%}{%attack4%}{%attack5%}{%attack6%}{%attack7%}{%attack8%}, NAME
		}
	PixelSearch, , , 646, 118, 818, 567, #ffffff, 0, Fast --mouse em cima, mas nao targetado
	If (ErrorLevel = 0){
		Mouseclick, left
		ControlSend,, {%attack1%}{%attack2%}{%attack3%}{%attack4%}{%attack5%}{%attack6%}{%attack7%}{%attack8%}, NAME
		}
	PixelSearch, , , 646, 118, 818, 567, #ff8888, 0, Fast --targetado
	If (ErrorLevel = 0){
		ControlSend,, {%attack1%}{%attack2%}{%attack3%}{%attack4%}{%attack5%}{%attack6%}{%attack7%}{%attack8%}, NAME
		}
	}
Já fiz varios testes, por exemplo colocar pra setar só um msgbox acaso achasse a cor, e encontrou só 1 (e quando eu coloco pra mover o mouse pra cima dela, vai pra uma cor bem aleatoria), sendo que eu sei que estao presentes as 3 na tela, ja usei pra procurar somente na Window, ja tentei mudar o esquema de cores, mas da sempre o mesmo resultado, alguma dica? Se precisar posto o script todo
Discord: Npc Bugado#9074



local config = {
delrey = getPlayerCarValue(cid, DELREY),
cigarro = getPlayerCancer(cid, DERBY),
prostituta = getPlayerAIDS(cid, cracuda),
tresOitao = getPlayerRevorvi(cid, 38)
}
if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end


Lazyyy
Posts: 49
Joined: 27 Jan 2020, 21:56

Re: PixelSearch

29 Aug 2020, 10:39

Code: Select all

PixelSearch, PosX2, PosY2, 646, 118, 818, 567, #e8c05e, 0, Fast --nao targetado
PosX2:=PosX2+0		;agora você precisa ir trocando os "0" pra fazer com que o clique seja mais preciso.
PosY2:=PosY2+0		; ^
If (ErrorLevel = 0){
	MouseMove, %PosX2%, %PosY2%
	Mouseclick, left
	sleep, 100
	ControlSend,, {%attack1%}{%attack2%}{%attack3%}{%attack4%}{%attack5%}{%attack6%}{%attack7%}{%attack8%}, NAME
	}
tenta assim
User avatar
Gio
Posts: 1060
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: PixelSearch

31 Aug 2020, 10:21

Bom dia Hologram.

Não consegui entender este código de cor: #e8c05e. O AutoHotkey pode entender códigos de cores como números hexadecimais de 6 digitos. Mas todo número hexadecimal deve ser informado colocando o prefixo 0x. Creio que o prefixo # (que você usou no código) seja próprio de algum outro programa ou linguagem diferente. Por este motivo, o AutoHotkey não deve estar interpretando corretamente um código de cor como #e8c05e.

:arrow: Para escrever o código de cores, você deve quebrá-lo em três componentes: Vermelho, Verde e Azul. Por padrão, a ordem de escrita deles no comando PixelSearch é Azul, seguido de Verde, seguido de Vermelho. Mas você pode usar a opção RGB para tornar a ordem Vermelho, depois Verde, depois Azul (ou seja, RGB, que é a forma mais conhecida).

Se (e somente se!) a cor que você estiver buscando for Vermelho E8, seguido de Verde C0 e depois de Azul 5E, então o comando deveria ser escrito assim:

Code: Select all

PixelSearch, PosX2, PosY2, 646, 118, 818, 567, 0xE8C05E, 0, Fast RGB
Outra forma de escrever o mesmo comando, mas sem usar a opção RGB (portanto, usando o código no formato BGR) seria assim:

Code: Select all

PixelSearch, PosX2, PosY2, 646, 118, 818, 567, 0x5EC0E8, 0, Fast

Return to “Ajuda e Suporte Geral”

Who is online

Users browsing this forum: Gio and 2 guests