Forums » RPG MAKER 2K e 2003

Local Switches no RPGM2000/2003

    • 683 posts
    22 de maio de 2015 14:47:39 ART

    Este tutorial irá lhe ensinar como  guardar um grupo de switches dentro de variáveis, permitindo o uso da mesma switch em todos os mapas sem se preocupar com o estado dos eventos antigos que também usam a tal switch.

    É possível guardar cerca de 24 switchs em uma variável. Isto pode ser feito tratando um grupo de switchs como numeros binários!

    Então, para fazer isso nós estaremos criando 2 eventos comuns: Switch encoding e Switch decoding, ambos como  Call event.
      O Encoding será responsável por transformar o valor das switchs em binários, enquanto o decoding irá converter os binários de volta a switches.

    Para realizar alguns dos procedimentos deste tutorial, faremos uso de Pointers(termo conhecido entre programação) para facilitar e agilizar o processo todo.

    Primeiro passo

      Para converter um grupo de switches para um número comum, você precisará apontar a variável que você quer usar, coloque a configuração desta como Set 0, e some 2 ao N. (confuso? Vou explicar :LOL:)
    Basicamente isso significa que caso a primeira switch esteja ativada você irá somar 1(2^0), caso a segunda esteja ativada será 2(2^1), terceira4(2^2) e assim por diante. 

    • Crie uma váriavel com o nome Switch Set Pointer, porem ao invés desta variável ser tratada como Single Variable, iremos utilizar a opçãoVariable Reference. Set value deve ser zero.


    Imagem Postada

    • Crie uma IF(sem ELSE case), utilizando uma switch com o nome Local Switch 1
    • Dentro desta switch, utilize a variável que criamos no passo anterior, com a mesma opção marcada. A unica diferença será que ao invés deset 0 iremos somar 1(ou seja, add/+ 1)
    • Crie outras 9 IFs seguindo o padrão ensinado acima, podem cada IF deverá ter uma switch unica(segunda if deverá ser chamadaLocal Switch 2, terceira será Local Switch 3...) e dentro de cada IF iremos alterar o valor da variável, sempre multiplicando por 2.(lembra a explicação no inicio do passo?)


    Ao fazer isso você já vai estar ensinando ao maker como tratar as switchs como valores normais, transformando elas em variáveis. O evento deverá ficar desta forma:

    Imagem Postada

    Segundo passo

    Para decodificar uma variável em switches nós precisaremos primeiro desativar todas switchs que estamos usando e então setar a variável"Temp Var A" como Start ID das switchs que estamos usando. Com isso, faremos o upload do valor que queremos decodificar em uma variável temporária.
    Feito isso, poderemos usar algoritmos normalmente para alternar a switch entre números normais e binários.
    Iremos pegar o valor desta variável temporária e usar MOD 2 nela(binário = base 2). Se a operação de módulos voltar o valor 1, então a atual switch apontada pela Temp Var A será ativada. Após isso nós iremos acrescentar o valor 1 a esta variável, ativando assim a switch seguinte. Dividiremos por 2 e iremos checar se o valor temporário obtido é maior que 0. Caso seja nós continuaremos com o loop até que o valor mude.
    No final, isso irá tornar cada valor da variável em um correspondente grupo de switchs. Vamos ao passo-a-passo.

    • Desative todas as switchs usadas(Local Switch 1~Local Switch 10)
    • Crie uma variável comum(sem a opção que usamos acima) com o nome Temp Var A, seu valor deve ser igual a 0.
    • Crie outra variável com o nome Encoded  Value, na mesma janela você deverá usar a opção Value Stored in Index com a váriavelSwitch Set Pointer, também deixe o valor como igual.


    Imagem Postada

    • Crie uma Label(Ciclo) e coloque o valor 1
    • Crie uma nova variável temporária com o nome Temp Var B, utilize o mesmo procedimento anterior, porem no lugar de Switch Set Pointer nós usaremos/criaremos a variável Encoded Value.
    • Crie novamente uma operação com variáveis, porem desta vez utilizaremos a recente criada Temp Var B, com a opção Modulus(+/- na versão Brasileira do rpg maker) com o valor 2.
    • Crie uma IF com a variável Temp Var B, configuração deve ser "caso for igual a 1"
    • Dentro desta IF, você usará a opção de mudar switch, porem utilizará a opção Variable Reference, com a variável Temp Var A como ativada.


    Imagem Postada

    • Fora desta IF, crie outra operação com variáveis utilizando a Temp Var A, selecionando a opção somar(+) com o valor 1
    • Novamente, crie outra operação com variáveis utilizando a Encoded Value, selecione a opção dividir e o valor deve ser 2.
    • Crie uma IF utilizando a variável Encoded Value, sua configuração deve ser como "Greater than/Maior que" 0
    • Dentro desta IF, crie um Jump to Label no com o número 1.


    Imagem Postada

    Ultimo passo

    A parte difícil do tutorial já passou, tudo que nos resta fazer é mostrar ao sistema que as switchs foram usadas e que queremos que elas sejam guardadas, para que na próxima área eu possa usar elas novamente.

    Basicamente, vocês vão entender a lógica de todos os procedimentos acima a partir deste passo.

    • No evento de teleporte, coloque sua animação padrão de esconder a tela.
    • Crie uma operação de variáveis utilizando a variável Switch Set Pointer com o valor igual a 1.
    • Utilize a opção Call Event e selecione o evento comum Switch Encoding.
    • Novamente, crie uma operação de variáveis utilizando a variável Switch Set Pointer, porem desta vez o valor deve ser igual a 2.
    • Utilize novamente a opção Call Event e selecione o evento comum Switch Decoding
    • Coloque a ação de teleportar para o mapa desejado e em seguida a animação de mostrar tela desejada.


    Imagem Postada

    O valor Switch Set Pointer na imagem está diferente por  fazer parte do tutorial original, porem sigam os passos que descrevi normalmente pois o resultado será o mesmo.

    O que fizemos aqui?

    Esta é a melhor parte! Notaram como usamos a variável Switch Set Pointer? Antes de teleportar para o novo mapa, nós demos um valor a ela, chamamos um evento e depois demos o valor 2 a mesma.

    Isso significa que o set de switchs atribuído ao valor 1 será diferente do set atribuído ao valor 2, possibilitando então o uso de local switches no rpg maker 2000/2003!

    Cada valor dado a esta variável irá agir como um novo grupo de 10 switchs locais. Utilizando o exemplo acima, caso você esteja no mapa que demos o valor 2(que também usa o sistema), você só precisa inverter os valores! No caso, na primeira Switch Set Pointer você altera o valor para 2 e na segunda o valor deve ser 1.

    Este sistema permite que você multiplique essas 10 switchs infinitamente, já que cada valor da Switch Set Pointer equivale a um grupo individual.

    As switchs que devem ser usadas são as 10 Switch Local que criamos no inicio do tutorial, porem como também mencionei este valor pode ser alterado para 24 switches.

    Vantagens de usar este sistema:

    • Permite copiar e colar eventos que usam as switchs locais entre mapas sem medo de bugs.
    • Permite que o código de seu projeto fique mais limpo.
    • Lhe da mais espaço na lista de switchs para trabalhar em outros fatores.
    • Pratico e eficiente.


    Tutorial original por: Kazesui
    Tradução e adaptação por: K.A.O.S 

    • 511 posts
    25 de janeiro de 2020 10:07:56 ART

    Nice post! This is a very nice blog that I will definitively come back to more times this year! Thanks for informative post. หวยออนไลน์ จ่ายเน้นๆ

    • 511 posts
    28 de janeiro de 2020 07:39:08 ART

    Positive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work. новый канал смотреть онлайн

    • 511 posts
    29 de janeiro de 2020 11:33:02 ART

    I appreciate everything you have added to my knowledge base.Admiring the time and effort you put into your blog and detailed information you offer.Thanks. free essay papers

    • 511 posts
    30 de janeiro de 2020 05:36:29 ART

    Thank you for taking the time to publish this information very useful! landshaftnyj dizajn

    • 511 posts
    4 de fevereiro de 2020 10:52:12 ART

    I think this is an informative post and it is very useful and knowledgeable. therefore, I would like to thank you for the efforts you have made in writing this article. Webdesign

    • 511 posts
    11 de fevereiro de 2020 05:08:41 ART

    I found that site very usefull and this survey is very cirious, I ' ve never seen a blog that demand a survey for this actions, very curious... Domki do wynajęcia Bieszczady

    • 511 posts
    17 de fevereiro de 2020 05:02:51 ART

    Hi there! Nice material, do keep me posted when you post something like this again! I will visit this blog leaps and bounds for more quality posts like it. Thanks... Parc Esta pricing

    • 511 posts
    19 de fevereiro de 2020 09:45:18 ART

    I recently came across your blog and have been reading along. I thought I would leave my first comment. I don't know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often. poker bonus new member

    • 511 posts
    22 de fevereiro de 2020 10:38:27 ART

    When you use a genuine service, you will be able to provide instructions, share materials and choose the formatting style. رحلات شهر عسل في شرم الشيخ

    • 511 posts
    25 de fevereiro de 2020 08:04:48 ART

    thank you for your interesting infomation. 123movies

    • 511 posts
    25 de fevereiro de 2020 10:10:19 ART

    You delivered such an impressive piece to read, giving every subject enlightenment for us to gain information. Thanks for sharing such information with us due to which my several concepts have been cleared. 상품권 현금화

    • 511 posts
    27 de fevereiro de 2020 08:46:46 ART

    Excellent article. Very interesting to read. I really love to read such a nice article. Thanks! keep rocking. wall shelves

    • 511 posts
    29 de fevereiro de 2020 05:14:23 ART

    Thanks for this great post, i find it very interesting and very well thought out and put together. I look forward to reading your work in the future. baby changing unit

    • 511 posts
    3 de março de 2020 09:45:12 ART

    Thank you because you have been willing to share information with us. we will always appreciate all you have done here because I know you are very concerned with our. OSINT Washington

    • 511 posts
    5 de março de 2020 04:46:54 ART

    The post is written in very a good manner and it contains many useful information for me. www.velos-electrique.fr

    • 511 posts
    13 de março de 2020 10:39:59 ART

    I wish more authors of this type of content would take the time you did to research and write so well. I am very impressed with your vision and insight. 예스카지노 주소

    • 511 posts
    16 de março de 2020 10:09:46 ART

    Excellent to be visiting your blog again, it has been months for me. Rightly, this article that I've been served for therefore long. I want this article to finish my assignment within the faculty, and it has the same topic together with your article. Thanks for the ton of valuable help, nice share. working pogo spoof

    • 511 posts
    18 de março de 2020 06:03:12 ART

    Superior post, keep up with this exceptional work. It's nice to know that this topic is being also covered on this web site so cheers for taking the time to discuss this! Thanks again and again! 예스 카지노

    • 511 posts
    19 de março de 2020 07:09:23 ART

    I was reading your article and wondered if you had considered creating an ebook on this subject. Your writing would sell it fast. You have a lot of writing talent. vancouver limo service

    • 511 posts
    23 de março de 2020 10:37:31 ART

    I wish more authors of this type of content would take the time you did to research and write so well. I am very impressed with your vision and insight. judi online

    • 511 posts
    25 de março de 2020 09:24:51 ART

    There is so much in this article that I would never have thought of on my own. Your content gives readers things to think about in an interesting way. Thank you for your clear information. pussy888

    • 511 posts
    26 de março de 2020 14:03:11 ART

    Thank you for such a well written article. It’s full of insightful information and entertaining descriptions. Your point of view is the best among many. 부산출장

    • 511 posts
    29 de março de 2020 10:59:59 ART

    I know your expertise on this. I must say we should have an online discussion on this. Writing only comments will close the discussion straight away! And will restrict the benefits from this information. Apartments for sale in Lagos Portugal

    • 511 posts
    31 de março de 2020 14:20:19 ART

    Very useful post. This is my first time i visit here. I found so many interesting stuff in your blog especially its discussion. Really its great article. Keep it up. super kapsuly xl