Dúvidas sobre condições

11 Respostas   140 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

Afonso2k

  • *
  • Posts: 4
  • Ouros: 0
Tópico criado em: 20/03/2019 às 12:41 - Última modificação por Sotelie em 20/03/2019 às 15:25

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.

CleanWater

  • *
  • Posts: 266
  • Ouros: 134
  • Há... O céu do amanhã... Será azu-u-ul...
Resposta 1: 20/03/2019 às 12:49

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

RaonyFM

  • *
  • Posts: 192
  • Ouros: 311
  • Um sujeito (?) aí...
Resposta 2: 20/03/2019 às 12:51

É 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)

Afonso2k

  • *
  • Posts: 4
  • Ouros: 0
Resposta 3: 20/03/2019 às 12:53 - Última modificação por King Gerar em 20/03/2019 às 16:08

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ó.

Geraldo de Rívia

  • Mito
  • *
  • Posts: 4452
  • Ouros: 3887
  • O vento está sibilando.
  • Medalhas Vencedor do Protótipo Premiado Participantes do Maps Together 2
Resposta 4: 20/03/2019 às 16:09

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

Crixus

Resposta 5: 20/03/2019 às 16:45 - Última modificação por Crixus em 21/03/2019 às 22:58

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
Código: [Selecionar]
<>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:
Código: [Selecionar]
<>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
Código: [Selecionar]
<>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.

CleanWater

  • *
  • Posts: 266
  • Ouros: 134
  • Há... O céu do amanhã... Será azu-u-ul...
Resposta 6: 20/03/2019 às 17:36 - Última modificação por CleanWater em 20/03/2019 às 17:38

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:
Código: [Selecionar]
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

Afonso2k

  • *
  • Posts: 4
  • Ouros: 0
Resposta 7: 21/03/2019 às 18:06

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/

CleanWater

  • *
  • Posts: 266
  • Ouros: 134
  • Há... O céu do amanhã... Será azu-u-ul...
Resposta 8: 21/03/2019 às 18:12

Citar
Se 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

Afonso2k

  • *
  • Posts: 4
  • Ouros: 0
Resposta 9: 21/03/2019 às 18:54 - Última modificação por Afonso2k em 21/03/2019 às 18:57

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

CleanWater

  • *
  • Posts: 266
  • Ouros: 134
  • Há... O céu do amanhã... Será azu-u-ul...
Resposta 10: 21/03/2019 às 21:49

Citar
Edit: 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

Crixus

Resposta 11: 21/03/2019 às 23:00 - Última modificação por Crixus em 21/03/2019 às 23:02

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
Código: [Selecionar]
<>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.