-
Notifications
You must be signed in to change notification settings - Fork 10
Achievement Logic Features pt_BR
Link para o texto em inglês: Achievement Logic Features
Existem várias ferramentas e opções disponíveis para o desenvolvedor, saber como utilizá-las adequadamente melhorará a qualidade de seus sets. Essas ferramentas/opções podem ser usadas no Achievement Editor:

Para ajuda sobre esses, o nosso servidor do Discord estará sempre aberto para ajudar.
Um valor Delta é o valor do frame anterior.
Exemplos de como ele pode ser usado:
- Detectar se o nível foi aumentado:
level > delta level. Significa que "o nível atual é maior que o nível do frame anterior". - Detectar danos:
health < delta health. Significa que "a saúde atual é menor do que a saúde do frame anterior". Ou você pode apenas tornar o valor do frame anterior um requisito.delta health = 1significa que "o valor do frame anterior para a saúde deve ser 1". Você pode ver como isso funciona no Exemplos Reais
No Achievement Editor, o campo do lado direito é Hit Count.
Zero é o valor padrão. Isso significa que a condição deve ser verdadeira quando a conquista aparecer.
Se você definir manualmente uma contagem (hit), por exemplo 1, significa que a condição deve ser verdadeira por pelo menos 1 frame e, uma vez que a contagem de hits seja atendida, ela não precisa ser atendida novamente em outro momento.
ATENÇÃO: se uma condição tiver uma contagem de hits e atingir o número necessário, esta condição não é mais testada. Ela é verdadeira e permanece verdadeira, A MENOS que você tenha um Reset If, o qual discutiremos abaixo.
Você pode ver como isso funciona no Exemplos Reais
No Achievement Editor, é o campo intitulado como Special?.
Essas flags condicionais só funcionam se você definir uma contagem de hits para uma condição.
Isso pausará a atividade para todas as condições no mesmo grupo.
Nota: tenha em mente que isso não irá pausar as condições em outros grupos.
O PauseIf é usado para pausar a contagem de hits em uma situação específica (como pausar o jogo). É usado quando você deseja manter a contagem de hits previamente conquistada, mas não deseja reiniciá-la quando alguém simplesmente faz uma pausa no jogo, por exemplo.
Isso irá zerar a contagem de hits para todas condições em que você definiu uma contagem de hits. Ele é muito mais comum de usar do que PauseIf
Nota: Ao contrário do PauseIf, le irá zerar as condições em todos os grupos
Você pode ver como isso funciona no Real Examples
Quando uma condição tem a flag Add Source o valor daquele endereço de memória é adicionado ao valor do endereço na condição logo abaixo, e a comparação é feita na condição abaixo daquela com o Add Source. Isso pode soar um pouco confuso, mas o exemplo a seguir vai esclarecer como funciona:

Neste exemplo o valor em 0x8010 será adicionado ao valor em 0x8020 e a comparação é se esta soma é maior ou igual a zero.
Se o valor em 0x8010 é 1 e o valor em 0x8020 é 2, a comparação será 1 + 2 > 0, ou 3 > 0.
Nota: todos os campos de comparação na condição com a flag Add Source são ignorados.
Tentando resumir esta explicação com uma imagem:

Nota: você pode usar Add Source para somar mais endereços, como no exempo abaixo:

Funciona muito semelhante ao Add Source, porém o Sub Source faz o valor naquele endereço de memória ser negativo.
Nota 1: Sub Source NÃO é um flag de subtração. Ele apenas torna o valor negativo.
Nota 2: A linha final (sem Add Source ou Sub Source) ainda é adicionada para a comparação final.
Usando aquele exemplo de uso de Add Source example, se nós o substituíssemos por Sub Source e com os mesmos valores (valor(0x8010) = 1 e valor(0x8020) = 2), a comparação seria -1 + 2 > 0, or 1 > 0.
Também funciona de maneira de similar ao Add Source, porém relacionado aos hitcounts.
O Add Hits adiciona o hitcount da condição atual à próxima condição. O hitcount total a ser checado será aquele definido na condição logo após a última condição com Add Hits. Se a condição logo após o último Add Hits não tiver um hitcount definido, todas as condições com Add Hits serão ignoradas.
Diferentemente do Add Source, todos os campos são usados numa condição Add Hits, inclusive os campos de comparação. Se uma condição é verdadeira, o hitcount para esta condição é incrementada (e parará de incrementar se assim que o número de hitcount definido for atingido).
As condições com Add Hits não precisam ser verdadeiras para a conquista disparar. Porém primeira condição após o último Add Hits, sim, precisa ser verdadeira.
Os achievements podem ter grupos adicionados a eles que podem atuar como requisitos alternativos para desbloquear um achievement. Estes são chamados de Alt Groups.
Uma coisa extremamente importante a notar: para uma conquista desbloquear, deve ter o Core group E pelo menos um Alt group ser verdadeiro. Se não houver nenhum grupo Alt presente, apenas as condições do Core group's precisam ser verdadeiras.
Dica: devido ao grupo Core sempre precisar ser verdadeiro, normalmente você colocaria lá condições que sejam à todos os requisitos alternativos. No entanto, um truque que você pode usar para basicamente para ignorar a necessidade de um grupo Core é dar-lhe uma condição que é sempre verdadeira, como:
Mem 0x0001 = Mem 0x0001
Como o grupo Core agora é sempre verdadeiro, agora você pode se concentrar em diferenciar os grupos Alt.
- User Guidelines
- Developer Guidelines
- Content Guidelines
- FAQ
- Setup Guide
- Emulator Support and Issues
- Ways to Contribute
- RABot, the RA Discord Robot
- Events
- Overlay Themes
- Useful Links
- Contributing with the docs
- About Us
- Tutorials
- Developer Docs
- How to Become an Achievement Developer
- Getting Started as an Achievement Developer
- Game Identification
- Achievement Design
- Achievement Scoring
- Difficulty Scale and Balance
- Progression and Win Condition Typing
- Badge and Icon Creation
- Achievement Development Overview
- Flags
- BitCount Size
- Alt Groups
- Hit Counts
- Delta Values
- Prior Values
- Value Definition
- Condition Syntax
- Minimum Required Versions for Logic Features
- Memory Inspector
- Real Examples
- Set Development Roadmap
- Achievement Templates
- Tips and Tricks
- Leaderboards
- Rich Presence
- RATools
- Console Specific Tips
- Emulator Hotkeys for Developers
- libretro core support
- Docs To Do List
- WIP User Code of Conduct
- WIP CoC FAQ
- WIP Content Guidelines
- WIP-Jr
- WIP---Dev-Tips---Code-Notes-En-Masse
- WIP-‐-Reauthorship-Policy
- Manifesto RetroAchievements
- Código de Conduta do Usuário
- FAQ - Perguntas Frequentes
- Como contribuir se você não é um desenvolvedor
- Tutorial para Jogos Multi-Discos
- Introdução
- Primeiros Passos como um Desenvolvedor de Conquistas
- Recursos de Lógica para Achievements
- Exemplos Reais
- Dicas e Truques
- Dicas Específicas de Console
- Modelos de Achievement
- Escala de Dificuldade e Equilíbrio
- Roteiro de Desenvolvimento de um Set de Conquistas
- Criação de Ícones e Emblemas
- Leaderboards
- Rich Presence
- Design de Conquistas
- Manifesto RetroAchievements
- Código de Conducta del Usuario
- FAQ - Preguntas Frecuentes
- Tablas Globales y Reglas para la Casería de Logros
- Mi juego no esta cargando los logros
- Como contribuir si no eres un desarrollador
- Por que no deberías utilizar la función de cargar estado
- Contribuyendo con los documentos
- Como funciona la Documentación de RA
- Descargas
- Intro
- Código de Conducta del Desarrollador
- Como convertirme en un Desarrollador de Logros
- Primeros pasos como un Desarrollador de Logros
- Un vistazo al Inspector de Memoria
- Características en la Logica de un Logro
- Ejemplos Reales
- Intro
- Utilizando Hit Counts como un Temporizador
- Utilizando Valores Delta y Hit Counts para Detectar un Incremento
- Un Ejemplo Simple en como evitar el Abuso de Estados de Guardado
- Evitar el Problema de que un Contador se Incremente Dos Veces en el Mismo Frame
- Creando un Temporizador con un ResetIf Hits basándote en la Velocidad de un Juego
- Plantillas para Logros
- Tips y Trucos
- Escala de Dificultad y Balance
- Diseño de Logros
- Mapa de Desarrollo de Set
- Revisiones en Set de Logros
- Creación de Iconos y Badges
- Tablas de Clasificación
- Rich Presence
- Trabajando con el ROM apropiado
- Identificación del Juego
- Guía para Sets Bonus
- Logros para ROM hacks
- Tips Específicos por Consola