Tutorial de como programar macros

  • Criador do tópico Criador do tópico spy_
  • Start date Start date

Bem-vindo!

Ao se registrar conosco, você poderá discutir, compartilhar e enviar mensagens privadas com outros membros da nossa comunidade.

Registrar agora!
  • PROMOÇÃO DE NATAL NO AR

    Novo servidor: CraftLandia Olimpo


Status
Não está aberto para novas respostas.
Entrou
Jun 30, 2016
Mensagens
236
Pontuação de reação
101
Idade
23
Localização
Narnia
Cubos
0
slv slv galera estava olhando alguns topicos antigos do forum e acabei achando isso
resolvi compartilhar com vcs :d

ATUALIZADO ATÉ A VERSÃO 1.5.2
como a maioria dos servidores está nesta versão, não me estendi as demais


Considerações:

Alguns comandos são um pouco mais complexos de entender, e só é possível entendê-los com o tempo,
mesmo estando descrito com detalhes aqui, então, na hora de programar, seja paciente, e não tenha preguiça de ler

o "TEMPO" que as vezes é dado em um comando é uma espécie de efeito de transição,
fazendo o valor indicado ser alterado gradualmente, por exemplo,
ao se usar o FOV(valor,tempo) é possível dar um efeito de zoom gradativamente

E repito, se quer aprender a programar, NÃO TENHA PREGUIÇA DE LER


GUI, também conhecido como "janelas"



GUI(INVENTORYarrow-10x10.png); abre a janela do inventário
GUI(chat); abre a janela do chat




Comandos do chat/labels/texto



ACHIEVEMENTGET(texto,ID:ID); utiliza o sistema de conquista para exibir uma imagem na tela (use o id de um item para usar como icone)

CHATHEIGHT(VALOR,TEMPO); de 20 a 180 (altera a altura do chat)
CHATWIDTH(VALOR,TEMPO); de 20 a 180 (altera a largura do chat)
CHATHEIGHTFOCUSED(VALOR,TEMPO); de 20 a 180 (altera a altura do chat no modo de chat aberto/digitando)
CHATOPACITY(VALOR,TEMPO); de 0 a 100 (altera a transparência do chat)
CHATSCALE(VALOR,TEMPO); de 0 a 100 (altera tamanho da letra do chat)
CHATVISIBLE(VALOR); false (desativa) / true (ativa)
CLEARCHAT; limpa o chat

STRIP(&target,text); Retira códigos e cores de um texto ou variável de texto, assim, limpando-o
LOG(texto); Diz algo no chat (somente para o player que está usando a macro)
LOGTO(alvo,texto); salva o texto no alvo informado (salva em um txt "file.txt" e textarea)
STRIP(&target,text); Retira de um texto ou variável de texto, códigos e cores, deixando-o mais limpo

REPLACE($var,a,b); Troca em um texto ou variável de texto, um conjunto de caracteres por outro
$var - é o texto que será analisado
a - é o caractere que deverá ser trocado
b - é o que deverá ser colocado no lugar

PROMPT(&var,tipo,texto); Abre um local para se digitar comandos para a macro, de acordo com o que for marcado
exemplo 1: PROMPT(#blocos,$?,quantos blocos quer colocar?); formato de pergunta padrão (apenas texto)
exemplo 2: PROMPT(#idbloc,$i,qual bloco quer colocar?); abre uma lista com todos os objetos do jogo




Comandos de inventário/itens



INVENTORYDOWN(valor); volta a quantia de slots selecionada na hotbar
INVENTORYUP(valor); avança a quantia de slots selecionada na hotbar
SLOT(slot); seleciona o slot da hotbar indicado

SLOTCLICK(slot,botao,shift); simula o clique do mouse no slot informado (somente com inventário/bau/forno/craft-table aberto)
slot - slot no qual será clicado
botao - use "l" para esquerdo e "r" para direito
shift - simula o clique com shift apertado, use "true" para usar e "false" para não usar

PICK(id:id,id:id,...); seleciona o item na hotbar com id informado, pode se marcar varios em ordem de preferencia
use apenas PICK(id); se quiser segurar um objeto específico

SETSLOTITEM(id:id,slot,quantia); (MODO CRIATIVO) deixa um item especifico no slot informado

GETSLOT(id:id,#slot,começar_do_slot); procura item no inventario e salva slot em que foi localizado
id:id - Aqui você dirá qual objeto quer procurar (use números)
#slot - aqui ficará salvo qual o ultimo slot que o item foi encontrado
começar_do_slot - você pode selecionar a partir de qual slot ele deve começar

GETSLOTITEM(slot,#id,#stack,#data); ve id, stack e data do item no slot selecionado
#id - variável que guardará o id do item
#stack - variável que guardará quantos deste item estão no slot
#data - variável que guardará a data do item

GETITEMINFO(id:id,&nome,#maxstack,&tipo,#dropid); puxa informações do item no qual foi dado o id
id:id - Aqui você dirá qual objeto quer as informações (use números)
&nome - variável que guardará o NOME do item
#maxstack - variável que guardará a quantia maxima de pilhagem (64, 16, etc)
&tipo - variável que guardará o tipo do objeto
#dropid - (não especificado)




Configurações de vídeo



FOG(valor) Distancia de renderização
FOV(valor,tempo); Distancia do ângulo
GAMMA(valor,tempo); Gamma (Brilho)
SETRES(largura,altura); Altera o tamanho da janela do minecraft




Configurações de áudio



MUSIC(valor,tempo); de 0 a 100 - Altera o volume da musica
VOLUME(valor,tempo); de 0 a 100 - Altera o volume dos sons
PLAYSOUND(valor); Toca um som do minecraft (sons, e não musicas)




Demais configurações



SENSITIVITY(valor,tempo); de 0 a 200, altera a sensibilidade do mouse
TEXTUREPACK(nome_da_textura); Muda para a textura informada




Comandos de terreno



GETID(x,y,z,#id,#data); ve id e data do bloco de acordo com a coordenada (utiliza as coordenadas do mundo)
GETIDREL(x,y,z,#id,#data); ve id e data do bloco de acordo com a coordenada (o player é a coordenada 0x0x0)

ambos salvam o id (#id) e a data (#data) do objeto nas variáveis indicadas




Comandos de visão/movimento



LOOK(horizontal,vertical,tempo); Olha na direção informada (pode-se usar NORTH, SOUTH, EAST, WEST)
LOOKS(horizontal,vertical,tempo); Não sei informar como funciona




Controle de variáveis



DEC(#var,numero); subtrai o numero informado a variável numérica
INC(#var,numero); soma o numero informado a variável numérica
RANDOM(#var,maximo,minimo); atribui um numero randômico a variável dentro do limite especificado
SET(target,valor); Altera o valor da variável para o informado
SET(flag); Altera o valor da flag para verdadeiro
UNSET(flag); Altera o valor da flag para falso
TOGGLE; Inverte o valor da flag
SETLABEL(target,valor,binding); Muda o conteudo da label para o valor informado (target e binding são valores dados a label)
TIME(&variavel); Salva a hora atual (real) em uma variavel
TIME(&variavel,formato); Salva a hora atual (real) em uma variavel em outro formato, porém não sei como funciona




Controle de macros



WAIT(time); cria um delay (pausa) no macro de acordo com o valor indicado
use: wait(1) para segundos, wait(1ms) para milisegundos, wait(1t) para ticks

EXEC(arquivo.txt,nome,parametro); executa uma macro salva em txt
STOP(nome); para a macro executada com o nome informado
STOP; para a macro na qual o comando está sendo usado




Comandos de teclas, movimentos e ações



KEY(comando); segura o comando do personagem por 1 tick (pular, andar, etc)
KEYDOWN(comando); segura o comando do personagem até que seja dado um "KEYUP"
KEYUP(comando); para o comando de personagem
TOGGLEKEY(comando); inverte a condição do comando (pressionado/não pressionado)
PRESS;(botao); segura a tecla por 1 tick
TYPE(text); digita a sequência de caracteres informada (uma tecla por tick)
RESPAWN; comando que te faz renascer após morrer (como se você tivesse apertado o botão de respawn)
SPRINT; Liga o "correr automaticamente" se a fome permitir (não é possível correr comendo ou atirando flechas)
UNSPRINT; Desliga o "correr automaticamente"
DISCONNECT; Desconecta do servidor

PLACESIGN(l1,l2,l3,l4,gui); Coloca uma placa com o texto especificado (l1, l2, l3, l4 são as linhas)
(o comando gui, ou show gui é opcional e ainda não foi especificado)
Complementando os comandos acima, as "keys" disponíveis atualmente são:
forward - simula o andar para frente
back - simula o andar para trás
left - simula o andar para a esquerda
right - simula o andar para a direita
jump - simula o comando de pular
sneak - simula o comando de agachar




Comandos ainda não explicados neste tópico



CONFIG(configname);
IMPORT(configname);
UNIMPORT;

BIND
BINDGUI

MATCH(subject,pattern,&target,group,default)
SHOWGUI(screen,esc_screen);
STORE(type,name);
STOREOVER(type,name);

INDEXOF
ARRAYSIZE
POP
PUSH
PUT




Comandos que não funcionam na Craftlandia



CRAFT e CRAFTANDWAIT não funcionam na craftlândia por questão do sistema anti-hack (talvez algum conflito)
ECHO não funcionam em alguns servers da craftlândia, por estar desativado
IIF não funcionam na craftlândia, o mesmo está desativado




A lista de comandos a seguir, já foi explicada neste tópico: http://forum.craftla...macros-do-zero/
Se quiser saber como funciona, dê uma lida nele!



DO;
DO();
LOOP;
UNTIL;
WHILE;

FOR;
NEXT;
BREAK;

IF;
IFMATCHE;
ELSE;
ELSEIF;
ENDIF;




crditos: jimmyfilips
 
Bom tutorial,talvez um dia eu faço um macro de auto click
 
Status
Não está aberto para novas respostas.

Usuários que estão visualizando este tópico

Voltar
Topo