Não é cubagem não, sou formado Superior Tecnólogo em Processamento de Dados, o termo "mkb" é pouquíssimo usado por aqui (normalmente se fala só "macro"), e dá uma olhada na quantidade de posts pra saber se eu sou um simples cubeiro! Te enxerga, cara!
[hr]
Enfim... Indo à sua dúvida, o mod Macros é uma linguagem bem pobre pra trabalhar com arrays - que é o nome que se dá ao tipo de dados que você quer trabalhar (armazenando diversos valores em uma única variável). Até onde pude ver na
Wiki de documentação mais atualizada, o negócio é montar o array e usar os comandos POP(<array>, <variável intermediária>) (para tirar o último valor do array), PUSH(<array>, <valor>) (para adiconar um valor ao final do array) e PUT(<array>, <valor>) (para adicionar um valor ao começo do array).
Ou seja: você precisa montar o array em uma variável específica e ainda criar uma variável de transferência. Detalhe: em PUSH() e PUT(), <valor> pode ser OUTRA variável qualquer que você já tenha definido e/ou obtido no decorrer do funcionamento da macro. Como, por exemplo: PUT(%array1%, %HEALTH%)
Vou ilustar, é melhor pra entender! Digamos que você tenha criado uma variável Array1 e queira adicionar algo nela para depois remover da lista.
&array1=1, 2, 3;
set(Transfvar);
Aí eu criei a array e a variável de transferência. Abaixo vou trabalhar com as duas:
if(%HEALTH% > 1);
put(%array1%, %healt%);
else;
pop(%array1%, %transfvar%);
log(%transfvar%);
Endif;
No caso, se "saúde" estiver acima de 1, o array vai conter "1, 2, 3, <valor atual da saúde>".
Se não estiver (ou seja: for igual a 1 ou menor), vai pegar o último valor do array - excluindo-o da lista (que, no caso, é "3") -, jogar na variável de transferência Transfvar, e vai exibir o conteúdo dessa transferência no chat.
Clique para expandir...