Algum script que faça o EVENTO esperar para executar a próxima ação?

38 Respostas   1931 Visualizações

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

Eduardogbg

  • *
  • Posts: 24
  • Ouros: 9
  • 116
Resposta 30: 07/09/2014 às 17:49 - Última modificação por Eduardogbg em 07/09/2014 às 17:59

Fora isso esqueci de dizer que seu personagem deverá estar virado para o evento também para funcionar corretamente. Já deixo como dever de casa descobrir como fazer isso.  :malvado:
Tem uma condição de evento que faz isso...

katumblo

  • *
  • Posts: 555
  • Ouros: 211
  • Aposentado esperando o Uthred pagar minha aposent.
  • Equipamentos "Este era muito usado nas famosas e aclamadas justas. A pequena abertura era só para a visão mesmo. Ainda bem que guardei um." "Se não lhe dão a glória, conquiste-a com uma beleza dessas. Confie em mim, não há odalisca que resista." "Quando reerguemos nossa CRM, árduas foram as batalhas, e sempre tivemos em mãos nossos escudos. Este representa nossas defesas, e nele, as engrenagens que nos move." "O azul da cota de malha e o dourado da ombreira contrastam com o aço forte e resistente desta armadura."
Resposta 31: 07/09/2014 às 19:56

... Eita quanta resposta. Bom eu fiz uma gambiarra aqui (depois eu faço uma versão mais bonitinha e tal..)... Eu testei aqui é parece que funcionou... testa aí é vê!

Script:
Código: [Selecionar]
class Game_Event < Game_Character
  alias :waitInit :initialize
  def initialize(*a, &b)
    waitInit(*a, &b)
    @wait_sec = 0
  end
  # Espera X segundos..
  def wait_sec(x)
    @wait_sec = x * 60
  end
  # teste
  alias :waitUpdate :update
  def update
    unless @wait_sec == 0
      @wait_sec -= 1
    else
      @wait_sec = 0
      waitUpdate
    end
  end
end

Exemplo


é ... hm... Se importaria de explicar o que é isso? kkkkk o wait_sec(X) poderá ser usado sem ser em processo paralelo que não agarraria o player? Não entendi muito bem ;-;

[user]Eduardogbg[/user]: Ahh que viagem a minha, não vi que na linha de cima tava escrito era X em vez de Y kkk, obrigado {; E sobre a variável local "@" já tentei usar, mas ela modificou em outros eventos também :s

[user]Shiroyasha[/user]: kkkkkk não tem como eu descobrir isso não tio ;s Mas faço pela condição do evento mesmo :D
Tudo vai dar certo (y(8.

Kvothe

  • *
  • Posts: 652
  • Ouros: 1423
  • Maker Geral
Resposta 32: 07/09/2014 às 22:33

 é basicamente isso... Não precisa utilizar o processo paralelo... E não "agarra" o player.


Syureri

Resposta 33: 07/09/2014 às 22:42

Hm...que situação problemática. Bem, acredito que o problema poderia ser resolvido facilmente caso o sistema tivesse sido melhor "Organizado"(favor, não quero julgar, mas é o que aparenta ser aqui). Já criei diversos sistemas pessoais para testes e nunca cheguei a usar a última switch local. Quando fizer um sistema, não se baseie apenas no modo de teste. Execute um modo de teste em sua cabeça com os comandos que colocar nos eventos. Isso poupa tempo e esforço.
Mas vamos com calma. O que quer? Que a planta possa nascer sem que o jogador tenha a necessidade de ficar parado?
Isso poderia ser resolvido com a maior facilidade se você usasse um esquema de variáveis. Mas você misteriosamente quer que um milagre aconteça para que possamos resolver o problema sem nem sequer apresentar o motivo pelo qual não quer usar variáveis.
Veja por exemplo um sistema de dia e noite básico. É só criar na aba de evento comum no DB para que uma variável recebesse um certo valor toda a hora, em processo paralelo. Depois você adicionaria uma condição que pudesse acontecer assim que a variável chegasse a um certo valor(lembrando de reiniciar o valor da variável para não sobrecarregar os dados) e pronto. Mistério? Acho que nem ia haver a necessidade de um código bagunçado. Poderia ser feito com um código exatamente limpo. Não existe mistério, basta usar a lógica.
Encerrando, peço que não leia o texto como se eu estivesse em um tom de arrogância ou algo do tipo. Leia lembrando desse emoticon: :)

Eduardogbg

  • *
  • Posts: 24
  • Ouros: 9
  • 116
Resposta 34: 08/09/2014 às 13:36

[user]Shiroyasha[/user]: kkkkkk não tem como eu descobrir isso não tio ;s Mas faço pela condição do evento mesmo :D

Beleza, isso quer dizer que você já programou a colisão e organizou o sistema, logo você pode colocar o esperar normalmente que vai dar tudo certo. Avise se tiver futuros problemas.


katumblo

  • *
  • Posts: 555
  • Ouros: 211
  • Aposentado esperando o Uthred pagar minha aposent.
  • Equipamentos "Este era muito usado nas famosas e aclamadas justas. A pequena abertura era só para a visão mesmo. Ainda bem que guardei um." "Se não lhe dão a glória, conquiste-a com uma beleza dessas. Confie em mim, não há odalisca que resista." "Quando reerguemos nossa CRM, árduas foram as batalhas, e sempre tivemos em mãos nossos escudos. Este representa nossas defesas, e nele, as engrenagens que nos move." "O azul da cota de malha e o dourado da ombreira contrastam com o aço forte e resistente desta armadura."
Resposta 35: 08/09/2014 às 13:54

 [user]Dax[/user] : vou dar uma olhada no seu script aqui *=* thanks.

 [user]Alisson[/user] : Bom, 2 coisas : 1 - Muuito obrigado pelas dicas, e eu viajei muuito, esqueci totalmente que poderia ter usado o evento comum como processo paralelo, isso poderia ter até funcionado, e o motivo de eu não querer usar variável é que por exemplo, se o player quisesse criar 20 destes mesmos eventos, ele teria que criar 20 variaveis ... certo ? Não entendo muito bem como seria só com 1 :s ... e a segunda coisa: chorei de rir com seu comentário kkkkkk, eu estou tão defamado assim a ponto de as pessoas terem que avisar que não estão com arrogancia ? :x

[user]Eduardogbg[/user] : Bom, na verdade estou pegando apenas as partes teóricas daqui, pois estou trabalhando em 2 coisas, 1 é acabando meu jogo de celular e a outra é acabando este projeto, este é um dos motivos de estar demorando muito :s Mas vou acabar ele hoje {:

Ah, e para quem não entendeu o motivo de eu estar usando várias paginas : Para ficar mais fácil para pessoas que não entendem muito bem poderem editar, entende ? Por exemplo, a pagina 1 é a terra não arada, daí é só trocar o gráfico da própria página, e se quiser algo é só ir no evento comum que a pagina chama, daí na minha opinião fica mais "limpo" para quem não entende muito bem {:
Bom, e sobre o "mistério" que se não me engana foi o Alisson que comentou, não é mistério algum, acho que eu que não soube explicar direito mesmo kk, enfim, vou fazer os testes agora :D
Tudo vai dar certo (y(8.

KertonGames

  • Visitante
Resposta 36: 04/10/2014 às 19:24

Cara é só deixar a condição do evento que quer em "Processo Paralelo", lembrando que para desativar (caso queira, para não ficar repetindo a mesma coisa), use a Switch Local, daí é aquela coisa de nova página e tals, espero ter te ajudado, até.

"Love and Enjoy!"

katumblo

  • *
  • Posts: 555
  • Ouros: 211
  • Aposentado esperando o Uthred pagar minha aposent.
  • Equipamentos "Este era muito usado nas famosas e aclamadas justas. A pequena abertura era só para a visão mesmo. Ainda bem que guardei um." "Se não lhe dão a glória, conquiste-a com uma beleza dessas. Confie em mim, não há odalisca que resista." "Quando reerguemos nossa CRM, árduas foram as batalhas, e sempre tivemos em mãos nossos escudos. Este representa nossas defesas, e nele, as engrenagens que nos move." "O azul da cota de malha e o dourado da ombreira contrastam com o aço forte e resistente desta armadura."
Resposta 37: 06/10/2014 às 16:19

Cara é só deixar a condição do evento que quer em "Processo Paralelo", lembrando que para desativar (caso queira, para não ficar repetindo a mesma coisa), use a Switch Local, daí é aquela coisa de nova página e tals, espero ter te ajudado, até.

"Love and Enjoy!"

Eu e minhas manias de não trancar tópicos, sendo mal exemplo para novatos T-T

Realmente, desculpe-me não vir avisar antes, mas já dei um jeito {;
Eu sabia que em processo paralelo funcionava, mas não dava para usar processo paralelo por causa de outros comandos, e já estava usando todas as switchies locais, mas dei um jeito de simplificar o sistema e aí está :

http://centrorpg.com/index.php?topic=9620.0

:D
Mesmo assim, obrigado por ajudar {:
Tudo vai dar certo (y(8.

Misty

  • Mito
  • *
  • Posts: 1602
  • Ouros: 1837
  • The Last One!~
  • Medalhas Participante do 'Amigo, Estou Aqui!' Participante da 2º Mostra de Arte Steamfórdia Vencedor CRM Awards - Melhor Designer pela 2ª vez Vencedor CRM Awards - Melhor Designer Vencedor do Protótipo Premiado