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

[Sistema] Tutorial de Extração de Minério, Pegar Madeira e Determinadas Plantas

Iniciado por EderPre, 14/09/2013 às 01:00

Bom pessoal. Sou novo no fórum, e é meu primeiro post aqui também. Estava vendo os Tutorias que tem e Scripts que tem aqui no fórum.
Fazendo isso vi, que tinha um que se chamava "Life Skill" e me chamou a atenção. Pois quando estava lendo vi que era de algo que eu já tinha criado, e não havia postado em lugar algum. Mas acho que fiz completamente diferente do dele. Acho que até mais simples. Sem muita frescura, sem o lance de upar.

E como já diz o que faz no assunto, vou repetir. Serve para extração de minério. Coisa simples, mas acredito que possa ajudar muita gente.

Foram utilizada:

1 Evento
1 Opção de Variável
1 Condição


- Abra um Projeto novo, para poder fazer o tutorial sem estragar o seu projeto!

- Após isso, crie um evento, chama ele do que você quiser.
Ps: - Não esquecendo de criar, no DataBase o item chamado "Picareta" e o Item "Minério de Ferro".

- Ali aonde se coloca as paradas, comece colocando uma "Opção de Variável" com o nome de "Drop Aleatório". Aonde vai vai ter 3 opções ali, as quais chamadas de: 1ª Variável, 2ª Operação, 3ª Operandos. Na opção Variável, marque a opção de individual.  Na opção Operação deixe em substituir, e na opção Operandos aleatório, e ali você coloca 1 ~ 5, que será a chance de vir de um a 5 daquele objeto que você está pegando. No meu caso é o minério.

- Abaixo da "Opção de Variável", crie uma "Condição". Vá na quarta aba e escolha "Itens" e selecione a "Picareta".

- Abaixo da "Condição", crie um "Mudar Item". Irá abrir uma janelinha como sempre, ali você escolhe o item "Minério de Ferro", e na parte de baixo, onde fica "Operandos", marque a opção variável. E escolhendo a "Opção de Variável" que já aviamos criado primeiro. Então basta escolher ela e dar "Ok".

- Colocar Frame de 60. E colocar um som parecido com a de uma picareta batendo em uma pedra. Colocar também a "Expressão de Surpresa". Colocar Frame de 60 de novo.

- Escrever uma mensagem para quando pegar os itens.

- Criar uma "Operação de Switch Local:A=ON"

- Nunca esquecendo que tudo isso acima da "Exceção. Abaixo dela, pode se criar uma mensagem falando que está faltando algo para poder pegar o determinado item.

10 - E não muito importante, e criar uma nova página no evento, e ligando a "Operação de Switch Local:A=ON", fazendo com que suma e não apareça mais, após a mineração.


Segue uma imagem abaixo, para caso alguém tenha se perdido, ou não tenha entendido bulhufas.

Spoiler
[close]

Aqui vai a página dois, e nela mostra "Operação de Switch Local: A = On".

Spoiler
[close]

Vou disponibilizar o download da "demo" do tutorial.

Spoiler


Espero poder ter ajudado alguém. E se estiver sendo postado em lugar errado desculpe. E caso já tenha esse Tutorial aqui no fórum, desculpe de novo, pois não vi e não plagiei ninguém.
"os cavaleiros viram uma presa imponente, o dragão viu café-da-manhã, almoço e jantar"

Bem legal, mas eu recomendo não usar switch local nesse caso. O melhor seria usar um switch normal e criar um evento comum para desligá-lo depois de um certo tempo, assim o jogador pode voltar a minerá-lo novamente.

Ah! Seja bem-vindo ao fórum.

Viva a lenda!



Antes de tudo, seja muito bem-vindo ao fórum, rapaz. Espero que passe um bom tempo conosco. =) E como o Vincent disse, o tutorial ficou bem legal. Esse sistema é simples e eficiente. Obrigado por trazer pra cá.

Sobre a sugestão, eu discordo. A melhor coisa é deixar com switch local mesmo. Eu só faria diferente: na página onde a switch A está ativada, você poderia deixar em processo paralelo, por um wait de alguns frames (uns 200, 300), e colocar para a switch A desativar. Fazendo isso, você criaria um respawn básico para permitir o jogador minerar novamente depois de passar o tempo em frames especificado.

E também daria outra sugestão para quando imprimir a mensagem "você adquiriu uma certa quantia de minérios de ferro". No lugar de "uma certa quantia", poderia substituir pelo comando "\v[1]", que mostra o número armazenado na variável 1, a qual você usou.

Mas são só sugestões. \o No mais, é isso aí. Obrigado por trazer!

Um grande abraço,

Kazuyashi.

O gurizada, valeu aí pelo apoio. :)

@Vincent Tenho pouco conhecimento em eventos, switch. Fui apenas pela lógica, e não pensei em fazer respawn para minerar. hahaha ;x
Mas em Evento Comum acho que não saberia fazer, então optei fazer do jeito que Kazuyashi falou.


@Kazuyashi O meu, gostei. Na verdade vou usar essa tua idéia de colocar respawn. Desse jeito é mais rápido e eficaz. Não desfazendo da idéia do Vincent. E o lance do "\v[1]"... Pô mão na roda ein, não sabia disso não. Vai me ajudar bastante. Valeu.


Mais uma vez agradeço, pois realmente é meu primeiro tutorial. :)
"os cavaleiros viram uma presa imponente, o dragão viu café-da-manhã, almoço e jantar"

Que nada, rapaz! Para um primeiro tutorial, ficou bem bacana. Fico feliz de ter podido te ajudar de alguma forma, mesmo que tenha sido pouco. Espero pelos seus próximos tutoriais e é isso aí! Continue progredindo! =)

Um grande abraço,

Kazuyashi.

Hahahaha... Valeu. (Y)
Na verdade já estou vendo um tutorial, que tem ali nos tópicos, que se diz um Aprimoramento, estava pensando em fazer um tutorial mais explicado e com chance falha. Isso seria plágio?
"os cavaleiros viram uma presa imponente, o dragão viu café-da-manhã, almoço e jantar"

Falei em Evento Comum porque assim fica mais parecido com os sistemas tipo de Skyrim. Olhe o que acontece se optar por switch local.

Como o próprio nome já diz, switch local funciona apenas para aquele evento específico, logo a única forma de desligar esse switch é pelo mesmo evento. Fazendo do jeito que o Kazu disse o jogador teria que esperar no próprio mapa pelo respawn e cada vez que ele saísse do mapa o timer ia resetar, portanto não fica dinâmico. Isso ia deixar muito monótono e chato para juntar o minério, o jogador ia ter que ficar esperando X minutos até que desse para extrair novamente. Uma solução simples seria diminuir o tempo do timer para algo muito curto (tipo 30 segundos), mas isso ia deixar fácil demais spawnar o minério. Logo a melhor solução é um Evento Comum.

Por quê?

No Evento Comum, usando um switch normal, o tempo de respawn ia rolar independente do local em que o jogador esteja. Então ele poderia minerar o local, ir fazer alguma quest ou continuar a história do jogo e então retornar ao mapa e minerar novamente. Sacou? Fica muito mais dinâmico. A única desvantagem é que teria que usar um switch específico para cada minério e adicionar vários condições IF no Evento Comum. Mas depois que você pega o jeito esse sistema fica a coisa mais fácil de se fazer.

Viva a lenda!



Ah, claro, como eu fiz o teste do jeito que o Kazuyashi falou. Realmente, ele fica com um respawn rápido demais. Eu vou testar esse negócio aí do Evento Comum. Para ver como é, caso não consiga, irei te mandar uma mensagem inbox. o/
"os cavaleiros viram uma presa imponente, o dragão viu café-da-manhã, almoço e jantar"

Andei fazendo uns testes sobre esse sistema aqui. Há um pequeno problema, você tem que fazer um Evento Comum para cada minério que for extrair, porque senão a espera fica maior do que a que devia ser. Então, se você ainda tá começando, faça do jeito do Kazu que é mais simples.

Viva a lenda!



Então tá. Vou esperar o teu resultado aí. E vou aumentar o tempo de frame no jeito que o Kazu falou.
Não teria com copiar o evento que estaria o minério, e colar? Caso desse, isso faria com que não fosse preciso mais de um Evento Comum. Não?
"os cavaleiros viram uma presa imponente, o dragão viu café-da-manhã, almoço e jantar"

O que acontece:

No que eu propus você usaria um switch normal. Para desligá-lo você faria um Evento Comum que teria o comando de espera (por um tempo qualquer a ser determinado) e então desligaria o switch. Só que a medida que você acrescenta mais eventos dá nisso: ele primeiro espera um minério voltar para então começar a espera do seguinte. Usei um sistema de contador por variáveis para tentar ludibriar esse problema, mas de qualquer forma o tempo de espera fica maior do que o calculado. Para resolver isso só criando um sistemas de contagem para cada minério. Se você quiser pode criar um Evento Comum para cada minério, não seria muito problemático já que no RPG Maker você pode fazer muitos. Ou, como solução mais simples, fazer igual o Kazu disse.

Viva a lenda!



Mas fazendo como Kazu disse não daria problema ao entrar e sair do mapa? No caso, eu entro no mapa pego o minério, e saio, quando eu voltar vai estar ali novamente. Não aconteceria isso? No caso, não teria que esperar o tempo que eu colocaria de frames. Pq no entrar e sair do mapa, ele voltaria. Não é isso?
"os cavaleiros viram uma presa imponente, o dragão viu café-da-manhã, almoço e jantar"

Não, no que o Kazu disse aconteceria o seguinte:

Depois de um tempo X o minério voltaria, mas se você saísse do mapa o tempo resetaria. Exemplificando, imagina que você coloque um tempo de espera de, sei lá, 600 frames. Se você ficar ali durante esses 600 frames verá o charset do minério voltando. Porém digamos que você sai do mapa depois de esperar 400 frames. Quando você voltar a engine não vai ter memorizado o tempo que você já esperou, portanto teria que esperar os 600 frames de novo.

Viva a lenda!



A entendi, na verdade não ficaria ruim não. No caso só resetaria os frames, saquei. :)
"os cavaleiros viram uma presa imponente, o dragão viu café-da-manhã, almoço e jantar"

Bom, de fato usando esse método que falei no início ocasionaria esse problema de reset de frames. É possível fazer por evento comum como o Vincent sugeriu, driblando assim esse reset, mas não acho muito viável para quem tá começando. Sem contar que seria mais trabalhoso. Mas aí é com você! As duas formas funcionam bem. \o

Um grande abraço,

Kazuyashi.