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

Dúvidas sobre condições

Iniciado por Afonso2k, 20/03/2019 às 12:41

20/03/2019 às 12:41 Última edição: 20/03/2019 às 15:25 por Sotelie
Fala meus amigos Makers, tudo bem com vocês?

Galera uma dúvida rapida, eu consigo comparar mais de uma condição na tela de eventos ou eu teria de fazer através de scripts?

Para exemplificar o que eu quero por exemplo:

Tenho duas variáveis. Banana e Laranja

A condição diz: Se valor de banana for igual a 0 e valor de laranja for igual a 0 imprima "Não tenho frutas".

Ou eu preciso criar condições dentro de condições?

PS: estou tentando bolar um jeito de criar isso dentro de um evento evitando precisar criar um script pra isso.

Você vai usar condições dentro de condições no evento, ou pode usar as condições nas páginas de criação de eventos também + condições dentro do evento. :ok:
~ cleanwatersoft.itch.io/ ~
Baixe todos os jogos que eu fiz até hoje gratuitamente

É como o Clean disse, mas eu sugiro usar uma condição dentro da outra, por questões de economia e praticidade.
"A arte é o que resiste: ela resiste à morte, à servidão, à infâmia, à vergonha." (Gilles Deleuze)

20/03/2019 às 12:53 #3 Última edição: 20/03/2019 às 16:08 por King Gerar
Entendi galera, estava tentando uma opção mais simples, mas parece que se não for no script não vai ser mais simples que isso, vou dar mais algumas olhadas aqui galera valeu.


Ah outra coisa ( cara acho eu to enchendo muito vocês kkkk) alguém sabe o script no javascript para eu resgatar uma coleção de variáveis (vetor, array ou hash)?

Nas condições eu posso usar script para fazer comparação, talvez assim eu consiga comparar varias variáveis de uma vez só.

O que viria a ser "resgatar uma coleção de variáveis"? Se tiver algum exemplo, é bom.

20/03/2019 às 16:45 #5 Última edição: 21/03/2019 às 22:58 por Crixus
Pode criar um evento comum único pra verificar isso sem precisar repetir varias vezes, eu tenho duas maneiras.

1: Forks dentro de Forks usando Rm2k:
Evento Comum: Verificar Frutas
<>Change Switch: [xxxx:Fruits]-ON Set
<>Fork Optn: Banana Not Got
    <>Fork Optn: Laranja Not Got
        <>Change Switch: [xxxx:Fruits]-OFF Set
        <>
        :END Case
        <>
    :END Case
<>


Evento do mapa que vai verificar:
<>Messg: Mercador: Olá amigo! Tem frutas?
<>Call Event:    Verificar Frutas
<>Fork Optn:Switch [xxxx:Fruits] - ON
    <>Messg: Que bom, vamos preparar uma vitamina.
    <>
:ELSE Case
    <>Messg: Lamento, precisa de frutas.
    <>
:END Case
<>





2 - Sem precisar usar Forks dentro de Forks:
Evento Comum: Verificar Frutas
<>Change Switch: [xxxx:Fruits]-OFF Set
<>Fork Optn: Banana Not Got
    <>Change Switch: [xxxx:Fruits]-ON Set
    <>
:END Case
<>Fork Optn: Laranja Not Got
    <>Change Switch: [xxxx:Fruits]-ON Set
    <>
:END Case
<>Fork Optn: Mamão Not Got
    <>Change Switch: [xxxx:Fruits]-ON Set
    <>
:END Case
<>


O evento de mapa é igual.

20/03/2019 às 17:36 #6 Última edição: 20/03/2019 às 17:38 por CleanWater
Citação de: Afonso2k online 20/03/2019 às 12:53
Entendi galera, estava tentando uma opção mais simples, mas parece que se não for no script não vai ser mais simples que isso, vou dar mais algumas olhadas aqui galera valeu.


Ah outra coisa ( cara acho eu to enchendo muito vocês kkkk) alguém sabe o script no javascript para eu resgatar uma coleção de variáveis (vetor, array ou hash)?

Nas condições eu posso usar script para fazer comparação, talvez assim eu consiga comparar varias variáveis de uma vez só.

Afonso, o RM foi feito pra ser usado por qualquer pessoa que não saiba programar, coisas simples assim não precisam de código. O Crixus logo acima deu vários bons exemplos.

Se mesmo assim quiser usar javascript só pra isso, você vai escrever algo mais ou menos assim:
if ($gameVariables.value(x) == 0 && $gameVariables.value(y) == 0)
    $gameSwitches.value(z) = false;//x e y = ID das variáveis no jogo, z = ID da switch no jogo
~ cleanwatersoft.itch.io/ ~
Baixe todos os jogos que eu fiz até hoje gratuitamente

CleanWater Cara a minha dúvida inicial já foi esclarecida e agora você me esclareceu minha outra dúvida.

A primeira dúvida era se eu conseguia comparar o estado de várias variáveis em apenas 1 bloco SE da própria pagina de eventos, os caras foram muito solícitos e me deram exemplos para poder contornar o fato de que não seria possível, vlw galera vocês são demais.

A minha segunda dúvida vc acabou de responder, não consigo resgatar um array ou coleção de variáveis do maker pelo javascript, consigo apenas resgatar variáveis de forma singular pelo método $gameVariables.value(x), obrigado, desculpe o incomodo e a leiguice kkkk to explorando aqui, to com um projeto meio grande e estou confirmando as possibilidade e as melhores lógicas.

Se tivesse avaliação aqui vocês todos receberiam um 10 o/

CitarSe tivesse avaliação aqui vocês todos receberiam um 10 o/

É só clicar no ícone "dar ouro" que já tá valendo. :XD:

Sobre as arrays, acredito que tenha como fazer arrays locais no RM, mas também comecei a mexer a pouco tempo nessa engine e não cheguei a fazer muitos testes pra confirmar isso.

Você poderia passar o valor das variáveis $game para um array local através de um for loop. :ok:
~ cleanwatersoft.itch.io/ ~
Baixe todos os jogos que eu fiz até hoje gratuitamente

21/03/2019 às 18:54 #9 Última edição: 21/03/2019 às 18:57 por Afonso2k
Citação de: CleanWater online 21/03/2019 às 18:12
Você poderia passar o valor das variáveis $game para um array local através de um for loop. :ok:

ainda assim teria que criar o array usando variável por variável dentro do for, não teria uma forma de usar $game e resgatar já o array do rpg maker, mas de qualquer forma já tá ótimo.

Edit: eu teria que saber quantas variáveis consultar. A não ser que tenha algo como $gameVariables.length

CitarEdit: eu teria que saber quantas variáveis consultar. A não ser que tenha algo como $gameVariables.length

Tem uma maneira não ortodoxa de fazer isso.

Você cria as switches/variables no maker. Se você sabe que criou 200 switches por exemplo, pode usar o número 200 pra fazer a checagem no for loop. :ok:
~ cleanwatersoft.itch.io/ ~
Baixe todos os jogos que eu fiz até hoje gratuitamente

21/03/2019 às 23:00 #11 Última edição: 21/03/2019 às 23:02 por Crixus
Fiz errado o método 2, editei a resposta, pois acho a melhor maneira de adionar ou remover itens durante a produção do jogo, em todo caso veja aqui:

Evento Comum: Verificar Frutas
<>Change Switch: [xxxx:Fruits]-OFF Set
<>Fork Optn: Banana Not Got
    <>Change Switch: [xxxx:Fruits]-ON Set
    <>
:END Case
<>Fork Optn: Laranja Not Got
    <>Change Switch: [xxxx:Fruits]-ON Set
    <>
:END Case
<>Fork Optn: Mamão Not Got
    <>Change Switch: [xxxx:Fruits]-ON Set
    <>
:END Case
<>Fork Optn: Abacaxi Not Got
    <>Change Switch: [xxxx:Fruits]-ON Set
    <>
:END Case
<>


Veja que ao chamar o evento a primeira função é tornar a Switch OFF para dizer que não tem nenhuma fruta, mas se qualquer fruta estiver no inventário do herói a Fork correspondente tornará ON a mesma Switch.
E não precisa colocar as IFs Fork umas dentro das outras, basta listar.