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

Como "pausar" um evento paralelo

Iniciado por Jalax, 04/01/2013 às 03:52

Como parar um evento paralelo

Ficha:

Maker: TODOS
Nivel de dificuldade: Se você sabe fazer um menu por pictures isso será fácil.
Nota: É um pouquinho chato de fazer, eu sei.

Sobre o tuto:

  Um milagre aconteceu! Ninguém me pediu isso!!!
  Bom, na verdade, estava pensando num meio de parar um evento paralelo (muito usado em chefes de abs's com eventos) para poder aplicar um menu por pictures, mas ai me deparei com dois erros:
  - Se eu usava uma aba, quando voltava o evento começava do zero.
  - Se eu fizesse por páginas (Ex: Ele fez tal ação ai ele ativa uma switch que vai para a página seguinte) todos os contadores de tempo continuavam do zero.
  Não tive que pensar muito para achar a solução, que vocês verão a seguir:

Instruções:

  Bom, em todo o evento paralelo SEMPRE tem algum "Esperar Frames" ou por tempo (caso seja rm2k(3)), seja para mover uma picture ou para esperar mesmo (muitos casos para evitar lags).
  O que você vai fazer é o seguinte:
  - Terminar o evento.
  Motivo: Uma vez que aplique a técnica vai ser muito dificil de editar os comandos, então aconselho que termine ele antes de aplicar a técnica.
  - Se estiver movendo uma picture, delete o movimento e substitua pelo seguinte código:
(PS: as coordenadas OX e OY significam as antigas coordenadas do evento, as coordenadas NX e NY significam as novas (para onde será movido), N significa a quantidade de frames que vai ter no mov.)
<>Set OX (coordenada antiga da pic.)
<>Set YX (coordenada antiga da pic.)
<>Set NX (nova coordenada)
<>Set NY (nova coordenada)
<>Set NX - OX
<>Set NY - OY
<>Set Q (numero de frames que vai ter o mov.)
<>Set NX / Q
<>Set NY / Q
<>Set Label: 1
<> Fork: If Q Higher than 0
  <>Set OX + NX
  <>Set OY + NY
  <> Move picture [(numero da pic.)] to OX and OY in 1 Frame(s) (wait)
  <>Set Q - 1
  <> Go to Label 1
:End
<> Fork: Switch (essa é a que deve pausar o evento) - ON
  :Cycle
    <> Fork: Swicth (essa é a que deve pausar o evento) - OFF
      <> Break Cycle
    :Else Case
      <> Wait 1 Frame(s)
    :End
  :End
:End
<> Wait 1 Frame(s)

Nesse código você não precisa mais mexer, porque a técnica já esta aplicada, você percebeu? NÃO? Então vou lhes mostrar:

<> Fork: Switch (essa é a que deve pausar o evento) - ON
  :Cycle
    <> Fork: Swicth (essa é a que deve pausar o evento) - OFF
      <> Break Cycle
    :Else Case
      <> Wait 1 Frame(s)
    :End
  :End
:End
<> Wait 1 Frame(s)

  Okay, mas vamos dar uma editada nesse código quando for aplicá-lo quando não se é picture.

<>Set Q (numero de frames a se esperar)
<> Cycle
  <> Fork: Switch (essa é a que deve pausar o evento) - ON
    :Cycle
      <> Fork: Swicth (essa é a que deve pausar o evento) - OFF
        <> Break Cycle
      :Else Case
        <> Wait 1 Frame(s)
      :End
    :End
  :End
  <> Wait 1 Frame(s)
  <>Set Q - 1
  <> Fork: Q Equal 0
    <> Break Cycle
  :End
:End
Bom, o código é esse, se der bug, avisem.
PS: o menu fica por conta de vocês.

Screenshots:

Impossíveis.



Give me Credits!
Preguiça de postar sistemas.