Sobre 'or'

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

Moderator: Gio

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

Sobre 'or'

11 Sep 2020, 14:32

Olá eu to fazendo um script, que tem que procurar umas 50 imagens diferentes, e as linhas ao encontrar a imagem, tambem sao bastante grandes, entao se for colocar como esta ( 50 imagemsearch + as linhas de dentro) fica algo muito grande levando em consideração que o script de dentro dos colchetes é o mesmo, só preciso colocar uma grande quantidade de procuras de imagem, resumindo, tem como usar o comando 'or' pra isso? eu tentei assim, mas sem resultados:

Code: Select all

ImageSearch, PosX18, PosY18, 0, 0, %A_ScreenWidth%,  %A_ScreenHeight%, %A_ScriptDir%/corpse/9.png or 10.png or 11.png
Provavelmente o script entende como se tudo isso fosse só 1 nome
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


User avatar
Gio
Posts: 1058
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: Sobre 'or'

11 Sep 2020, 16:13

Boa tarde Hologram.

Você pode usar um loop para isso. Basta indexar numericamente os nomes das imagens e colocá-las em uma pasta só (por exemplo). Mas o ideal é que esse loop, além de consultar as 50 imagens, implemente já também a lógica da rotina.

:arrow: O sentido lógico do OU remete à ideia de que QUALQUER das imagens que for encontrada deve interromper o código e causar alguma ação. É isso mesmo que você deseja?

Exemplo: supondo que sejam 50 imagens diferentes, e que TODAS devam ser buscadas, e que QUALQUER delas resulte em uma mensagem:

Code: Select all

ENCONTRADO := 0
Loop 50
{
	ImageSearch, PosX, PosY, 0, 0, %A_ScreenWidth%,  %A_ScreenHeight%, %A_ScriptDir%/corpse/%A_index%.png
	If (ErrorLevel = 0)
	{
		ENCONTRADO := A_Index
		Break ; Neste caso o break serve para parar o loop na primeira imagem encontrada (afinal, qualquer uma serve). Removendo o break e ajustando as variáveis de saída, é possível definir quantas e também quais foram encontradas (caso deseje)
	}
}
If (ENCONTRADO > 0)
{
	msgbox, 0, Aviso, Uma das imagens foi encontrada: %ENCONTRADO%.png
}

Return to “Ajuda e Suporte Geral”

Who is online

Users browsing this forum: No registered users and 4 guests