Forums » RGSS

Lendo comentários por scripts - Aula 1

    • 683 posts
    4 de junho de 2015 13h16min32s ART

    Introdução

     

    Resolvi fazer este tutorial depois de responderem a minha dúvida: como ler comentários por scripts.
    Então me aprofundei no assunto (é complexo), e postei um tutorial para todos. Bom proveito!

     

    Script - Base

     

    Para começar, use o script abaixo. Ele vai ser o modelo para nós fazermos todo o resto.

     

    classGame_Systemalias primeiro initialize def initialize   primeiro   @initial_value=""endendclassGame_Event<Game_Characteralias segundo update def update   segundo     for cmd in@list     if cmd.code ==108or cmd.code ==408         comment = cmd.parameters[0]       end   endendend
    É só copiar e colar no seu jogo. Pronto, não acontece nada por enquanto. Agora, experimente adicionar ao script, o comando "p comment", sendo assim:

     

    def update   segundo     for cmd in@list     if cmd.code ==108or cmd.code ==408         comment = cmd.parameters[0]       end       p comment   end
    Ainda nao acontece nada, mas por pouco tempo. Crie um evento, e use o comando comentário, escreva um comentário qualquer, e teste o seu jogo.
    Fascinante, não?
    O problema é que fica impossível fechar o jogo, então use ctrl+alt+delete.

     

    Regex

     

    - Oh, muito legal! Mas e se eu quero que só alguns comandos sejam lidos?
    É aí que entra o Regex. São, basicamente, expressões muito utilizadas em programação e em qualquer outra area, sem limites. funciona da seguinte forma:

     

    /seu comando regex/i
    É colocado entre os sinais //i, não me pergunte por que, a linguagem é assim.
    O que importa é que o Regex tem comandos, como o Rgss também tem. Você pode delecionar palavras, linhas, semelhãnças, etc..

    Primeiro, vamos fazer um teste:

    Pegue aquela linha em que voê escreveu p comment, e adicione ao final:

     

      if comment =~/i(phone|pad|pod)/i
    Agora, teste o jogo. Se fez tudo certo, não vai aparecer nada. É por que só vai aparecer as palavras se você digitar:
    Iphone
    Ipod
    Ipad
    Qualquer uma destas palavras vão aparcer, nenhuma outra vai. Porquê?

    É que definimos isso ao escrever aquele if. Note que o nosso código regex é:
    /I(phone|pad|pod)/i

    Então, vamos entendê-lo, por partes:

    / = Início
    I = Toda palavra vai ter que ter um I (Por exemplo, Iguana)
    () = Várias coisas podem ser feitas nos parênteses
    phone = Sabemos que a palavra tem que começar com I, isso diz que tem que terminar com phone
    |pad| = O sinal | serve para criar um ou,  sendo assim, a frase tem que começar com I, e terminar com phone ou pad, ou pod.

     

    Tema

     

    Façam um script que aumente o hp do herói se eu digitar um comentário contendo hp.

    Obs: O comando para aumentar o Hp é $game_party.hp += 100




    É isso galera, ensinei só um pouquinho de Regex e de ler comentários, pois também não sei muito, foi só uma aprofundada que resolvi dar.
    Recomendo que procurem no google, por Regex, e vão no resultado do site aurelio.net, lá explica o que eu ensinei aqui.
    Talvez eu poste o link, mas procurem vocês mesmos por enquanto...

     

    Qualquer dúvida poste aí, vou tentar resolver.
    Ps: Falta aprender muito sobre isso ainda, acho que vou fazer outras aulas se essa for bem comentada.
    Ah, e o jogo vai ler todos os comentários que contenham as palvras, Iphone, Ipod, etc...



    Até,
    Mendesx