quarta-feira, 13 de abril de 2011

Aprendendo Sobre Macros

automacro Syntax

automacros são usados para executar um macro automaticamente baseando-se em condições.
Veja a lista de condições que um automacro pode checar antes de chamar um macro.

Lembrete
(<|<=|=|>=|>|!=)
São operadores.
< Menor que
<= Menor ou igual que
= igual
>= Maior ou igual que
> Maior que
!= Diferente de

map nome do mapa
Chama um macro quando está em um determinado mapa.
Exemplo:
map prontera

location [not] mapname [x1 y2 [x2 y2]]
Chama um macro quando está ou não em um determinado mapa e em uma determinada localização.
Exemplos:
location prontera
Ativa quando você está em prontera.
location not prontera
Ativa em todos os mapas exceto em prontera
location prontera 100 100
Ativa quando você está em prontera na localização 100 100
location prontera 100 100 200 200
Ativa quando você está em qualquer lugar dentro de um retângulo entre 100/100 e 200/200 de prontera.

var nome (<|<=|=|>=|>|!=) (value|unset)
Ativa quando uma variável está <> ou >= ou > ou != ou está unset (Não setada)
Exemplo:
var qualquer > 3
var qualquer unset

timeout seconds
Checa pelas condições novamente após um determinado tempo.
Exemplo:
timeout 120

hp (<|<=|=|>=|>|!=) porcentagem
Ativa quando seu hp está nas condições acima
Exemplo:
hp >= 50%

sp (<|<=|=|>=|>|!=) porcentagem
Ativa quando seu sp está nas condições acima.
Exemplo:
sp >= 50%

spirit (<|<=|=|>=|>|!=) quantidade
Ativa quando você tem uma certa quantidade de spirts (esferas) nas condições acima.
Exemplo:
spirit < 4

status [not] qualquer um
Ativa quando você está ou não quando você está com status especificado. Para consultar os status, digite s no console ou verifique o arquivo skillsstatus.txt na pasta tables do seu openkore.
Exemplo:
status blessing
status not blessing

base (<|<=|=|>=|>|!=) level
Ativa quando seu level base está nas condições acima.
Exemplo:
base > 11

job (<|<=|=|>=|>|!=) level
Ativa quando seu job level está nas condições acima.
Exemplo:
base < 10

class classname
Ativa quando você é de uma determinada classe. Para consultar o nome correto de sua classe, verifique através do comando s no console.
Exemplo:
class thief

weight (<|<=|=|>=|>|!=) porcentagem
Ativa quando seu peso está nas condições especificadas.
Exemplo:
weight < 50%

cartweight (<|<=|=|>=|>|!=) porcentagem
Ativa quando o peso do cart (Carrinho) está nas condições especificadas.
Exemplo:
cartweight < 50%

cart "item" (<|<=|=|>=|>|!=) quantidade
Ativa quando os itens do cart (Carrinho) estão nas condições especificadas.
Exemplo:
cart "Red Potion" < 50

inventory "item" (<|<=|=|>=|>|!=) quantidade
Ativa quando os itens do inventário estão nas condições especificadas.
Exemplo:
inventory "Red Potion" < 50

shop "item" (<|<=|=|>=|>|!=) quantidade
Ativa quando os itens do shop (Loja/vending) estão nas condições especificadas.
Exemplo:
shop "Red Potion" < 50

storage "item" (<|<=|=|>=|>|!=) quantidade
Ativa quando os itens do storage (Armazém) estão nas condições especificadas.
Exemplo:
storage "Red Potion" < 50

zeny (<|<=|=|>=|>|!=) quantidade
Ativa quando seu zeny está nas condições especificadas.
Exemplo:
zeny < 500

soldout (<|<=|=|>=|>|!=) slots
Ativa quando os slots do vending estão nas condições acima.
Exemplo:
soldout < 7

player nome do jogador
Ativa quando o jogador com o nome especificado está na tela
Exemplo:
player Juvenal Baka

equipped item
Ativa quando você está com um determinado item equipado.
Exemplo:
equipped +7 Main Gauche [4]

spell nome
Ativa quando aparece o nome de uma magia na sua cabeça. Ex. Quando alguém casta agi em você.
Exemplo:
spell Blessing

pm /regexp/[,userA[,userB[...]]]
Ativa quando você uma determinada mensagem por PM (Mensagem privada MP)
Exemplo:
pm /ei você/,Maga da morte,Hunter do Caos
Neste exemplo, o automacro será ativado quando a jogadora "Maga da morte" ou o jogador "Hunter do Caos" mandarem um PM com a mensagem "ei você". Se você quer que seja ativado apenas com a mensagem "ei você" por qualquer jogador, basta não colocar a vírgula e os usuários.

pubm /regexp/,distancia
Ativa quando alguém fala com você por em público em uma determinada distância em quadros.
Exemplo:
pubm /oi/,7

party /regexp/[,userA[,userB[...]]]
Mesma explicação do PM. A diferença é que será ativado quando receber a mensagem no party(grupo) chat.

guild /regexp/[,userA[,userB[...]]]
Mesma explicação do PM. A diferença é que será ativado quando receber a mensagem no guild(clã) chat.

run-once [1]
Faz com que o automacro seja ativado apenas uma vez.

overrideAI [1]
Passa por cima de qualquer AI que esteja sendo executada e também por qualquer AI que esteja na fila.

delay seconds
Adiciona um atraso em segundos antes do automacro chamar um macro.
Exemplo:
delay 120

call nomeDoMacro
Faz com que o automacro chame um macro quando ativado.
Exemplo:
call comprar-arma

set (variable)
valor
Seta uma variável com um determinado valor antes de chamar um macro.

Variáveis pré-definidas.
$.lastpm - O nome do ultimo char que ativou um pubm no automacro
$.lastpub - O nome do ultimo char que ativou um pm no automacro
$.pos - Sua posição atual. (x y mapa)
$.time - A hora atual
$.datetime - A data atual
____________________________________________________

Exemplo de automacro chamando um macro.

Nota: A localização dos npcs aqui é fictícia (nao existem).



automacro fazerUpGrade {

eqquiped Main Gauche [4]#Repare que aqui temos 3

base > 12 #
condições e significa que só vai

zeny > 25000 #
chamar a macro quando tiver todas

run-once 1 #
condiçoes especificadas:equip,base,zenny

call Upgrade

}

macro Upgrade {

do move 127 133 prt_in

pause 3

do talk @npc (129 135)

do talk cont

do talk resp 1

do talk cont

do talk cont

call sair

}



macro sair {

do quit

}
















Nenhum comentário:

Postar um comentário