Os Macros são um assunto polêmico nos jogos on-line, pois alguns consideram trapaça e outros afirmam que são apenas uma maneira de automatizar tarefas maçantes e repetitivas. Excetuando-se essa polêmica uma coisa é verdadeira: os macros são bastantes úteis e no caso do servidor Craftlandia são legalizados, desde que não sejam usados de maneira a lesionar outros jogadores.
O macro em si é um código com uma pseudo-linguagem de programação através do qual podemos executar ações. Por exemplo, se você escreve em um macro “DISCONNECT()” e o ativa apertando um botão do teclado (o que no jargão chamamos de Bind, ou seja, relacionar botões a coisas, podendo ser um código de macro ou só uma frase), na hora que o código for executado ele lhe desconectará do jogo.
A Utilidade Do Uso De Macros No Minecraft Online
Você pode estar confuso e se perguntando: então qual a utilidade “legal” disso no Minecraft? Mas antes de responder fica a dica, para usar qualquer macro você vai precisar ativar o mod de macro, para isso da uma lida no nosso guia, ta bem fácil de seguir.
Digamos que você quer aumentar o nível da sua habilidade espadas, como já deve saber a habilidade ganha experiência com o uso. Então você cria um macro específico para ficar ativando o golpe de espada constantemente em um local de respawn de monstros, assim a habilidade de um modo robótico vai sendo upada. Porém esse código que descrevi seria muito primitivo, o ideal seria criar um código que além de matar os monstros ainda reparasse as espadas e guardasse os loots em baús! E existe isso, basta procurar com calma que vai achar tais códigos disponíveis para todos e repito, é legalizado no Craftlandia.
Craftlandia Macro: Alguns Exemplos De Sintaxe E Comandos
Esse pseudo-código pode também chamado de sintaxe, e na verdade se trata apenas dos comandos pré-definidos através do qual podemos configurar ações. Vou listar aqui alguns comandos de sintaxe extraído do Fórum do Craftlandia:
CRAFT CRAFT(<item[:damage]>,[amount],[throw],[verbose]) Descrição: Cria uma lista de itens para serem craftados. CRAFTANDWAIT CRAFTANDWAIT(<item[:id]>,[amount],[throw],[verbose]) Descrição: Cria uma lista de itens para serem craftados e aguarda por um tempo pré-definido. DISCONNECT DISCONNECT() Descrição: Desconecta do jogo ou servidor. GETID GETID(<x>,<y>,<z>,<#idvar>,[#datavar]) Descrição: Obtém a ID e opcionalmente os valores de dados de um bloco em uma coordenada específica no mundo. GETIDREL GETIDREL(<xoffset>,<yoffset>,<zoffset>,<#idvar>,[#datavar]) Descrição: Obtém a ID e opcionalmente os valores de dados de um bloco em uma determinada coordenada relativa ao jogador. GETITEMINFO GETITEMINFO(<item[:damage]>,<&namevar>,[#maxstacksize],[&type],[#dropid]) Descrição: Obtém o nome e outras informações de um item, retorna o valor "None" caso o item seja inválido. GETSLOT GETSLOT(<item[:damage]>,<#idvar>,[startfromslotid]) Descrição: Obtém a id de um slot que contenha um item compatível, retorna -1 se não for encontrado. GETSLOTITEM GETSLOTITEM(<slotid>,<#idvar>,[#stacksizevar],[#datavar]) Descrição: Obtém informações sobre o item em um determinado slot. INVENTORYDOWN INVENTORYDOWN([amount]) Descrição: Desce uma específica quantia de slots na hotbar INVENTORYUP INVENTORYUP([amount]) Descrição: Sobe uma específica quantia de slots na hotbar LOOK LOOK(<yaw>,[pitch],[time]) Descrição: Faz o player olhar para uma direção específica, use ângulos prefixos com + ou - para movimentos relativos. LOOKS LOOKS(<yaw>,[pitch],[time]) Descrição: Vira o player suavemente para uma direção específica, use ângulos prefixos com + ou - para movimentos relativos. PICK PICK(<item[:damage]>,[item[:damage]],...) Descrição: Seleciona a id de um item se o mesmo estiver na hotbar, especifique outros itens a serem apanhados de acordo com sua preferência. PLACESIGN PLACESIGN([line1],[line2],[line3],[line4],[showgui]) Descrição: Coloca uma placa com o texto designado (se você tiver um) PLAYSOUND PLAYSOUND(<sound>) Descrição: Reproduz um som RESPAWN RESPAWN() Descrição: Ressuscita um player caso ele tenha morrido. SETSLOTITEM SETSLOTITEM([item[:damage]],[slot],[amount]) Descrição: Apenas para o modo criativo, seleciona um conteúdo em um slot na hot bar. SLOT SLOT(<slot>) Descrição: Seleciona um slot pré-definido na hot bar. SLOTCLICK SLOTCLICK(<slot>,[button],[shift]) Descrição: Simula o clique em um determinado slot na interface atual, é possível utilizar RMB e shiftkey SPRINT SPRINT() Descrição: Faz o player correr se tiver estamina suficiente (comida) UNSPRINT UNSPRINT() Descrição: Faz com que o player pare de correr. KEY KEY(<bind>) Descrição: Ativa uma determinar tecla de atalho 1 vez. KEYDOWN KEYDOWN(<bind>) Descrição: Define o estado de uma tecla de atalho para "pressionada", funciona apenas com atalhos pressionáveis. KEYUP KEYUP(<bind>) Descrição: Define o estado de uma tecla de atalho para "sem pressionamento", funciona apenas com atalhos pressionáveis. TOGGLEKEY TOGGLEKEY(<bind>) Descrição: Alterna o estado de uma tecla de atalho, funciona apenas com atalhos pressionáveis. PRESS PRESS(<lwjgl_name>) Descrição: Realiza a função manual de uma determinada tecla. TYPE TYPE(<text>) Descrição: Realiza a função manual de uma determinada tecla em sequências. ASSIGN <var> = <value> Descrição: Função interna. BREAK BREAK Descrição: Interrompe uma função interna que esteja sendo executada continuamente. CALCYAWTO CALCYAWTO(<xpos>,<zpos>,[#yaw],[#distance]) Descrição: Calcula o ângulo preciso de uma determinada coordenada. DEC DEC(<#var>,[amount]) Description: Decrements the specified counter by 1 or by the specified amount Descrição: Desconta uma específica contagem por 1 ou por um outro valor. DO DO([count]) Description: Begins a loop, specify a number of loops to limit the loop count Descrição: Inicia um loop, é possível definir um valor para o limite de loop. ECHO ECHO(<text>) Description: Sends the specified message as a chat packet Descrição: Envia uma mensagem no chat do jogo. ELSE ELSE Description: ELSE clause Descrição: (SE NÃO) <condição> ELSEIF ELSEIF(<condition>) Description: ELSEIF clause Descrição: (SE NÃO FOR) <condição> ENDIF ENDIF Description: ENDIF clause Descrição: (FIM DO MÉTODO IF) <condição> EXEC EXEC(<file.txt>,[taskname],[params],...) Description: Creates a task by running the specified script file Descrição: Cria uma tarefa para executar determinado arquivo de script. FOR FOR(<#var>,<start>,<end>) Description: Begins a FOR->NEXT loop using the specified var as a loop counter, #var can be used inside the loop Descrição: Inicia um FOR->NEXT utilizando uma específica variável como loop em contagem, #var pode ser usada dentro do loop. FOREACH FOREACH(<iterator>) Description: Runs a loop over the specified iterator Descrição: Executa um loop em um iterator. IF IF(<condition>) Description: IF clause Descrição: (SE) <condição> IFBEGINSWITH IFBEGINSWITH(<haystack>,<needle>) Description: IFBEGINSWITH clause Descrição: (SE INICIAR COM) <condição> IFCONTAINS IFCONTAINS(<haystack>,<needle>) Description: IFCONTAINS clause Descrição: (SE CONTER) <condição> IFENDSWITH IFENDSWITH(<haystack>,<needle>) Description: IFENDSWITH clause Descrição: (SE TERMINAR COM) <condição> IFMATCHES IFMATCHES(<subject>,<pattern>,[&target],[group]) Description: IFMATCHES clause Descrição: (SE CORRESPONDER) <condição> IIF IIF(<condition>,<truetext>,[falsetext]) Description: Inline IF statement, sends truetext as a chat message if condition succeeds, or sends falsetext if not Descrição: Utiliza a função IF em uma linha, envia um texto (True/Verdadeiro) se a condição obtiver sucesso, ou envia um (False/Falso) caso não obtenha. INC INC(<#var>,[amount]) Description: Increments the specified counter by 1 or by the specified amount Descrição: Incrementa uma determinada contagem, em 1 ou por outro valor determinado. LOG LOG(<text>) Description: Outputs the specified text into the local chat stream Descrição: Retorna um determinado texto no chat local. LOGTO LOGTO(<target>,<text>) Description: Outputs the specified text into the specified target, target can be a text file name or the name of a textarea Descrição: Retorna um determinado texto em um local/alvo, o local/alvo pode ser um arquivo de texto ou uma área de texto. LOOP LOOP Description: Ends a loop that was started with DO Descrição: Finaliza um loop que foi iniciado com DO. MATCH MATCH(<subject>,<pattern>,[&target],[group],[default]) Description: Runs a regular expression match on the subject and puts the result in &target Descrição: Inicia a expressão regular de comparação em um assunto e coloca o resultado em &alvo/local. NEXT NEXT Description: Completes a FOR->NEXT loop Descrição: Completa um loop do tipo FOR->NEXT. PROMPT PROMPT(<&target>,<paramstring>,[prompt],[override],[default]) Descrição: Displays a prompt (or prompts) by parsing the params in paramstring RAMDOM RANDOM(<#target>,[max],[min]) Descrição: Assigns a random number between min and max to target REPLACE REPLACE(<&subject>,<search>,[replace]) Descrição: Replace all occurrences of search with replace in &subject SET SET(<target>,[value]) Descrição: Sets the value of target to value (or TRUE if value is omitted) SETLABEL SETLABEL(<labelname>,<text>,[binding]) Descrição: Sets the text (and optionally binding) of the specified label SQRT SQRT(<value>,[#outvar]) Descrição: Calculate the square root of value and store it in #outvar STOP STOP([id]) Descrição: Stops the current macro, or macros matching the specified ID STRIP STRIP(<&target>,<text>) Descrição: Strips all formatting codes from the specified text and assigns the result to &target TOGGLE TOGGLE([flag]) Descrição: Toggles the specified boolean flag's value UNSET UNSET(<flag>) Descrição: Un-sets the specified variable UNTIL UNTIL(<condition>) Descrição: Completes a loop started with DO but exits the loop if condition is met WAIT WAIT(<time>) Descrição: Pauses the script for the time specified, suffix "ms" for a wait in milliseconds or "t" to wait in ticks WHILE WHILE(<condition>) Descrição: Completes a loop started with DO but exits the loop if condition is not met ARRAYSIZE ARRAYSIZE(<array>,<outvar>) Descrição: Stores the size of the specified array in outvar INDEXOF INDEXOF(<array>,<outvar>,<searchfor>) Descrição:Gets the first index of searchfor in array and stores it in outvar, returns -1 on failure POP POP(<array>,<outvar>) Descrição: Removes the last entry from the tail of array and stores it in outvar PUSH PUSH(<array>,<value>) Descrição: Appends value to the end of array PUT PUT(<array>,<value>) Descrição: Inserts value at the first empty point in array CONFIG CONFIG(<configname>) Descrição: Switch to the specified configuration IMPORT IMPORT(<configname>) Descrição: Overlay the specified configuration UNIMPORT UNIMPORT() Descrição: Remove the specified configuration overlay if active BIND BIND(<bind>,<keycode>) Descrição: Set the specified key binding to the specified key code CHATHEIGHT CHATHEIGHT(<value>,[time]) Descrição: Set height of the Minecraft chat whilst ingame 20-180 CHATHEIGHTFOCUSED CHATHEIGHTFOCUSED(<value>,[time]) Descrição: Set height of the Minecraft chat whilst in the chat GUI 20-180 CHATOPACITY CHATOPACITY(<value>,[time]) Descrição: Set opacity of the Minecraft chat 0-100 CHATSCALE CHATSCALE(<value>,[time]) Descrição: Set scale of the Minecraft chat 0-100 CHATVISIBLE CHATVISIBLE(<value>) Descrição: Set visibility of minecraft chat CHATWIDTH CHATWIDTH(<value>,[time]) Descrição: Set width of the Minecraft chat 40-320 FOG FOG([value]) Descrição: Toggles render distance, or optionally specify render distance FOV FOV(<value>,[time]) Descrição: Sets the FOV angle in degrees, specifying time causes the value to change smoothly GAMMA GAMMA(<value>,[time]) Descrição: Sets the brightness value (percent), specifying time causes the value to change smoothly MUSIC MUSIC(<value>,[time]) Descrição: Sets the music volume, specifying time causes the value to change smoothly RESOURCEPACK RESOURCEPACK([pattern]) Descrição: Sets the resource pack to the pack matching pattern SENSITIVITY SENSITIVITY(<value>,[time]) Descrição: Sets the mouse sensitivity (between 0 and 200), specifying time causes the value to change smoothly SETRES SETRES(<width>,<height>) Descrição: Sets the size of the minecraft game window TEXTUREPACK TEXTUREPACK([pattern]) Descrição: Sets the resource pack to the pack matching pattern VOLUME VOLUME(<value>,[time]) Descrição: Sets the sound volume, specifying time causes the value to change smoothly ACHIEVEMENTGET ACHIEVEMENTGET(<text>,[itemid[:damage]]) Descrição: Displays the "achievment get" popup with a custom message BINDGUI BINDGUI(<slot>,<screen>) Descrição: Binds the specified custom screen to the slot specified CLEARCHAT CLEARCHAT() Descrição: Clears the current chat stream GUI GUI([name]) Descrição: Show (or hide) a gui screen SHOWGUI SHOWGUI(<screen>,[esc_screen]) Descrição: Show a custom gui screen STORE STORE(<type>,[name]) Descrição: Store a value into a list using the current environment STOREOVER STOREOVER(<type>,[name]) Descrição: Store a value into a list using the current environment and overwrite it if exists TIME TIME(<&target>,[format]) Descrição: Stores the current time and date into &target, optionally using format specified
É importante ter alguma noção de programação para se dar bem com macros, mas nada te impede de garimpar alguns scripts prontos na internet. E se precisar de mais dicas sobre a nosso amado jogo de construção não deixe de conferir os inúmeros guias e tutoriais que temos na seção de Minecraft e também na de Craftlandia.
! Seja o primeiro a comentar!