O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Limitador de variável

Iniciado por hategum rpg, 09/01/2023 às 13:44

 Limitador de variável

Preciso de um sistema para limitar o valor de uma variável

Acho que uma condição se é maior ou igual, determina o limite

Na teoria eu devo colocar a condição de limitador antes de mudar os números das variáveis?

Um exemplo seria uma variável de 0 a 5, o bloqueador trava o número 5, daí se a variável mudar para 5 o bloqueador muda para o início, 0.

Se eu colocar esse bloqueador antes de cada mudanças, devo fazer um sistema a parte para liberar o desbloqueio.

Nesse ponto uma switch pra cada recurso bloqueado não dá, talvez uma única variável com cada número representando um recurso.

Se este for o caso devo então desbloquear por grupos de recursos e não por unidades.

Pois o maker mostra um único valor para uma variável.

Então ficaria algo se a variável recurso é igual a 1, desbloqueia o bloqueador para menor ou igual a 4.

Se este for o caso devo programar o bloqueador para as possíveis mudança de bloqueio e desbloqueio.

Isso é para o sistema de criação de personagens, porque tem coisa demais pra fazer agora, limitar o que o jogador pode criar é melhor.

Li, li, reli e não entendi quase nada, eu não vou tentar apontar cada parte, vou tentar apenas postar em teoria como deveria funcionar, você não especificou o seu Rpg Maker então vou usar o mais provável que deve ser o RPGMV/MZ.

Limitando uma variável entre 0 e 5 que apenas trave no limite:
◆If:#0001 < 0
  ◆Control Variables:#0001 = 0
  ◆
:End
◆If:#0001 > 5
  ◆Control Variables:#0001 = 5
  ◆
:End


Fazer como se fosse uma rotação, se diminuir além do ZERO ele vai pro CINCO e vice-versa:
◆If:#0001 < 0
  ◆Control Variables:#0001 = 5
  ◆
:End
◆If:#0001 > 5
  ◆Control Variables:#0001 = 0
  ◆
:End


Eu aconselho que você use isso como um Call Common Event... (Chamar Evento comum).


Sobre o que imagino que você precise para separar os dígitos de uma variável, crie um Evento comum usando uma variável para copiar o valor de qualquer variável do jogo, eu nomeie como TEMP e crie mais 8 variaveis, sendo cada uma correspondente à um digito:
◆Comment:Copiar o valor temporário para cada digito antes das operações
◆Control Variables:#0021 D------- = TEMP
◆Control Variables:#0022 -D------ = TEMP
◆Control Variables:#0023 --D----- = TEMP
◆Control Variables:#0024 ---D---- = TEMP
◆Control Variables:#0025 ----D--- = TEMP
◆Control Variables:#0026 -----D-- = TEMP
◆Control Variables:#0027 ------D- = TEMP
◆Control Variables:#0028 -------D = TEMP
◆Comment:Dividir o valor temporario em frações
◆Control Variables:#0021 D------- /= 10000000
◆Control Variables:#0022 -D------ /= 1000000
◆Control Variables:#0023 --D----- /= 100000
◆Control Variables:#0024 ---D---- /= 10000
◆Control Variables:#0025 ----D--- /= 1000
◆Control Variables:#0026 -----D-- /= 100
◆Control Variables:#0027 ------D- /= 10
◆Comment:Extrair o ultimo digito de cada resultado
◆Control Variables:#0021 D------- %= 10
◆Control Variables:#0022 -D------ %= 10
◆Control Variables:#0023 --D----- %= 10
◆Control Variables:#0024 ---D---- %= 10
◆Control Variables:#0025 ----D--- %= 10
◆Control Variables:#0026 -----D-- %= 10
◆Control Variables:#0027 ------D- %= 10
◆Control Variables:#0028 -------D %= 10


Como chamar:
◆Control Variables:#0002 TEMP = Pontuação
◆Common Event:#0005 Distribuir digitos


Claro que você pode fazer de outra maneira, se realmente for RPGMV eu posso te explicar como fazer com JAVASCRIPT