<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7414901141675146084</id><updated>2011-04-21T20:47:30.043-07:00</updated><category term='Aulas :Sintaxe'/><category term='My Tutorials'/><category term='Sites e Blogs Externos'/><category term='My Scripts'/><category term='My Games'/><category term='Aulas Extras'/><category term='My Resources'/><category term='..::NOTÍCIAS::..'/><category term='Aulas Básicas'/><title type='text'>X-RMXP</title><subtitle type='html'>by Anderson Porto</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>47</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-2213251257191598201</id><published>2009-02-07T14:07:00.001-08:00</published><updated>2009-02-07T14:07:56.873-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Scripts'/><title type='text'>ATS AWS Dia/Noite</title><content type='html'>&lt;b&gt;Nome:&lt;/b&gt; ATS AWS Dia/Noite&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Autores:&lt;/b&gt; Anderson Porto(anderporto), Near Fantastica, Dubealex, CCOA, Rataime&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Versão:&lt;/b&gt; 2.0&lt;br /&gt;&lt;br /&gt;&lt;b&gt;X-RGSS: &lt;/b&gt;X-LIB e/ou S-SPR&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Descrição:&lt;/b&gt; um mega pack de sistemas gráficos, alguns receberam customizações minhas pra facilitar o uso, todos os sistemas de tempo funcionam em tempo real o que não pode ser alterado. Aproveitem, esse sistema é bem antigo e é o meu 1º de grande sucesso!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Download:&lt;/b&gt; &lt;a href="http://www.4shared.com/file/19231160/ed84b637/ATS_AWS_DiaNoite.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/19231160/ed84b637/ATS_AWS_DiaNoite.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Screen:&lt;/b&gt;&lt;br /&gt;&lt;a href="http://img201.imageshack.us/my.php?image=tempoej7.png" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img201.imageshack.us/img201/2339/tempoej7.th.png" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;img src="http://img177.imageshack.us/img177/8245/xnpcompatej0.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-2213251257191598201?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/2213251257191598201/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/02/ats-aws-dianoite.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/2213251257191598201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/2213251257191598201'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/02/ats-aws-dianoite.html' title='ATS AWS Dia/Noite'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-262308017005791734</id><published>2009-02-07T13:38:00.000-08:00</published><updated>2009-02-07T14:05:20.464-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Scripts'/><title type='text'>APS_PlayerMode</title><content type='html'>&lt;div class="post" id="msg_34435"&gt;         &lt;b&gt;Nome:&lt;/b&gt; APS_PlayerMode&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Autor:&lt;/b&gt; Anderson Porto&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Versão:&lt;/b&gt; 1.0&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Descrição:&lt;/b&gt; este sistema permite aos jogadores a criação de modos de jogo distintos, cada um com um ponto de início diferente, assim você pode fazer sistemas de dificuldade, lados(como no resident evil 2) e etc... use sua criatividade XD&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Downlad:&lt;/b&gt; &lt;a href="http://www.4shared.com/file/65756814/2546e0a1/APS_PlayerMode.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/65756814/2546e0a1/APS_PlayerMode.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;img src="http://img405.imageshack.us/img405/5159/nnpincompatxg2.jpg" alt="" class="bbc_img" /&gt;&lt;br /&gt;Só funciona se houver alterações no script&lt;/div&gt;        &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-262308017005791734?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/262308017005791734/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/02/apsplayermode.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/262308017005791734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/262308017005791734'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/02/apsplayermode.html' title='APS_PlayerMode'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-924369370536164785</id><published>2009-02-07T13:30:00.000-08:00</published><updated>2009-02-07T13:31:51.709-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Scripts'/><title type='text'>APS_6Layers</title><content type='html'>&lt;div class="post" id="msg_34429"&gt;         &lt;b&gt;Nome:&lt;/b&gt; APS_6Layers&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Autor:&lt;/b&gt; Anderson Porto&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Versão:&lt;/b&gt; 1.0&lt;br /&gt;&lt;br /&gt;&lt;b&gt;X-RGSS:&lt;/b&gt; X-SPR&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Descrição&lt;/b&gt;: esse script permite 6 layers de mapeamento, o funcionamento é simples, vc cria um mapa em coloca no nome [6§] então o programa vai considerar o mapa com id+1 como continuação do mapa em questão, o sistema é dinâmico e vc só vai precisar criar dois mapas para os mapas q vc queira 6 layers, só aviso que ambos os mapas devem ter o mesmo tamanho! Obs.: cada mapa pode ter tilesets e autotiles diferentes!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Downlad&lt;/b&gt;: &lt;a href="http://www.4shared.com/file/65759269/41429f5b/APS_6Layers.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/65759269/41429f5b/APS_6Layers.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;img src="http://img177.imageshack.us/img177/8245/xnpcompatej0.jpg" alt="" class="bbc_img" /&gt;&lt;br /&gt;Este sistema foi testado no X-NP, mas não é livre de bugs.&lt;/div&gt;        &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-924369370536164785?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/924369370536164785/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/02/aps6layers.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/924369370536164785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/924369370536164785'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/02/aps6layers.html' title='APS_6Layers'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-3952572259322617301</id><published>2009-01-28T19:06:00.000-08:00</published><updated>2009-01-28T19:07:20.207-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Scripts'/><title type='text'>APS_AutoDescription</title><content type='html'>&lt;b&gt;Nome:&lt;/b&gt; APS_AutoDescription&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Versão:&lt;/b&gt; 1.5&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Autor:&lt;/b&gt; Anderson Porto&lt;br /&gt;&lt;br /&gt;&lt;b&gt;X-RGSS:&lt;/b&gt; X-GM&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Descrição:&lt;/b&gt; este script cria descrições automáticas para todas as armas e armaduras de forma padronizada, ele indica se o jogador pode ou não equipar o item!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Download:&lt;/b&gt; &lt;a href="http://www.4shared.com/file/83030541/e1f7cef4/APS_AutoDescription.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/83030541/e1f7cef4/APS_AutoDescription.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-3952572259322617301?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/3952572259322617301/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apsautodescription.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/3952572259322617301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/3952572259322617301'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apsautodescription.html' title='APS_AutoDescription'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-2941197511618923012</id><published>2009-01-28T18:58:00.000-08:00</published><updated>2009-01-28T18:59:03.787-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Scripts'/><title type='text'>X-NP XP</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img156.imageshack.us/img156/1667/nptitleho3.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;Finalmente o mais novo Net Play brasileiro esta sendo lançado. Porém o diferencial deste é visível em comparação com os demais. Este NP dá pleno suporte para jogar On e Offline além de propiciar aos jogadores a criação de seus próprios servidores de modo seguro e bem estável se comparado com a maioria dos NPs. Ele usa o pacote de scripts e edições denominado X-RGSS. Dentre os sistemas, podemos destacar:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;BAIXAR&gt;&lt;a href="http://www.4shared.com/file/82327532/b7eb619a/X-NP_XP_10.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/82327532/b7eb619a/X-NP_XP_10.html&lt;/a&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img512.imageshack.us/img512/9395/linhahrexd0.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Edições de sistemas existentes:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Input 2.3:&lt;/b&gt; O já conhecido module Input editado e bem mais funcional, várias teclas foram adicionadas e outras foram corrigidas!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Mog Damage System 1.2:&lt;/b&gt; Uma versão pessoal do sistema de dano do XAS adaptado ao Mr. Mo ABS! Com gráficos muito mais bonitos e detalhados!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Event Spawner 2.0:&lt;/b&gt; o mais recente Eventspawner com algumas modificações e funções essenciais ao NP!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;APS_X-Interface 1.2:&lt;/b&gt; Um pacote de edições e scripts inéditos que recriam as telas de login, registro e title adaptando o sistema e melhorando o aspecto gráfico!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Mr. Mo's ABS Alternative:&lt;/b&gt; Minha mais nova versão do Mr. Mo ABS, baseada na versão 5.5 ele trás dezenas de edições e add-nos incríveis que vão deixar os players babando com o sistema de luta!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img512.imageshack.us/img512/9395/linhahrexd0.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Sistemas inéditos:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;APS_Servers 2.0:&lt;/b&gt; Um pequeno script que permite plena edição da lista de servidores permitindo aos jogadores a criação de seus próprios servers assim como os criadores podem alterar dados do Server sem obrigar os jogadores a baixar tudo o jogo novamente. E para aqueles que querem ter servers oficiais não editáveis, é só adicionar na lista dentro do script!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Server List Editor 1.0:&lt;/b&gt; sistema em Java que permite uma fácil gerência dos servidores! (requere Java virtual machine)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;APS_GlobalEvents 1.0:&lt;/b&gt; sistema que adiciona um sistema especial para drops e kills de monstros, com ele, as mortes dos monstros assim como os itens que eles dropam ficam net globais!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;APS_GlobalSV 1.0:&lt;/b&gt; Sistema simples e funcional que deixa certas switches e variables net globais, assim se um player altera o valor de uma delas, todos acabam tendo essa var alterada (só os players online).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;APS_DataSV 1.0:&lt;/b&gt; Um inédito e inovador sistema de switches e variables net globais que usa Ruby e Lua. Com esse sistema, as sws e vrs ficam salvas no servidor e se alguém altera o valor delas, todos os jogadores que jogarem naquele servidor também terão as variáveis alteradas, inclusive aqueles que não estavam online quando elas foram atualizadas, elas são fixas e podem ser alteradas pelo admin do Server!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;APS_GameDrop 1.5:&lt;/b&gt; um novo sistema de drop independente do ABS, compatível com o APS_GlobalEvents e que pode ser usado a qualquer momento do jogo!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;APS_PKLevel 1.5:&lt;/b&gt; Sistema de PK (player killer) que muda a cor do nome dos personagens conforme seu nível de pk, a exp ganha nas mortes também é alterada!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;APS_DinamicChat 1.5:&lt;/b&gt; Além da janela normal de chat, agora as mensagens aparecem na tela, em cima do personagem! Mais um sistema inédito que este np traz!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;APS_MessageSystem 3.0:&lt;/b&gt; Um sistema de mensagens alternativo muito útil que permite aos gms e admins se comunicarem com todos os players de modo alternativo além de poder ser usado para dar recados ou anunciar eventos no jogo!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;APSCreator 1.0:&lt;/b&gt; uma tela de criação de personagem para você customizar os chars do jogo!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;APS_Data 2.3:&lt;/b&gt; um sistema que pode causar polêmica, pois torna muitos scripts incompatíveis, mas sem dúvida um sistema essencial que padroniza a criação, carregamento e salvamento de accs, além disso, ele também contém um autosave!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;APS_Antihack 1.5:&lt;/b&gt; uma das maiores evoluções do X-NP é o avançado sistema de save load do jogo com ampla proteção contra hackers! Com ele, jogadores online não usam os chars no off-line e vice-versa, é impossível duplicar itens ou clonar personagens usando os arquivos de save, além disso, chars que foram criados em um Server não podem ser usados em outro, pois cada Server conta com um serial! Não satisfeito ainda tem o sistema de versões, se a versão do Server for diferente do client o jogo fecha impedindo o login e obrigando o player a fazer o download da nova versão!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-2941197511618923012?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/2941197511618923012/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/x-np-xp.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/2941197511618923012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/2941197511618923012'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/x-np-xp.html' title='X-NP XP'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-8368027736530225625</id><published>2009-01-28T18:53:00.000-08:00</published><updated>2009-01-28T18:56:53.079-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Scripts'/><title type='text'>APS_ChatCommands</title><content type='html'>&lt;b&gt;Nome:&lt;/b&gt; APS_ChatCommands&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Versão:&lt;/b&gt; 1.0&lt;br /&gt;&lt;br /&gt;&lt;b&gt;X-RGSS:&lt;/b&gt; X-CHAT&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Autor:&lt;/b&gt; Anderson Porto&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Descrição:&lt;/b&gt; adiciona os comandos /move para players normais e /gmove para admins e gms&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Download&lt;/span&gt;: http://www.4shared.com/file/83030044/9756f890/APS_ChatCommands.html&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;img src="http://img177.imageshack.us/img177/8245/xnpcompatej0.jpg" alt="" class="bbc_img" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: right;"&gt;Este siste foi criado para o X-NP e pode não funcionar em outros NPs&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-8368027736530225625?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/8368027736530225625/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apschatcommands.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/8368027736530225625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/8368027736530225625'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apschatcommands.html' title='APS_ChatCommands'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-4256887692241947522</id><published>2009-01-25T13:33:00.000-08:00</published><updated>2009-01-25T13:35:37.702-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas :Sintaxe'/><title type='text'>Game_Actors</title><content type='html'>&lt;div class="post" id="msg_256"&gt;         &lt;div align="center"&gt;&lt;img src="http://img253.imageshack.us/img253/8393/aulasintaxe1wt7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Criado por&lt;/b&gt;: Dubealex&lt;br /&gt;&lt;b&gt;Traduzido por&lt;/b&gt;: Anderson Porto&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img515.imageshack.us/img515/1806/lessonreddg7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Lista de Atributos:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img515.imageshack.us/img515/1806/lessonreddg7.png" alt="" class="bbc_img" /&gt;DATA ACTORS&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_actors[id].&lt;br /&gt;&lt;br /&gt;id&lt;br /&gt;name&lt;br /&gt;class_id&lt;br /&gt;initial_level&lt;br /&gt;exp_basis&lt;br /&gt;exp_inflation&lt;br /&gt;character_name&lt;br /&gt;character_hue&lt;br /&gt;battler_name&lt;br /&gt;battler_hue&lt;br /&gt;weapon_id&lt;br /&gt;weapon_fix&lt;br /&gt;armor1_id&lt;br /&gt;armor1_fix&lt;br /&gt;armor2_id&lt;br /&gt;armor2_fix&lt;br /&gt;armor3_id&lt;br /&gt;armor3_fix&lt;br /&gt;armor4_id&lt;br /&gt;armor4_fix&lt;br /&gt;parameters[status_id, level]&lt;/code&gt; &lt;br /&gt;&lt;br /&gt;&lt;img src="http://img515.imageshack.us/img515/1806/lessonreddg7.png" alt="" class="bbc_img" /&gt;GAME ACTORS&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$game_actors[id].&lt;br /&gt;&lt;br /&gt;hp&lt;br /&gt;maxhp&lt;br /&gt;sp&lt;br /&gt;maxsp&lt;br /&gt;level&lt;br /&gt;exp&lt;br /&gt;str&lt;br /&gt;dex&lt;br /&gt;agi&lt;br /&gt;int&lt;br /&gt;atk&lt;br /&gt;pdef&lt;br /&gt;mdef&lt;br /&gt;eva  &lt;/code&gt;&lt;br /&gt;&lt;img src="http://img515.imageshack.us/img515/1806/lessonreddg7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Sintaxes:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Actor Sintaxe #1: &lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_actors[actor_id]&lt;/code&gt;&lt;br /&gt;&lt;b&gt;Actor Sintaxe #2: &lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$game_actors[actor_id] &lt;/code&gt;&lt;br /&gt;&lt;span style="color: blue;" class="bbc_color"&gt;$data_actors &lt;/span&gt;e &lt;span style="color: blue;" class="bbc_color"&gt;$game_actors &lt;/span&gt;são o código utilizado para se referir a um ator (um herói) do seu projecto, e &lt;span style="color: red;" class="bbc_color"&gt;actor_id &lt;/span&gt;É onde você escreve o próprio id  de seu herói. Em muitos casos, ambas as sintaxes podem ser usadas; quando for o caso, vou escrever-lhes simultaneamente.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;" class="bbc_color"&gt;$data_actors&lt;/span&gt; remete para o banco de dados padrão&lt;br /&gt;&lt;span style="color: blue;" class="bbc_color"&gt;$game_actors&lt;/span&gt; remete para os valores reais no jogo&lt;br /&gt;&lt;br /&gt;Isto significa que se você usar  $data_actors[ actor_id  ].name. O nome será o que você especificou em um banco de dados; mesmo se você mudar o nome do herói durante o jogo, o valor residente em  $data_actors[  actor_id ].name será o padrão um banco de dados.&lt;br /&gt;&lt;br /&gt;Por outro lado, se você usar $game_actors[ actor_id ].name, o nome será o que atualmente tem o herói do jogo. O que significa que você sempre tem 2 nomes disponíveis por heróis.&lt;br /&gt;&lt;br /&gt;Outra observação importante, a sintaxe $data_actors[ actor_id ] são todos ATTR_READER só, exceto para os parâmetros (valor máximo) das estatísticas. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Nome:&lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_actors[actor_id].name&lt;br /&gt;-e-&lt;br /&gt;$game_actors[actor_id].name  &lt;/code&gt;&lt;br /&gt;&lt;b&gt;Gráfico do personagem: &lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_actors[actor_id].character_name&lt;br /&gt;-e-&lt;br /&gt;$game_actors[actor_id].character_name &lt;/code&gt;&lt;br /&gt;&lt;b&gt;Hue do gráfico: &lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_actors[actor_id].character_hue&lt;br /&gt;-e-&lt;br /&gt;$game_actors[actor_id].character_hue&lt;/code&gt;&lt;br /&gt;&lt;b&gt;Gráfico do battler: &lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_actors[actor_id].battler_name&lt;br /&gt;-e-&lt;br /&gt;$game_actors[actor_id].battler_name&lt;/code&gt;&lt;br /&gt;&lt;b&gt;hue do battler: &lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_actors[actor_id].battler_hue&lt;br /&gt;-e-&lt;br /&gt;$game_actors[actor_id].battler_hue &lt;/code&gt;&lt;br /&gt;&lt;b&gt;ID da classe do herói: &lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_actors[actor_id].class_id[/color]&lt;br /&gt;-e-&lt;br /&gt;$game_actors[actor_id].class_id&lt;/code&gt;&lt;br /&gt;&lt;b&gt;Nome da classe a que ele pertence: &lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_classes[$data_actors[actor_id].class_id].name&lt;br /&gt;-e-&lt;br /&gt;$game_actors[actor_id].class_name&lt;/code&gt;&lt;br /&gt;&lt;b&gt;ID da arma: &lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_actors[actor_id].weapon_id[/color]&lt;br /&gt;-e-&lt;br /&gt;$game_actors[actor_id].weapon_id&lt;/code&gt;&lt;br /&gt;&lt;b&gt;Nome da arma: &lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_weapons[$data_actors[actor_id].weapon_id].name&lt;br /&gt;-e-&lt;br /&gt;$data_weapons[$game_actors[actor_id].weapon_id].name &lt;/code&gt;&lt;br /&gt;&lt;b&gt;ID do escudo: &lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_actors[actor_id].armor1_id&lt;br /&gt;-e-&lt;br /&gt;$game_actors[actor_id].armor1_id&lt;/code&gt;&lt;br /&gt;&lt;b&gt;Nome do escudo: &lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_armors[$data_actors[actor_id].armor1_id].name&lt;br /&gt;-e-&lt;br /&gt;$data_armors[$game_actors[actor_id].armor1_id].name&lt;/code&gt;&lt;br /&gt;&lt;b&gt;Capacete: &lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_actors[actor_id].armor2_id&lt;br /&gt;-and-&lt;br /&gt;$game_actors[actor_id].armor2_id&lt;/code&gt;&lt;br /&gt;&lt;b&gt;Nome do capacete:&lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_armors[$data_actors[actor_id].armor2_id].name&lt;br /&gt;-e-&lt;br /&gt;$data_armors[$game_actors[actor_id].armor2_id].name&lt;/code&gt;&lt;br /&gt;&lt;b&gt;ID da armadura: &lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_actors[actor_id].armor3_id&lt;br /&gt;-e-&lt;br /&gt;$game_actors[actor_id].armor3_id&lt;/code&gt;&lt;br /&gt;&lt;b&gt;Nome da armadura: &lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_armors[$data_actors[actor_id].armor3_id].name&lt;br /&gt;-e-&lt;br /&gt;$data_armors[$game_actors[actor_id].armor3_id].name&lt;/code&gt;&lt;br /&gt;&lt;b&gt;ID do acessório: &lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_actors[actor_id].armor4_id&lt;br /&gt;-e-&lt;br /&gt;$game_actors[actor_id].armor4_id&lt;/code&gt;&lt;br /&gt;&lt;b&gt;Nome do acessório &lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_armors[$data_actors[actor_id].armor4_id].name&lt;br /&gt;-e-&lt;br /&gt;$data_armors[$game_actors[actor_id].armor4_id].name&lt;/code&gt;&lt;br /&gt;&lt;b&gt;Nível inicial &lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_actors[actor_id].initial_level&lt;/code&gt;&lt;br /&gt;&lt;b&gt;Parâmetros do char: &lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$data_actors[actor_id].parameters[status_id, level] &lt;/code&gt;&lt;br /&gt;&lt;span style="color: red;" class="bbc_color"&gt;status_id &lt;/span&gt;é a ID do parâmetro que você deseja acessar, ou seja: Máximo HP tem ID # 0, e a máxima SP tem ID # 1 (etc). &lt;span style="color: red;" class="bbc_color"&gt;level &lt;/span&gt;especifica de qual nível que deseja ver o valor; IE: Se você escrever no nível 10, o sistema irá remeter para o valor máximo da HP particular do ator quando terá ou teve no nível 10. Métodos mais simples podem ser usadas com "game_actors" em vez de "data_actors", eles serão explicados mais adiante. Esta sintaxe é a melhor para acessar um parâmetro de valor para um determinado personagem.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img515.imageshack.us/img515/1806/lessonreddg7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Lista de todos os parâmetros:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;Parameters  ID#&lt;br /&gt;Maximum HP    0&lt;br /&gt;Maximum SP    1&lt;br /&gt;Strengh       2&lt;br /&gt;Dexterity     3&lt;br /&gt;Agility       4&lt;br /&gt;Intelligence  5&lt;/code&gt;&lt;br /&gt;&lt;b&gt;HP Atual: &lt;/b&gt;&lt;br /&gt;&lt;code&gt;$game_actors[actor_id].hp &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;HP máximo(MAXHP): &lt;/b&gt;&lt;br /&gt;&lt;code&gt;$game_actors[actor_id].maxhp &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;SP Atual: &lt;/b&gt;&lt;br /&gt;&lt;code&gt;$game_actors[actor_id].sp&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;SP Máximo: &lt;/b&gt;&lt;br /&gt;&lt;code&gt;$game_actors[actor_id].maxsp&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Nível atual: &lt;/b&gt;&lt;br /&gt;&lt;code&gt;$game_actors[actor_id].level&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Experiencia possuida: &lt;/b&gt;&lt;br /&gt;&lt;code&gt;$game_actors[actor_id].exp&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Força atual: &lt;/b&gt;&lt;br /&gt;&lt;code&gt;$game_actors[actor_id].str &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Dextreza: &lt;/b&gt;&lt;br /&gt;&lt;code&gt;$game_actors[actor_id].dex&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Agilidade: &lt;/b&gt;&lt;br /&gt;&lt;code&gt;$game_actors[actor_id].agi&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Inteligência: &lt;/b&gt;&lt;br /&gt;&lt;code&gt;$game_actors[actor_id].int&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ataque: &lt;/b&gt;&lt;br /&gt;&lt;code&gt;$game_actors[actor_id].atk&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Defesa física: &lt;/b&gt;&lt;br /&gt;&lt;code&gt;$game_actors[actor_id].pdef&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Defesa mágica: &lt;/b&gt;&lt;br /&gt;&lt;code&gt;$game_actors[actor_id].mdef&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Evasão: &lt;/b&gt;&lt;br /&gt;&lt;code&gt;$game_actors[actor_id].eva&lt;/code&gt;        &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-4256887692241947522?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/4256887692241947522/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/gameactors.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/4256887692241947522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/4256887692241947522'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/gameactors.html' title='Game_Actors'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-5503231158582742842</id><published>2009-01-25T12:54:00.000-08:00</published><updated>2009-01-25T12:55:27.593-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas :Sintaxe'/><title type='text'>Data_Classes</title><content type='html'>&lt;div class="post" id="msg_255"&gt;         &lt;div align="center"&gt;&lt;img src="http://img209.imageshack.us/img209/2597/aulassintaxe2ho8.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Criado por:&lt;/b&gt; SephirothSpawn&lt;br /&gt;&lt;b&gt;Traduzido por:&lt;/b&gt; Anderson Porto&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img515.imageshack.us/img515/1806/lessonreddg7.png" alt="" class="bbc_img" /&gt;&lt;span class="bbc_size"  style="font-size:130%;"&gt;Lista de Atributos:&lt;/span&gt;&lt;br /&gt;&lt;div class="quoteheader"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;Data Classes&lt;br /&gt;&lt;br /&gt;$data_classes[id].&lt;br /&gt;&lt;br /&gt;id                  #ID da classe.&lt;br /&gt;name                #nome da classe.&lt;br /&gt;position            #posição (0: frente, 1: meio, 2: tras).&lt;br /&gt;weapon_set          #array contendo as armas equipáveis.&lt;br /&gt;armor_set           #array contendo as armaduras equipáveis.&lt;br /&gt;element_ranks #nível de poder aos elementos.(0:A,1:B,2:C,3:D,4:E,5:F)&lt;br /&gt;state_ranks         #defesa à status.(0: A, 1: B, 2: C, 3: D, 4: E, 5: F)&lt;br /&gt;learnings  #skills que vai receber(array)&lt;/blockquote&gt;&lt;br /&gt;&lt;img src="http://img515.imageshack.us/img515/1806/lessonreddg7.png" alt="" class="bbc_img" /&gt;&lt;span class="bbc_size"  style="font-size:130%;"&gt;Sintaxe:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Id da Classex:&lt;br /&gt;&lt;div class="quoteheader"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;$data_classes[&lt;span style="color: rgb(255, 0, 0);" class="bbc_color"&gt;class_id&lt;/span&gt;].&lt;span style="color: rgb(0, 51, 0);" class="bbc_color"&gt;id&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Nome da Classe:&lt;br /&gt;&lt;div class="quoteheader"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;$data_classes[&lt;span style="color: rgb(255, 0, 0);" class="bbc_color"&gt;class_id&lt;/span&gt;].&lt;span style="color: rgb(0, 51, 0);" class="bbc_color"&gt;name&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Posição da classe:&lt;br /&gt;&lt;div class="quoteheader"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;$data_classes[&lt;span style="color: rgb(255, 0, 0);" class="bbc_color"&gt;class_id&lt;/span&gt;].&lt;span style="color: rgb(0, 51, 0);" class="bbc_color"&gt;position&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Weapon_Set:&lt;br /&gt;&lt;div class="quoteheader"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;$data_classes[&lt;span style="color: rgb(255, 0, 0);" class="bbc_color"&gt;class_id&lt;/span&gt;].&lt;span style="color: rgb(0, 51, 0);" class="bbc_color"&gt;weapon_set&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Armor_Set:&lt;br /&gt;&lt;div class="quoteheader"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;$data_classes[&lt;span style="color: rgb(255, 0, 0);" class="bbc_color"&gt;class_id&lt;/span&gt;].&lt;span style="color: rgb(0, 51, 0);" class="bbc_color"&gt;armor_set&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Defesa à elementos:&lt;br /&gt;&lt;div class="quoteheader"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;$data_classes[&lt;span style="color: rgb(255, 0, 0);" class="bbc_color"&gt;class_id&lt;/span&gt;].&lt;span style="color: rgb(0, 51, 0);" class="bbc_color"&gt;element_ranks&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Defesa à status:&lt;br /&gt;&lt;div class="quoteheader"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;$data_classes[&lt;span style="color: rgb(255, 0, 0);" class="bbc_color"&gt;class_id&lt;/span&gt;].&lt;span style="color: rgb(0, 51, 0);" class="bbc_color"&gt;state_ranks&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Skills a receber:&lt;br /&gt;&lt;div class="quoteheader"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;$data_classes[&lt;span style="color: rgb(255, 0, 0);" class="bbc_color"&gt;class_id&lt;/span&gt;].&lt;span style="color: rgb(0, 51, 0);" class="bbc_color"&gt;learnings&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img515.imageshack.us/img515/1806/lessonreddg7.png" alt="" class="bbc_img" /&gt;&lt;span class="bbc_size"  style="font-size:130%;"&gt;Referências as SKills&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img515.imageshack.us/img515/1806/lessonreddg7.png" alt="" class="bbc_img" /&gt;Lista de Atributos:&lt;br /&gt;&lt;div class="quoteheader"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;Data Classes&lt;br /&gt;&lt;br /&gt;$data_classes[id].learnings.&lt;br /&gt;&lt;br /&gt;level                               #nível que ganha a skill.&lt;br /&gt;skill_id                            #id da skill que vai ganhar.&lt;/blockquote&gt;&lt;br /&gt;&lt;img src="http://img515.imageshack.us/img515/1806/lessonreddg7.png" alt="" class="bbc_img" /&gt;&lt;span class="bbc_size"  style="font-size:130%;"&gt;Sintaxe:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Lv que vai ganhar:&lt;br /&gt;&lt;div class="quoteheader"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;$data_classes[&lt;span style="color: rgb(255, 0, 0);" class="bbc_color"&gt;class_id&lt;/span&gt;].learnings.&lt;span style="color: rgb(0, 51, 0);" class="bbc_color"&gt;level&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Qual skill vai ganhar (id):&lt;br /&gt;&lt;div class="quoteheader"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;$data_classes[&lt;span style="color: rgb(255, 0, 0);" class="bbc_color"&gt;class_id&lt;/span&gt;].learnings.&lt;span style="color: rgb(0, 51, 0);" class="bbc_color"&gt;skill_id&lt;/span&gt;&lt;/blockquote&gt;        &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-5503231158582742842?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/5503231158582742842/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/dataclasses.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/5503231158582742842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/5503231158582742842'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/dataclasses.html' title='Data_Classes'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-1935880434688823697</id><published>2009-01-25T12:11:00.000-08:00</published><updated>2009-01-25T12:18:48.802-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Resources'/><title type='text'>VX RTP para RMXP</title><content type='html'>Aqui estou disponibilizando para todos o tileset do RTP do RMVX em uma versão editada compatível com o XP, agora aqueles que reclamavam que os gráficos do vx são melhores não podem mais reclamar! Além disso estou disponibilizando um pack com vários autotiles do vx adaptados tb.&lt;br /&gt;&lt;br /&gt;Tileset: http://www.4shared.com/file/68420812/bc2dd536/VXRTP.html&lt;br /&gt;&lt;br /&gt;Autotiles: http://www.4shared.com/file/68417484/57e17047/Autotiles.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-1935880434688823697?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/1935880434688823697/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/vx-rtp-para-rmxp.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/1935880434688823697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/1935880434688823697'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/vx-rtp-para-rmxp.html' title='VX RTP para RMXP'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-3684874587706972551</id><published>2009-01-25T12:06:00.000-08:00</published><updated>2009-01-25T12:07:40.183-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas Extras'/><title type='text'>Aula Extra 4: Módulos</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img297.imageshack.us/img297/7954/aulasextrasf4th5.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img154.imageshack.us/img154/3756/importantegf4.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Introdução&lt;/b&gt;&lt;br /&gt;Esta aula pode ser considerada como parte do curso básico, os módulos são um conteúdo básico ao qual eu acabei esquecendo de explicar, mas "antes tarde do que nunca" vamos hoje estudar o que são, pra que servem e como se usam os módulos!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img512.imageshack.us/img512/9395/linhahrexd0.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;&lt;b&gt;O que são?&lt;/b&gt;&lt;br /&gt;Módulos são criados quase como as classes, você pode considerar um módulo como um pacote de informações(métodos, constantes e funções) que poderão ser acessadas a qualquer momento por qualquer classe, são magnificamente úteis para o armazenamento de dados como a configuração utilizada em um script, facilitando a vida de todos os scripters.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img512.imageshack.us/img512/9395/linhahrexd0.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Para que servem?&lt;/b&gt;&lt;br /&gt;Posso dizer que existem 3 tipos básicos de módulos: Armazenamento, Pacote de Funções e Pacote de Métodos. Os 3 tipos podem ser utilizados em um módulo só, ou seja, cada módulo pode ter 3 partes distintas, uma de cada tipo. Apenas vou lembrar que essa classificação é pessoal e não oficial, vou dividí-los por questões didáticas!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Armazenamento&lt;/b&gt;&lt;br /&gt;Como o nome ja diz, servem basicamente para armazenar dados constantes tais como configurações ou um banco de dados para os scripts, são fáceis de manusear e muito fáceis de criar, bastando ao scripter declarar as constantes dentro do bloco de códigos do módulo.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Pacote de Funções&lt;/b&gt;&lt;br /&gt;Essa "parte" ou "tipo" de módulo exerce uma função bem parecida com uma classe, mas por ser estático, essas funções podem ser utilizadas a qualquer momento, por exemplo, o módulo Math, esse módulo nada mais é que um conjunto de métodos que fazem operações matemáticas avançadas como raiz, logarítmo e etc. Módulos desse tipo são muito usados por scripter que possuem pacotes de funções próprios como o módulo XRXS, RTH...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Pacote de Métodos&lt;/b&gt;&lt;br /&gt;Essa é uma finalidade mais complexa dos módulos, ela serve literalmente para economizar linhas de programação, para o script, nada muda, mas para o scripter, a diferença é grande. Um módulo tem suporte para armazenar métodos que serão emprestados, divididos ou como queira chamar, para outras classes, assim, você pode ter um método só e usá-lo em várias classes diferentes!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img512.imageshack.us/img512/9395/linhahrexd0.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Como usar?&lt;/b&gt;&lt;br /&gt;Usar um módulo é uma tarefa simples, na declaração, apenas mudamos o ja conhecido class por module, Além disso, muitos preferem criar módulos apenas com letras maiúsculas como APS, RTH, SDK... mas existem exceções como o User_Edit do Net Play! AVISO! Módulos não são instanciados, ou seja, não da pra usar o comando new, você deve usar diretamente o nome do módulo!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Armazenamento&lt;/b&gt;&lt;br /&gt;Para armazenar dados constantes em um módulo, basta criá-lo e ir adicionando as infos, veja o exemplo:&lt;br /&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;module APS&lt;br /&gt;  DATA = []&lt;br /&gt;  DATA = [1,7,21,23,12]&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Para acessar a constante DATA, basta por o nome do módulo seguido de :: e o nome da variável, no exemplo fica APS::DATA. Você pode armazenar qualquer tipo de dado primitivo dentro de um módulo.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Pacote de Funções&lt;/b&gt;&lt;br /&gt;Os pacotes de funções são métodos que são armazenados em um módulo e podem ser usados a qualquer momento. Para criar um método do tipo função, use def self.&lt;nome&gt;, dentro do bloco de códigos é tudo na mesma, veja o exemplo:&lt;br /&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;module Math&lt;br /&gt;  def self.hipotenusa(catA, catB)&lt;br /&gt;    a = sqrt(catA*catA + catB*catB)&lt;br /&gt;    return a&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;Para usar esse método, basta chamar Math::hipotenusa(3,4) (como é um método, pode usar Math.hipotenusa(3,4)) por exemplo, o script irá retornar o valor da hipotenusa desse triângulo!&lt;br /&gt;&lt;br /&gt;Você pode dividir as funções por classes ou módulos internos, por exemplo&lt;br /&gt;[code]&lt;br /&gt;module RPG&lt;br /&gt;  module Cache&lt;br /&gt;    def self.picture(name)&lt;br /&gt;&lt;..&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Assim, seu módulo pode ter diversos blocos distintos cada um com suas funções&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Pacote de Métodos&lt;/b&gt;&lt;br /&gt;Pacotes de métodos nada mais são que um ou mais métodos criados dentro de um módulo, mas que só tem utilidade se forem usados dentro de uma classe, para isso usamos o comando include na classe, Veja o exemplo:&lt;br /&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;module APS&lt;br /&gt;  def count&lt;br /&gt;    @n += 1&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;class Teste&lt;br /&gt;  include APS&lt;br /&gt;  def initialize&lt;br /&gt;    @n = 0&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Veja que a classe Teste não tem nenhum método, mas como utilizei um  include APS, o método count presente no módulo, é importado para o APS, note duas coisas, o método count não tem o "self", isso por que métodos com self só podem ser usados diretamente pelo módulo, eles não são importados como include, métodos sem o self não podem ser usados direto pelo módulo, mas são importados. Além disso, note que usei no método um atributo com o mesmo nome do atributo de Teste, sem isso o script não funciona. Você pode criar uma série de métodos e ir importando eles em todas as classes que os utilizarão, assim não tem que criar um por um!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img512.imageshack.us/img512/9395/linhahrexd0.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Módulos de Scripters&lt;/b&gt;&lt;br /&gt;É comum que com o tempo e experiência, os scripters mais avançados peguem o hábito de usarem sempre as mesmas funções, para economizar tempo, eles criam módulos próprios, esses módulos servem para armazenar tudo o que eles irão utilizar em seus scripts, daí surgem os modulos ja mencionados, como o meu próprio, o APS, ou os mais requintados como o RTH que são cheios de coisas. Nesses módulos, vocês provavelmente encontrarão os 3 tipos de módulo mencionados juntos, dando ênfase para as funções.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-3684874587706972551?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/3684874587706972551/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-extra-4-mdulos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/3684874587706972551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/3684874587706972551'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-extra-4-mdulos.html' title='Aula Extra 4: Módulos'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-3119564565762263101</id><published>2009-01-25T11:16:00.000-08:00</published><updated>2009-01-25T12:01:05.521-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='..::NOTÍCIAS::..'/><title type='text'>Nova Skin</title><content type='html'>Uma nova skin esta sendo implementada nesse momento, por isso, peço que todos aguardem alguns instantes até que tudo se normalize, por enquanto, as coisas irão começar a aparecer do nada XD&lt;br /&gt;&lt;br /&gt;vão navegando e se acharem bugs, avisem ^^&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Complementando&lt;/span&gt;&lt;br /&gt;de todas as skins q achei até agora, essa é a mais legal, mas estou aberto a sugestões, se alguem quiser ajudar, basta entrar em http://btemplates.com/ é d onde to procurando skins XD&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;F&lt;/span&gt;inalizando&lt;/span&gt;&lt;br /&gt;procurei um monte, mas naum achei nenhuma skin decente, então vo dexa essa mesma e volta a posta, é isso aew!&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-3119564565762263101?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/3119564565762263101/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/nova-skin.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/3119564565762263101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/3119564565762263101'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/nova-skin.html' title='Nova Skin'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-5107925536599950178</id><published>2009-01-25T06:33:00.000-08:00</published><updated>2009-01-25T06:35:13.075-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas Extras'/><title type='text'>Aula Extra 3: Lógica Booleana</title><content type='html'>&lt;div class="post" id="msg_253"&gt;         &lt;div align="center"&gt;&lt;img src="http://img224.imageshack.us/img224/8469/aulasextra3rp9.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img154.imageshack.us/img154/3756/importantegf4.png" alt="" class="bbc_img" /&gt;Quem é George Boole?&lt;br /&gt;&lt;i&gt;"Matemático inglês (2/11/1815-8/12/1864). Considerado o pai da lógica moderna. Suas teorias têm implicações no desenvolvimento do computador, baseado em dígitos binários. Nasce em Lincoln, em família pobre, e estuda por conta própria, dedicando-se ao latim e ao grego. Aos 16 anos, começa a trabalhar como professor de escolas elementares.&lt;br /&gt;&lt;br /&gt;Quatro anos mais tarde, funda um colégio particular, que dirige por vários anos. Interessa-se por matemática e, depois de ler obras de franceses como Laplace e Legendre, passa a redigir artigos para o Jornal de Matemática da Universidade de Cambridge.&lt;br /&gt;&lt;br /&gt;Em 1847, no artigo Análise Matemática da Lógica, introduz o uso de símbolos para expressar processos lógicos que podem então ser lidos com o mesmo rigor de uma equação algébrica. Com isso, dá origem à lógica moderna.&lt;br /&gt;&lt;br /&gt;É condecorado pela Royal Society, em 1844, por suas contribuições ao desenvolvimento da análise matemática. Em 1848 publica Os Cálculos da Lógica e, em 1854, Uma Investigação das Leis do Pensamento."&lt;/i&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;img src="http://img235.imageshack.us/img235/4835/linksao9.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Fonte:&lt;/b&gt; &lt;a href="http://www.algosobre.com.br/biografias/george-boole.html" class="bbc_link new_win" target="_blank"&gt;http://www.algosobre.com.br/biografias/george-boole.html&lt;/a&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;img src="http://img512.imageshack.us/img512/9395/linhahrexd0.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img154.imageshack.us/img154/3756/importantegf4.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Iniciando:&lt;/b&gt;&lt;br /&gt;Lógica é a área da matemática que estuda as relações entre proposições.&lt;br /&gt;&lt;br /&gt;Para ser uma proposição eu devo poder dar o valor de &lt;i&gt;verdadeiro&lt;/i&gt; ou &lt;b&gt;falso&lt;/b&gt; por exemplo:&lt;br /&gt;2+2=5 Isto é uma proposição, pois eu sei o valór lógico dela: falso&lt;br /&gt;O dia esta bonito. isto não é uma proposição pois não é possível estabelecer o valor lógico, já que tal afirmação é relativa.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;O Que Interessa&lt;/b&gt;&lt;br /&gt;Para a informática, interessa a lógica na hora de programar, para entender as relações, vamos conceituá-las...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;CONJUNÇÃO: relação lógica que se admite o valor verdadeiro caso as partes em questão sejam verdadeiras.&lt;br /&gt;Símbolo matemático: ^ (na escrita &lt;i&gt;'e'&lt;/i&gt;)&lt;br /&gt;Símbolo em programação: and ou &amp;amp;&amp;amp;&lt;br /&gt;Tabela Verdade:&lt;br /&gt;V ^ V = V (se as duas são verdadeiras dá verdadeiro)&lt;br /&gt;V ^ F = F (se uma for falsa da falso)&lt;br /&gt;F ^ F = F (se as duas forem falsas da falso)&lt;br /&gt;V = proposição verdadeira&lt;br /&gt;F = Proposição falsa&lt;br /&gt;Exemplos:&lt;br /&gt;1:&lt;br /&gt;Escrita: Dois mais dois é quatro e três mais 1 é seis&lt;br /&gt;Símbolo: 2 + 2 = 4  ^ 3 + 1= 6&lt;br /&gt;Programação: 2 + 2 == 5 and 3 + 1 == 6&lt;br /&gt;Valor Lógico: falso, pois 3 + 1 = 4 e não 6, como uma das proposições é falsa e estamos na conjunção, a outra não importa, fica tudo falso.&lt;br /&gt;2:&lt;br /&gt;Escrita: Dois mais dois é cinco e três mais 1 é 4&lt;br /&gt;Símbolo: 2 + 2 = 4 ^ 3 + 1 = 4&lt;br /&gt;Programação: 2 + 2 == 4 and 3 + 1== 4&lt;br /&gt;Valor Lógico: como 2 + 2 é 4 e 3 + 1 é 6, esta proposição é verdadeira.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;DISJUNÇÃO: relação lógica que se admite o valor verdadeiro se pelo menos uma das proposições forem verdadeiras&lt;br /&gt;Símbolo matemático: v (na escrita &lt;i&gt;'ou'&lt;/i&gt;)&lt;br /&gt;Símbolo em programação: or ou ||&lt;br /&gt;Tabela Verdade:&lt;br /&gt;V v V = V (se as duas são verdadeiras dá verdadeiro)&lt;br /&gt;V v F = V (se uma for verdadeiro, dá verdadeiro)&lt;br /&gt;F v F = F (se as duas forem falsas da falso)&lt;br /&gt;V = proposição verdadeira&lt;br /&gt;F = Proposição falsa&lt;br /&gt;Exemplos:&lt;br /&gt;Escrita: Dois mais dois é quatro ou três mais 1 é seis&lt;br /&gt;Símbolo: 2+2=4 v 3+1=6&lt;br /&gt;Programação: 2+2==5 or 3+1==6&lt;br /&gt;Valor Lógico: verdadeiro, pois mesmo 3+1 diferente de 6, 2+2 é 4 e só precisamos de uma proposição verdadeira para dar tudo V.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;NEGAÇÃO: operador lógico que muda o valor de uma proposição&lt;br /&gt;Símbolo matemático: ! (na escrita &lt;i&gt;'não'&lt;/i&gt;)&lt;br /&gt;Símbolo em programação: not ou !&lt;br /&gt;Tabela Verdade:&lt;br /&gt;!V = F (contrario de verdadeiro é falso)&lt;br /&gt;!F = V (contrario de falso é verdadeiro)&lt;br /&gt;V = proposição verdadeira&lt;br /&gt;F = Proposição falsa&lt;br /&gt;Exemplos:&lt;br /&gt;Escrita: b não é 4&lt;br /&gt;Símbolo: !b=4&lt;br /&gt;Programação: !b==4&lt;br /&gt;Valor Lógico: impossível determinar, o exemplo não é uma proposição da forma que está, coloquei só pra dar uma idéia.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;CONDICIONAL: a principal das relações lógicas, possui um antecedente e um consequente.&lt;br /&gt;Símbolo matemático: -&gt; (na escrita &lt;i&gt;'se..então'&lt;/i&gt;)&lt;br /&gt;Símbolo em programação: if&lt;br /&gt;Tabela Verdade:&lt;br /&gt;V -&gt; V = V (se verdadeiro então verdadeiro, então verdadeiro)&lt;br /&gt;V -&gt; F = V (se verdateiro então falso, enão verdadeiro)&lt;br /&gt;F -&gt; F = V (se falso então falso, então verdadeiro)&lt;br /&gt;F -&gt; V = F (se falso então verdadeiro, então falso)&lt;br /&gt;V = proposição verdadeira&lt;br /&gt;F = Proposição falsa&lt;br /&gt;Exemplos:&lt;br /&gt;vou pular logo para a parte de programação para deixar tudo mais explícito.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img512.imageshack.us/img512/9395/linhahrexd0.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;APLICAÇÕES&lt;br /&gt;1:&lt;br /&gt;em rgss:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;if rand(2) == 1 and 3 &gt; 4&lt;br /&gt;l = 3&lt;br /&gt;elsif rand(2) == 0 or rand(2) == 2&lt;br /&gt;l=4&lt;br /&gt;else&lt;br /&gt;l=9&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;em linguagem corrente:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;se um número qualquer de 0 a 2 for 1 e tres maior que 4&lt;br /&gt;a variável l é 3&lt;br /&gt;mas se um número qualquer de 0 a 2 for 0 ou um número qualquer de 0 a 2 for 2&lt;br /&gt;a variável l é 4&lt;br /&gt;em quaiquer outra hipótese&lt;br /&gt;a variável l é 9&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;b&gt;Em caso de dúvidas é só perguntar&lt;/b&gt;        &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-5107925536599950178?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/5107925536599950178/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-extra-3-lgica-booleana.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/5107925536599950178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/5107925536599950178'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-extra-3-lgica-booleana.html' title='Aula Extra 3: Lógica Booleana'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-1779383011354523432</id><published>2009-01-25T06:21:00.000-08:00</published><updated>2009-01-25T06:23:46.019-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas Extras'/><title type='text'>Aula Extra 2: Operações Matemáticas</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img133.imageshack.us/img133/7306/aulasextrasf2.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img154.imageshack.us/img154/3756/importantegf4.png" alt="" class="bbc_img" /&gt;É o seguinte, muitos ja devem ter visto este tutorial na seção de dicas e truques, mas como ele é interessante ao nosso conteúdo. Estou repassando ele, eu fiz algumas edições e reformatei, espero que seja útil a todos. Obs.: Esta aula é aplicável à RGSS2&lt;br /&gt;Galera no rgss/rgss2, as operações podem ser feitas de várias formas, tentarei colocar as principais.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img512.imageshack.us/img512/9395/linhahrexd0.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Considere, a, b, n, i e outras letras, variáveis quaisquer.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;b&gt;Operações Básicas&lt;/b&gt;&lt;/div&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Soma&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1)modo simples&lt;br /&gt;a + b (use no meio de argumentos ou comandos)&lt;br /&gt;2)modo de ingualdade&lt;br /&gt;n = a + b (iguala n a soma dos números a com b)&lt;br /&gt;3)modo simplificado&lt;br /&gt;n += a (soma a variável n o valor d a)&lt;br /&gt;&lt;br /&gt;Usarei os modos com números a partir d agora&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Subtração&lt;/b&gt;&lt;br /&gt;1) a - b&lt;br /&gt;2) n = a - b&lt;br /&gt;3) n -= a&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Multiplicação&lt;/b&gt;&lt;br /&gt;1) a * b&lt;br /&gt;2) n = a * b&lt;br /&gt;3) n *= a&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Divisão&lt;/b&gt;&lt;br /&gt;1) a / b&lt;br /&gt;2) n = a / b&lt;br /&gt;3) n /= a&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Resto&lt;/b&gt;&lt;br /&gt;Use para saber o resto de uma divisão de a por b&lt;br /&gt;1) a % b&lt;br /&gt;2) n = a % b&lt;br /&gt;2) n %= a&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;b&gt;Operações Avançadas&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Potência&lt;/b&gt;&lt;br /&gt;1) Math.ldexp(x, exp-1)&lt;br /&gt;2) n = Math.ldexp(x, exp-1)&lt;br /&gt;x é o número a ser elevado (base)&lt;br /&gt;exp-1 é o expoente, coloquei -1 pq você tem que colocar um número a menos do que a potência desejada, por exemplo 2³, se usar Math.ldexp(2, 3) dá 16, pra dar 8, use Math.ldexp(2, 3)&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Raiz&lt;/b&gt;&lt;br /&gt;1) Math.sqrt(x)&lt;br /&gt;2) n = Math.sqrt(x)&lt;br /&gt;eu só sei fazer raiz quadrada, pra fazer outras raízes use Math.ldexp(x, (1/exp-1)) ou seja use o comando da potencia mas ao invés de colocar o exp-1, use 1/(exp-1)&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Logarítmo&lt;/b&gt;&lt;br /&gt;Log de base 10&lt;br /&gt;Math.log10(x)&lt;br /&gt;Log de base e&lt;br /&gt;Math.log(x)&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Funções Trigonométricas&lt;/b&gt;&lt;br /&gt;Aqui x é um ângulo em rad!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Seno&lt;/b&gt;&lt;br /&gt;Math.sin(x)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cosseno&lt;/b&gt;&lt;br /&gt;Math.cos(x)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Tangente&lt;/b&gt;&lt;br /&gt;Math.tan(x)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cotangente&lt;/b&gt;&lt;br /&gt;Math.erf(x)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Arc-Seno&lt;/b&gt;&lt;br /&gt;Math.asin(x)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Arc-Cosseno&lt;/b&gt;&lt;br /&gt;Math.acos(x)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Arc-Tangente&lt;/b&gt;&lt;br /&gt;Math.atan(x)&lt;br /&gt;&lt;br /&gt;Sabe outas funções? É só postar.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Hipotenusa&lt;/b&gt;&lt;br /&gt;Math.hypot(x, y)&lt;br /&gt;x e y são catetos&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Constantes e Vazio&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Pi&lt;/b&gt;&lt;br /&gt;Math::PI&lt;br /&gt;&lt;br /&gt;&lt;b&gt;e&lt;/b&gt;&lt;br /&gt;Math::E&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Vazio&lt;/b&gt;&lt;br /&gt;nil&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;b&gt;Operações Complementares&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Módulo&lt;/b&gt;&lt;br /&gt;use o código&lt;br /&gt;n = var (coloque em var a sua variável)&lt;br /&gt;if n &lt; 0&lt;br /&gt;n *= (-1)&lt;br /&gt;end&lt;br /&gt;ou seja se n for menor que 0, n fica positivo&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Porcentagem&lt;/b&gt;&lt;br /&gt;use n = var * por/100&lt;br /&gt;ou seja, iguale n a variável (var) que você quer pegar uma porcentagem, "por" é a porcentagem que vc quer, use 100.0 para adicionar casas após a vírgula ao invéz de 100, lembrando que * vai pegar a porcentagem e / adiciona a porcentagem no número&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Número Randomico&lt;/b&gt;&lt;br /&gt;padrão: rand(n), com isso vc recebe um número qualquer entre 0 e n-1,&lt;br /&gt;complemento:&lt;br /&gt;n = a - b&lt;br /&gt;m = rand(n)&lt;br /&gt;o = a + m&lt;br /&gt;Com isso "o" será igual a um valor randômico entre a e b!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-1779383011354523432?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/1779383011354523432/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-extra-2-operaes-matemticas.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/1779383011354523432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/1779383011354523432'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-extra-2-operaes-matemticas.html' title='Aula Extra 2: Operações Matemáticas'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-6505989098601656129</id><published>2009-01-25T05:31:00.000-08:00</published><updated>2009-01-25T05:33:10.651-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas Extras'/><title type='text'>Aula Extra 1: Nomeclaturas</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img525.imageshack.us/img525/6092/aulasextrasfpd0.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img154.imageshack.us/img154/3756/importantegf4.png" alt="" class="bbc_img" /&gt;Introdução&lt;br /&gt;Lancei essa aula pois nosso amigo maker ronangpjr fez algumas perguntas muito pertinentes. É possível usar acentos, fazer métodos ou classes com quaisquer nomes? Venho através dessa pequena aula teórica solucionar essas dúvidas que podem estar surgindo com todos.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img512.imageshack.us/img512/9395/linhahrexd0.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;Nomes&lt;br /&gt;Como todos ja sabemos, quase tudo o que fazemos precisa ser nomeado, classes, métodos, instâncias, variáveis. Tudo precisa de um nome, mas como batizar as coisas????&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;Classes&lt;br /&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;Cada palavra do nome deve começar com letra maiúscula: Calculadora, Game_Actor, Scene_Map;&lt;/li&gt;&lt;li&gt;Se tiver mais de uma palavra, separe-as com "_", em geral, tente evitar classes com 3 nomes, 2 ja bastam: Game_Map, Scene_Menu;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;Métodos&lt;br /&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;Todos os métodos devem ter apenas letras minúsculas: main, initialize, update;&lt;/li&gt;&lt;li&gt;Tente ao máximo, fazer métodos com uma palavra só, mas se tiver que usar 2 ou mais, separe com "_": update_graphics, read_save_data;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;Parâmetros&lt;br /&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;Sempre use com letras minúsculas;&lt;/li&gt;&lt;li&gt;Parâmetros, em geral, têm apenas uma palavra: skill_can_use?(skill_id), attack_effect(attacker);&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;Instâncias e Variáveis&lt;br /&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;Todos os objetos devem ter apenas letras minúsculas: @command, $game_actors;&lt;/li&gt;&lt;li&gt;A regra para palavras múltiplas é a mesma para os métodos, sempre separe com "_": @message_text, @battler_name;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;img src="http://img337.imageshack.us/img337/1083/lessonedv3.png" alt="" class="bbc_img" /&gt;Geral&lt;br /&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;Nunca use acentos ou ç em qualquer linguagem de programação, pois não é usual;&lt;/li&gt;&lt;li&gt;Sempre dê nomes coerentes as coisas, que dêem uma idéia do que é aquilo, isso é crucial quando outras pessoas estiverem editando seu script, possam saber onde estão os dados;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;img src="http://img154.imageshack.us/img154/3756/importantegf4.png" alt="" class="bbc_img" /&gt;Importante&lt;br /&gt;Se você desobedecer a todas essas regras, seu script irá funcionar da mesma forma, mas existem certas regrinhas que é muito aconselhável que sejam utilizadas! Isso facilita a vida de quem edita os seus sistemas e também deixa os scripts com uma aparência melhor!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img154.imageshack.us/img154/3756/importantegf4.png" alt="" class="bbc_img" /&gt;Importante&lt;br /&gt;Meu amigo KJr me mandou uma PM com alguns conteúdos bem interessantes sobre a aula, como creio essas informações sejam de grande valia aos nossos estudos, irei transcrever o que me foi passado.&lt;br /&gt;&lt;br /&gt;Sobre as Classes&lt;br /&gt;"O nome de uma classe ou módulo necessariamente começa com letra maiúscula, porque o interpretador gera uma constante a partir do nome da classe, e constantes começam com letra maiúscula."&lt;br /&gt;&lt;br /&gt;Nos Métodos&lt;br /&gt;"Nome de métodos devem começar com qualquer letra (ou _), e podem ter ? ou ! ou = no final do nome. E alguns operadores podem servir como nomes de métodos." (Não é usual começar nomes com "_", mas vocês verão mais a frente que nomes terminados com "?" são muito úteis)&lt;br /&gt;&lt;br /&gt;Sobre Variáveis&lt;br /&gt;"Nome de variáveis devem começar minúsculas (ou _). Se for uma variável de instância, de classe ou global, ela deve começar com @, @@ ou $ e depois uma letra minúscula (ou _)."&lt;br /&gt;&lt;br /&gt;"E não há problema em usar letras maiúsculas e/ou números depois do primeiro caractere.&lt;br /&gt;akd4nDNsnFnsSjj3 seria um nome válido para variável local ou método (só que ninguém usaria)." (Mas como ja vimos, é convencional, não criar nomes como uPdAtE ou coisas do gênero, assim como usar "_" para separar palavras também é por convenção.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-6505989098601656129?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/6505989098601656129/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-extra-1-nomeclaturas.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/6505989098601656129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/6505989098601656129'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-extra-1-nomeclaturas.html' title='Aula Extra 1: Nomeclaturas'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-2670177742332568854</id><published>2009-01-24T17:34:00.000-08:00</published><updated>2009-01-24T17:42:34.066-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sites e Blogs Externos'/><title type='text'>Links Externos</title><content type='html'>Aqui ficarão os sites, blogs e todo o conteúdo extra que vocês poderão acessar para obter mais coisas para RMXP. Aproveitem (e não me abandonem só pq acharam outro blog ehm) XD&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;Fóruns Maker&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.jogosrpg.com.br/forum/"&gt;Jogos RPG&lt;/a&gt; : sem dúvida nenhuma, uma das mais imponentes comunidades maker de lingua portuguesa, com muitos conteúdos a Jogos RPG merece destaque absoluto!&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;Comunidades do Orkut&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.orkut.com.br/Main#Community.aspx?cmm=1227187"&gt;RPG Maker XP&lt;/a&gt; : grande comunidade voltada para o maker, trata de diversos assuntos do gênero.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;Sites de Resources&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.geocities.jp/kurororo4/looseleaf/"&gt;Looseleaf&lt;/a&gt; : site japonês com um criador de chars num estilo bem interessante que foge do RTP!&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;Blogs&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.jaomaker.blogspot.com/"&gt;Blog do João&lt;/a&gt; : dedicado ao RGSS, com aulas e dicas.&lt;br /&gt;&lt;a href="http://dc-rgss.blogspot.com/"&gt;RGSSw/DC&lt;/a&gt; : mais um blog com aulas e dicas de RGSS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-2670177742332568854?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/2670177742332568854/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/links-externos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/2670177742332568854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/2670177742332568854'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/links-externos.html' title='Links Externos'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-1694200655678614081</id><published>2009-01-24T16:36:00.000-08:00</published><updated>2009-01-24T16:37:32.647-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Games'/><title type='text'>A Lenda de Magnus: O Castelo das Ilusões+A Nova Era</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img524.imageshack.us/img524/5634/s2titleqx6.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;img src="http://img511.imageshack.us/img511/9479/40klinhasfc1.gif" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;img src="http://img511.imageshack.us/img511/7288/xrgssjj2.gif" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img524.imageshack.us/img524/2865/3histxr8.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;i&gt;O Caos se Inicia&lt;br /&gt;&lt;span class="bbc_size"  style="font-size:78%;"&gt;Magnus não é mais o único problema de Íllion, agora o novo continente, Askar, irá lutar contra Íllion até o fim. A guerra esta por toda a parte e cabe a você tornar-se o mais forte e dar a vitória à seu continente! Além do temido Castelo das Ilusões, War e Island Fortress desafiarão você e seus companheiros!&lt;/span&gt;&lt;/i&gt;[/size]&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Conhecendo o passado para entender o futuro!&lt;/b&gt;&lt;br /&gt;&gt;Prólogo&lt;br /&gt;Durante séculos, Gold City manteve-se como a mais poderosa cidade de Íllion. Magnus era rei de Karnak, ele criou um grande exército e entrou em guerra com GC, derrotado, usou habilidades proibidas para destruir GC. Os governos de Magbo e Urnik conseguiram capturar o rei de Karnak e o aprisionaram no Temple of Light dividindo seu poder por todo o continente. Séculos mais tarde, Alcino, príncipe de Karnak libertou Magnus e lhe propôs um acordo, ele daria o poder que Magnus perdera em troca de ser o rei de toda Íllion!&lt;br /&gt;&lt;br /&gt;&gt;Capítulo 1: O Nascimento de Um Rei&lt;br /&gt;Magnus foi liberto e agora os monstros estão por toda a parte, ele os cria com suas técnicas de Summon e espalha seus mínions por todo o continente. Alcino ilúde s guardas imperiais de Karnak, a elfa Artêmis e o mago Hélios. Os três partem para os templos, a intenção é pegar as orbs do poder de Magnus antes que ele o faça. Durante a jornada, Dimas, Aurora e Laertes juntam-se à equipe. Ao chegar no Castelo das Ilusões, Alcino revela seus planos e entrega as orbs para Magnus, este esta preocupado com Hélios e Artêmis pois há uma profecia que diz que quando membros das famílias reais de Mabgo(Hélios) e Urnik(Artêmis) tivessem um filho, este seria o ser que derrotaria o grande mago das trevas. Durante o confronto, apenas Dimas e Artêmis, que ja estava grávida de Hélios,  conseguem escapar. Alcino torna-se rei de Karnak após matar seu próprio pai e começa a invadir todos os reinos do continente, Magnus esta em busca de Artêmis. Após alguns meses, Artêmis vê-se sob a mira de Magnus, então ela abandona seu filho para que ele não seja capturado, ela nunca mais foi vista.&lt;br /&gt;Tópico do jogo: &lt;a href="http://www.jogosrpg.com.br/forum/index.php/topic,21915.0.html" class="bbc_link new_win" target="_blank"&gt;http://www.jogosrpg.com.br/forum/index.php/topic,21915.0.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&gt;Capítulo 2: A Profecia do Fogo&lt;br /&gt;18 anos se passam e o mundo esta coberto por trevas, os exércitos de Alcino tomam conta de todos os reinos. Aknor é um jovem muito especial, desde pequeno apresenta habilidades muito elevadas para um mero urnikiano. Ele vai para Urnik´s Fortress para se tornar um soldado imperial e acaba descobrindo um velho mago chamado Dimas. Ele descobre então que é possuidor de um poder sobrenatural. Dimas começa a treiná-lo, Aknor pode usar todas as habilidades de todas as classes e por isso deve aprendê-las. Ao fazer 21 anos, ele entra nas ruinas de Gold City, tudo para descobrir o paradeiro de Alcino. Durante a batalha, tanto Alcino, quanto Aknor são destruídos, isso enfraquece Magnus e faz com que uma nova esperança surja em ìllion.&lt;br /&gt;Tópico do jogo: &lt;a href="http://www.jogosrpg.com.br/forum/index.php/topic,21916.0.html" class="bbc_link new_win" target="_blank"&gt;http://www.jogosrpg.com.br/forum/index.php/topic,21916.0.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&gt;&lt;span class="bbc_u"&gt;Capítulo 3: O Castelo das Ilusões&lt;/span&gt;&lt;br /&gt;Alcino foi destruído e agora é a hora do tudo ou nada. Todos os habitantes de todas as regiões são chamados para invadir o Castelo das Ilusões e destruir Magnus, mas as coisas não serão fáceis, o continente de Askar foi descoberto e logo ambos entraram em guerra. Agora, no meio do fogo cruzado, os jogadores terão que sobreviver e se tornar os mais fortes!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img133.imageshack.us/img133/787/3inobc7.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;Possibilidade jogar online ou offline.&lt;br /&gt;Banco de dados no servidor controlando alguns eventos.&lt;br /&gt;Server Creator. crie você mesmo o seu server!&lt;br /&gt;X-RGSS, um pacote especial de scripts que adiciona vários novos sistemas ao jogo!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img214.imageshack.us/img214/2077/3sistqy5.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;b&gt;X-RGSS&lt;/b&gt;: APS_Party, APS_LuaAddOn, APS_Patch, APS_AntiDesencript, APS_SlotSystem, APS_CraftSystem, APS_MrMoABS, APS_ValtSystem, Enhanced Network, APS_GlobalEvents, APS_OnlineEvents, APS_Actors EX, module APS, APS_MessageSystem, APS_ChatCommands, APS_MagnusInterface, APS_MuHUD, APS_EnemyDrop, APS_Box, APS_SkillLevel.&lt;br /&gt;&lt;br /&gt;Ao todo são mais de 150 scripts, coisas como:&lt;br /&gt;Partículas, Climas extras, Event Text Display(editado) além do pacote X-RGSS e vários add ons e edições que tornam o game uma grande inovação ao mundo dos rms!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img515.imageshack.us/img515/6226/3classesdk1.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;b&gt;Íllion&lt;/b&gt;&lt;br /&gt;Guerreiro[sword-força] &gt; Soldado[sword-força]  &gt; (Cavaleiro[sword - força]  &gt; Lorde[sword - força]) ou (Assassino[scythe –força]  &gt; Imperador Sombrio[scythe - força])&lt;br /&gt;&lt;br /&gt;Bruxo[staff - energia]  &gt; Mago[staff - energia]   &gt; (Sábio[staff - energia]   &gt; Mestre dos Magos[staff - energia]  ) ou (Cavaleiro Mágico[magic sword – força + energia]   &gt; Mago Gladiador[magic sword – força + energia])&lt;br /&gt;&lt;br /&gt;Elfa [bow – agilidade] &gt; Musa[bow – agilidade] &gt; (Elfa Imperial[bow – agilidade] &gt; Elfa Suprema[bow – agilidade]) ou (Elfa Noturna[wand – energia]  &gt; Elfa Demoníaca[wand – energia])&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Askar&lt;/b&gt;&lt;br /&gt;Orc[axe – força] &gt; Soldado Orc[axe – força] &gt; (Bárbaro[axe+great sword – força] &gt; Destruidor[axe+great sword – força]) ou (Arqueiro[bow – força+agilidade] &gt; Caçador[bow – força+agilidade])&lt;br /&gt;&lt;br /&gt;Druida[mace – energia] &gt; Ancião[mace – energia] &gt; (Adestrador[scepter – comando] &gt; Mestre Druida[scepter – comando]) ou (Guardião[holy sword – força+energia] &gt; Paladino[holy sword – força+energia])&lt;br /&gt;&lt;br /&gt;Bruxa[stick – energia] &gt; Bruxa Sombria[stick – energia] &gt; (Summoner[summoner stick – energia] &gt; Blood Summoner[summoner stick – energia]) ou (Sacerdote das Trevas[stick – energia] &gt; Mestra Dimensional[stick – energia])&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img296.imageshack.us/img296/7470/3eventsbi4.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;Todos os eventos abaixo estão funcionando, para ter maiores informações leiam o help que vem com o jogo&lt;br /&gt;Blood Castle | Devil Square | Chaos Castle | Illusion Castle | Illusion Temple* | Castle Siege | Crywolf | Kantru | Harmony Forest | Guardian Tower | Kalima&lt;br /&gt;&lt;br /&gt;Seguem os novos eventos&lt;br /&gt;Island Fortress: ilha que fica entre Askar e Íllion, apenas um continente por vez tem a posse dessa região. Os dominadores de Island Fortress podem usar o /move island para o teleporte. Nessa ilha há os principais Crafters do jogo além do último Class Changer, é uma ilha de extrema importância estratégica.&lt;br /&gt;&lt;br /&gt;War of Continents: as batalhas entre os continentes estão a todo o vapor e você pode participar delas, quando uma batalha iniciar use o /move war para se juntar aos demais nas lutas!&lt;br /&gt;&lt;br /&gt;Master Quest: todos os jogadores precisam defender seu continente, para tal, junte 7 jawels e coloque-as nas fontes, você receberá um prêmio e poderá libertar os soldados que se espalharão pelo seu continente defendendo-o de invasores. Você também pode roubar as jawels das fontes inimigas!&lt;br /&gt;&lt;br /&gt;Arena of Events:&lt;br /&gt;Conjunto de eventos abertos a todos, eventos como Coliseu, Pac-Man, Insane Soccer entre outros estão disponíveis, leiam a documentação do jogo para maiores detalhes!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img512.imageshack.us/img512/393/3questsho8.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;As quests são ja conhecidas por todos. A mundança é que o 3º Class Changer saiu de Loren e foi para Island Fortress, além disso uma quest opcional foi inserida em Askar. Mais detalhes na documentação!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img509.imageshack.us/img509/7852/3statsqf9.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;Nome: A Lenda de Magnus: O Castelo das Ilusões&lt;br /&gt;Produção: Magnus Team&lt;br /&gt;Versão: FULL 0.7 Season 2&lt;br /&gt;Próxima Versão: 0.8 Season 2&lt;br /&gt;Previsão de Lançamento da Próxima Versão: indeterminado&lt;br /&gt;Level máximo: 350&lt;br /&gt;Reset: habilitado, lv 350 com 2000 pts&lt;br /&gt;Stats máximo: 99999&lt;br /&gt;Distribuição dos pontos: manual, 5 pts por lv.&lt;br /&gt;Personagens: ??? (o que o server suportar )&lt;br /&gt;Classes: 38&lt;br /&gt;Habilidades: 93&lt;br /&gt;Itens: 280&lt;br /&gt;Armas: 310&lt;br /&gt;Armors, Shields, Asas/Capas, Rings, Pendants...: 718&lt;br /&gt;Inimigos: 157&lt;br /&gt;Mapas: 410&lt;br /&gt;Jogabilidade: ilimitada.&lt;br /&gt;Status: criando expanções&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img257.imageshack.us/img257/7098/3downloadsrr1.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;Versão para quem ja tem o RMXP instalado: &lt;a href="http://www.4shared.com/file/62258123/ea6bc540/LoM_3_-_Install_Wizard.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/62258123/ea6bc540/LoM_3_-_Install_Wizard.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Versão com RTP Incluso:http://www.4shared.com/file/68140794/4946d925/LoM_3_-_Install_Wizard__RTP.html&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img515.imageshack.us/img515/627/3screenfp1.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;a href="http://img184.imageshack.us/my.php?image=crywolfez0.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img184.imageshack.us/img184/7260/crywolfez0.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img207.imageshack.us/my.php?image=charcreationgz2.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img207.imageshack.us/img207/3838/charcreationgz2.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img206.imageshack.us/my.php?image=chiosbc8.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img206.imageshack.us/img206/7123/chiosbc8.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img529.imageshack.us/my.php?image=coliseumv4.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img529.imageshack.us/img529/9506/coliseumv4.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img520.imageshack.us/my.php?image=egincaveev9.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img520.imageshack.us/img520/5356/egincaveev9.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img526.imageshack.us/my.php?image=darkchurchzl5.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img526.imageshack.us/img526/8682/darkchurchzl5.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img206.imageshack.us/my.php?image=deathstonejr9.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img206.imageshack.us/img206/4929/deathstonejr9.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img207.imageshack.us/my.php?image=eginxx7.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img207.imageshack.us/img207/7223/eginxx7.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img529.imageshack.us/my.php?image=magbofieldsae8.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img529.imageshack.us/img529/1827/magbofieldsae8.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img207.imageshack.us/my.php?image=goldcitywf5.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img207.imageshack.us/img207/958/goldcitywf5.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img20.imageshack.us/my.php?image=islandfortresslc2.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img20.imageshack.us/img20/6117/islandfortresslc2.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img296.imageshack.us/my.php?image=kalimaol0.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img296.imageshack.us/img296/2679/kalimaol0.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img503.imageshack.us/my.php?image=petvt0.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img503.imageshack.us/img503/4082/petvt0.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img509.imageshack.us/my.php?image=nightmarenr2.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img509.imageshack.us/img509/525/nightmarenr2.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img522.imageshack.us/my.php?image=osstadewz1.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img522.imageshack.us/img522/2035/osstadewz1.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img529.imageshack.us/my.php?image=pacmanfd8.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img529.imageshack.us/img529/493/pacmanfd8.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img266.imageshack.us/my.php?image=statusax0.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img266.imageshack.us/img266/880/statusax0.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img261.imageshack.us/my.php?image=posidonqp0.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img261.imageshack.us/img261/1698/posidonqp0.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img505.imageshack.us/my.php?image=secretforestgn0.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img505.imageshack.us/img505/6626/secretforestgn0.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img408.imageshack.us/my.php?image=skillpointsby0.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img408.imageshack.us/img408/2126/skillpointsby0.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img523.imageshack.us/my.php?image=templeofhermesxz1.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img523.imageshack.us/img523/315/templeofhermesxz1.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img529.imageshack.us/my.php?image=templeofhiprionpg1.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img529.imageshack.us/img529/7002/templeofhiprionpg1.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img518.imageshack.us/my.php?image=titlescreenrr0.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img518.imageshack.us/img518/1750/titlescreenrr0.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img293.imageshack.us/my.php?image=warofcontinentszz5.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img293.imageshack.us/img293/7553/warofcontinentszz5.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img529.imageshack.us/my.php?image=zarghfieldsow0.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img529.imageshack.us/img529/6440/zarghfieldsow0.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img388.imageshack.us/my.php?image=zarghfields2xb4.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img388.imageshack.us/img388/8819/zarghfields2xb4.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img520.imageshack.us/my.php?image=zarghfields3qc4.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img520.imageshack.us/img520/2150/zarghfields3qc4.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-1694200655678614081?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/1694200655678614081/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/lenda-de-magnus-o-castelo-das-ilusesa.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/1694200655678614081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/1694200655678614081'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/lenda-de-magnus-o-castelo-das-ilusesa.html' title='A Lenda de Magnus: O Castelo das Ilusões+A Nova Era'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-3036945064432393557</id><published>2009-01-24T16:35:00.000-08:00</published><updated>2009-01-24T16:36:41.648-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Games'/><title type='text'>A Lenda de Magnus: A Profecia do Fogo</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img119.imageshack.us/img119/8067/cap2xn9.gif" alt="" class="bbc_img" /&gt;&lt;br /&gt;&lt;img src="http://img177.imageshack.us/img177/5797/algo2zh1.gif" alt="" class="bbc_img" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img205.imageshack.us/img205/7816/2statsoe2.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;b&gt;Nome:&lt;/b&gt; A Lenda de Magnus: A Profecia do Fogo&lt;br /&gt;&lt;b&gt;Produção:&lt;/b&gt; Anderson Porto&lt;br /&gt;&lt;b&gt;Versão:&lt;/b&gt; 1.3&lt;br /&gt;&lt;b&gt;Próxima Versão:&lt;/b&gt; ???&lt;br /&gt;&lt;b&gt;Previsão de Lançamento da Próxima Versão:&lt;/b&gt; ???&lt;br /&gt;&lt;b&gt;Level máximo:&lt;/b&gt; 350&lt;br /&gt;&lt;b&gt;Reset:&lt;/b&gt; habilitado, com a relíquia Ressurrection Statue, lv 350 com 2000 pts&lt;br /&gt;&lt;b&gt;Stats máximo:&lt;/b&gt; 32767&lt;br /&gt;&lt;b&gt;Distribuição dos pontos:&lt;/b&gt; manual, 5 pts por lv, 6 com a relíquia Knight´s Orb&lt;br /&gt;&lt;b&gt;Personagens:&lt;/b&gt; 1&lt;br /&gt;&lt;b&gt;Classes:&lt;/b&gt; 3&lt;br /&gt;&lt;b&gt;Habilidades:&lt;/b&gt; 112&lt;br /&gt;&lt;b&gt;Itens:&lt;/b&gt; 211&lt;br /&gt;&lt;b&gt;Armas:&lt;/b&gt; 236&lt;br /&gt;&lt;b&gt;Armors, Shields, Asas/Capas, Rings, Pendants...:&lt;/b&gt; 592&lt;br /&gt;&lt;b&gt;Inimigos:&lt;/b&gt; 119&lt;br /&gt;&lt;b&gt;Mapas:&lt;/b&gt; 179&lt;br /&gt;&lt;b&gt;Jogabilidade:&lt;/b&gt; mínimo 4 horas de jogo.&lt;br /&gt;&lt;span style="color: green;" class="bbc_color"&gt;Status: 100%&lt;/span&gt; (apenas faltam alguns scripts, mas o jogo esta pronto)&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img181.imageshack.us/img181/4306/2histvy3.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;Magnus não é destruído no capítulo 1, o que já era de se esperar, agora os jogadores irão encarnar Aknor, filho de Hélios e Artêmis, Aknor possui um poder além de todos os outros ele pertence à classe Arcanjo, essa classe pode usar todos os equipamentos do jogo (exceto femininos) e todas as habilidades! O objetivo é aumentar o poder para ir para Gold City o maior e mais complexo dungeon de toda a série! (ele é maior que todos os templos juntos)&lt;br /&gt;O jogo é dividido em 2 partes distintas:&lt;br /&gt;1fase: Aknor tem 18 anos, e é um Guerreiro&gt;Soldado, nessa fase ele precisa adquirir níveis e técnicas.&lt;br /&gt;2fase: Aknor tem 21, casou-se e ja tem um filho, nessa fase ele já está bem maduro e parte para o mais complexo dungeon já visto em jogos de RMXP. (pelo menos eu nunca vi nada igual)&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img293.imageshack.us/img293/8995/2classesjp7.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;Aknor inicia na classe Aprendiz, é uma classe restrita, sem muitos itens a disposição, após completar a 2ª Quest ele recebe uma relíquia pode ir para a classe Guerreiro, esta, tem mais disponibilidade, pode usar todos os equipamentos de um Guerreiro do capítulo 1 da série.Completada a 8ª Quest, Aknor muda para a classe Soldado, 2º nível de um guerreiro, tem itens mais fortes a disposição. No 14º Quest, acontece o que todos esperam, a classe Arcanjo, esta classe possibilita o uso de todos os equipamentos das árvores dos guerreiros e magos e todas as armas dos arqueiros (raça elfo)&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img254.imageshack.us/img254/1632/2controlyp6.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;D: defender (tem que estar com um escudo equipado)(não funcional)&lt;br /&gt;S : atacar&lt;br /&gt;A: usar magia&lt;br /&gt;Q: pote d vida&lt;br /&gt;W: pote de mana&lt;br /&gt;E: antidoto&lt;br /&gt;Z: andar (tem que ter a Secret Boots)&lt;br /&gt;X: correr (tb com a Secret Boots)&lt;br /&gt;C: menu de adição de pontos rápido.&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img514.imageshack.us/img514/9025/2questsmj3.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;Com absoluta certeza o maior barato do jogo, relíquias são ítens que você ganha após vencer um chefe (quest), ao todo são 20, 6 não funcionais, quando você ganha elas, é só ir no menu de relíquias e ligar ela! ai ja vai estar funcionando!&lt;br /&gt;Aqui algumas relíquias e suas funcionalidades:&lt;br /&gt;Ankh of Life : habilita a recuperação de vida no mapa&lt;br /&gt;Secret Boots: habilita correr/ andar (gasta stamina)&lt;br /&gt;Ressurrection Statue: habilita o reset&lt;br /&gt;Dragon Orb: habilita usar 2 anéis e 1 colar&lt;br /&gt;e assim vai...&lt;br /&gt;Quests são desafios, missões que deverão ser completadas durante o jogo, quando você habilita uma vai aparecer uma imagen no canto da tela, aperte 4 e você irá para o menu de quest, onde aparecerá o lugar que a quest deve ser completada.&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img180.imageshack.us/img180/7385/2sistqu6.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Scripts Não Originais:&lt;/b&gt;&lt;br /&gt;Luta ABS 4.0 (editado) : velocidade de ataque compatível e funcional com o poder do char! Cálculo dos danos totalmente refeito.&lt;br /&gt;Sistemas de Lantera : super efeitos de iluminação deixam o jogo mais emocionante&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Scripts Originais:&lt;/b&gt;&lt;br /&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;&lt;b&gt;Quest system&lt;/b&gt;: saiba em que poto do jogo você esta e oque falta fazer.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Sistemas de armas avançado&lt;/b&gt; super sistemas combinados, todos criados exclusivamente para o projeto, você pode ampliar o poder dos equipamentos, existem equipamentos NORMAIS, EXELENTES e ANCIENTS, com combinações de sets, pets, armas, bows, crossbows, staffs com dano adicional para skills e etc...&lt;/li&gt;&lt;li&gt;&lt;b&gt;Distribuição de pontos + reset&lt;/b&gt; um complexo sistema de distribuição de pontos que exigirá o máximo de estratégia dos jogadores! Resete seu personagem e o torne cada vez mais forte!&lt;/li&gt;&lt;li&gt;&lt;b&gt;Sistema de relíquias: &lt;/b&gt; Ligue e desligue várias funcionalidades durante o jogo, as relíquias são ítens valiosísimos que quando possuídos tornam mais dinâmica a jogabilidade!&lt;/li&gt;&lt;li&gt;&lt;b&gt;Sistema de prêmios: &lt;/b&gt; Quem ja jogou Vagrant Story sabe do que estou falando, é um sistema simples mas inovador que traz para o jogo mais possibilidades.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Sistemas avançado de conclusão:&lt;/b&gt; Saiba em tempo real quanto % dos mapas do jogo você visitou e quanto % foi concluído!&lt;/li&gt;&lt;li&gt;&lt;b&gt;Summon:&lt;/b&gt; super sistema totalmete feito em scripts e funcional, possibilita adicionar a habilidade de criar monstros para ajudá-lo em plena batalha ABS!!!!!!&lt;/li&gt;&lt;li&gt;&lt;b&gt;Weapon/Skill&lt;/b&gt; agora, alguns equipamentos permitem o uso de novas skills, quem ja jogou Mu Online deve nesta hora babar pelo fato de que existem os pets como Dark Horse e Fenrir que quando equipados dão magias ao jogador como no jogo online!&lt;/li&gt;&lt;li&gt;&lt;b&gt;Hud Especialista&lt;/b&gt; super hud criada para série, você jamais viu algo parecido em um game de rmxp, com sistema de stamina, life, health points, coordenadas e várias funcionalidades!.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Menus Avançados&lt;/b&gt;: muitos menus apresentam animações, partículas e tem um visual diferente e cheio de funcionalidades!.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Craft System EX&lt;/b&gt;: você nunca viu nada igual, faça fusões de ítens com % de acerto e variações de resultado em um sistema ja conhecido por todos, mas com várias edições!&lt;/li&gt;&lt;li&gt;&lt;b&gt;BOX SYSTEM&lt;/b&gt;: sistema estilo Box of Kundun, se acha que é o mesmo do capítulo 1 está errado, agora elas tem drop_level e são 100% feitas com scripts tornando-as mais dinâmicas e possibilitando a existência das famosas Silver Medal, Gold Medal, Heart, Box of Luck!&lt;/li&gt;&lt;/ul&gt;&lt;hr /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img118.imageshack.us/img118/700/2downloadsyj5.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;FULL Versão 1.3&lt;br /&gt;&lt;a href="http://www.4shared.com/file/38024673/cbfdb409/LdM_2_-_Install_Wizard.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/38024673/cbfdb409/LdM_2_-_Install_Wizard.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Teste de Sistemas (ultrapassado)&lt;br /&gt;&lt;a href="http://www.4shared.com/file/36735639/87a29d23/System_Test.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/36735639/87a29d23/System_Test.html&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img254.imageshack.us/img254/204/2screencs8.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://img87.imageshack.us/my.php?image=screen21615370000gl7.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img87.imageshack.us/img87/5563/screen21615370000gl7.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img87.imageshack.us/my.php?image=screen21615240003kz8.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img87.imageshack.us/img87/9071/screen21615240003kz8.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img211.imageshack.us/my.php?image=screen21615280000fn6.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img211.imageshack.us/img211/3769/screen21615280000fn6.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img513.imageshack.us/my.php?image=screen21615300000kq1.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img513.imageshack.us/img513/7540/screen21615300000kq1.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img262.imageshack.us/my.php?image=screen21615310000wy7.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img262.imageshack.us/img262/1033/screen21615310000wy7.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img514.imageshack.us/my.php?image=screen21615340000it9.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img514.imageshack.us/img514/6365/screen21615340000it9.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img149.imageshack.us/my.php?image=screen21615350000fi7.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img149.imageshack.us/img149/3912/screen21615350000fi7.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img520.imageshack.us/my.php?image=screen21615360000at0.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img520.imageshack.us/img520/2073/screen21615360000at0.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img261.imageshack.us/my.php?image=titlescreenee8.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img261.imageshack.us/img261/940/titlescreenee8.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img181.imageshack.us/my.php?image=loadscreenut9.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img181.imageshack.us/img181/6837/loadscreenut9.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img139.imageshack.us/my.php?image=menuscreenri6.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img139.imageshack.us/img139/3470/menuscreenri6.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img170.imageshack.us/my.php?image=statusscreenka4.png" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img170.imageshack.us/img170/4536/statusscreenka4.th.png" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;a href="http://img521.imageshack.us/my.php?image=fatsstatusfb2.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img521.imageshack.us/img521/3789/fatsstatusfb2.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-3036945064432393557?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/3036945064432393557/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/lenda-de-magnus-profecia-do-fogo.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/3036945064432393557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/3036945064432393557'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/lenda-de-magnus-profecia-do-fogo.html' title='A Lenda de Magnus: A Profecia do Fogo'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-3892090489932535301</id><published>2009-01-24T16:25:00.000-08:00</published><updated>2009-01-24T16:31:21.507-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Games'/><title type='text'>A Lenda de Magnus: O Nascimento de um Rei</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img255.imageshack.us/img255/8915/image002wy2.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;img src="http://img175.imageshack.us/img175/3152/linhasvm3.gif" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img80.imageshack.us/img80/9435/statszt7.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;b&gt;Nome:&lt;/b&gt; A Lenda de Magnus: O Nascimento de um Rei&lt;br /&gt;&lt;b&gt;Produção:&lt;/b&gt; Anderson Porto&lt;br /&gt;&lt;b&gt;Versão:&lt;/b&gt; 3.4+exp full&lt;br /&gt;&lt;b&gt;Próxima Versão:&lt;/b&gt; ???&lt;br /&gt;&lt;b&gt;Previsão de Lançamento da Próxima Versão:&lt;/b&gt; ???&lt;br /&gt;&lt;b&gt;Level máximo:&lt;/b&gt; 350&lt;br /&gt;&lt;b&gt;Reset:&lt;/b&gt; habilitado, lv 350 ganha 2000 pts&lt;br /&gt;&lt;b&gt;Stats máximo:&lt;/b&gt; 32767&lt;br /&gt;&lt;b&gt;Distribuição dos pontos:&lt;/b&gt; manual, ganha 5 pts pot lv&lt;br /&gt;&lt;b&gt;Personagens:&lt;/b&gt; seis jogáveis (+ um bônus)&lt;br /&gt;&lt;b&gt;Classes:&lt;/b&gt; 25&lt;br /&gt;&lt;b&gt;Habilidades:&lt;/b&gt; 112&lt;br /&gt;&lt;b&gt;Itens:&lt;/b&gt; 56&lt;br /&gt;&lt;b&gt;Armas:&lt;/b&gt; 182&lt;br /&gt;&lt;b&gt;Armors, Shields, Asas/Capas etc:&lt;/b&gt; 162&lt;br /&gt;&lt;b&gt;Inimigos:&lt;/b&gt; 108&lt;br /&gt;&lt;b&gt;Mapas:&lt;/b&gt; 178&lt;br /&gt;&lt;b&gt;Jogabilidade:&lt;/b&gt; estima-se que entre 5 e 9 horas são o suficiente para se chegar ao fim.&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img137.imageshack.us/img137/144/histow9.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;No século III da era iliniana, Gold City(Wyndia) era a mais gloriosa das cidades, porém Magnus, rei de Karnak leva seus exércitos pra Wyndia, na tentativa de dominar GC, Magnus utiliza habilidades proibidas, ele consegue realizar seus objetivos depois de 30 anos de guerra, mas com medo de uma tentativa maior de expansão, Magbo e Urnik (outros reinos) selam Magnus e dividem seu poder em cinco partes distintas, cada uma guardada em um templo em um dos cinco reinos de Ílion.&lt;br /&gt;Séculos depois (séc. IX), Magnus consegue se libertar e começa sua vingança, ele leva seus exércitos (agora transformados em monstros por utilizarem habilidades proibidas) para todos os reinos para aniquilar toda Ílion. Os soldados de Karnak desertam, Nausito(rei) se vê obrigado a mandar seu filho junto dos últimos agentes não desertores para entrarem nos templos e renovar o selo mágico, porém eles se deparam com um mundo coberto por monstros, os templos estão corrompidos e Magnus está cada vez mais forte. Novos personagens vão entrando na equipe conforme o jogo se desenrola. O objetivo é chegar a Magnus Castle e destruir de uma vez por todas o antigo rei de Karnak!&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img245.imageshack.us/img245/4048/charmv4.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Nome&lt;/b&gt;: Alcino&lt;br /&gt;&lt;b&gt;Classe&lt;/b&gt;: Guerreiro&lt;br /&gt;&lt;b&gt;Entrada na Party:&lt;/b&gt; início&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Nome&lt;/b&gt;: Hélios&lt;br /&gt;&lt;b&gt;Classe&lt;/b&gt;: Bruxo&lt;br /&gt;&lt;b&gt;Entrada na Party&lt;/b&gt;: início&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Nome&lt;/b&gt;: Artêmis&lt;br /&gt;&lt;b&gt;Classe&lt;/b&gt;: Arqueira&lt;br /&gt;&lt;b&gt;Entrada na Party&lt;/b&gt;: início&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Nome&lt;/b&gt;: Dimas&lt;br /&gt;&lt;b&gt;Classe&lt;/b&gt;: Bruxo&lt;br /&gt;&lt;b&gt;Entrada na Party&lt;/b&gt;: Olímpo (Atlantis)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Nome&lt;/b&gt;: Aurora&lt;br /&gt;&lt;b&gt;Classe&lt;/b&gt;: Arqueira&lt;br /&gt;&lt;b&gt;Entrada na Party&lt;/b&gt;: Urnik´s Fields (Urnik)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Nome&lt;/b&gt;: Laertes&lt;br /&gt;&lt;b&gt;Classe&lt;/b&gt;: Guerreiro&lt;br /&gt;&lt;b&gt;Entrada na Party&lt;/b&gt;: Fortress (Magbo)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Nome&lt;/b&gt;: Fairy&lt;br /&gt;&lt;b&gt;Classe&lt;/b&gt;: várias possíveis&lt;br /&gt;&lt;b&gt;Entrada na Party&lt;/b&gt;: ???? (secreto)&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img81.imageshack.us/img81/8369/classesic3.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt; Guerreiros:&lt;/b&gt; são capazes de equipar 2 armas, possuem grande defesa e ataque dando a eles muita vantagem em ataques diretos e de curta distância.&lt;br /&gt;Evoluções Básicas: Guerreiro =&gt; Soldado(lv100)&lt;br /&gt;Evoluções Avançadas:&lt;br /&gt;Cavaleiro(lv180) =&gt; Paladino(lv250): hábeis em skills de cura e de recuperação de status, utilizam armas muito potentes!&lt;br /&gt;Assassino(lv180) =&gt; Lorde das Sombras(lv250): hábeis em habilidades de envenenamento, utilizam scepters e podem invocar um Summon.&lt;br /&gt;&lt;br /&gt;&lt;b&gt; Magos:&lt;/b&gt; são muito hábeis com magias e tem grande aumento de mana por lv, são fracos em defesa, ótimos para ataques a distância.&lt;br /&gt;Evoluções Básicas: Bruxo =&gt; Mago(lv100)&lt;br /&gt;Evoluções Avançadas:&lt;br /&gt;Sábio(lv180) =&gt; Mestre dos Magos(lv250): são magos com suas habilidades levadas ao extremo, com magias que atacam em massa, ótimos para umentar rápido de nível!&lt;br /&gt;Cavaleiro Mágico(lv180) =&gt; Mago Gladiador(lv250): magos que se voltam para as habilidades físicas, eles tem a disposição a maior gama de ítens uáveis de todas as classes, usam espadas e staffs!&lt;br /&gt;&lt;br /&gt;&lt;b&gt; Elfos:&lt;/b&gt; a raça elf está presente no jogo, aqui os elfos só são assim denominados após a iniciação, são habilidosos com habilidades de cura, summons e arco e flexa.&lt;br /&gt;Evoluções Básicas: Arquieiro =&gt; Elfo(lv100)&lt;br /&gt;Evoluções Avançadas:&lt;br /&gt;Sacerdote(lv180) =&gt; Anjo(lv250): mestres com arco e flexa, tem as melhores habilidades de recuperação de status.&lt;br /&gt;Elfo Mágico(lv180) =&gt; Summoner(lv250): este "galho" da árvore de classes merece uma atenção especial, até a versão 2.0, os summoners eram os mais fracos e inúteis personagens do jogo, porém como se fosse por uma previsão, o Mu Online ganhou um novo personagem, este, da classe Summoner! corri então e coletei dados sobre a classe, assim agora Summoners fazem summons, existem novos sets, asas e armas, Summoners são habilidosos com Sticks e também podem equipar o Book of Sahamutt e o Book of Neil, livros que ensinam a criar dois summons especiais!&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img100.imageshack.us/img100/2255/controleu0.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;table class="bbc_table"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Controle&lt;/td&gt;&lt;td&gt;Ação&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Setas&lt;/td&gt;&lt;td&gt;movem o personagem&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Esc &lt;/td&gt;&lt;td&gt;abre o menu principal&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Enter&lt;/td&gt;&lt;td&gt;botão de ação&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Q, W, E&lt;/td&gt;&lt;td&gt;hotkeys (atalhos para ítens)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;A&lt;/td&gt;&lt;td&gt;hotkey rápido para magia&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;S&lt;/td&gt;&lt;td&gt;ataque com arma&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;X&lt;/td&gt;&lt;td&gt;dash (correr)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Z&lt;/td&gt;&lt;td&gt;sneak (andar)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;D&lt;/td&gt;&lt;td&gt;muda o líder da party (char que está lutando)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;F2&lt;/td&gt;&lt;td&gt;tira uma screen do jogo, a imagem em 640x480 fica na pasta onde você instalou o jogo (padrão c:\Arquivos de programas\A Lenda de Magnus\O Nascimento de um Rei\)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img205.imageshack.us/img205/8904/eventswh1.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img225.imageshack.us/img225/6790/chaoscastlenewqb7.gif" alt="" class="bbc_img" /&gt;&lt;/div&gt; Neste evento você tera que ser o último a ficar de pé na arena, você terá 15min para destruir todos os monstros!&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img529.imageshack.us/img529/5561/evtbczf6.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;Neste evnto você terá que resgatar a arma do anjo, para isso mate 40 monstros, destrua o portão, mate mais 5 monstros, destrua o cristal, pegue a arma e retorne para o anjo.&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img517.imageshack.us/img517/5650/evtdsqg9.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;Aqui basta você sobreviver, serão 15min onde a cada 5min monstros mais fortes irão aparecer!&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img152.imageshack.us/img152/8410/goldeninvasionpt8.gif" alt="" class="bbc_img" /&gt;&lt;/div&gt;Durante todo o jogo, a qualquer momento, pode haver uma invasão de Golden Monsters, são monstros dourados que queando mortos dropam Box of Magnus!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;SQP&lt;/b&gt;: Side Quest Points valem como moedas de troca por códigos cheat, você precisa comprar o código principal que custa 10SQP e depois comprar os códigos que custam 1SQP cada.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ASQ&lt;/b&gt;: Alternative Side Quest são maneiras alternativas de ganhar SQP, são jogos extras, pequenos e que contam uma parte extra da história não acessível durante o jogo, os ASQ são feitos em RMVX!&lt;br /&gt;&lt;b&gt;Downloads&lt;/b&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img292.imageshack.us/img292/2472/sisthi1.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;&lt;b&gt;Loja de Skills&lt;/b&gt;: nenhuma skill é obtida por aumentar de lv, todas são adquiridas por compra.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Fundição:&lt;/b&gt; itens especiais como convites e asas devem ser obtidas com a fusão de itens.&lt;/li&gt;&lt;li&gt;&lt;b&gt;WayPoints:&lt;/b&gt; todas as cidades têm um pentagrama no chão, esses pentagramas são teleports, mas eles precisam ser ativados para funcionar então não se esqueça de ativá-los!&lt;/li&gt;&lt;li&gt;&lt;b&gt;ABS 4.0:&lt;/b&gt; sistema de batalha action, porém algumas lutas serão em passive para que todos os personagens lutem ao mesmo tempo.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Cheat System:&lt;/b&gt; habilita a possibilidade de aquisição de itens infinitos, para conseguir os códigos, deve-se ter SQP.&lt;/li&gt;&lt;li&gt;&lt;b&gt;HUD:&lt;/b&gt; huds são aquelas imagens que aparecem no mapa com dados sobre seu HP, MP, stamina, health points Exp, etc...&lt;/li&gt;&lt;li&gt;&lt;b&gt;Caterpilar EX:&lt;/b&gt; bom esse todos conhecem!&lt;/li&gt;&lt;li&gt;&lt;b&gt;AWS (Advanced Weather System):&lt;/b&gt; sistema avançado de clima, utilizado apenas em alguns mapas por causar muitos lags.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Stats 999: &lt;/b&gt;não é o mesmo disponível no fórum, é de minha criação, ele torna disponível a elevação do nível máximo e de todos os status.&lt;/li&gt;&lt;li&gt;&lt;b&gt;APS Alernative Item Scene , APS Alternative Skill Scene, Mog Menu:&lt;/b&gt; esses menus foram criados especialmente (originalmente) para o The Legend, com a intenção de facilitar a vida dos jogadores.&lt;/li&gt;&lt;li&gt;&lt;b&gt;APS_Text_Window:&lt;/b&gt; mostra mensagens no mapa.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Auto Battle, damage EX, Action EX entre outros:&lt;/b&gt; scripts para batahas passivas, ao todo existem 3 ou 4 no jogo.&lt;/li&gt;&lt;li&gt;&lt;b&gt;APS_Raise_System&lt;/b&gt;: as Jewell of Bless, Jewell of Soul e Jewell of Life, são as pontes para a utilização desse sistema, que possibilita o aumento de poder de armas ou armaduras.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Multi-Slot&lt;/b&gt;: este sistema possibilita o uso de mais equipamentos, armas de duas mãos e etc.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Sistemas Alternativos&lt;/b&gt;: existem muitos outros sistemas como lanterna, map loop, espelho, entre outros, jogue para ver!.&lt;/li&gt;&lt;/ul&gt;&lt;hr /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img245.imageshack.us/img245/7077/expjw6.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;Dados da expansão:&lt;br /&gt;Novos mapas&lt;br /&gt;Low danger Areas: areas commonstros cujo staus é de 500-700&lt;br /&gt;Medium Danger Areas: status de 700-900&lt;br /&gt;High danger Areas: status de 900-1200&lt;br /&gt;(Quest especial)O Senhor das Sombras: status 1200-4000&lt;br /&gt;Novo Item: Feather of Condor&lt;br /&gt;Novas Asas: Wing of Mystery(elfo mágico), Wing of Despair (summoner), Wing of Illusion (Anjo), Wing of Vortex (Mestre dos Magos), Wing of Storm (Paladino), Wing of Doom (Mago Gladiador), Mantle of Monarch (Lorde das Sombras)&lt;br /&gt;Novos Sets: Violent Wind, Red Wing e Ancient (todos de summoner)&lt;br /&gt;Novos Escudos (são livros equipáveis como escudos): Book of Sahamutt e Book of Neil (summoner)&lt;br /&gt;Novas Armas: Mystery Stick, Violent Wind Stick, Red Wing Stick, Ancient Stick&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img244.imageshack.us/img244/2354/downloadshi1.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Jogo Principal:&lt;/b&gt;&lt;br /&gt;&lt;span style="color: orange;" class="bbc_color"&gt;&lt;b&gt;Versão 3.4+expansão&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.4shared.com/file/36734782/4afa9032/LdM__1_-_Install_Wizard.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/36734782/4afa9032/LdM__1_-_Install_Wizard.html&lt;/a&gt;&lt;br /&gt;&lt;span style="color: orange;" class="bbc_color"&gt;&lt;b&gt;Detonado&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.4shared.com/file/45485972/b52996a9/DetonadoCap1.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/45485972/b52996a9/DetonadoCap1.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Alternative Side Quests:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;" class="bbc_color"&gt;O Deserto de Gelo&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.4shared.com/file/36679210/bf4b2504/LdM_Deserto_de_Gelo_-_Install_Wizard.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/36679210/bf4b2504/LdM_Deserto_de_Gelo_-_Install_Wizard.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: purple;" class="bbc_color"&gt;O Templo de Hades&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.4shared.com/file/36677727/ec1656bc/LdM_Templo_de_Hades_-_Install_Wizard.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/36677727/ec1656bc/LdM_Templo_de_Hades_-_Install_Wizard.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green;" class="bbc_color"&gt;O Vale dos Espíritos &lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.4shared.com/file/36678597/54054b4f/LdM_Vale_dos_Espritos_-_Install_Wizard.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/36678597/54054b4f/LdM_Vale_dos_Espritos_-_Install_Wizard.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: yellow;" class="bbc_color"&gt;O Templo da Luz &lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.4shared.com/file/41574142/95e893d0/LdM_O_Templo_da_Luz_-_Install_Wizard.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/41574142/95e893d0/LdM_O_Templo_da_Luz_-_Install_Wizard.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img403.imageshack.us/img403/7931/screenmu9.jpg" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Trailer:&lt;/b&gt;&lt;a href="http://www.youtube.com/watch?v=Sro06sfTblU" class="bbc_link new_win" target="_blank"&gt;http://www.youtube.com/watch?v=Sro06sfTblU&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Screens:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://img341.imageshack.us/my.php?image=screen3222050000bx6.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img341.imageshack.us/img341/9127/screen3222050000bx6.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt; &lt;a href="http://img180.imageshack.us/my.php?image=screen3201870000bn9.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img180.imageshack.us/img180/8687/screen3201870000bn9.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt; &lt;a href="http://img181.imageshack.us/my.php?image=screen32018160000oi2.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img181.imageshack.us/img181/4089/screen32018160000oi2.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt; &lt;a href="http://img237.imageshack.us/my.php?image=screen32018430000hf7.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img237.imageshack.us/img237/1614/screen32018430000hf7.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt; &lt;a href="http://img245.imageshack.us/my.php?image=screen3221110001zj9.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img245.imageshack.us/img245/3271/screen3221110001zj9.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt; &lt;a href="http://img245.imageshack.us/my.php?image=screen41414400000re1.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img245.imageshack.us/img245/4697/screen41414400000re1.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt; &lt;a href="http://img258.imageshack.us/my.php?image=screen42615590000wh6.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img258.imageshack.us/img258/186/screen42615590000wh6.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt; &lt;a href="http://img132.imageshack.us/my.php?image=screen41414360000yc1.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img132.imageshack.us/img132/8452/screen41414360000yc1.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-3892090489932535301?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/3892090489932535301/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/lenda-de-magnus-o-nascimento-de-um-rei.html#comment-form' title='6 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/3892090489932535301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/3892090489932535301'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/lenda-de-magnus-o-nascimento-de-um-rei.html' title='A Lenda de Magnus: O Nascimento de um Rei'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-2303738979847968050</id><published>2009-01-24T16:07:00.000-08:00</published><updated>2009-01-24T16:45:22.459-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='..::NOTÍCIAS::..'/><title type='text'>Bombando Total!</title><content type='html'>Ual galera!&lt;br /&gt;&lt;br /&gt;Em menos de 12horas ja ultrapassamos a marca de 50 visualizações. É sucesso em vista!&lt;br /&gt;&lt;br /&gt;Mas não esqueçam, comentem os posts e cliquem para acompanhar o blog, em breve vou por uma sala de chat pra gente conversar!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-2303738979847968050?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/2303738979847968050/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/bombando-total.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/2303738979847968050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/2303738979847968050'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/bombando-total.html' title='Bombando Total!'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-7252864806812725891</id><published>2009-01-24T16:05:00.000-08:00</published><updated>2009-01-24T16:33:33.604-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Tutorials'/><title type='text'>Como Instalar um Sistema Operacional (Windows XP, Vista e Linux)</title><content type='html'>&lt;b&gt;Introdução&lt;/b&gt;&lt;br /&gt;Eu sou um adorador das formatações completas e constantes dos sistemas operacionais, isso deixa o computador sempre leve e limpo. Vou &lt;del&gt;tentar&lt;/del&gt; ensinar para vocês, como instalar 3 sistemas operacionais distintos, Windows XP Professional Sp2, Windows Vista Ultimate e o Kurumin Linux.&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;b&gt;PARTE 1&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Preparando o HD&lt;/b&gt;&lt;br /&gt;Um sistema operacional precisa de um espaço no HD para poder ser instalado, sem dúvida nenhuma, a melhor forma de organizar o HD é utilizando o Linux, para que o sistema rode, o HD precisa estar formatado em um sistema bem específico de dados.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Instalando Windows&lt;/b&gt;&lt;br /&gt;Tanto o XP quanto o Vista precisam de um HD no formato NTFS, mesmo lendo sistemas em FAT e FAT32, NTFS é o mais seguro e usado. Para instalar esses sistemas, apenas uma partição é necessária.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Instalando Linux&lt;/b&gt;&lt;br /&gt;O Kurumin Linux exige duas partições, uma em formato ReiserFS onde ficarão os dados e outra menor em Linux-Swap.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Criando as partições&lt;/b&gt;&lt;br /&gt;Casos:&lt;br /&gt;&lt;br /&gt;Tem Windows e quer instalar Windows &gt; seu hd ja esta particionado e pronto, porém ao instalar o novo sistema, arquivos fragmentados do antigo ficarão presentes, é aconselhável rodar uma distribuição do Linux (pelo cd mesmo) e usar o GParted, um particionador avançado, use ele para formatar o HD antes de instalar o novo sistema. Se naum tiver um cd do Linux, desinstale todos os aplicativos do pc e delete tudo o que ver pela frente, assim diminuem os fragmentos.&lt;br /&gt;&lt;br /&gt;Tem Linux e quer instalar Windows &gt; use o GParted ou algum outro sistema similar para alterar as partições do HD, clique com o direito na partição Swap e desative a Swap, delete a partição e depois delete a ReiserFS, crie uma nova partição (tente não deixar espaços não alocados no HD), o sistema é MSDOS em NTFS.&lt;br /&gt;&lt;br /&gt;Tem Windows e quer instalar Linux &gt; rode o linux pelo CD e usando o GParted, delete a partição NTFS e crie uma bem grande em ReiserFS e uma menor em Linux-Swap.&lt;br /&gt;&lt;br /&gt;Tem Linux e quer instalar Linux &gt; não faça nada com as partições.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Dicas de partição:&lt;/b&gt;&lt;br /&gt;Os HDs normalmente vêm de fábrica com espaços não alocados, ou seja, espaços inutilizados, use o GParted para corrigir e alocar todo o espaço possível.&lt;br /&gt;&lt;br /&gt;Se seu Kurumin Linux naum detecta o HD no boot pelo CD, use a opção de boot kurumin-all-generic-ide irqpoll, normalmente isso resolve.&lt;br /&gt;&lt;br /&gt;Caso naum tenha um CD do Linux para mecher nas partições, use o particionador do Windows em Painel de Controle &gt; Ferramentas Administrativas &gt; Gerenciamento do Computador &gt; Gerenciamento de Disco. Ele é bem mais lento e mais propenso a erros, mas funciona.&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;b&gt;PARTE 2&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Executando a instalação&lt;/b&gt;&lt;br /&gt;Após deixar seu HD arrumado, rode seu sistema pelo CD, para isso, basta inserir o CD de instalação do sistema e depois reiniciar o computador, caso ele naum inicie do CD, entre no Setup do seu micro (apertando F2 ou F5 dependendo da BIOS) la na tela inicial antes do sistema ser iniciado, procure então a Boot Sequence(sequencia de Boot) e coloque seu driver de Cd/DVD antes do HD na lista.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Instalando o Windows XP&lt;/b&gt;&lt;br /&gt;Vai aparecer na tela Rodar o Cd ou algo do gênero, aperte alguma coisa qualquer, vai aparecer uma tela azul e o Windows vai carregar os arquivos. Após carregado, siga as instruções, é bem fácil, logo na primeira tela terá uma lista de drivers inclusive seu HD(geralmente só aparece ele mesmo) selecione ele (é onde vamos instalar o sistema) e depois aperte Enter, o sistema irá copiar os arquivos para o computador, se você naum formatou a partição, ele vai perguntar se tem certeza que quer instalar o sistema.&lt;br /&gt;Após copiado todos os dados, o computador vai reiniciar, naum aperte nada na tela de iniciar do CD, a tela do Windows ja irá aparecer e uma longa espera começa, uma tela ira mostrar oque esta sendo feito na instalação, essa parte normalmente demora de 40min a 1hora, mas como o windows nunca marca o tempo certo, não siga o marcador de tempo que aparece. Durante o processo, vai aparecer uma janela perguntando o nome do usuário do computador. Você pode selecionar mais de um usuário (pode alterar depois no Painel de Controle). Se seu CD for original, você terá que colocar a chave de ativação do Windows. Se for pirata, clique em ignorar na tela de registro online!&lt;br /&gt;Finalizado o processo, o computador irá reiniciar(em alguns instaladores), seu windows estará pronto, basta agora você instalar todos os drivers do computador!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Instalando o Windows Vista&lt;/b&gt;&lt;br /&gt;Ele segue o exato mesmo padrão do Windows XP, porém ja tem recursos gráficos logo nas telas iniciais deichando o processo mais bonitinho. Após copiar os arquivos, inserir a chave do sistema e selecionar qual sistema vai instalar (existem dois DVDs de instalação do Vista, um para o Starter Edition e Home Basic e outro para: Business, Home Premium e Ultimate) Só oq muda são as chaves de instalação, elas são as que determinam qual versão você terá. Após instalar, siga as instruções. Se sua chave for pirata, é melhor naum fazer a validação online, use algum crack ou coisa do gênero, você terá 15 dias pra pensar em um meio, caso seja original, é só validar e correr para o abraço. Só naum esqueça de instalar os drivers ehm!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Instalando o Kurumin Linux&lt;/b&gt;&lt;br /&gt;Rode o linux do CD, após aberto o sistema, va no menu iniciar &gt; sistema(acho) &gt; instalar o kurumin no hd. Feito isso o processo irá ser iniciado, leia atentamente todas as janelas de ajuda, elas explicam passo-a-passo o que deve fazer, se ainda naum particionou o HD, use o GParted, depois feche a janela dele para o script de instalação continuar. Finalizado a instalação, que demora uma meia hora, basta reiniciar o micro retirando o cd do pc. Tente usar um script para detectar seu modem, assim você se conecta na internet e baixa seus drivers.&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;b&gt;EXTRA&lt;/b&gt;&lt;/div&gt;&lt;b&gt;Instalando dois ou mais sistemas operacionais&lt;/b&gt;&lt;br /&gt;A pedidos, vou adicionar as explicações para instalar mais de um sistema operacional em um só HD.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Particionamento&lt;/b&gt;&lt;br /&gt;Cada sistema operacional, exige pelo menos uma partição, digamos que você queria instalar o Windows XP e o Linux em um micro, como vocês ja sabem, o Windows exige uma partição NTFS e o Linux, uma ReiserFS e uma Swap. Sempre que você for instalar o Linux em micros que irão também utilizar Windows, aconselho a deixar a partição maior em NTFS pois o Linux acessa ela, ja o Windows não lê Swap nem ReiserFS então todos os documentos do Linux ficarão invisíveis para o Windows nessas parições. Digamos que nosso HD com Linux e Windows ficará dessa forma: Partição 1 NTFS 60% do HD, Partição 2 ReiserFS 30% e Partição 3 Swap 10%.&lt;br /&gt;Caso você queira instalar dois windows, basta ter duas partições distintas em NTFS, pode deixar cada uma com 50% pois um sistema lê os dados do outro.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ordem de instalação&lt;/b&gt;&lt;br /&gt;Na hora de instalar os sistemas, aconselho a instalar, do mais antigo da microsoft até o mais recente da linux, isso por que como todos devem saber, Windows é, sem dúvida nenhuma, o pior sistema operacional que existe (considerando apenas os principais, o ranking é: 1-Machintosh, 2-Linux, 3-Windows), sendo assim ele naum tem muitas funções para multi boot (boot de vários sistemas). Já o Linux tem suporte para multi boot com o Ggrub, então instale os Linux por último pois eles detectarão outros sistemas no HD e irão perguntar se você quer a opção de boot do Linux.&lt;br /&gt;&lt;br /&gt;Atenção: algumas instalações do Windows fazem com que ele fique a frente de todos os outros sistemas, se você instalou o Xp e depois o Vista no mesmo HD (em partições diferentes) e só o Vista inicia, tente pressionar F5 antes da tela de inicialização do Windows para procurar opções de boot.&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;b&gt;FIM&lt;/b&gt;&lt;br /&gt;espero que tenham gostado XD&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-7252864806812725891?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/7252864806812725891/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/instalando.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/7252864806812725891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/7252864806812725891'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/instalando.html' title='Como Instalar um Sistema Operacional (Windows XP, Vista e Linux)'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-5085867770348834869</id><published>2009-01-24T15:39:00.000-08:00</published><updated>2009-01-24T15:46:38.643-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Scripts'/><title type='text'>APS_Alternative_Skill</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Nome&lt;/span&gt;: APS_Alternative_Skill_Scene&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Autor&lt;/span&gt;: Anderson Porto&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Versão&lt;/span&gt;: 1.0&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Descrição&lt;/span&gt;: Este script altera a tela de skills, com ele é possível ver os atributos da magia, o poder e quanto gasta de mana, fora o fato de vc poder usar ícones de até 192x192 nas suas magias!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Download&lt;/span&gt;: http://www.4shared.com/file/82339848/cd18d393/APS_Alternative_SKill_Scene.html&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Screen&lt;/span&gt;:&lt;br /&gt;&lt;img src="http://img508.imageshack.us/img508/8013/apsassmd2tz2.jpg" alt="" class="bbc_img" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-5085867770348834869?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/5085867770348834869/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apsalternativeskill.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/5085867770348834869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/5085867770348834869'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apsalternativeskill.html' title='APS_Alternative_Skill'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-9009627752257363980</id><published>2009-01-24T15:32:00.000-08:00</published><updated>2009-01-24T16:35:20.059-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Resources'/><title type='text'>Expanção para o Chars XP</title><content type='html'>Aqui estão dois ótimos packs para o Chars XP, espero que aproveitem, eles são bem grandes(principalmente o padrão)&lt;br /&gt;&lt;br /&gt;1º Pack Padrão, para chars estilo RTP&lt;br /&gt;&lt;a href="http://www.4shared.com/file/15399916/c64d5de2/Padro_128_x_192.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/15399916/c64d5de2/Padro_128_x_192.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2º Pack Kaiser, para personagens grandes&lt;br /&gt;&lt;a href="http://www.4shared.com/file/15398975/b1a2ccbb/Kaiser_256_x_400.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/15398975/b1a2ccbb/Kaiser_256_x_400.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-9009627752257363980?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/9009627752257363980/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/expao-para-o-chars-xp.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/9009627752257363980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/9009627752257363980'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/expao-para-o-chars-xp.html' title='Expanção para o Chars XP'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-4914068589722251650</id><published>2009-01-24T15:16:00.000-08:00</published><updated>2009-01-24T15:17:25.591-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Scripts'/><title type='text'>APS_UCoders SBABS</title><content type='html'>&lt;div class="post" id="msg_26411"&gt;         &lt;b&gt;Nome:&lt;/b&gt; APS_UCoders SBABS&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Autor original:&lt;/b&gt; Mr Mo&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Autor dos upgrades:&lt;/b&gt; Anderson Porto&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Versão:&lt;/b&gt; 1.5&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Descrição: &lt;/b&gt;o não muito conhecido SBABS criado pelo Mr Mo, com certeza é o mais complexo, não satisfeito, eu criei um mega pack com vários recursos adicionais, nisso incluem as TOOL_WEAPON, HP_COST, PHISIC_SKILL entre outros add-ons clássicos e mais alguns bem avançados que tornarão seu jogo super legal. Este abs não usa sdk, ele é inspirado no SBABS onde todos os chars da party lutam, joguem a demo para ver todos os recursos.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Download: &lt;/b&gt;&lt;a href="http://www.4shared.com/file/50621013/8d2d3bf2/RGSS_UCodersSBABS.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/50621013/8d2d3bf2/RGSS_UCodersSBABS.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Screen:&lt;/b&gt;&lt;br /&gt;&lt;a href="http://img220.imageshack.us/my.php?image=ucoderssbabsth5.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img220.imageshack.us/img220/8094/ucoderssbabsth5.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;        &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-4914068589722251650?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/4914068589722251650/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apsucoders-sbabs.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/4914068589722251650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/4914068589722251650'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apsucoders-sbabs.html' title='APS_UCoders SBABS'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-4581546832898624280</id><published>2009-01-24T15:15:00.002-08:00</published><updated>2009-01-24T15:16:43.783-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Scripts'/><title type='text'>APS_Summon</title><content type='html'>&lt;b&gt;Nome:&lt;/b&gt; APS_Summon&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Autor:&lt;/b&gt; Anderson Porto&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Versão:&lt;/b&gt; 1.0&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Descrição:&lt;/b&gt; é um sistema de summon baseado no Event Spawner para Mr Mo ABS, é bem legalzinho, ele usa uma parte em eventos. Obs.: é o mesmo usado nos jogos do LdM!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Download:&lt;/b&gt; &lt;a href="http://www.4shared.com/file/47997296/9cfa7313/RGSSABS_Summon.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/47997296/9cfa7313/RGSSABS_Summon.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-4581546832898624280?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/4581546832898624280/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apssummon.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/4581546832898624280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/4581546832898624280'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apssummon.html' title='APS_Summon'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-2049294612919730070</id><published>2009-01-24T15:15:00.001-08:00</published><updated>2009-01-24T15:15:46.592-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Scripts'/><title type='text'>APS_Scene_Title</title><content type='html'>&lt;div class="post" id="msg_4695"&gt;         &lt;b&gt;Nome:&lt;/b&gt; APS_Scene_Title&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Autor:&lt;/b&gt; Anderson Porto&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Versão:&lt;/b&gt; 1.0&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Descrição:&lt;/b&gt; Uma Scene_Title customizável totalmente baseada em pictures, ótima para jogos que prezam por animações, movimentos e etc..&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Download:&lt;/b&gt; &lt;a href="http://www.4shared.com/file/59706752/22da254a/NEW_APS_Scene_Title.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/59706752/22da254a/NEW_APS_Scene_Title.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Screen:&lt;/b&gt;&lt;br /&gt;&lt;a href="http://img88.imageshack.us/my.php?image=titlevw9.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img88.imageshack.us/img88/3055/titlevw9.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;        &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-2049294612919730070?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/2049294612919730070/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apsscenetitle.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/2049294612919730070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/2049294612919730070'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apsscenetitle.html' title='APS_Scene_Title'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-2629150848370372861</id><published>2009-01-24T15:14:00.000-08:00</published><updated>2009-01-24T15:15:07.253-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Scripts'/><title type='text'>APS_HUD</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Nome&lt;/span&gt;: APS_HUD&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Autor&lt;/span&gt;: Anderson Porto&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Versão&lt;/span&gt;: 1.2&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Descrição&lt;/span&gt;: Uma versão antiga e restrita da hud utilizada nos meus jogos, é baseada no Mu Online, tem todas as funções básicas.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Download&lt;/span&gt;: &lt;a href="http://www.4shared.com/file/59706275/88431080/new_APS_Hud.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/59706275/88431080/new_APS_Hud.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Screen&lt;/span&gt;:&lt;br /&gt;Mu (original)&lt;br /&gt;&lt;a href="http://i161.photobucket.com/albums/t236/maxel2/MU_Online_Cry_Wolf1.jpg" class="bbc_link new_win" target="_blank"&gt;http://i161.photobucket.com/albums/t236/maxel2/MU_Online_Cry_Wolf1.jpg&lt;/a&gt;&lt;br /&gt;A hud em si&lt;br /&gt;&lt;a href="http://img140.imageshack.us/img140/2952/apshudoy1.jpg" class="bbc_link new_win" target="_blank"&gt;http://img140.imageshack.us/img140/2952/apshudoy1.jpg&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-2629150848370372861?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/2629150848370372861/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apshud.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/2629150848370372861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/2629150848370372861'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apshud.html' title='APS_HUD'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-5907316605081571121</id><published>2009-01-24T15:12:00.000-08:00</published><updated>2009-01-24T15:13:16.128-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Scripts'/><title type='text'>APS_Game_Shark</title><content type='html'>&lt;div class="post" id="msg_4706"&gt;         &lt;b&gt;Nome&lt;/b&gt;: APS_Game_Shark&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Autor&lt;/b&gt;: Anderson Porto&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Versão&lt;/b&gt;: 2.0&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Descrição&lt;/b&gt;: Um sistema que muitos naum gostaram, mas naum tem como fazer diferente. Ele é dividido em duas partes, na 1ª vc adiciona os scripts no seu jogo e define os hacks, depois é só rodar o Game Shark e colocar os códigos pra rodar &lt;img src="http://jrpg.sytes.net/forum/Smileys/default/FELIZ.png" alt="^^" title="Feliz" class="smiley" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Download&lt;/b&gt;: &lt;a href="http://www.4shared.com/file/59707881/bd9d2ae5/NEW_Game_Shark.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/59707881/bd9d2ae5/NEW_Game_Shark.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Screen&lt;/b&gt;:&lt;br /&gt;&lt;a href="http://img266.imageshack.us/my.php?image=gamesharkwc5.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img266.imageshack.us/img266/5407/gamesharkwc5.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;        &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-5907316605081571121?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/5907316605081571121/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apsgameshark.html#comment-form' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/5907316605081571121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/5907316605081571121'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apsgameshark.html' title='APS_Game_Shark'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-1670203550348928572</id><published>2009-01-24T15:11:00.001-08:00</published><updated>2009-01-24T15:11:39.033-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Scripts'/><title type='text'>APS_Equip_Requirements</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Nome&lt;/span&gt;: APS_Equip_Requirements&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Autor:&lt;/b&gt; Anderson Porto&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Versão:&lt;/b&gt; 1.2&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Descrição:&lt;/b&gt; Com esse sistema, vc adiciona requisitos mínimos para que armas e armaduras sejam equipadas, assim, vc consegue ter partys mais dinâmicas, ele é compatível com games online, ótimo para MMORPGs&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Download:&lt;/b&gt; &lt;a href="http://www.4shared.com/file/59707390/dfd4c4d3/NEW_Equip_Requirements.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/59707390/dfd4c4d3/NEW_Equip_Requirements.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Screen:&lt;/b&gt;&lt;br /&gt;&lt;a href="http://img401.imageshack.us/my.php?image=equiprequirementsiw9.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img401.imageshack.us/img401/3095/equiprequirementsiw9.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-1670203550348928572?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/1670203550348928572/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apsequiprequirements.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/1670203550348928572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/1670203550348928572'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apsequiprequirements.html' title='APS_Equip_Requirements'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-2812688852799172687</id><published>2009-01-24T15:10:00.001-08:00</published><updated>2009-01-24T15:10:51.214-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Scripts'/><title type='text'>APS_Bombeman_ABS</title><content type='html'>&lt;div class="post" id="msg_4699"&gt;         &lt;b&gt;Nome&lt;/b&gt;: APS_Bomberman_ABS&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Autor&lt;/b&gt;: Anderson Porto&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Versão&lt;/b&gt;: beta&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Descrição&lt;/b&gt;: Aqui esta o meu sistema de batalha baseado em bomberman, ele é bem rústico, os inimigos são meio burros, mas da pra ter uma noção do sistema &lt;img src="http://jrpg.sytes.net/forum/Smileys/default/FELIZ.png" alt="^^" title="Feliz" class="smiley" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Download&lt;/b&gt;: &lt;a href="http://www.4shared.com/file/59707069/23d6dee1/NEW_Bomberman_System_Beta.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/59707069/23d6dee1/NEW_Bomberman_System_Beta.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Screen:&lt;/b&gt;&lt;br /&gt;&lt;img src="http://img530.imageshack.us/img530/2184/ssbombermanabsib0.png" alt="" class="bbc_img" /&gt;        &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-2812688852799172687?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/2812688852799172687/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apsbombemanabs.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/2812688852799172687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/2812688852799172687'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apsbombemanabs.html' title='APS_Bombeman_ABS'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-1968812556303596818</id><published>2009-01-24T15:08:00.000-08:00</published><updated>2009-01-24T15:09:49.088-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Scripts'/><title type='text'>APS_Flares</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Nome do Sistema&lt;/span&gt;: APS_Flares&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Autor&lt;/span&gt;: Anderson Porto&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Versão&lt;/span&gt;: 1.5&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Descrição&lt;/span&gt;: a muito tempo eu venho estudando secretamente os "segredos" do particle engine, ele é uma ferramente muito interessante. Pois bem, estudando o sistema vi que todos os efeitos são classes distintas, assim sendo é fácil criar um novo sistema e por isso eu criei um sistema de fogos de artifício! Não vou postar nenhuma screen para deixar vocês curiosos, não é um sistema muito complexo, mas eu perdi uns bons minutos na frente do pc olhando a tela, são muito fofos além de ser o único sistema do gênero. (Lembrando que eu fiz ele por cima do Particle Engine, este se mantém intacto, eu apenas adicionei e editei novos dados, assim sendo você pode usar o particle engine normalmente)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Utilização&lt;/span&gt;: use exatamente como o particle engine que você esta acostumado, a diferença é que tem um efeito a mais, esse efeito são os fogos de artifício.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Demo&lt;/span&gt;: &lt;a href="http://www.4shared.com/file/59974183/c6dd62c8/NEW_APS_Flares.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/59974183/c6dd62c8/NEW_APS_Flares.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img241.imageshack.us/img241/7559/screen1pj6.jpg" alt="" class="bbc_img" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-1968812556303596818?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/1968812556303596818/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apsflares.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/1968812556303596818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/1968812556303596818'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apsflares.html' title='APS_Flares'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-5095792449084156855</id><published>2009-01-24T15:07:00.000-08:00</published><updated>2009-01-24T15:08:14.116-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Scripts'/><title type='text'>APS_Cheat_System</title><content type='html'>&lt;div class="post" id="msg_3955"&gt;         &lt;b&gt;Nome:&lt;/b&gt; APS_Cheat_System&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Autor:&lt;/b&gt; Anderson Porto&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Versão:&lt;/b&gt; 1.1&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Descrição:&lt;/b&gt; Cá esta um dos meus mais antigos scripts, é um sistema de cheat com várias opções, ele permite a existência de vários NPCs cheaters, cada um com sua própria lista de códigos! Além de usá-los para trapaças, você também pode usar para quests e coisas do gênero!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Download:&lt;/b&gt; &lt;a href="http://www.4shared.com/file/59705814/b63cada8/NEW_APS_Cheat_System.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/59705814/b63cada8/NEW_APS_Cheat_System.html&lt;/a&gt;        &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-5095792449084156855?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/5095792449084156855/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apscheatsystem.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/5095792449084156855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/5095792449084156855'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/apscheatsystem.html' title='APS_Cheat_System'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-771546742914001157</id><published>2009-01-24T14:59:00.001-08:00</published><updated>2009-01-24T15:02:36.010-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas Básicas'/><title type='text'>Aula 15: Salvando e Carregando Dados</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img174.imageshack.us/img174/6554/aula15px7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Introdução&lt;/b&gt;&lt;br /&gt;Antes de dizer qualquer coisa, vou usar este espaço para gritar, ahhhhhhhhhhhhhhhhhhhhhh! Eu consegui! 15 aulas uhu! TERMINEI! Eu já andava cansado dessas aulas, agora vou poder dar aulas de coisas mais divertidas! Após o momento de insanidade mental, vamos à introdução da conclusão.&lt;br /&gt;Pois é galera, quando comecei este curso, eu era um mero membro como vocês e não tinha expectativas de dar mais de três aulas, hoje, cinco meses após o início das aulas sou Admin Jr! Que mudança ehm! Pois bem, para finalizar, uma aula bem rápida para mostrar como funciona o save e load do rmxp. Isso é um conteúdo que a muito todos vêm me pedindo e decidi que seria o conteúdo final do curso.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;SALVANDO&lt;/b&gt;&lt;br /&gt;Para salvar um arquivo, basta usar a árvore de comandos abaixo:&lt;br /&gt;file = File.open(“nome do arquivo”, "wb")&lt;br /&gt;Marshal.dump(var1, file)&lt;br /&gt;Marshal.dump(var2, file)&lt;br /&gt;Marshal.dump(varn, file)&lt;br /&gt;file.close&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;CARREGANDO&lt;/b&gt;&lt;br /&gt;Para carregar dados, use:&lt;br /&gt;file = File.open(“nome do arquivo”,, "rb")&lt;br /&gt;var1  = Marshal.load(file)&lt;br /&gt;var2  = Marshal.load(file)&lt;br /&gt;varn  = Marshal.load(file)&lt;br /&gt;file.close&lt;br /&gt;Lembre-se que tem que colocar os mesmos nomes da variáveis que você salvou, se tentar carregar alguma variável que não foi salva, vai aparecer uma mensagem de erro e seu jogo vai fechar.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Inserindo dados no Save do RMXP&lt;/b&gt;&lt;br /&gt;Para facilitar as coisas na hora de salvar e carregar dados, existe um modelo de script que se utiliza do alias para injetar dados no bloco de save e load padrão do rmxp, se você analisar, muitos scripts utilizam esse recurso. Os blocos de save e load estão na Scene_Save(linha 64) e Scene_Load(linha 75).&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;Modelos de Script padrão para inserir dados nos saves dos personagens&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;class Scene_Save&lt;br /&gt; alias nome_do_alias write_save_data&lt;br /&gt; def write_save_data(file)&lt;br /&gt;   nome_do_alias (file)&lt;br /&gt;   Marshal.dump(var1, file)&lt;br /&gt;   Marshal.dump(var2, file)&lt;br /&gt; end  &lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;class Scene_Load&lt;br /&gt; alias nome_do_alias_save_data&lt;br /&gt; def read_save_data(file)&lt;br /&gt;   nome_do_alias (file)&lt;br /&gt;   var1                 = Marshal.load(file)&lt;br /&gt;   var2                 = Marshal.load(file)&lt;br /&gt; end&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Comandos Extras&lt;/b&gt;&lt;br /&gt;Existem ainda alguns commandos extras que você pode utilizar, são eles:&lt;br /&gt;&lt;br /&gt;FileTest.exist(“nome do arquivo”) &gt; retorna true se o arquivo existir, use em condições, if FileTest.exist?(filename) then ....&lt;br /&gt;&lt;br /&gt;File.delete(“arquivo”) &gt; deleta um arquivo em especial, usei esse comando para deletar contas hackeadas no meu projeto!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Finalizando&lt;/b&gt;&lt;br /&gt;Quero agradecer a todos os makers da Jogos RPG pelo apoio que me deram pelas minhas aulas. Não vou citar nomes em especial, mesmo tendo makers em especial para agradecer, todos os makers são especiais e agradeço a todos, só o fato de entrar no tópico de uma de minhas aulas aumentando o número de visualizações já me deixa feliz. Graças a vocês consegui chegar até onde cheguei. Estou, mesmo depois de todos esses meses, extremamente animado com tudo do mesmo modo de quando ainda era só um membro. Sei que minhas aulas são até hoje minha maior contribuição para minha querida Jogos e graças a elas entrei na staff e já fui chamado várias vezes de JN2 o que para mim é uma grande honra já que ele é uma de minhas maiores inspirações. Pois bem, não vou deixar essa aula ainda mais com tom de despedida pois ela não é uma despedida e sim um novo começo. Logo começarei a postar aulas mais avançadas e espero que todos possam aproveitá-las como já aproveitam minhas aulas atuais. Entonces, o Curso de RGSS acaba por aqui. Adiôs a todos e até a próxima aula já no curso avançado!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-771546742914001157?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/771546742914001157/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-15-salvando-e-carregando-dados.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/771546742914001157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/771546742914001157'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-15-salvando-e-carregando-dados.html' title='Aula 15: Salvando e Carregando Dados'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-3305850124560856497</id><published>2009-01-24T14:58:00.001-08:00</published><updated>2009-01-24T14:58:44.581-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas Básicas'/><title type='text'>Aula 14: Trabalhando com Mapas Parte 2</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img242.imageshack.us/img242/864/aula14ep2.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Introdução&lt;/b&gt;&lt;br /&gt;Nossa penúltima aula irá mostrar que praticamente tudo o que é feito por eventos, pode ser feito via scripts, obviamente não irei mostrar tudo, mas vamos ao nescessário. Para aprender mais comandos, basta procurar no Interpreter, lá tem todos os comandos que os eventos fazem.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Mostrar Mensagem&lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;@message_waiting = true&lt;br /&gt;$game_temp.message_proc = Proc.new { @message_waiting = false }&lt;br /&gt;$game_temp.message_text = “texto”&lt;br /&gt;&lt;/code&gt;Para pular linhas, coloque \n no meio do texto, por exemplo:&lt;br /&gt;$game_temp.message_text = "Ola \nComo vai?"&lt;br /&gt;&lt;br /&gt;Fica na tela:&lt;br /&gt;Ola&lt;br /&gt;Como vai?&lt;br /&gt;Você pode usar todos os tipos de formatação que usa normalmente.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Armazenar Número&lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;@message_waiting = true&lt;br /&gt;$game_temp.message_proc = Proc.new { @message_waiting = false }&lt;br /&gt;$game_temp.message_text = ""&lt;br /&gt;$game_temp.num_input_start = 0&lt;br /&gt;$game_temp.num_input_variable_id = id da variável que vai armazenar&lt;br /&gt;$game_temp.num_input_digits_max = numero máximo de dígitos&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Opções de Mensagem&lt;/b&gt;&lt;br /&gt;$game_system.message_position = posição da caixa de mensagens, use 0 para acima, 1 para centro e 2 para baixo&lt;br /&gt;$game_system.message_frame = se vai ou não mostrar a janela, 0 para sim e 1 para não&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Definir Teclas&lt;/b&gt;&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt; @button_input_variable_id  = id da variável&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Esperar&lt;/b&gt;&lt;br /&gt;Esse comando só funciona nos mapas, basta no chamar script colocar @wait_cont = valor&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Condição&lt;/b&gt;&lt;br /&gt;É só usar nosso já conhecido if, elsif, else ... leia a aula de lógica para aprender caso tenha esquecido.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Ciclo&lt;/b&gt;&lt;br /&gt;Basta colocar um&lt;br /&gt;loop do&lt;br /&gt;&lt;comandos&gt;&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Romper Ciclo&lt;/b&gt;&lt;br /&gt;Basta colocar um break (coloque dentro do loop, caso faça ele por script)&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Apagar Evento Temporário&lt;/b&gt;&lt;br /&gt;$game_map.events[id do evento].erase&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Opções de Switch&lt;/b&gt;&lt;br /&gt;$game_switches[id] = valor (true ou false, você sabe)&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Opções de Variável&lt;/b&gt;&lt;br /&gt;$game_variables[id] = valor (óbviamente não preciso explicar que você pode somar, subtrair...)&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Opções de Switch Local&lt;/b&gt;&lt;br /&gt;$game_self_switches[$game_map.map_id, id do evento,qual dos switchs]. Leia a o banco de sintaxes para saber mais dados.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Operador de Tempo&lt;/b&gt;&lt;br /&gt;$game_system.timer_working = true ou false para aparecer ou sumir o contador.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Opções de Save / Menu / Encontros &lt;/b&gt;&lt;br /&gt;Save: $game_system.save_disabled = true ou false&lt;br /&gt;Menu: $game_system.menu_disabled = true ou false&lt;br /&gt;Encontros: $game_system.encounter_disabled = true ou false&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Teletransporte&lt;/b&gt;&lt;br /&gt;$game_temp.player_transferring = true&lt;br /&gt;$game_temp.player_new_map_id = id do mapa&lt;br /&gt;$game_temp.player_new_x = posição x&lt;br /&gt;$game_temp.player_new_y = posição y&lt;br /&gt;$game_temp.player_new_direction = direção&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Mudar HP, SP, Parâmetros e etc…&lt;/b&gt;&lt;br /&gt;Basta utilizar $game_party.actors[posição do personagem da party, de 0 a 3].&lt;atributo&gt; = valor. Você pode efetuar qualquer tipo de operação matemática.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Os Outros Comandos&lt;/b&gt;&lt;br /&gt;A grande maioria dos comandos que não apresentei na verdade vocês já viram, eles estão espalhados por todas  as aulas que já postei e por isso não vou ficar postando tudo. Não sejam preguiçosos hehehe.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-3305850124560856497?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/3305850124560856497/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-14-trabalhando-com-mapas-parte-2.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/3305850124560856497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/3305850124560856497'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-14-trabalhando-com-mapas-parte-2.html' title='Aula 14: Trabalhando com Mapas Parte 2'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-8256575124966760119</id><published>2009-01-24T14:57:00.001-08:00</published><updated>2009-01-24T14:57:52.591-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas Básicas'/><title type='text'>Aula 13: Trabalhando com Mapas Parte 1</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img153.imageshack.us/img153/4545/aula13wb3.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Introdução&lt;/b&gt;&lt;br /&gt;Continuando com nossas aulas, hoje iremos começar a aprender a trabalhar com efeitos em mapas. Será uma aula rápida só para mostrar como usar esse tipo de efeito...&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Fogs&lt;/b&gt;&lt;br /&gt;Este efeito já existe nos mapas e não precisamos usá-los la, porém você pode usar fogs em outras scenes de um modo muito simples.&lt;br /&gt;1º Um fog não é um Sprite e sim um Plane, a diferença do Plane é que ele possui os atributos ox e oy que provocam um efeito de rotação, se você usasse um Sprite ele apenas iria se mover pela tela sem o efeito de continuidade que você esta acostumado nos fogs. Assim sendo:&lt;br /&gt;@fog = Plane.new(@viewport)&lt;br /&gt;@fog.bitmap = RPG::Cache.fog(“imagem”, hue&lt;0-255&gt;)&lt;br /&gt;Obs.: @viewport: existem 4 objetos do gênero @viewport, @viewport1, @viewport2, @viewport3, eles são instâncias da classe Viewport, é essa classe que cria o efeito de continuidade.&lt;br /&gt;Após instanciado o Plane, use no seu update os métodos @fog.ox += valor @fog.oy += valor, ox e oy são variáveis podendo ser somadas e subtraídas, com elas você cria o efeito de movimento.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Atributos das Imagens&lt;/b&gt;&lt;br /&gt;Para expandir seus conhecimentos com imagens, vou listar alguns efeitos que você pode usar.&lt;br /&gt;hue = disponível para fogs e characters, isso altera a gama de cores da imagem &lt;0-255&gt;&lt;br /&gt;opacity = visibilidade da imagem – transparência &lt;0-255&gt;&lt;br /&gt;blend_type = tipo de efeito (0: normal, 1: multiplicar, 2:inverter)&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Sons&lt;/b&gt;&lt;br /&gt;Para tocar músicas do sistema ou para tocar músicas genéricas, basta usar alguns comandos nos seus métodos, em caso de dúvidas, olhe a classe Game_System.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Sons do Sistema&lt;/b&gt;&lt;br /&gt;Tocar músicas do sistema (definidos na aba sistema do rmxp):&lt;br /&gt;$game_system.bgm_play($data_system.title_bgm) #música do título (bgm)&lt;br /&gt;$game_system.bgm_play($game_system.battle_bgm) #bgm da batalha&lt;br /&gt;$game_system.me_play($game_system.battle_end_me) #me do fim da batalha&lt;br /&gt;$game_system.me_play($data_system.gameover_me) #me do game_over&lt;br /&gt;$game_system.se_play($data_system.cursor_se) #se do cursor&lt;br /&gt;$game_system.se_play($data_system.decision_se)  #decisão&lt;br /&gt;$game_system.se_play($data_system.cancel_se)  #cancelar&lt;br /&gt;$game_system.se_play($data_system.buzzer_se)  #erro&lt;br /&gt;$game_system.se_play($data_system.equip_se)  #equipamento&lt;br /&gt;$game_system.se_play($data_system.shop_se)  #loja&lt;br /&gt;$game_system.se_play($data_system.save_se) #salvar&lt;br /&gt;$game_system.se_play($data_system.load_se) #carregar jogo&lt;br /&gt;$game_system.se_play($data_system.battle_start_se) #início da batalha&lt;br /&gt;$game_system.se_play($data_system.escape_se) #fuga&lt;br /&gt;$game_system.se_play($data_system.actor_collapse_se) #morte do personagem&lt;br /&gt;$game_system.se_play($data_system.enemy_collapse_se) #morte do inimigo&lt;br /&gt;$game_system.bgm_play($game_map.bgm) #bgm do mapa&lt;br /&gt;$game_system.bgs_play($game_map.bgs)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Qualquer Som&lt;/b&gt;&lt;br /&gt;Para tocar qualquer som, basta usar os commandos:&lt;br /&gt;BGM: Audio.bgm_play("Audio/BGM/" + “nome da música”, volume, velocidade)&lt;br /&gt;BGS: Audio.bgs_play("Audio/BGS/" + “nome da música”, volume, velocidade)&lt;br /&gt;ME:  Audio.me_play("Audio/ME/" + “nome da música”, volume, velocidade)&lt;br /&gt;SE: Audio.se_play("Audio/SE/" + “nome da música”, volume, velocidade)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Comandos Extras&lt;/b&gt;&lt;br /&gt;$game_system. bgm_stop #para o bgm que esta tocando&lt;br /&gt;$game_system. bgm_fade(&lt;tempo&gt;) #para dar o efeito de fade ao bgm&lt;br /&gt;$game_system. bgm_memorize #memoriza o bgm que esta tocando&lt;br /&gt;$game_system. bgm_restore #toca o bgm que foi memorizado&lt;br /&gt;$game_system. bgs_fade(time)&lt;br /&gt;$game_system. bgs_memorize&lt;br /&gt;$game_system. bgs_restore&lt;br /&gt;$game_system. se_stop&lt;br /&gt;$game_system. playing_bgm #retorna o bgm que esta sendo tocado&lt;br /&gt;$game_system. playing_bgs&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Mais dados da Game_System&lt;/b&gt;&lt;br /&gt;Você também pode alterar a windowskin na Game_System:&lt;br /&gt;$game_system. windowskin_name = “nome da imagem” (se você não colocar o =, ela retorna o nome da windowskin atual)&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Game_Screen&lt;/b&gt;&lt;br /&gt;Para alterar o clima via script, basta seguir o modelo do script Advanced Weather System, use o comando:&lt;br /&gt;$game_screen.weather(&lt;tipo&gt;, &lt;força&gt;, &lt;tempo&gt;)&lt;br /&gt;Tipos: 0: nada, 1: chuva, 2: neve, 3: tempestade&lt;br /&gt;Força: um número, creio que pode colocar até 100&lt;br /&gt;Tempo: quanto tempo vai demorar para o efeito chegar em seu poder máximo&lt;br /&gt;&lt;br /&gt;Para mudar a cor da tela, use o comando&lt;br /&gt;$game_screen.start_tone_change(RR,GG,BB,T)&lt;br /&gt;RR: vermelho (0-255)&lt;br /&gt;GG: verde (0-255)&lt;br /&gt;BB: azul (0-255)&lt;br /&gt;T: tempo (em frames)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Para descobrir mais comandos é só olhar nos scripts, tudo o que eu postem, copiei deles &lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-8256575124966760119?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/8256575124966760119/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-13-trabalhando-com-mapas-parte-1.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/8256575124966760119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/8256575124966760119'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-13-trabalhando-com-mapas-parte-1.html' title='Aula 13: Trabalhando com Mapas Parte 1'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-6960133069678181944</id><published>2009-01-24T14:56:00.001-08:00</published><updated>2009-01-24T14:56:50.946-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas Básicas'/><title type='text'>Aula 12: Criando uma HUD Parte 2</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img364.imageshack.us/img364/9183/aula12ru5.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Introdução&lt;/b&gt;&lt;br /&gt;Para não perder-mos tempo, vamos dar continuidade a nossa hud. Não siga essa aula antes de terminar a hud que eu pedi na aula anterior, pois se não fizer, não vai adiantar esses comandos^^.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;O Refresh&lt;/b&gt;&lt;br /&gt;Com a sua hud terminada, basta agora inserir-mos o que ela vai mostrar! (ps.: hoje vamos usar o a.to_s denovo! Só que sem o p - nada de patos pra vcs) Vou ir listando os comandos e mostrando como usá-los...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;self.contents.clear&lt;/b&gt;&lt;br /&gt;Método básico, ele limpa o bitmap antes de desenhar os conteúdos dentro, sempre coloque como 1º comando do seu método refresh&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;self.contents.draw_text( x, y, width, height, "text", alinhamento)&lt;/b&gt;&lt;br /&gt;Comando para se desenhar textos na tela, use-o e abuse-o. As primeiras quatro variáveis definem a posição largura e altura máximos que o texto irá ocupar. "test" é o texto, esse texto precisa ser nescessariamente uma String, sendo assim, você terá que usar o método .to_s para poder mostrar números na tela. O alinhamento pode ser 0 para normal(esquerda), 1 para centralizar e 2 para direita.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;Obs.: Para mostrar por exemplo o level do personagem, você pode usar:&lt;br /&gt;self.contents.draw_text( x, y, width, height, "Level " + $game_party.actors[0].level.to_s, alinhamento)&lt;br /&gt;Note que entre o texto "Level " e a variável $game_party.actors[0].level.to_s existe um sinal de +, esse "+" é diferente do sinal de soma, ele é um concatenador.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Concatenar:&lt;/b&gt; é unir diferentes Strings para mostrar na tela ou para editar o valor de uma String, use o + para concatenar diferentes textos, como no exemplo, "Level " e $game_party.actors[0].level.to_s. Ao se concatenar duas Strings não é gerado nenhum espaço automático e por isso a  String "Level " possui um espaço depois da palavra.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;self.contents.blt(x, y, bitmap, Rect.new(x1, y1, width, height), opacidade)&lt;/b&gt;&lt;br /&gt;Esse é ocomando para mostrar imagens em um bitmap, substitua x e y pelas posições do objeto na tela, bitmap é a imagem, mas não o nome, você tem que passar um objeto da classe RPG.Cache. Após isso você tem que estabelecer um objeto da classe Rect, esse objeto é que vai delimitar a imagem, ele é uma caixa, em geral usa-se como x1 e y1 o valor 0, pois x1 e y1 não são valores com referência à janela e sim as posições x e y usadas. Assim sendo, se você usar self.contents.blt(15, 25, bitmap, Rect.new(0, 1, width, height), 255) a imagem ira ser mostrada na posição 15 26 pois 15 e 25 são as posições definidas para o objeto, como você puxou o Rect para baixo colocando nele o número 1 na posição y, a imagem irá se deslocar para baixo, por isso o padrão que se usar é:&lt;br /&gt;self.contents.blt(x, y, bitmap, Rect.new(0, 0, largura da imagem, altura da imagem), 255)&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Definindo o bitmap:&lt;/b&gt;&lt;br /&gt;No comando acima vimos que há um objeto bitmap, esse objeto precisa ser definido, vamos aos meios:&lt;br /&gt;bitmap = RPG::Cache.icon("nome do icone")&lt;br /&gt;bitmap = RPG::Cache.title("nome do title")&lt;br /&gt;bitmap = RPG::Cache.picture("nome da picture")&lt;br /&gt;...&lt;br /&gt;Basicamente cada pasta que esta dentro de Graphics possui um respectivo RPG::Cache, mas fique atento, algumas usam mais parâmetros que o nome da imagem, um fog possui também a hue ficando RPG::Cache.fog("nome do fog", &lt;valor&gt;)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Resumindo&lt;/b&gt;&lt;br /&gt;Para mostrar uma imagem na tela use 2 linhas, uma estabeleça o bitmap e depois use o blt, veja um exemplo:&lt;br /&gt;    bitmap = RPG::Cache.icon(item.icon_name)&lt;br /&gt;    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), 255)&lt;br /&gt;Esse comando é o utilizado na classe Window_Item, ele serve para mostrar os ícones dos ítens ao lado do nome.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img258.imageshack.us/img258/5819/homeworkjb8.png" alt="" class="bbc_img" /&gt;&lt;b&gt;SEU DESAFIO&lt;/b&gt;&lt;br /&gt;Utilize todos os conhecimentos ja obtidos para criar uma HUD, nela deve mostrar:&lt;br /&gt;[&lt;nome&gt;]&lt;br /&gt;Level: &lt;nível&gt;&lt;br /&gt;HP: &lt;hp&gt;/&lt;maxhp&gt;&lt;br /&gt;SP: &lt;sp&gt;/&lt;maxsp&gt;&lt;br /&gt;EXP: &lt;exp_s&gt;/&lt;next_exp_s&gt;&lt;br /&gt;Sua hud deverá ter a janela transparente e deverá ter uma imagem no fundo.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Antes de acabar&lt;/b&gt;&lt;br /&gt;Vamos aprender sobre os loops&lt;br /&gt;Loops são ciclos, são comandos que servem para executar uma série de comandos repetidamente até que se use um comando break ou que o ciclo termine.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;for&lt;/b&gt;&lt;br /&gt;Esse comando é um tipo de ciclo, ele é usado para verificar arrays e é de simples uso, vamos a um exemplo:&lt;br /&gt;for i in 0..$game_variables.size #uso padrão: for i (da pra usar qualquer coisa no lugar do i) in a..b(inicio e fim do for)&lt;br /&gt;  $game_variables&lt;i&gt; = rand(450) #executa o comando com cada uma das variáveis&lt;br /&gt;end #encerra o for&lt;br /&gt;É como se eu estabelecesse que de 0 a $game_variables.size (size = tamanho máximo) eu iria executar aquele comando para cada número, 0, 1, 2, 3... Você pode usar o comando next para pular algum elemento&lt;br /&gt;for i in 0..$game_variables.size&lt;br /&gt;  next if $game_variables&lt;i&gt; == 0 #pula a variável se ela for 0&lt;br /&gt;  $game_variables&lt;i&gt; = rand(450)&lt;br /&gt;end&lt;br /&gt;&lt;/i&gt;&lt;/i&gt;&lt;/i&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;loop do&lt;/b&gt;&lt;br /&gt;Esse nós ja estudamos nas scenes, ele serve para ficar executando uma série de comandos infinitamente até que se use um break, para relembrar, um exemplo:&lt;br /&gt;Loop da classe Scene_Map&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;    loop do&lt;br /&gt;      # Atualizar tela de jogo&lt;br /&gt;      Graphics.update&lt;br /&gt;      # Atualizar a entrada de informações&lt;br /&gt;      Input.update&lt;br /&gt;      # Atualizar Frame&lt;br /&gt;      update&lt;br /&gt;      # Abortar loop se a tela foi alterada&lt;br /&gt;      if $scene != self&lt;br /&gt;        break&lt;br /&gt;      end&lt;br /&gt;    end&lt;br /&gt;&lt;/code&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;while&lt;/b&gt;&lt;br /&gt;Esse comando não é muito utilizado, mas é muito útil, ele serve como um loop, mas sem precisar de um break, um wuile fica executando seus comandos até que a sua condição de existência não exista mais, exemplo:&lt;br /&gt;while x != 2&lt;br /&gt;  x = rand (10)&lt;br /&gt;end&lt;br /&gt;Ou seja, enquanto x for diferente de 2, ele vai ficar fazendo x = rand(10), quando x assumir o valor 2 ele sai do while&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-6960133069678181944?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/6960133069678181944/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-12-criando-uma-hud-parte-2.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/6960133069678181944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/6960133069678181944'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-12-criando-uma-hud-parte-2.html' title='Aula 12: Criando uma HUD Parte 2'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-5881782139110353374</id><published>2009-01-24T14:55:00.001-08:00</published><updated>2009-01-24T14:55:59.860-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas Básicas'/><title type='text'>Aula 11: Criando uma HUD Parte 1</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img223.imageshack.us/img223/1977/aula11ro3.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;Introdução&lt;br /&gt;Seguindo nosso curso, iremos hoje entrar na reta final da 1ª parte de nossas aulas. Iremos hoje aprender a criar uma HUD, será uma aula prática, mas carregada de conceitos teóricos muico importantes, por isso, prestem atenção aos detalhes e divirtão-se criando as HUDs de vocês!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;ALIAS&lt;br /&gt;Aliás, precisamos conhecer o comando alias! Você ja deve ter visto esse comando em algum script, ele é muito comum e útil! A serventia dele é simples, injetar mais comandos em um método.&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;O que seria isso?&lt;br /&gt;Você ja estudou na aula de scenes que é nescessário um loop para se atualizar constantemente os objetos de uma scene, além disso é preciso instanciar os objetos na scene para poder utilizá-los. Como iremos fazer uma HUD, nossa scene é a Scene_Map, ou seja, é uma scene que ja existe, ficaria muito complicado reescrevê-la por completo só para adicionar os comandos da HUD nela, por isso utilizamos o alias para tal fim.&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;Como usar?&lt;br /&gt;Basta dentro de uma classe colocar o comando seguindo o modelo: alias nome_do_alias nome_do_método, sendo alias a declaração de um alias, nome_do_alias o nome que daremos a esse alias e nome_do_método o nome do método que vamos editar.&lt;br /&gt;Como utilizaremos ele em nossa hud, vamos mostrar um exemplo para o Scene_Map&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;class Scene_Map #abre-se a classe que vamos editar&lt;br /&gt;  alias test_update update #criamos o comando do alias&lt;br /&gt;  def update #abrimos o método&lt;br /&gt;    #Injetamos um código qualquer&lt;br /&gt;    if Input.trigger?(Input::C)&lt;br /&gt;      $scene = nil&lt;br /&gt;    end&lt;br /&gt;    test_update #vou explicar isso logo abaixo&lt;br /&gt;  end #fechamento do método&lt;br /&gt;end #fechamento da classe&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Note que no fim do método eu usei o nome do alias que eu chamei de test_update, mas por que usar isso? Como você ja sabe, estamos injetando comandos no método update da classe Scene_Map, com isso não estamos reescrevendo e sim adicionando, ai pergunte-se, como o interpretador vai saber se os códigos que estou inserindo devem ficar no fim ou no início do bloco de comandos??? Simples, é só colocar o nome do alias dentro do método que você esta editando. Colocar o nome do alias é como mandar o interpretador executar o método original.&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;Possibilidades de uso.&lt;br /&gt;Veja o exemplo abaixo, esse método foi retirado da classe Game_Actor do script de multi-slot do Guillaume777&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;alias g7_ms_game_actor_equip equip&lt;br /&gt; def equip(equip_type, id)&lt;br /&gt;    if @equip_type_force != nil then equip_type = @equip_type_force end&lt;br /&gt;      #equip_type_force is used to bypass the&lt;br /&gt;      #equip_type argument               &lt;br /&gt;    if self.equip_mode == 'STORE' then&lt;br /&gt;    #store equipment for it to be restored after checking what the stats would &lt;br /&gt;        self.equip_mode = nil&lt;br /&gt;        @stored_armors = self.armor_ids.dup&lt;br /&gt;        @stored_weapons = self.weapon_ids.dup&lt;br /&gt;        saved_mode = 'STORE'&lt;br /&gt;    elsif self.equip_mode == 'RESTORE'&lt;br /&gt;        #restore equipment after preview of new equipment on stats&lt;br /&gt;        self.equip_mode = nil&lt;br /&gt;        self.restore(equip_type)&lt;br /&gt;        return&lt;br /&gt;    else #if equipping for real&lt;br /&gt;        if self.enough_hands?(equip_type,id) != false then&lt;br /&gt;         id = self.switch_items(equip_type,id) #switch item to be equiped to&lt;br /&gt;         #fool players&lt;br /&gt;        end&lt;br /&gt;    end&lt;br /&gt;    if self.enough_hands?(equip_type,id) == false then #if not enough hands&lt;br /&gt;         id = 0                                        #then don't equip&lt;br /&gt;    elsif self.equip_from_menu and self.cursed?(equip_type) then&lt;br /&gt;         id = 0         #if cursed and player tried to remove it, do nothing&lt;br /&gt;    elsif equip_type &lt;= 4 #if the slot is one of the 5 basic one&lt;br /&gt;         g7_ms_game_actor_equip(equip_type, id) #equip the good old way&lt;br /&gt;    else&lt;br /&gt;        equip_extra(equip_type,id) #equip in the new way&lt;br /&gt;    end&lt;br /&gt;  #fix in case there are no enough empty hands for all the equipped weapons&lt;br /&gt;  if id != 0 then self.fix_handed_weapons(equip_type) end&lt;br /&gt;  #this ensure that the next equiping will restore the original equipment&lt;br /&gt;  if saved_mode == 'STORE' then  self.equip_mode = 'RESTORE'  end&lt;br /&gt;  end&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Para vocês se guiarem, este é o método original para trocar equipamentos.&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;def equip(equip_type, id)&lt;br /&gt;    case equip_type&lt;br /&gt;    when 0  # Armas&lt;br /&gt;      if id == 0 or $game_party.weapon_number(id) &gt; 0&lt;br /&gt;        $game_party.gain_weapon(@weapon_id, 1)&lt;br /&gt;        @weapon_id = id&lt;br /&gt;        $game_party.lose_weapon(id, 1)&lt;br /&gt;      end&lt;br /&gt;    when 1  # Escudo&lt;br /&gt;      if id == 0 or $game_party.armor_number(id) &gt; 0&lt;br /&gt;        update_auto_state($data_armors[@armor1_id], $data_armors[id])&lt;br /&gt;        $game_party.gain_armor(@armor1_id, 1)&lt;br /&gt;        @armor1_id = id&lt;br /&gt;        $game_party.lose_armor(id, 1)&lt;br /&gt;      end&lt;br /&gt;    when 2  # Elmo&lt;br /&gt;      if id == 0 or $game_party.armor_number(id) &gt; 0&lt;br /&gt;        update_auto_state($data_armors[@armor2_id], $data_armors[id])&lt;br /&gt;        $game_party.gain_armor(@armor2_id, 1)&lt;br /&gt;        @armor2_id = id&lt;br /&gt;        $game_party.lose_armor(id, 1)&lt;br /&gt;      end&lt;br /&gt;    when 3  # Armadura&lt;br /&gt;      if id == 0 or $game_party.armor_number(id) &gt; 0&lt;br /&gt;        update_auto_state($data_armors[@armor3_id], $data_armors[id])&lt;br /&gt;        $game_party.gain_armor(@armor3_id, 1)&lt;br /&gt;        @armor3_id = id&lt;br /&gt;        $game_party.lose_armor(id, 1)&lt;br /&gt;      end&lt;br /&gt;    when 4  # Acessório&lt;br /&gt;      if id == 0 or $game_party.armor_number(id) &gt; 0&lt;br /&gt;        update_auto_state($data_armors[@armor4_id], $data_armors[id])&lt;br /&gt;        $game_party.gain_armor(@armor4_id, 1)&lt;br /&gt;        @armor4_id = id&lt;br /&gt;        $game_party.lose_armor(id, 1)&lt;br /&gt;      end&lt;br /&gt;    end&lt;br /&gt;  end&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Note que o Guillaume777 teve a brilhante idéia de não reescrever o método e sim utilizar um alias! Mas onde ele executa o método original? Se você procurar com atenção, vai encontrar isso:&lt;br /&gt;elsif equip_type &lt;= 4 #if the slot is one of the 5 basic one&lt;br /&gt;    g7_ms_game_actor_equip(equip_type, id) #equip the good old way&lt;br /&gt;else&lt;br /&gt;Ou seja, o método original ficou embutido dentro daquele método monstruoso que ele criou, essa imagem vai simplificar o funcionamento desse tipo de função caso você ainda não tenha compreendido:&lt;br /&gt;&lt;a href="http://img353.imageshack.us/my.php?image=aula11imagemjm7.png" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img353.imageshack.us/img353/6608/aula11imagemjm7.th.png" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;Resumindo: quando aquela condição for verdadeira, ele vai executar o método de equipamento original.&lt;br /&gt;Com isso eu quero mostrar a vocês que os comandos originais podem ser usados em qualquer parte do alias, tudo depende da sua nescessidade. Note também que quando o método a ser editado possui parâmetros, esses parâmetros precisam aparecer ao se executar o método original e você precisa coloc-alos com os mesmos nomes.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;JANELAS&lt;br /&gt;Agora vamos ao que nos interessa! Basicamente uma janela é um objeto que herda as funções de janela e os métodos básicos da classe Window, além disso ela herda mais métodos da classe Window_Base(opcional, mas recomendado). Uma window possui um bitmap dentro de si, esse bitmap é que vai controlar o conteúdo da janela, é nele que desenhamos tudo o que queremos.&lt;br /&gt;Criando uma janela:&lt;br /&gt;É bem simples, vamos começar pelo nome da classe, como precisamos do modelo de herança, vamos cuidar essa parte:&lt;br /&gt;class Window_Hud &lt;&gt;, depois usamos a herança "&lt;" e colocamos a classe que se vai herdar, Window_Base. Se você for até essa classe, vai ver que ela herda elementos da classe Window e por isso ja vêm tudo imbutido: (avô(Window) &gt; pai(Window_Base) &gt; filha(Window_Hud)&lt;br /&gt;Dentro da classe, precisamos de um construtor do tipo initialize e nele estabelecemos as propriedades de uma janela, vamos a um modelo:&lt;br /&gt;class Window_Hud&lt;br /&gt;  def initialize&lt;br /&gt;    super( 0, 0, 200,  300)&lt;br /&gt;    self.contents = Bitmap.new(width - 32, height - 32)&lt;br /&gt;    &lt;blocos&gt;&lt;br /&gt;    refresh&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;Óbviamente falta o método refresh, mas isso é para a próxima aula.&lt;br /&gt;Vamos entender o que ja foi mostrado:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;super( 0, 0, 200,  300)&lt;br /&gt;Esse comando vai especificar a posição e o tamanho da janela, sempre no modelo: super(posição x, posição y, largura, altura)&lt;br /&gt;Em geral usamos altura e largura em inglês ficando:&lt;br /&gt;width &gt; largura&lt;br /&gt;height &gt; altura&lt;br /&gt;Acostumem-se com os termos!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;self.contents = Bitmap.new(width - 32, height - 32)&lt;br /&gt;Esse é o comando que cria o bitmap dentro da janela, é um comando padrão e não deve ser alterado (claro que se quiser né). Esse comando cria uma instância da classe Bitmap passando por parâmetro a largura - 32 e a altura-32. Isso significa que a área "desenhável" da janela é um quadrado interno com bordas laterais de 16 píxels. Essas bordas são nescessárias &lt;img src="http://jrpg.sytes.net/forum/Smileys/default/FELIZ.png" alt="^^" title="Feliz" class="smiley" border="0" /&gt;.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;&lt;blocos&gt;&lt;br /&gt;São comandos especiais que você pode definir, eles são muito importantes e úteis, mas nem sempre nescessários, vou listar alguns:&lt;br /&gt;self.opacity = &lt;valor&gt; #opacidade da janela&lt;br /&gt;self.contents_opacity = &lt;valor&gt; #opacidade do conteúdo, isso deixa só o que for desenhado transparente&lt;br /&gt;self.back_opacity =  &lt;valor&gt; #opacidade só do fundo deixando as bordas e o conteúdo visíveis&lt;br /&gt;self.z = &lt;qualquer&gt; #altera a posição z da janela, isso vai definir qual janela vai ficar na frente das outras&lt;br /&gt;self.contents.font.name = &lt;nome&gt; #esse comando define qual a fonte inicial dos textos da janela&lt;br /&gt;self.contents.font.size = &lt;tamanho&gt; #tamanho inicial dos textos da janela.&lt;br /&gt;self.windowskin = RPG::Cache.windowskin("nome da skin") #para alterar a windowskin (usar uma que não seja padrão)&lt;br /&gt;&lt;br /&gt;Além desses comandos, você pode alterar mais alguns dados, em geral os comandos abaio são utilizados apenas no método refresh&lt;br /&gt;self.x = &lt;valor&gt; #muda a posição x da janela&lt;br /&gt;self.y = &lt;valor&gt; #muda a posição y&lt;br /&gt;self.width = width #muda a largura da janela&lt;br /&gt;self.height = height #muda a altura&lt;br /&gt;self.visible = &lt;balor&gt; #ativa ou não a visibilidade da janela&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;Obs.: Todas essas variáveis são attr_accessor podendo ser modificadas na scene que se esta usando a janela.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;refresh&lt;br /&gt;Esse é o método principal da janela, é nele que você irá colocar o que estará desenhado nela, mas isso é para a próxima aula&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img258.imageshack.us/img258/5819/homeworkjb8.png" alt="" class="bbc_img" /&gt;SEU DESAFIO&lt;br /&gt;Para a próxima aula você precisa ter sua HUD funcionando! Crie uma classe Window_Hud com o método initialize pronto, crie o método refresh, mas deixe-o em branco:&lt;br /&gt;def refresh&lt;br /&gt;&lt;br /&gt;end&lt;br /&gt;Após criar a janela, use os métodos alias e estabeleça dentro da Scene_Map uma instância da janela, ela deve ser um atributo (variável com @) para poder ser utilizada dentro da classe.&lt;br /&gt;Você vai precisar usar 2 alias&lt;br /&gt;1º deve modificar o método main, nele você vai criar o objeto @hud (exemplo), do mesmo modo que sempre faz, @hud = Window_Hud.new, nesse mesmo alias você tem que usar o método dispose da hud (ele vem pronto por causa das heranças) que é @hud.dispose, o problema nesse alias é que a ordem dos comandos (incluindo o comando que ativa o método original) dependem muito, se não colocar da forma certa vai dar erro. O 2º alias é no método update, nele vai chamar o método refresh da hud (para atualizá-la) @hud.refresh.&lt;br /&gt;Obs.: usa-se o dispose em todos os bitmaps e sprites pois se não usar, quando você muda de scene os objetos ficam na tela e ai fica um horror&lt;br /&gt;Obs.: o método refresh da janela estará vazio e por isso ela vai ficar em branco.&lt;br /&gt;&lt;br /&gt;Não importa a posição que você fizer, mas sua janela deve aparecer na tela e não deve dar nenhum erro no jogo! Até a próxima aula para continuar-mos com noss HUD!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-5881782139110353374?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/5881782139110353374/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-11-criando-uma-hud-parte-1.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/5881782139110353374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/5881782139110353374'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-11-criando-uma-hud-parte-1.html' title='Aula 11: Criando uma HUD Parte 1'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-2138278715824886762</id><published>2009-01-24T14:53:00.000-08:00</published><updated>2009-01-24T14:54:43.097-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas Básicas'/><title type='text'>Aula 10: Complementos</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img517.imageshack.us/img517/1590/aulas10rw9.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Introdução&lt;/b&gt;&lt;br /&gt;Após todo esse “jejum” sem aulas, eu tenho na minha cabeça conteúdo para mais aulas! Então, sem perder tempo, vamos começar a estudar. Para hoje eu preparei uma aula diferente, alguns dos comandos que vou apresentar não são conhecidos por muita gente, outros, os scripters estão carecas de saber. Para iniciar, um conteúdo básico.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Herança&lt;/b&gt;&lt;br /&gt;Até agora, todas as nossas classes foram criadas no modo:&lt;br /&gt;class &lt;nome&gt;&lt;br /&gt;Se você olhar pelos scripts do rmxp, vai notar que em alguns pontos você vai encontrar isso:&lt;br /&gt;class &lt;nome&gt; “&lt;” &lt;nome&gt;&lt;br /&gt;Isso é o nosso recurso dessa 1ª parte da aula, em várias linguagens, para não dizer todas, as linguagens orientadas a objetos, é possível se utilizar das heranças para economizar tempo e linhas de programação.&lt;br /&gt;Qual o objetivo? O objetivo de utilizar essa ferramenta é injetar dentro de uma classe os métodos de outra, vamos a um exemplo prático:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;###################&lt;br /&gt;# Lampada Base    #&lt;br /&gt;###################&lt;br /&gt;class Lampada_Base&lt;br /&gt;  #Construtor&lt;br /&gt;  def initialize&lt;br /&gt;    @estado = false&lt;br /&gt;  end&lt;br /&gt;  #Acender&lt;br /&gt;  def acender&lt;br /&gt;    @estado = true&lt;br /&gt;  end&lt;br /&gt;  #Apagar&lt;br /&gt;  def desligar&lt;br /&gt;    @estado = false&lt;br /&gt;  end&lt;br /&gt;  #Esta ligada?&lt;br /&gt;  def esta_ligada?&lt;br /&gt;    return true if @estado&lt;br /&gt;    return false&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Acho que no nível em que vocês estão já conseguem perceber como essa classe funciona certo? O atributo @estado é que determina se a lâmpada está ou não ligada, como da pra ver, @estado é um objeto do tipo booleano, só assume então, true ou false.&lt;br /&gt;Vejamos agora outro exemplo:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;class Lampada_Dimmer&lt;br /&gt;  #Construtor&lt;br /&gt;  def initialize&lt;br /&gt;    @estado = false&lt;br /&gt;    @nivel = 0&lt;br /&gt;  end&lt;br /&gt;  #Acender&lt;br /&gt;  def acender&lt;br /&gt;    @estado = true&lt;br /&gt;  end&lt;br /&gt;  #Apagar&lt;br /&gt;  def desligar&lt;br /&gt;    @estado = false&lt;br /&gt;  end&lt;br /&gt;  #Aumentar Intensidade&lt;br /&gt;  def aumentar_intensidade&lt;br /&gt;    @nivel += 1 if @nivel &lt; 10&lt;br /&gt;  end&lt;br /&gt;  #Diminuir Intensidade&lt;br /&gt;  def diminuir_intensidade&lt;br /&gt;    @nivel -= 1 if @nivel &lt; 10&lt;br /&gt;  end&lt;br /&gt;  #Esta ligada?&lt;br /&gt;  def esta_ligada?&lt;br /&gt;    return true if @estado&lt;br /&gt;    return false&lt;br /&gt;  end&lt;br /&gt;  #qual a intensidade?&lt;br /&gt;  def intensidade&lt;br /&gt;    return @nivel&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;O que eu quero mostrar aqui é, veja que as duas classes são muito parecidas, em ambas eu usei o atributo @estado, a diferença é que a 1ª lâmpada é mais simples, só acende e apaga e a 2ª ainda pode aumentar e diminuir o nível, mas ambas tem métodos iguais. Assim então eu posso utilizar o modelo de herança na classe mais complexa e assim a classe Lampada_Dimmer fica:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;class Lampada_Dimmer &lt; Lampada_Base&lt;br /&gt;  #Construtor&lt;br /&gt;  def initialize&lt;br /&gt;    @estado = false&lt;br /&gt;    @nivel = 0&lt;br /&gt;  end&lt;br /&gt;  #Aumentar Intensidade&lt;br /&gt;  def aumentar_intensidade&lt;br /&gt;    @nivel += 1 if @nivel &lt; 10&lt;br /&gt;  end&lt;br /&gt;  #Diminuir Intensidade&lt;br /&gt;  def diminuir_intensidade&lt;br /&gt;    @nivel -= 1 if @nivel &lt; 10&lt;br /&gt;  end&lt;br /&gt;  #qual a intensidade?&lt;br /&gt;  def intensidade&lt;br /&gt;    return @nivel&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Note que todos os métodos que as classes tinham em comum foram retirados, o único que ficou foi o construtor que eu adicionei uma nova informação. Nesses casos dizemos que a classe Lampada_Dimmer é filha da classe Lampada_Base. Teste por você mesmo, faça um evento no seu mapa e em chamar script, coloque:&lt;br /&gt;lampada = Lampada_Dimmer.new&lt;br /&gt;lampada.acender&lt;br /&gt;p lampada.esta_ligada?&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;Note que estou usando métodos que nós retiramos da classe Lampada_Dimmer, o que aconteceu é que nós injetamos nela todos os métodos da classe que é “pai dela” e por isso eles estão la, mesmo sem nós os digitarmos!&lt;br /&gt;Para usar esse recurso, lembre-se que o nome dos atributos tem que ser iguais!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Permissões&lt;/b&gt;&lt;br /&gt;Este conteúdo é mais para fins de curiosidade.&lt;br /&gt;Quando eu comecei a estudar Java, percebi que tinha uma coisa um tanto básica que não estava visível no rgss, por isso eu corri atrás e descobri como usar, porém nossos scripts são de código aberto e por isso não precisamos desse recurso, mas aprendê-lo não tira pedaço.&lt;br /&gt;O que é isso? Um dos recursos da programação orientada a objetos é o poder de limitar o uso de métodos e atributos em outras classes, ou seja, eu posso proibir que um método seja alterado em outra classe!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;Como usar? Basicamente são 3 comandos: public, private e protected.&lt;br /&gt;&gt;public: esse modo é o utilizado em todos os métodos por “default”(padrão), significa que qualquer classe pode utilizar ele.&lt;br /&gt;&gt;private: esse modo serve para bloquear um método de ser utilizado em outras classes, sendo assim, ele só pode ser usado na própria classe que foi criado.&lt;br /&gt;&gt;protected: é como o private, porém, todas as classes “filhas” daquela, podem utilizar o método em questão.&lt;br /&gt;Para usar esses comandos, basta colocálos por blocos, ou seja, quando você escrever public, todos os métodos abaixo dele serão búblicos até que um novo nome seja colocado, vamos a um exemplo:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;class Lampada_Base&lt;br /&gt;  #Construtor&lt;br /&gt;  public&lt;br /&gt;  def initialize&lt;br /&gt;    @estado = false&lt;br /&gt;  end&lt;br /&gt;  protected&lt;br /&gt;  #Acender&lt;br /&gt;  def acender&lt;br /&gt;    @estado = true&lt;br /&gt;  end&lt;br /&gt;  #Apagar&lt;br /&gt;  def desligar&lt;br /&gt;    @estado = false&lt;br /&gt;  end&lt;br /&gt;  private&lt;br /&gt;  #Esta ligada?&lt;br /&gt;  def esta_ligada?&lt;br /&gt;    return true if @estado&lt;br /&gt;    return false&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Nossa classe Lampada_Base recebeu agora os nossos atributos, do modo que eu classifiquei os métodos temos:&lt;br /&gt;initialize &gt; public&lt;br /&gt;acender &gt; protected&lt;br /&gt;desligar &gt; protected&lt;br /&gt;esta_ligada? &gt; private&lt;br /&gt;Seguindo essa lógica, você poderá criar uma lâmpada usando o Lampada_Base.new pois o initialize é publico (coloquei público o construtor, porém, os construtores devem ser deixados públicos, ou você não poderá criar instâncias da classe)&lt;br /&gt;Os métodos para acender e desligar ficaram do tipo protected e assim, eu não posso usar La no meu mapa o comando:&lt;br /&gt;lampada = Lampada_Base.new&lt;br /&gt;lampada.acender&lt;br /&gt;Se fizer isso vai gerar um erro. Porém, se você rodar a classe Lampada_Dimmer e tentar usar o método dentro dela vai conseguir, mas não conseguirá isso também.&lt;br /&gt;lampada = Lampada_Dimmer.new&lt;br /&gt;lampada.acender&lt;br /&gt;Já com o método esta_ligada?, ele só pode ser usado dentro da classe Lampada_Base&lt;br /&gt;&lt;br /&gt;Você também pode estabelecer métodos públicos, privados e protegidos declarando eles no fim da classe, ou seja:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;class Lampada_Base&lt;br /&gt;  #Construtor&lt;br /&gt;  def initialize&lt;br /&gt;    @estado = false&lt;br /&gt;  end&lt;br /&gt;  #Acender&lt;br /&gt;  def acender&lt;br /&gt;    @estado = true&lt;br /&gt;  end&lt;br /&gt;  #Apagar&lt;br /&gt;  def desligar&lt;br /&gt;    @estado = false&lt;br /&gt;  end&lt;br /&gt;  #Esta ligada?&lt;br /&gt;  def esta_ligada?&lt;br /&gt;    return true if @estado&lt;br /&gt;    return false&lt;br /&gt;  end&lt;br /&gt;  public :initialize&lt;br /&gt;  protected :acender, :desligar&lt;br /&gt;  private :esta_ligada?&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;O XOR&lt;/b&gt;&lt;br /&gt;Xor é um operador lógico como o or e o and, eu só uso esse comando em Java e não consegui usá-lo escrevendo xor, mas você pode usá-lo simbolicamente com um ^. Ele é um "ou" exclusivo, ou seja, para que seja verdadeira a proposição, você precisa que uma e apenas uma das premissas estejam válidas, exemplos..:&lt;br /&gt;true or false é true&lt;br /&gt;false or false é false&lt;br /&gt;true or true é true&lt;br /&gt;&lt;br /&gt;Agora usando o xor&lt;br /&gt;true ^true é false&lt;br /&gt;false ^false é false&lt;br /&gt;true ^false é true&lt;br /&gt;&lt;br /&gt;Basicamente, quando você usa “if a || b”, quer dizer, se a for verdade ou b for verdade faça o que tem a seguir, no xor fica, “if a ^b”, que equivale dizer: se, ou a for verdade, ou b for verdade, faça... Entenderam???&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;O then&lt;/b&gt;&lt;br /&gt;Este comando serve para economizar linhas do script, veja o código abaixo.&lt;br /&gt;if 1 + 1 == 2&lt;br /&gt;  p “eu sei somar!”&lt;br /&gt;end&lt;br /&gt;Idiota né, mas vamos la, a condição diz que se 1 + 1 for 2 então mostra na tela “eu sei somar!”. Sempre que você quiser fazer apenas uma coisa dentro da condição, ou seja, eu só quero mostrar uma mensagem e mais nada, você pode escrever isso tudo em uma linha, desse jeito:&lt;br /&gt;if 1 + 1 == 2 then  p“eu sei somar!” end&lt;br /&gt;Note que eu liguei a condição ao comando com o then e por fim, finalizei com o end. É um comando simples, mas bem interessante. Lembrando que esse código pode ser escrito da forma:&lt;br /&gt;p“eu sei somar!” if 1 + 1 == 2&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;O hash&lt;/b&gt;&lt;br /&gt;Hash é como um array, só que mais bem elaborado. Ele funciona como um banco de dados, associando um dado a outro. Criar um hash é como criar um array, mas ao invés de usar [], você usa {}, a diferença maior é que em um array você tem posições e a cada posição tem um dado, no hash você coloca o dado e a posição.&lt;br /&gt;&lt;br /&gt;Comparando&lt;br /&gt;No array:&lt;br /&gt;lista = []&lt;br /&gt;lista[0] = 6&lt;br /&gt;lista[10] = 2&lt;br /&gt;p lista #vai imprimir na tela: [6,nil,nil,nil,nil,nil,nil,nil,nil,nil,2]&lt;br /&gt;&lt;br /&gt;No hash&lt;br /&gt;lista = {}&lt;br /&gt;lista[0] = 6&lt;br /&gt;lista[10] = 2&lt;br /&gt;p lista #vai imprimir na tela: {0=&gt;6,10=&gt;2}&lt;br /&gt;&lt;br /&gt;As diferenças não param por ai, em um hash, você pode associar strings como posição!&lt;br /&gt;lista = {}&lt;br /&gt;lista[0] = 6&lt;br /&gt;lista[10] = 2&lt;br /&gt;lista[“ola”] = 45&lt;br /&gt;Você pode associar até uma classe!&lt;br /&gt;lista[Scene_Map] = “q legal isso!”&lt;br /&gt;&lt;br /&gt;Basicamente, você pode colocar qualquer coisa dentro de um hash e para acessar os dados, use exatamente como em uma array, coloque o nome do objeto, seguido de um [], dentro do [] coloque o endereço do dado dentro do hash (pode ser qualquer coisa e não só números como no array). Você pode criar um array e colocar dados da forma: {endereço=&gt;valor,endereço=&gt;valor,...} ou também: {endereço1, valor1, endereço2, valor2}. Essa é uma bela ferramenta que vocês podem usar e abusar!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-2138278715824886762?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/2138278715824886762/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-10-complementos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/2138278715824886762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/2138278715824886762'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-10-complementos.html' title='Aula 10: Complementos'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-863314866948143076</id><published>2009-01-24T12:34:00.000-08:00</published><updated>2009-01-24T12:35:32.016-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas Básicas'/><title type='text'>Aula 9: Introdução ao WSW</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img145.imageshack.us/img145/7544/aula9bz8.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;Introdução&lt;br /&gt;Olá a todos! A aula 9 demorou um pouco para sair, mas valerá a pena! A prtir dessa aula, nosso conteúdo irá se fixar no RMXP como era de se esperar desde o princípio, é claro que muito do que veremos ainda seja aplicado ao RGSS2, mas não vou mais ter cuidado com esse fato. Hoje criaremos um menu em uns 10 minutos! Para tal proeza, precisaremos de uma ferramenta o Window Scene Wizard. Para facilitar, usaremos a minha versão onde eu corrigi alguns bugs. O WSW é um programa que cria scripts, você adiciona a estrutura da scene e gera o código, a partir daí, é só implementar os comandos!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img258.imageshack.us/img258/6506/dicavd3.png" alt="" class="bbc_img" /&gt;Antes de qualquer coisa, aviso a todos que forem utilizar o WSW que para que seus scripts funcionem, vocês precisam do Framework, que está no anexo&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img258.imageshack.us/img258/6506/dicavd3.png" alt="" class="bbc_img" /&gt;Você precisará também da pasta Gradientes, que está dentro da pasta pictures do WSW.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img522.imageshack.us/img522/4831/downloadak2.png" alt="" class="bbc_img" /&gt;Caso você ainda não tenha o WSW, baixe por esse link: &lt;a href="http://www.4shared.com/file/18980368/e3074768/Window_Scene_Wizard_2.html" class="bbc_link new_win" target="_blank"&gt;http://www.4shared.com/file/18980368/e3074768/Window_Scene_Wizard_2.html&lt;/a&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Aprendendo a usar o WSW&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Abra o arquivo como se você fosse jogar um jogo em rmxp (imagem 1). Após isso crie uma nova Scene. Use a Imagem 2 para se guiar!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;Background: para colocar um fundo, basta clicar em Adicionar Item e depois em Fundo, vai aparecer um pequeno quadrado vermelho com um X dentro, no canto da tela (Imagem 3). Feito isso, clique na imagem para aparecer o menu de opções para o fundo (Imagem 4). Como queremos usar o mapa como fundo, basta clicar em cima de Mostrar Mapa? e apertar para os lados, as vezes é difícil selecionar, seja persistente XD. Ja temos nosso fundo, vamos ao menu.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;Menu: nosso menu terá as mesmas opções do menu padrão do RMXP. Para adicionar um menu, vá em adicionar item e depois em Menu. Vai aparecer no canto da tela um menu com uma opção a Opção. Para mudar o nome da opção basta clicar em cima da opção, apague o conteúdo e depois escreva o nome da nova opção. Para inserir novas opções, clique com o direito no seu menu! Ao final, deve ficar como na Imagem 5.&lt;br /&gt;&lt;br /&gt;Como estamos apenas iniciando, nosso menu terá suporte a apenas 1 personagem, por isso, ele já esta pronto. Vamos agora incorporá-lo em um projeto para dar os últimos retoques. Para isso, clique em Gerar Script. Vá agora na pasta do WSW, se aparecer um arquivo de texto chamado Nova_Scene é por que está tudo OK. Feche seu WSW e abra o RMXP.&lt;br /&gt;Coloque acima do main o Framework e entre ele e o main, coloque seu script (ele está no arquivo de texto dentro da pasta do WSW). Como nosso script é um menu, renomeie o nome da classe para Scene_Menu. (pois é o Scene_Menu que vai ser acionado no Scene_Map quando apertar Esc, colocar o mesmo nome do menu padrão vai desviar todos os códigos que "chamarem" o menu, para nosso novo menu.)&lt;br /&gt;Para finalizar, vamos colocar os comandos do menu. No script procure por:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;      when 0 # Inventorio&lt;br /&gt;     &lt;br /&gt;      when 1 # Habilidades&lt;br /&gt;     &lt;br /&gt;      when 2 # Equipamentos&lt;br /&gt;     &lt;br /&gt;      when 3 # Status&lt;br /&gt;     &lt;br /&gt;      when 4 # Salvar&lt;br /&gt;     &lt;br /&gt;      when 5 # Sair&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Abaixo de cada when coloque o que aquela opção do menu fará:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;      when 0 # Inventorio&lt;br /&gt;      $scene = Scene_Item.new&lt;br /&gt;      when 1 # Habilidades&lt;br /&gt;      $scene = Scene_Skill.new&lt;br /&gt;      when 2 # Equipamentos&lt;br /&gt;      $scene = Scene_Equip.new&lt;br /&gt;      when 3 # Status&lt;br /&gt;      $scene = Scene_Status.new&lt;br /&gt;      when 4 # Salvar&lt;br /&gt;      $scene = Scene_Save.new&lt;br /&gt;      when 5 # Sair&lt;br /&gt;      $scene = Scene_End.new&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Pois bem rode o jogo e veja o resultado!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Anexos&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Imagem 1&lt;br /&gt;&lt;img src="http://img73.imageshack.us/img73/7176/imagem1gi5.jpg" alt="" class="bbc_img" /&gt;&lt;br /&gt;&lt;br /&gt;Imagem 2 (clique para ampliar)&lt;br /&gt;&lt;a href="http://img145.imageshack.us/my.php?image=imagem2ax4.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img145.imageshack.us/img145/6149/imagem2ax4.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Imagem 3 (clique para ampliar)&lt;br /&gt;&lt;a href="http://img145.imageshack.us/my.php?image=imagem3le4.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img145.imageshack.us/img145/1663/imagem3le4.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Imagem 4 (clique para ampliar)&lt;br /&gt;&lt;a href="http://img502.imageshack.us/my.php?image=imagem4lr4.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img502.imageshack.us/img502/251/imagem4lr4.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Imagem 5 (clique para ampliar)&lt;br /&gt;&lt;a href="http://img224.imageshack.us/my.php?image=imagem5vs5.jpg" class="bbc_link new_win" target="_blank"&gt;&lt;img src="http://img224.imageshack.us/img224/5317/imagem5vs5.th.jpg" alt="" class="bbc_img" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img258.imageshack.us/img258/5819/homeworkjb8.png" alt="" class="bbc_img" /&gt;Exercícios&lt;br /&gt;Usando o WSW, crie uma calculadora. No menu deve haver 4 opções para as variáveis ( somar e subtrair para cada uma), abaixo devem ficar as operações básicas, soma, subtração, multiplicação e divisão. O script deve operar as variáveis 1 e 2 da database. Ao selecionar a opção das operações, use o comando print para exibir os resultados. Seja criativo, use uma imagem de fundo, use uma windowskin bem elaborada!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img258.imageshack.us/img258/6506/dicavd3.png" alt="" class="bbc_img" /&gt;Nota&lt;br /&gt;A aula de hoje teve mais uma cara de tutorial, mas ela é importante pois a partir desta aula, iremos criar muitos menus e aos poucos vamos deixar de usar o WSW.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-863314866948143076?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/863314866948143076/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-9-introduo-ao-wsw.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/863314866948143076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/863314866948143076'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-9-introduo-ao-wsw.html' title='Aula 9: Introdução ao WSW'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-2766457796254885089</id><published>2009-01-24T12:25:00.000-08:00</published><updated>2009-01-24T12:27:06.926-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas Básicas'/><title type='text'>Aula 8: Acesso à Atributos</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img57.imageshack.us/img57/5328/aula8mv9.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Prefácio&lt;/b&gt;&lt;br /&gt;Esta aula será bem rápida, tenho como objetivo "tapar" um buraco no conteúdo para quem esta acompanhando minhas aulas! Hoje iremos aprender sobre a acessibilidade das variáveis!&lt;br /&gt;&lt;br /&gt;Ao olhar nos scripts do seu banco de scripts, nota-se que vários dos objetos iniciam com um @ ou um $, hoje veremos as diferenças.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Variáveis Locais&lt;/b&gt;&lt;br /&gt;Toda variável local é aquela que não possuem nem $ nem @, elas são variáveis que só "existem" dentro do método em que são instanciadas.&lt;br /&gt;Exemplo:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;def soma&lt;br /&gt;  a = b + c&lt;br /&gt;  p a.to_s&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Aqui a, b e c são variáveis locais, posso assim usar as mesmas varáriáveis (mesmos nomes) em vários métodos pois não vai fazer diferença! Veja que até agora nós usamos apenas variáveis locais!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Variáveis de Instância - Atributos&lt;/b&gt;&lt;br /&gt;As variáveis de instância são aquelas que toda a classe pode utilizar, por exemplo, dentro de Scene_Menu, a janela @status_window é utilizada em vários métodos. Seria impossível executar métodos da @status_window em métodos dentro da scene caso não tivesse um @ no nome, vou exemplificar com valores numéricos:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;def soma(m, n)&lt;br /&gt;  @a = m&lt;br /&gt;  @a += n&lt;br /&gt;  p @a.to_s&lt;br /&gt;end&lt;br /&gt;#&lt;br /&gt;def subtracao(m, n)&lt;br /&gt;  @a = 0 if @a.nil?&lt;br /&gt;  @a += m&lt;br /&gt;  @a -= n&lt;br /&gt;  p @a.to_s&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;O que vai ocorrer, no 1º método, o cálculo será sempre o mesmo (correto), mas no segundo método vai dar erro caso o 1º método já tenha sido executado, exemplo:&lt;br /&gt;a = MinhaClasse.new #nome fictício para a classe em questão&lt;br /&gt;a.soma(2,3)&lt;br /&gt;&gt;dentro do método&lt;br /&gt;&gt;&gt; @a = m #m é 2 assim @a = 2&lt;br /&gt;&gt;&gt; @a += n # n é 3, @a é 2, 3 + 2 = 5&lt;br /&gt;&gt;&gt; Mostra na tela 5&lt;br /&gt;a.subtração(6,2)&lt;br /&gt;&gt;dentro do método&lt;br /&gt;&gt;&gt; pergunta @a é nil? # não intão passa para a próxima linha&lt;br /&gt;&gt;&gt; @a += m # @a ja vale 5 pois o método soma foi executado antes, assim 5 + 6 = 11&lt;br /&gt;&gt;&gt; @a -= n # 6 - 2 = 4&lt;br /&gt;&lt;br /&gt;É óbvio que o exemplo que citei é um tanto pobre, mas você consegue ter uma idéia do que pode acontecer.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Variáveis Globais&lt;/b&gt;&lt;br /&gt;São as variáveis(objetos) que podem ser acessadas em qualquer parte do programa, vou citar os classicos que nós já utilizamos:&lt;br /&gt;$game_variables&lt;br /&gt;$game_switches&lt;br /&gt;...&lt;br /&gt;Todos os objetos com um $ no início do nome são globais, isso significa que não importa a classe ou módulo que eu esteja, eu posso acessá-lo!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;Variáveis de Classe&lt;br /&gt;Variável de classe começam com @@, e existem apenas uma delas para cada classe. Como não se usam muitas variáveis de classe (@@), ninguém nunca vai ter problemas com isso. (Fonte KJr)&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Acessando atributos&lt;/b&gt;&lt;br /&gt;São 3 possíveis: attr_acessor, attr_reader e attr_writer&lt;br /&gt;Por exemplo: eu tenho a classe Game_Actor e dentro dela tenho uma variável chamada @str (força) quero fazer com que essa variável possa ser acessada por outras classes uso, assim:&lt;br /&gt;attr_acessor :str&lt;br /&gt;Qual a diferença de usar um attr_acessor ou uma variável com $.&lt;br /&gt;Ao usar o attr posso usar $game_actors[id].str (onde $game_actors[id] é o nome do objeto), assim a cada id, tenho um endereço na array diferente e assim um str diferente, mas se eu usasse $str, eu não poderia usar $game_actors[id], usaria apenas $str e ele seria igual para todos os personagens!!!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;Diferenças entre acessor reader e writer:&lt;br /&gt;reader: permite apenas a leitura do atributo, posso por exemplo usar um print nesse atributo, mas não posso mudar o valor dele.&lt;br /&gt;writer: permite alterar, mas não permite ler, não é muito utilizado&lt;br /&gt;acessor: é o reader + o writer XD&lt;br /&gt;&lt;br /&gt;Relembrando o uso:&lt;br /&gt;Em geral usamos após o nome da classe:&lt;br /&gt;class AlgumaCoisa&lt;br /&gt;  #Usamos attr_nome (um dos 3 possíveis) :nomedoatributo&lt;br /&gt;  attr_acessor :var1&lt;br /&gt;  attr_reader :var2&lt;br /&gt;  attr_writer :var3&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;Dica&lt;br /&gt;Você pode usar os attr_ em uma linha só, para exemplificar isso e mostrar como os attr_ são úteis, vejam o exemplo&lt;br /&gt;&lt;br /&gt;Esta é a classe Pessoa&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;class Pessoa&lt;br /&gt;  def nome&lt;br /&gt;    @nome&lt;br /&gt;  end&lt;br /&gt;&lt;br /&gt;  def nome=(valor)&lt;br /&gt;    @nome = valor&lt;br /&gt;  end&lt;br /&gt;&lt;br /&gt;  def nascimento&lt;br /&gt;    @nascimento&lt;br /&gt;  end&lt;br /&gt;&lt;br /&gt;  def nascimento=(valor)&lt;br /&gt;    @nascimento = valor&lt;br /&gt;  end&lt;br /&gt;&lt;br /&gt;  def cpf&lt;br /&gt;    @cpf&lt;br /&gt;  end&lt;br /&gt;&lt;br /&gt;  def cpf=(valor)&lt;br /&gt;    @cpf = valor&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Usando attr, a mesma classe pessoa fica assim:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;class Pessoa&lt;br /&gt;  attr :nome, :nascimento, :cpf&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Notem que é possível usar um attr para 3 instâncias, apenas separando com ","&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-2766457796254885089?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/2766457796254885089/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-8-acesso-atributos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/2766457796254885089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/2766457796254885089'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-8-acesso-atributos.html' title='Aula 8: Acesso à Atributos'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-4784859138275110020</id><published>2009-01-24T12:15:00.000-08:00</published><updated>2009-01-24T12:16:16.451-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas Básicas'/><title type='text'>Aula 7: Nossa 1ª Scene</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img57.imageshack.us/img57/4199/aula7mz1.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Prefácio&lt;/b&gt;&lt;br /&gt;Em comemoração à minha promoção à colaborador e ao meu ducentésimo post, farei dessa aula uma aula bem especial, onde irei mostrar que uma scene não é um bixo de 7 cabeças!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Começando&lt;/b&gt;&lt;br /&gt;Para iniciar uma scnene, não podemos utilizar métodos quaiquer. (na verdade podemos, mas não é o usual) Em uma scene e em vários scripts utilizamos métodos especiais chamados de construtores, são eles:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;initialize&lt;br /&gt;Método de inicialização, usamos geralmente para inicializar atributos e coletar parâmetros do mundo externo (outros scripts).&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;main&lt;br /&gt;Método principal, onde estabelecemos o conteúdo da scene e o seu loop principal.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;O loop&lt;/b&gt;&lt;br /&gt;Na verdade essa aula seria sobre loops, porém deixaremos para a próxima, o que nos interessa saber é que um loop é um ciclo, ele tem a mesma funcionalidade do comando ciclo dos eventos.&lt;br /&gt;Loop é um comando que executa continuamente um conjunto de comandos que estabelecemos até que utilizemos um comando para parar.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;Exemplo:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;l = 5&lt;br /&gt;loop do&lt;br /&gt;  l += 5&lt;br /&gt;  if l &gt; 2000&lt;br /&gt;    break&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Nesse exemplo, definimos que l vale 5 e depois entramos em loop, nele fomos somando 5 até chegar a 2000, ai finalizo o loop com o comando break&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;return e break&lt;/b&gt;&lt;br /&gt;Eu já havia falado do comando return, venho agora trazer o comando break, os dois tem quase a mesma função, vamos as diferenças.&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;var = rand(4)&lt;br /&gt;if var == 3&lt;br /&gt;  var += 3&lt;br /&gt;  return&lt;br /&gt;else&lt;br /&gt;  break&lt;br /&gt;end&lt;br /&gt;var += 10&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Nesse código, definimos que var será um número qualquer, se var assumir o valor 3 ela soma mais 3 e ai aparece o comando return, com esse comando o script encerra o método e vai para o último end do próprio (não do script, do método) assim não soma 10, porém se var não assumir o valor 3 aparece o comando break, esse comando leva a execução para após o 1º end que encontrar, nesse caso, irá somar 10. (claro que mesmo sem o break ele iria somar, mas minha criatividade pra exemplos está baixa)&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Botando em prática&lt;/b&gt;&lt;br /&gt;Vamos criar hoje uma scene simples, será uma tela de apresentação, para isso crie um novo espaço acima do main e coloque a nossa classe&lt;br /&gt;class Scene_Presets&lt;br /&gt;Mude o nome como quiser, agora vamos ao primeiro método, o nosso construtor, como não utilizaremos parametros, até por que não vimos isso ainda, vamos assim para o método main, assim:&lt;br /&gt;def main&lt;br /&gt;Agora entramos em um problema, como nosso script será iniciado bem no início do programa, temos que inicializar o sistema, com o tempo veremos mais detalhes a respeito agora nos basta:&lt;br /&gt;$data_system = load_data("Data/System.rxdata") #vai carregar o sistema da pasta data&lt;br /&gt;$game_system = Game_System.new #estabelecemos o objeto game system, inicializando-o (ele tem um construtor como o nosso)&lt;br /&gt;Feito isso, precisamos criar o conteúdo do nosso script, vamos usar então uma imagem já que ainda não sabemos fazer janelas. Vamos chamar nossa imagem de @logo, assim:&lt;br /&gt;@logo = Sprite.new #dizemos que #logo é uma sprite(imagem)&lt;br /&gt;@logo.bitmap = RPG::Cache.title("Imagem.png") #aqui dizemos qual imagem iremos utilizar no nosso script, como deixei a imagem ficará na pasta title com o nome Imagem.png.&lt;br /&gt;Antes de prosseguir, crie uma imagem para ser o logo, fáça-a com 640x480 píxels (tamanho da tela) e insira-a dentro da pasta titles!&lt;br /&gt;@logo.opacity = 0 #estabelecemos uma opacidade para a imagem&lt;br /&gt;@opacity = 0 #estabelecemos uma variável para nosso efeito de fade&lt;br /&gt;Graphics.transition #estabelece que os gráficos irão se alterar&lt;br /&gt;Agora criamos nosso loop&lt;br /&gt;loop do&lt;br /&gt;  Graphics.update #serve para atualizar a tela&lt;br /&gt;  update # método update que faremos a seguir&lt;br /&gt;  if $scene != self #condição, se a scene for diferente da scene que estamos trabalhando&lt;br /&gt;    break #termina a execução do loop&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;terminado o loop, finalize o método.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;Vamos agora fazer nosso método de atualização, como vimos o nosso loop, irá executar continuamente um método chamado update, temos agora que definir o que nosso método fará cada vez que for executado.&lt;br /&gt;def update&lt;br /&gt;  @opacity += 1&lt;br /&gt;  @logo.opacity = @opacicy&lt;br /&gt;  if @opacity &gt; 255&lt;br /&gt;    $scene = Scene_Title.new&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;Explicando...&lt;br /&gt;Precisamos definir o que será feito cada vez que o update for executado, nossa tela de logotipo terá o efeito de fade, ou seja, começa transparente e vai aparecendo, é por isso que estabeleci uma variável, a que chamei de @opacity, cada vez que eu executar a atualização, a minha variável aumentará em 1 o seu valor, após isso defino que a opacidade do objeto @logo, terá o valor da variável @opacity, para finalizar crio uma condição, quando a variável chegar em 255, abrirá a tela de título!!&lt;br /&gt;Para usar a scene, vá no main e mude o Scene_Title.new por Scene_Presents.new, você não precisa chamar nenhum método pois usamos um construtor.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img258.imageshack.us/img258/5819/homeworkjb8.png" alt="" class="bbc_img" /&gt;Exercício, usando booleans e variáveis faza a scene com efeito de fade out, ou seja, ela volta a ficar transparente antes de ir para o título.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-4784859138275110020?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/4784859138275110020/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-7-nossa-1-scene.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/4784859138275110020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/4784859138275110020'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-7-nossa-1-scene.html' title='Aula 7: Nossa 1ª Scene'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-4759302599772025118</id><published>2009-01-24T12:05:00.000-08:00</published><updated>2009-01-24T12:11:12.360-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas Básicas'/><title type='text'>Aula 6: O Ponto Crítico</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img103.imageshack.us/img103/4241/aula6ao2.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Prefácio&lt;/b&gt;&lt;br /&gt;Depois de 5 aulas, nós estamos chegando em um ponto críticos do conteúdo, para podermos prosseguir, precisamos ter total domínio em vários conceitos, esta aula servirá para isso, será uma aula um tanto pesada, mas se não entenderem alguma coisa, não se preocupem pois iremos aos poucos retomar cada coisa, aviso que a partir da próxima aula começaremos a ter conteúdos extremamente práticos que nos levarão para a criação de nossa 1º scene!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Para Começar, as switches&lt;/b&gt;&lt;br /&gt;Uma switch é, na verdade, um dado do tipo booleano, o que é isso? É um dado que só assume dois valores: true (verdadeiro, ligado) ou false (falso, desligado), na programação esses valores são representados por 1 e 0 respectivamente (0 e 1 binários não os decimais). (Curiosidade&gt;é por isso que o botão power dos aparelhos eletronicos tem um número 1 e um 0, reparem que vocês irão ver!)&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;Como usar?&lt;br /&gt;Podemos usar valores booleanos ou "booleans" utilizamos os possíveis valores que eles podem tomar, ou seja, true ou false! Vamos a um exemplo:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;var = true&lt;br /&gt;&lt;comandos...&gt;&lt;br /&gt;if var&lt;br /&gt;    ...&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;/comandos...&gt;&lt;/code&gt;Veja que na condição, eu posso apenas colocar var, mas porquê? Sempre que tenho uma condição, na verdade eu estou testando se o meu valor é true ou false, por exemplo:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;n = rand(2)&lt;br /&gt;if n == 0&lt;br /&gt;    ...&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;O que o computador fará nesse caso? Ele irá verificar, n é 0, se for, vai retornar um true, caso contrário, será um false e ai não vai executar a acondição!!!&lt;br /&gt;Como fazer uma condição em que tem que ser false?&lt;br /&gt;Use &lt;if var="="&gt;!!&lt;br /&gt;Você tambêm pode usar um operador lógico.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Operador lógico de NEGAÇÃO&lt;/b&gt;&lt;br /&gt;Vocês devem lembrar da aula passada o and e o or, bom, tem mais um muito utilizado, o not, vamos a um exemplo:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;n = rand(2)&lt;br /&gt;if not n == 0&lt;br /&gt;  ...&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Nesse exemplo, o computador executará a condição sempre que n não for 0!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img258.imageshack.us/img258/6506/dicavd3.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Ampliando os conhecimentos com OPERADORES&lt;/b&gt;&lt;br /&gt;Ensinarei agora, um truque para facilitar a vida de todos!!! Existem símbolos que podem ser usados com a mesma finalidade dos operadores lógicos, são eles:&lt;br /&gt;&lt;br /&gt;&amp;amp;&amp;amp; &gt; equivale ao and, use da exata mesma forma:&lt;br /&gt;if var1 == 3 and var2 &gt;= 4&lt;br /&gt;fica:&lt;br /&gt;if var1 == 3 &amp;amp;&amp;amp; var2 &gt;= 4&lt;br /&gt;&lt;br /&gt;|| &gt; equivale ao or, também use da mesma forma&lt;br /&gt;if n &lt;&gt;= 150&lt;br /&gt;fica:&lt;br /&gt;if n &lt;&gt;= 150&lt;br /&gt;&lt;br /&gt;! &gt; equivale ao not, tem que estar junto da variável para funcionar!&lt;br /&gt;if not var == 5&lt;br /&gt;fica&lt;br /&gt;if !var == 5&lt;br /&gt;(poderia ter usado também if var != 5)&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Listas&lt;/b&gt;&lt;br /&gt;Agora que encerramos os conceitos de operadores lógicos, vamos aprender como criar e utilizar as listas!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;O Que é Uma Lista?&lt;br /&gt;Lista é um objeto da classe Array, você pode imaginá-la como uma fita cheia de buracos que nós podemos colocar coisas lá:&lt;br /&gt;|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|&lt;br /&gt;Cada buraco tem um valor, que chamamos de endereço e é com ele que podemos nos "encontrar" dentro da nossa lista. Vamos exemplificar:&lt;br /&gt;LISTA = [] &lt;com&gt;&lt;br /&gt;LISTA = [5,3,4,7,1,9]&lt;br /&gt;Tenho certeza que você já viu algo parecido em algum scritp, analisando essa lista, podemos dizer que o inteiro 5 está no endereço 0, 3 está no 1, 4 no 2...&lt;br /&gt;Note agora que as $game_variables, os $game_actors e vários outros objetos são listas!&lt;br /&gt;Para usá-los colocamos o nome do objeto, depois entre [] colocamos o endereço da lista e ai usamos normalmente, por exemplo:&lt;br /&gt;$game_variables[3] += 4&lt;br /&gt;Quando eu digo que eu estou no endereço 3, automaticamente estarei utilizando as opções do objeto que esta naquela posição, no caso das variáveis, todos os endereços são preenchidos com números, assim, posso somar, dividir...&lt;br /&gt;Veja também que na classe Game_Actors, podemos usar os métodos do objeto, pense que em $game_actors, cada endereço é preenchido com um personagem, assim, $game_actors[1] vai usar o personagem 1, as opções deles são, entre outras coisas seus atributos, assim $game_actors[1].hp $game_actors[1].sp $game_actors[1].str são comandos válidos, pois asseçam os atributos do personagem de endereço 1 (1 no nosso exemplo, você pode acessar os outros.)&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;Listas dentro de listas.&lt;br /&gt;Este é um recurso muito utilizado, se você baixou a minha demo do SBABS, vai notar que existem muitas listas, na verdade todas as configurações são feitas por elas!&lt;br /&gt;Exemplo:&lt;br /&gt;AMMO_SKILL = []&lt;br /&gt;AMMO_SKILL[51] = [0, true]&lt;br /&gt;Como vou usar isso lá nos comandos? usando uma lista dentro da outra. Exemplo: AMMO_SKILL[51][0] &gt; pegando a lista AMMO_SKILL, quero o endereço, 51, dentro desse endereço, quero outro endereço o &lt;ul style="margin-top: 0pt; margin-bottom: 0pt;"&gt;&lt;li type="circle"&gt;, usando isso, irei pegar o número 0 que está na lista!&lt;/li&gt;&lt;/ul&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;O NIL&lt;/b&gt;&lt;br /&gt;Apenas para constar, o vazio também está presente no RGSS, ele é representado pelo nil, é impoertante saber o que é isso, pois é normal que em scripts complexos apareçam erros do tipo: "Undefined metod &lt;método&gt; for nill:Class", essas mensagens aparecem pela ocorrência de erros simples como:&lt;br /&gt;&lt;br /&gt;if var &amp;amp;&amp;amp; !var1&lt;br /&gt;n = 5&lt;br /&gt;end&lt;br /&gt;n += 4&lt;br /&gt;&lt;br /&gt;O erro ocorrerá quando a condição não for válida, pois n não será 5, será nil, como é impossível somar 4 no vazio vai dar erro. O correto seria:&lt;br /&gt;n = 0&lt;br /&gt;if var &amp;amp;&amp;amp; !var1&lt;br /&gt;n = 5&lt;br /&gt;end&lt;br /&gt;n += 4&lt;br /&gt;Já que n valerá 0, independentemente da condição, eu posso somar 4!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Dominando os MÉTODOS&lt;/b&gt;&lt;br /&gt;Até agora, não utilizamos muito os métodos, porém agora deixaremos claro todas as possibilidades que eles possuem (talvez não todas, mas pelo menos as que nos interessam)&lt;br /&gt;&lt;br /&gt;Chamando métodos:&lt;br /&gt;Você está acostumado a fazer coisas como:&lt;br /&gt;obj = Aleat.new&lt;br /&gt;obj.executar&lt;br /&gt;Porém os métodos são bem mais do que isso. Veja o exemplo abaixo:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;class Scene_Teste&lt;br /&gt;    def main&lt;br /&gt;        Graphics.transition&lt;br /&gt;        loop do&lt;br /&gt;            Graphics.update&lt;br /&gt;            Input.update&lt;br /&gt;            update&lt;br /&gt;        end&lt;br /&gt;    end&lt;br /&gt;    def update&lt;br /&gt;        ...&lt;br /&gt;    end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;O que nos importa nesse exemplo, veja que dentro do comando loop do, eu tenho o comando update, mas o que seria isso? update é um método da nossa classe, quando estou executando um método, posso chamar outro, se ele é dentro da classe, apenas coloco o nome dele.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;O Comando return&lt;/b&gt;&lt;br /&gt;Nosso querido return tem 2 finalidades:&lt;br /&gt;Encerrar a execução de um método: sempre que o computador lê um return, ele pula direto para o fim do método, por exemplo:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;var = rand(4)&lt;br /&gt;if var == 0&lt;br /&gt;    return&lt;br /&gt;end&lt;br /&gt;var += 1&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Nesse exemplo, se var assumir o valor 0, a condição estará satifeita e como tem um return, nada mais será executado naquele método, porém se não for 0, vai somar mais 1&lt;br /&gt;&lt;br /&gt;Retornar um valor: vamos direto a um exemplo:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;def soma&lt;br /&gt;    $game_variables[3] = $game_variables[1] + $game_variables[2]&lt;br /&gt;    return $game_variables[3]&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Usando esse código, eu poderia dentro de um método usar n = soma, por exemplo, fazendo isso, n assumirá o valor da variável 3! Que é a que é retornada no método.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Parâmetros&lt;/b&gt;&lt;br /&gt;Parâmetros são informações que alguns métodos nescessitam para funcionar, não vou entrar em detalhes agora, mas por exemplo:&lt;br /&gt;$game_party.gain_item(id, quantidade)&lt;br /&gt;O conteúdo entre () são parâmetros do método!&lt;/método&gt;&lt;/com&gt;&lt;/if&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-4759302599772025118?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/4759302599772025118/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-6-o-ponto-crtico.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/4759302599772025118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/4759302599772025118'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-6-o-ponto-crtico.html' title='Aula 6: O Ponto Crítico'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-3776043368082766379</id><published>2009-01-24T11:46:00.000-08:00</published><updated>2009-01-24T11:47:20.687-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas Básicas'/><title type='text'>Aula 5: As Operações Lógicas Parte 2</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img154.imageshack.us/img154/3364/aula5wq5.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Fazendo um Cheat Script&lt;/b&gt;&lt;br /&gt;Vamos pensar no seguinte problema, quero fazer um script de cheat, nele certas variáveis precisam assumir certos valores, caso contrário, o cheat não funciona! No nosso script de cheat, iremos definir um Master Code, se o jogador não sabe esse código, o nenhum outro cheat funciona!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;Hoje faremos a primeira versão desse script, algo bem simples, mais adiante nós iremos refazê-lo, porém bem mais avançado.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;1º Como sempre vamos criar a nossa classe! Vou chamá-la de Game_Cheats.&lt;br /&gt;&lt;br /&gt;Lembre-se, se eu colocar como nome de classe, por exemplo Game Cheats, sem o _, o programa só vai ler o Game e vai tentar descobrir o que é o Cheats, como não vai saber, vai dar pau. (Por que Cheats não é nenhum comando ou variável conhecida) Por isso sempre que eu quero dar um nome para alguma classe, método, variavel... eu junto os nomes com _.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;2º Vamos estabelecer um método de verificar, esse método vai procurar nas variáveis do jogo se há ou não a ocorrência de códigos cheat, se tiver ele vai adicionar vantagens no game! Para usar isso, vamos criar por condições (if, elsif e else). Crie um método, eu irei chamá-lo de verificar.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;3º Vamos estabelecer as condições, para isso precisamos estabeler quais serão os códigos! Vou colocar a lista que eu vou usar...&lt;br /&gt;o master code será 6325&lt;br /&gt;força infinita será 1845&lt;br /&gt;agilidade infinita será 9430&lt;br /&gt;Estabelecidos os cheats, vamos agora criar as condições:&lt;br /&gt;if $game_variables[1] == 6325&lt;br /&gt;Bom agora temos um impasse, é claro que poderíamos criar um "if" dentro de outro "if" e ai ficaria:&lt;br /&gt;if $game_variables[1] == 6325&lt;br /&gt;  if $game_variables[2] == 1845&lt;br /&gt;Só para lembrar, notem que estou utilizando as variáveis 1 e 2 para armazenar os códigos.&lt;br /&gt;Mas eu não quer utilizar 2 linhas na minha condição e sim 1, como fazer???&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;OPERADORES LÓGICOS&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;CONJUNÇÃO&gt; a conjunção é um operador que só será válido quando os dois operandos forem válidos...&lt;br /&gt;Traduzindo:&lt;br /&gt;Para que minha condição (aquela do cheat script) seja válida as variáveis 1 e 2 precisam estar, ao mesmo tempo, valendo um certo número, assim eu uso o comando "and", minha condição fica então:&lt;br /&gt;if $game_variables[1] == 6325 &lt;b&gt;and&lt;/b&gt; $game_variables[2] == 1845&lt;br /&gt;Com esse comando, a condição só será válida se as duas variáveis tiverem os valores que eu estabeleci!&lt;br /&gt;&lt;br /&gt;DISJUNÇÃO&gt; outro operador lógico, você pode usá-lo quando quer que não seja nescessário que as duas verificações sejam verdadeiras.&lt;br /&gt;Traduzindo: se em meu código basta que uma das variáveis seja verdadeira para que funcione, então uso o comando "or":&lt;br /&gt;if $game_variables[1] == 6325 &lt;b&gt;or&lt;/b&gt; $game_variables[2] == 1845&lt;br /&gt;Com esse comando, basta que uma das variáveis tenha o valor que eu estabeleci para que funcione a condição.&lt;br /&gt;&lt;br /&gt;Existem outros operadores, mas vamos ficar com estes por enquanto...&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Voltando ao que interessa&lt;/b&gt;&lt;br /&gt;Nessas alturas, já sabemos o nome da classe, do método, quais serão os códigos cheat e como criar as condições, porém não sabemos como dar aos personagens o que nosso cheat precisa dar.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Básicos da classe Game_Actors&lt;/b&gt;&lt;br /&gt;Aqui não é novidade para ninguém, todos sabemos que os personagens possuem hp, sp, exp, força, agilidade etc. porém o que muitos não sabem é que esses valores são variáveis dentro da classe Game_Actors, quando temos esse tipo de situação, nós dizemos que o hp, sp, exp... são características da classe ou ATRIBUTOS, nem todos os atributos podem ser modificados, mas na classe que estamos, podem!&lt;br /&gt;&lt;br /&gt;Como acessar os personagens?&lt;br /&gt;Você sabe que os personagens ficam ordenados pela database, assim como você usa as $game_variables, você pode usar os personagens que ficam no objeto $game_actors, assim como você coloca um $game_variables[1] para mudar a variável 1 da database, você vai colocar $game_actors[1] pra mexer nos atributos do 1º char da database.&lt;br /&gt;&lt;br /&gt;Como acessar os atributos?&lt;br /&gt;Nas variáveis você só coloca $game_variables[id] = (= ou +=, os de sempre, vocês sabem do que eu falo), porém com os personagens não pode ser feito assim, afinal, imagine colocar $game_actors[2] += 5! Como vou somar 5 em um personagem? Para isso utilizamos os atributos, que nessa classe podem ser acessados como métodos.&lt;br /&gt;Para acessar o força:&lt;br /&gt;$game_actors[id].str&lt;br /&gt;Para acessar a agilidade:&lt;br /&gt;$game_actors[id].agi&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;Nosso código deve ficar mais ou menos assim:&lt;br /&gt;class Game_Cheats&lt;br /&gt;  def verificar&lt;br /&gt;    if $game_variables[1] == 6325 &lt;b&gt;and&lt;/b&gt; $game_variables[2] == 1845&lt;br /&gt;      $game_actors[1].str = 999&lt;br /&gt;    elsif $game_variables[1] == 6325 &lt;b&gt;and&lt;/b&gt; $game_variables[2] == 9430&lt;br /&gt;      $game_actors[1].agi = 999&lt;br /&gt;    end&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;Crie agora um evento no mapa, nele, mande pra que o jogador digite um número, e ai armazena um na variável 1 e o outro na 2, depois crie o objeto Game_Cheats e execute o método de verificação!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img258.imageshack.us/img258/6506/dicavd3.png" alt="" class="bbc_img" /&gt;Criando mais cheats:&lt;br /&gt;Vou listar alguns atributos dos personagens:&lt;br /&gt;dex &gt; dextreza&lt;br /&gt;maxhp &gt; hp máximo&lt;br /&gt;maxsp &gt; sp máximo&lt;br /&gt;int &gt; inteligencia&lt;br /&gt;exp &gt; experiência&lt;br /&gt;...&lt;br /&gt;Para saber mais procure na classe Game_Actors do seu banco de scripts&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img258.imageshack.us/img258/6506/dicavd3.png" alt="" class="bbc_img" /&gt;Como adicionar ou remover ítens?!&lt;br /&gt;Para executar estes comandos, nós não utilizamos a classe Game_Actors e sim a Game_Party, assim temos:&lt;br /&gt;$game_party.gain_gold(quantidade)&lt;br /&gt;$game_party.lose_gold(quantidade)&lt;br /&gt;Para ganhar ou perder dinheiro&gt; gain: ganhar, lose&gt;perder&lt;br /&gt;$game_party.gain_weapon(id, quantidade)&lt;br /&gt;$game_party.lose_weapon(id, quantidade)&lt;br /&gt;$game_party.gain_armor(id, quantidade)&lt;br /&gt;$game_party.lose_armor(id, quantidade)&lt;br /&gt;$game_party.gain_item(id, quantidade)&lt;br /&gt;$game_party.lose_item(id, quantidade)&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img258.imageshack.us/img258/5819/homeworkjb8.png" alt="" class="bbc_img" /&gt;&lt;b&gt;A MISSÃO DE VOCÊS&lt;/b&gt;&lt;br /&gt;Crie um Script de cheat que use pelo menos duas vezes os comandos and e or, e que utilize as variáveis nas condições e que seja funcional, ou seja, você coloca um cheat e ganha alguma coisa, iten ou fica com poder máximo, quero que vocês façam o mais complexo que puderem!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-3776043368082766379?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/3776043368082766379/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-5-as-operaes-lgicas-parte-2.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/3776043368082766379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/3776043368082766379'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-5-as-operaes-lgicas-parte-2.html' title='Aula 5: As Operações Lógicas Parte 2'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-2293898546046788625</id><published>2009-01-24T11:41:00.001-08:00</published><updated>2009-01-24T11:44:06.632-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas Básicas'/><title type='text'>Aula 4: As Operações Lógicas Parte 1</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img255.imageshack.us/img255/8121/aula4kz0.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Analogias&lt;/b&gt;&lt;br /&gt;Antes de passar para os códigos, vamos criar nosso script por eventos. Crie um evento no mapa, coloque para que ele mude a variável 1 com um número aleatório de 0 a 2, depois coloque condições, se 0, mostra a mensagem 0 (só um exemplo), se 1 mostra a mensagem 1, se 2 mostra 2:&lt;br /&gt;&lt;&gt;Variável 1: Aleatório 0..2&lt;br /&gt;&lt;&gt;Condição: Variável 1 == 0&lt;br /&gt;  &lt;&gt;Mensagem: "0"&lt;br /&gt;&lt;&gt;End&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;vá até o evento e brinque um pouco com a coisa toda! Vamos agora entender exatamente o que você fez.&lt;br /&gt;1º mandou a variável 1 assumir um valor aleatório de 0 a 2&lt;br /&gt;2º estabeleceu condições, ou seja, a mensagem que aparece na tela depende de qual valor a variável 1 assumiu, assim você não tem como saber que mensagem vai aparecer, apenas sabe quais podem aparecer!&lt;br /&gt;&lt;br /&gt;Imagine em um abs! Como você acha que o computador calcula os danos? Crie uma batalha, veja que mesmo ao usar um mesmo ataque em um mesmo monstro o dano nunca é igual. Isso acontece por que o dano é calculado usando um comando aleatório como o que nós usamos!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;Hoje vamos então criar um script que utilize essa aleatoriedade, junto começaremos a conceituar as condições por script!&lt;br /&gt;&lt;br /&gt;Vamos criar nossa classe, já que agora sabemos como fazer, não vamos mais usar o chamar script para criar nossos métodos!&lt;br /&gt;&lt;br /&gt;Vou nomeá-la de Aleat, então na 1º linha do script:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;class Aleat&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;vamos ao método, nesse script, criaremos apenas 1 método, o de execução, assim def executar, nosso método irá gerar um número aleatório, pra isso teremos que aprender nosso 1º comando de hoje.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;O Comando rand()&lt;/b&gt;&lt;br /&gt;Para criar um número aleatório, usamos um método que já vem incluso no RGSS, esse método não tem uma classe, (na verdade tem, é a classe Interpreter) o que nos interessa é que ele calcula esse número aleatório para nós!&lt;br /&gt;Como usá-lo?&lt;br /&gt;Faça com que uma variável assuma o valor dele:&lt;br /&gt;Exemplo&gt; var = rand(n), no lugar de n, colocamos o valor máximo a ser calculado menos 1, ao contrário das variáveis, que podemos usar o comando aleatório para que assuma um valor de tal a tal valor, o rand só admite valores de 0 até o valor que colocamos nos parênteses menos 1, assim rand(4), vai assumir um valor qualquer de 0 até 3 (0,1,2,3), vamos agora usar em nosso método:&lt;br /&gt;var = rand(3)&lt;br /&gt;OK, já temos nossa variável, agora temos que usar o comando print para mostrar na tela as nossas mensagens, mas como fazer com que ele dependa da nossa variável var? Ou seja, como criar condições?&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Operações Lógicas: Condições&lt;/b&gt;&lt;br /&gt;Para criarmos uma condição, usamos um dos dos mais conhecidos comandos de toda a área de programação. Atenção! Esse é um momento importante para os novos programadores do fórum! Apresento-lhes o IF, hehehe, vocês vão se cansar de ver ele daqui em diante!&lt;br /&gt;Vamos entendê-lo:&lt;br /&gt;Quando você cria uma condição em um evento, sem usar a exceção, fica mais ou menos assim:&lt;br /&gt;&lt;&gt;Condição: (sua condição)&lt;br /&gt;  &lt;&gt; O que vai fazer caso a condição seja válida.&lt;br /&gt;&lt;&gt;End&lt;br /&gt;No RGSS é quase a mesma coisa, colocamos&lt;br /&gt;if&lt;br /&gt; o que queremos que ele faça&lt;br /&gt;end&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;Voltando ao nosso script,, já temos a nossa variável assumindo um valor aleatório, já temos o comando para fazer a condição, agora falta usar as condições:&lt;br /&gt;var = rand(3) &gt;só pra lembrar&lt;br /&gt;if var &gt;ops! como vamos usar essa condição? nós queremos o que mesmo?&lt;br /&gt;Queremos que quando var seja 0, aparareça uma certa mensagem, mas como vou definir o igual? Lembre-se que o sinla de = serve pra mudar o valor do nosso objeto.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Comparadores Algébricos&lt;/b&gt;&lt;br /&gt;O que são?&lt;br /&gt;São símbolos utilizados na matemática para comparar valores, dentre eles:&lt;br /&gt;&lt;br /&gt;== : verifica se são iguais&lt;br /&gt;&gt;  : maior que&lt;br /&gt;&lt;  : menor que&lt;br /&gt;&gt;= : maior ou igual&lt;br /&gt;&lt;= : menor ou igual&lt;br /&gt;!= : diferente&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;Agora nós ja temos os comparadores, vamos terminar nosso script.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;var = rand(3)&lt;br /&gt;if var == 0&lt;br /&gt;  p "0"&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;Traduzindo:&lt;br /&gt;var = rand(3) ja sabemos, a variável var, vai assumir qualquer valor de 0 a 2&lt;br /&gt;if var == 0&lt;br /&gt;nossa condição, usamos o if (do inglês se) var == 0 (var for igual a zero)&lt;br /&gt; p "0"&lt;br /&gt;bom e velho comando print, mostrando na tela 0, você pode por var.to_s, ou qualquer outra mensagem&lt;br /&gt;end&lt;br /&gt;como nas condições por eventos, no script, também precisamos colocar um end no fim da condição&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;Terminando o script, ele deve ficar mais ou menos assim:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;class Aleat&lt;br /&gt;  def executar&lt;br /&gt;    var = rand(3)&lt;br /&gt;    if var == 0&lt;br /&gt;      p "minha variável vale 0!"&lt;br /&gt;    end&lt;br /&gt;    if var == 1&lt;br /&gt;      p "minha variável vale 1!"&lt;br /&gt;    end&lt;br /&gt;    if var == 2&lt;br /&gt;      p "minha variável vale 2!"&lt;br /&gt;    end&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Explorando os Recursos&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Como vimos no nosso script, usamos o comando if ("se") para criar condições,mas quando criamos uma condição nos eventos, podemos colocar uma exceção, no rgss, isso também é possível pelo comando "else", por exemplo:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;if var == 3&lt;br /&gt;  p "ola"&lt;br /&gt;else&lt;br /&gt;  p "oi"&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;Traduzindo:&lt;br /&gt;se a variável var for igual a 3&lt;br /&gt;  mostra na tela "ola"&lt;br /&gt;caso for qualquer outra coisa&lt;br /&gt;  mostra na tela "oi"&lt;br /&gt;&lt;br /&gt;Outra possibilidade é o elsif, esse comando é utilizado como no script que nós criamos, como assim, você tem uma variável e quer executar comandos que dependam dessa variável, assim colocamos o elseif, que seria como o nosso else (caso for qualquer outra coisa) porém, ele só executa se uma nova condição for acionada, por exemplo:&lt;br /&gt;    if var == 0&lt;br /&gt;      p "minha variável vale 0!"&lt;br /&gt;    elsif var == 1&lt;br /&gt;      p "minha variável vale 1!"&lt;br /&gt;    elsif var == 2&lt;br /&gt;      p "minha variável vale 2!"&lt;br /&gt;    end&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;Traduzindo: se var for 0, mostra na tela: "minha variável vale 0!", caso não seja 0 e seja 1 mostra "minha variável vale 1!"porém se não for nem 0 nem 1, mas for 2, mostra "minha variável vale 2!".&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img258.imageshack.us/img258/5819/homeworkjb8.png" alt="" class="bbc_img" /&gt;Exercício:&lt;br /&gt;&lt;br /&gt;1)Crie uma nova calculadora como a da aula passada, porém dessa vez ele não usa as variáveis 1, 2 e 3 para fazer os cálculos ele fará com números aleatórios, instancie 3 variáveis com nomes quaiquer, mande cada uma ( só duas das 3, pois a 3 você usará para armazenar o valor) ter um valor aleatório  de x a y (ou seja, faça com que elas assumam um valor de um número até outro - não é de 0 a um número - dica, use a operação soma!) e ai faça as operações normalmente, se der certo, vão aparecer como respostas uns números malucos, já que você não vai saber que número está operando com qual XD.&lt;br /&gt;&lt;br /&gt;2)Crie uma cálculadora onde só haja um método, nele você coloca uma variável aleatória e ai vai colocando condições, se for 0, soma, se 1, diminui... pode usar as variáveis 1, 2 e 3 como você já fez.&lt;br /&gt;&lt;br /&gt;3) O mesmo que no exercício anterior, mas usando elsif, coloque também um comando adicional else, caso a variável assuma outro valor, mostra na tela "operação inválida"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img258.imageshack.us/img258/6506/dicavd3.png" alt="" class="bbc_img" /&gt;Dica:&lt;br /&gt;Se eu tenhu que fazer minha variável assumir um valor qualquer de 3 a 7, como fazer?&lt;br /&gt;1º diminua 7 de 3, da 4&lt;br /&gt;2º faça um rand(4)&lt;br /&gt;3º some na variável, um 3!&lt;br /&gt;exeplo:&lt;br /&gt;var = rand(4)&lt;br /&gt;var += 3&lt;br /&gt;Teste alguns valores e verifique a lógica dessa dica que eu postei.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-2293898546046788625?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/2293898546046788625/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-4-as-operaes-lgicas-parte-1.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/2293898546046788625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/2293898546046788625'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-4-as-operaes-lgicas-parte-1.html' title='Aula 4: As Operações Lógicas Parte 1'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-5876977978730066980</id><published>2009-01-24T11:17:00.000-08:00</published><updated>2009-01-24T16:43:43.195-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='..::NOTÍCIAS::..'/><title type='text'>Lançamento Oficial!</title><content type='html'>Pois é galera, depois de muito tempo, estou eu finalmente lançando o meu próprio blog, espero que todos gostem e aproveitem!&lt;br /&gt;&lt;br /&gt;Todo o tipo de ajuda que precisarem, é só pedir, estou aqui para ajudar a todos, caso queiram dar alguma sugestão, sintam-se a vontade!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Blog criado dia: 24 de janeiro de 2009&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-5876977978730066980?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/5876977978730066980/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/lanamento-oficial.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/5876977978730066980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/5876977978730066980'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/lanamento-oficial.html' title='Lançamento Oficial!'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-4099845992145354349</id><published>2009-01-24T11:08:00.000-08:00</published><updated>2009-01-24T11:22:11.442-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas Básicas'/><title type='text'>Aula 3: Classes e Métodos</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img157.imageshack.us/img157/1489/aula3bm8.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Conceito&lt;/b&gt; imagine você que você esteja fazendo um programa, imagine a dificuldade que seria programar vários objetos distintos com as mesmas características! Para facilitar a vida dos programadores existe a possibilidade de criar sistemas com características "pré-fabricadas", esses sistemas são as classes, elas são a chave de toda a programação orientada a objetos!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Nosso 1º Script&lt;/b&gt;&lt;br /&gt;Para criar-mos nosso 1º script, iremos utilizar a idéia de classe, vá até seu banco de scripts (crie um novo projeto) e adicione uma nova seção acima do main, vamos agora instanciar nossa classe!&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;class Calc&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Para criar uma classe usamos a palavra reservada class e logo após colocamos o nome para ela, como faremos uma calculadora, utilizaremos como nome Calc!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Método&lt;/b&gt; os métodos são conjuntos ou blocos de comandos, são utilizados para organizar e otimizar o script! Para criar um método utilizamos o termo def seguido do nome do próprio, exemplo:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;def soma&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Temos agora nosso método de soma, precisamos agora especificar o que ele fará!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Comando&lt;/b&gt; é um ou um conjunto de ações específicas, como operações matemáticas ou lógicas, loops, criação de objetos e etc...&lt;br /&gt;&lt;br /&gt;Os comandos que utilizaremos serão bem simples: operações matemáticas e o comando print!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Para ajudar&lt;/b&gt; para auxiliar na produção de nosso script utilizaremos as variáveis do jogo, para acessar uma variável utilizamos:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;$game_variables[id]&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Onde id é o id da variável na database!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Definindo nosso método&lt;/b&gt;&lt;br /&gt;Até agora temos:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;class Calc&lt;br /&gt;def soma&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Vamos utilizar a variável 3 para ser o resultado e a 1 e 2 para ser as que serão operadas, assim temos:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;    $game_variables[3] = $game_variables[1] + $game_variables[2]&lt;br /&gt; p $game_variables[3].to_s&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;img src="http://img258.imageshack.us/img258/6506/dicavd3.png" alt="" class="bbc_img" /&gt;Obs.: não esqueça de colocar o comando print ou você nao saberá o resultado!&lt;br /&gt;&lt;br /&gt;Para finalizar nosso script colocamos um end no fim do método e outro no fim da classe&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;O comando end&lt;/b&gt;&lt;br /&gt;Pense, se eu colocasse&lt;br /&gt;def soma&lt;br /&gt;def subtração&lt;br /&gt;...&lt;br /&gt;O programa não conseguirir ler onde termina um método e começa outro, por isso utilizamos o comando end no fim de cada método, para as classes é o mesmo, sempre que terminamos uma classe, colocamos um end para que o interpretador saiba que a classe terminou ali!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;Nosso script ficou então:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;br /&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;class Calc&lt;br /&gt;def soma&lt;br /&gt; $game_variables[3] = $game_variables[1] + $game_variables[2]&lt;br /&gt; p $game_variables[3].to_s&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Para testar:&lt;br /&gt;Crie um evento em seu mapa, nele vá em chamar script. Assim como criamos objetos numéricos como a = 3, a vale 3, temos que criar objetos para as classes, então vou dizer que:&lt;br /&gt;calculadora = Calc.new&lt;br /&gt;Assim calculadora será um objeto do tipo Calc. O .new significa que estou criando um novo objeto Calc! Para executar os métodos basta chamá-los dentro do objeto que criamos.&lt;br /&gt;calculadora.soma&lt;br /&gt;Sempre utiliza-se classe.método, com isso temos no nosso chamar script:&lt;br /&gt;&lt;div class="codeheader"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation"&gt;&lt;/a&gt;&lt;/div&gt;&lt;code&gt;calculadora = Calc.new&lt;br /&gt;calculadora.soma&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Execute o jogo e fale com o NPC para ver o resultado. Mude o valor das variáveis 1 e 2 para testar!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img258.imageshack.us/img258/5819/homeworkjb8.png" alt="" class="bbc_img" /&gt;Sua missão:&lt;br /&gt;Crie os métodos subtração, multiplicação e divisão, coloque tudo em uma demo e poste, mande o script para que eu corrija!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-4099845992145354349?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/4099845992145354349/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-3-classes-e-mtodos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/4099845992145354349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/4099845992145354349'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-3-classes-e-mtodos.html' title='Aula 3: Classes e Métodos'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-5367976244935548026</id><published>2009-01-24T11:02:00.000-08:00</published><updated>2009-01-24T11:29:12.483-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas Básicas'/><title type='text'>Aula 2: A Programação e as Operações Matemáticas</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img154.imageshack.us/img154/1912/aula2ij2.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Um Pouco mais de Teoria&lt;/b&gt;&lt;br /&gt;Antes de começarmos a parte prática, vamos estudar mais alguns conceitos importantes.&lt;br /&gt;&lt;b&gt;Dado:&lt;/b&gt; é a representação bruta de uma informação, pode ser um texto, um número, uma imagem...&lt;br /&gt;&lt;b&gt;Informação:&lt;/b&gt; é um conjunto de dados organizados que possuem uma significação.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Tipos de Dados&lt;/b&gt;&lt;br /&gt;ATENÇÃO o entendimento dos tipos de dados é crucial para entender o rgss, em caso de dúvidas, poste!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;Números: (Numeric)&lt;br /&gt;Como o nome ja diz, são números, porém existem tipos específicos, vou citar alguns:&lt;br /&gt;int short double float long...&lt;br /&gt;geralmente esses nomes são relativos ao tamanho possível do número. Como assim? na matemática, os numeros são infinitos certo? Porém na informática a memória limita a quantidade de números possíveis, essa limitação é determinada pela quantidade de bits suportados, por exemplo, um número do tipo short tem 8bits, assim ele pode chegar até 255, se você estiver usando um short e ele chegar em 255, não da pra somar mais nada que da chash!&lt;br /&gt;OK, chega de coisas complicadas, em RGSS, nos interessam apenas dois tipos de números, os "int" e os "float", a diferença é simples, int não tem vírgula e float tem!&lt;br /&gt;O que isso provoca?&lt;br /&gt;No RGSS sempre que eu digitar um número inteiro(sem vírgula=&gt;em rgss a vírgula é o ponto, intão vo fala em ponto daqui em diante) esse número será um int, assim a divisão 5/2 dá 2 e sobra 1, se você quer que a divisão seja exata você usa 5/2.0 ou 5.0/2 e ai sai 2,5.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;Texto (String)&lt;br /&gt;Os textos são todos do tipo String, tudo o que você ver em seus scripts entre "" ou '', é uma String (int, string e etc, são só nomes, acostumem-se com eles!)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;NA PRÁTICA&lt;/b&gt;&lt;br /&gt;Chegou a hora galera! Abram seus rmxp/vx(s)! Criem um evento com trigger pressionar tecla, coloquem um gráfico só pra vcs saberem onde ele esta e vamos estudar os dados na prática!&lt;br /&gt;&lt;br /&gt;1: O comando "print"&lt;br /&gt;esse comando será muito utilizado por nós até a criação de nossa 1º Window, por isso temos que dominá-lo! No seu evento vá em chamar script e digite:&lt;br /&gt;p "ola, este é o comando print. gostou?"&lt;br /&gt;salve e entre no jogo, fale com o NPC que você criou, tem que aparecer uma tela com o que está entre "" no nosso comando, esse é o comando print! você coloca um p da um espaço e digita o conteúdo que você quer que apareça na tela, é provável que você ja tenha visto isso em algum script né!&lt;br /&gt;&lt;br /&gt;2: As Strings!&lt;br /&gt;Bom, como você ja sabe, strings são textos, assim, sinta-se à vontade para mudar o texto entre "", teste com vários textos de vários tamanhos, experimente também colocar o comando duas vezes como:&lt;br /&gt;p "1"&lt;br /&gt;p "2"&lt;br /&gt;p "ai q saco isso!"&lt;br /&gt;compreendido?&lt;br /&gt;&lt;br /&gt;3: Os "ints" e os "floats"&lt;br /&gt;primeiro vamos criar um objeto! Nosso objeto será um número, para fazer tal coisa, apenas coloque o nome do objeto com o valor dele(obs para quem manja de programação: é claro que aqui estamos instanciando uma variável, mas vamos deixar estes detalhes técnicos para outra aula.), vamos chamar nosso objeto de a, eu quero que a tenha o valor 3, assim eu coloco:&lt;br /&gt;a = 3 (pronto a vale 3, mas como posso saber que realmente funcionou?)&lt;br /&gt;bom a resposta é!!! "p", ou seja, print. Escreva na linha abaixo do a = 3, um p a e teste.&lt;br /&gt;AHHHH que droga! deu pau! Pois é isso acontece por que "a" é um int certo? (um número inteiro) e o print mostra strings na tela, a princípio isso é um problema, mas o RGSS tem a solução que é...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Conversão de Dados&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;*.to_s &gt; o método to_s é um método que transforma qualquer número em string, assim eu posso fazer com que os dados numéricos&lt;br /&gt;&lt;br /&gt;que eu estou trabalhando possam ser colocados na tela como Strings.&lt;br /&gt;Se você esta seguindo a aula corretamente, o seu "chamar script" deve estar:&lt;br /&gt;a = 3&lt;br /&gt;p a&lt;br /&gt;pois bem, a é um inteiro, vamos transformá-lo em string, no comando print coloque a.to_s, salve, abra o jogo e fale com o&lt;br /&gt;&lt;br /&gt;NPC, agora funcionou certo? Funcionou por que agora o 'a' que esta na tela é uma String e não um número!&lt;br /&gt;Bom, nosso "a" é um int certo (quando não tem ponto é sempre int), transforme ele em um float, ao invés de colocar a = 3, coloque a = 3.1, salve e vá no NPC denovo.&lt;br /&gt;&lt;br /&gt;*.to_f &amp;amp; *.to_i &gt; estes comandos são para transformar int em float e float em int respectivamente, vamos testá-los, no seu chamar script adicione uma nova linha entre o print e o a = ..., nela coloque a = a.to_i, é assim que mudamos o tipo de dado do nosso objeto(variável), teste esses comandos, note que mesmo que você tenha colocado algum número depois do ponto, sempre que você usar o to_i, só vai aparecer a parte inteira do número em questão!&lt;br /&gt;Alguns exemplos:&lt;br /&gt;a = 4.0000001&lt;br /&gt;p a.to_s&lt;br /&gt;(vai aparecer "4.0000001")&lt;br /&gt;&lt;br /&gt;a = 4.0000001&lt;br /&gt;a = a.to_i&lt;br /&gt;(vai aparecer "4")&lt;br /&gt;p a.to_s&lt;br /&gt;&lt;br /&gt;a = 2&lt;br /&gt;a = a.to_f&lt;br /&gt;p a.to_s&lt;br /&gt;(vai aparecer "2.0")&lt;br /&gt;&lt;br /&gt;Seja criativo e explore essas conversões!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Operações Matemáticas&lt;/b&gt;&lt;br /&gt;Agora vamos explorar junto da conversão de dados, as operações matemáticas.&lt;br /&gt;Para começar, apague o código que você já fez (por via das dúvidas, sabe-se lá oq vc coloco!), coloque no lugar:&lt;br /&gt;a = 1&lt;br /&gt;p a.to_s&lt;br /&gt;e vamos ao trabalho!!!!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img258.imageshack.us/img258/6506/dicavd3.png" alt="" class="bbc_img" /&gt;ATENÇÃO&lt;br /&gt;O comando "=": na programação o = significa que o que vem antes do igual deve ficar igual ao que vem depois, ou seja, quando eu coloco a = 1, significa que eu to mandando o "a" valer 1, esse conceito é muito importante, pois no rgss, o = é um comando como o + e o -!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;1º Possibilidade&lt;br /&gt;Na nossa primeira soma, vamos fazer com o nosso 'a', coloque do lado de a = 1 um + 3, tem que ficar a = 1 + 3, salve e fale com o NPC, nosso print mostrou 4 na tela certo? Agora vamos subtrair, mude o + para o - e teste. Fácil não? Você pode fazer uma série de + e -, por exemplo 3 + 5 + 7 - 8, note que quando aparece na tela, só aparece o número sem pontos, tente colocar algum número com .0 por exemplo 2 + 4.0 - 5, no print vai aparecer com .0 porque se um dos números da operação é float, o 'a'vira float caso contrário ele será um int.&lt;br /&gt;Vamos agora dividir e multiplicar, os símbolos são respectivamente / e *, assim vamos la! Insira agora no seu a = .. algumas multiplicações, inicie com poucas operações como:&lt;br /&gt;a = 5 / 9 ou a = 3 * 4, note que nas divisões não aparecem os decimais, mesmo o cálculo não sendo exato, como você já deve saber, todo número sem . é int e não vai calcular os decimais, pra achar eles faça com que algum dos números volvidos no cálculo seja float. Importante, como na matemática normal (convencional), as multiplicações e divisões são prioritárias em relação à soma e subtração, por exemplo a = 2 + 2 / 2, a resposta será 3, pois 2 + 2 / 2 &gt; 2 + 1 &gt; 3, por isso, assim como na matemática que estamos acostumados, podemos (e devemos) usar parênteses, mas lembre-se, sempre que abrir um parênteses tem que fechar ele:&lt;br /&gt;a = ( 3 + 5 )  / 4 &gt; correto&lt;br /&gt;a = 3 + 5 )  / 4 ou ( 3 + 5   / 4 &gt; errado!&lt;br /&gt;esse erro é motivo de muitas falhas nos scripts! É importante salientar que programar é como escrever, se você escrever errado, o programa não funciona!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img258.imageshack.us/img258/6506/dicavd3.png" alt="" class="bbc_img" /&gt;Conceito: Variável &gt; é todo objeto meramente numérico, ou seja, se a = 2, intão a é uma variável, porque é um número.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;2º Possibilidade&lt;br /&gt;Você pode operar as variáveis sem mudar o seu valor, por exemplo, se eu tenho a minha variável 'a', e eu quero apenas somar&lt;br /&gt;&lt;br /&gt;3, se eu não sei quanto a vale, não posso usar a = 'algo' + 3, uma alternativa é usar a = a + 3, porém não é muito usual,&lt;br /&gt;&lt;br /&gt;vamos aprender da forma + prática, seu código deve ser:&lt;br /&gt;a = 2&lt;br /&gt;a += 3&lt;br /&gt;p a.to_s&lt;br /&gt;no nosso caso, nós sabemos quanto vale o 'a' ja no início, mas veremos mais a frente que nem sempre será assim, bom como vocês ja viram, para mexer (somar, subtrair...) um valor de uma variável basta usar &lt;variável&gt; &lt;operação&gt;=  &lt;valor&gt;, vamos aos testes:&lt;br /&gt;a = 3&lt;br /&gt;a -= 4&lt;br /&gt;p a.to_s&lt;br /&gt;use as multiplicações e / com a mesma lógica, basta colocar o símbolo da operação antes do =&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;3º Possibilidade&lt;br /&gt;Suponha que além do 'a' eu tenha um 'b', é possível fazer operações com duas ou mais variáveis, a lógica é exatamente igual aos meios anteriores, vamos lá!&lt;br /&gt;a = 3&lt;br /&gt;b = 4&lt;br /&gt;c = a + b&lt;br /&gt;p c.to_s&lt;br /&gt;note que eu usei uma 3º variável, pense bem, se eu colocasse a = a + b, o 'a' não valeria mais 3 e sim a soma de 3 com 4, por isso é normal usar uma variável extra que terá o valor das anteriores!&lt;br /&gt;Obs.: se eu tenhu a e quero somar mesmo o b no a, basta colocar a += b, o funcionamento é o mesmo que no 2º meio&lt;br /&gt;&lt;img src="http://img258.imageshack.us/img258/6506/dicavd3.png" alt="" class="bbc_img" /&gt;Obs.: se eu colocasse a = a + b funcionaria do mesmo modo, porque eu faria com que o a virasse a soma dos dois&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img258.imageshack.us/img258/5819/homeworkjb8.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Exercícios:&lt;/b&gt;&lt;br /&gt;Para responder os exercícios:&lt;br /&gt;1º tire uma foto do código que você criou, lá com o chamar script aberto.&lt;br /&gt;2º tire uma nova foto com a mensagem com a resposta que aparecer no comando print (dentro do jogo)&lt;br /&gt;3º coloque as imagens no imageshak e mande no formato thumbnail (as miniaturas q agente clica a abre a foto)&lt;br /&gt;4º mande pra mim por e-mail&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Execute os seguintes cálculos:&lt;br /&gt;Usando apenas uma variável (pode ser "a" mesmo)&lt;br /&gt;a) 3 + 2 - 5 + 9&lt;br /&gt;b) ( 3 + 4 ) / 6 (quero com resultado em float!)&lt;br /&gt;c) 5 * 7.0 + 2 (use o 7.0, mas quero o resultado em int!)&lt;br /&gt;d) 982 * 231 + 432&lt;br /&gt;&lt;br /&gt;usando 2 variáveis&lt;br /&gt;a) a * ( 4  + b ) (a=4, b=9)&lt;br /&gt;b) (a + b)² (vcs não aprenderam elevar ao ², façam de algum geito que funcione!) (a=3, b=5)&lt;br /&gt;c) ( 1 / a ) + ( 3 * b ) (resultado em float com a divisão exata) (a=4, b=5)&lt;br /&gt;d) 2 + b * 4 * 6 / 9 - a (quero duas respostas diferentes, use ()) (a=8, b=2)&lt;/valor&gt;&lt;/operação&gt;&lt;/variável&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-5367976244935548026?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/5367976244935548026/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-2-programao-e-as-operaes.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/5367976244935548026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/5367976244935548026'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-2-programao-e-as-operaes.html' title='Aula 2: A Programação e as Operações Matemáticas'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7414901141675146084.post-625660148866847570</id><published>2009-01-24T10:46:00.001-08:00</published><updated>2009-01-24T11:32:32.559-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aulas Básicas'/><title type='text'>Aula 1: Conceitos Básicos de Programação</title><content type='html'>&lt;div align="center"&gt;&lt;img src="http://img82.imageshack.us/img82/6986/aula1ci8.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;COMEÇANDO:&lt;/b&gt;&lt;br /&gt;É de extrema importância que antes de começar a criar/editar scripts, você tenha alguns conceitos básicos sobre programação orientada à objetos. É sobre isso que trataremos na nossa primeira aula, que será bem breve, mas muito importante.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;A linguagem RGSS é uma linguagem orientada à objetos, vamos assim ao nosso primeiro conceito.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;O que são Objetos ?&lt;/b&gt;&lt;br /&gt;Definição geral: São as entidades que compõem um programa. (no nosso caso, scripts)&lt;br /&gt;Cada objeto é responsável por executar determinadas tarefas.&lt;br /&gt;O conjunto de tarefas que um objeto realiza define seu comportamento.&lt;br /&gt;Objetos são manipulados através de seus métodos.&lt;br /&gt;Um método consiste de uma seqüência de instruções que acessam dados.&lt;br /&gt;Quando se executa um método não é necessário conhecer seu conjunto de instruções. O importante é saber a tarefa que o método realiza.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Traduzindo:&lt;/b&gt;&lt;br /&gt;Imagine um lápis, ele é o seu objeto, se o lápis é o objeto o que seriam os métodos? Escrever, apontar, por exemplo, a princípio você pode pensar que um objeto é como um lápis, uma cadeira, ou seja um objeto propriamente dito, já os métodos são instruções ou comandos do objeto, no caso do lápis, eu posso escrever ou posso apontar, esses são os métodos que o nosso lápis em questão disponibiliza.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;EXEMPLO1:&lt;/b&gt;&lt;br /&gt;Faça a representação de uma lâmpada:&lt;br /&gt;Uma lâmpada pode estar ligada ou desligada.&lt;br /&gt;&lt;br /&gt;Assim temos:&lt;br /&gt;Objeto Lâmpada&lt;br /&gt;Métodos do Objeto: acender e apagar&lt;br /&gt;&lt;br /&gt;&lt;b&gt;EXEMPLO2:&lt;/b&gt;&lt;br /&gt;Faça a representação de um portão automático de garagem.&lt;br /&gt;Um portão pode estar aberto ou fechado.&lt;br /&gt;&lt;br /&gt;Objeto: Portão&lt;br /&gt;Métodos: abrir e fechar&lt;br /&gt;Bom depois desses exemplos creio eu que as coisas ficaram mais claras. XD&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;Consideramos como estado o modo que o nosso objeto se encontra, ou seja, se a lâmpada está acesa o estado dela é 'acesa', daí tiramos que:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Método:&lt;/b&gt; comando ou instrução que pode ou não (vamos deixar esse ou não pra mais tarde) modificar o estado do objeto.&lt;br /&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Estado:&lt;/b&gt; é como o objeto está no momento, é como as características dele.&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img258.imageshack.us/img258/5819/homeworkjb8.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Exercícios:&lt;/b&gt;&lt;br /&gt;Modelo:&lt;br /&gt;Faça a representação de uma sinaleira:&lt;br /&gt;• Uma sinaleira pode estar em um de três estados: vermelho, amarelo ou verde.&lt;br /&gt;• Quando se solicita, ela passa para o próximo estado (vermelho &lt;&gt;1)Faça a representação de uma lâmpada que possui um dimmer:&lt;br /&gt;• O dimmer permite que se aumente ou diminua a intensidade da lâmpada.&lt;br /&gt;• A intensidade varia de 1 a 10.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2)&lt;/b&gt;Faça a representação de um carro. Deve ser possível:&lt;br /&gt;• Ligar ou desligar o carro.&lt;br /&gt;• Acelerar ou desacelerar o carro.&lt;br /&gt;• Frear o carro (o uso do freio implica em desacelerar mais rápido).&lt;br /&gt;• Mostrar a sua velocidade.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3)&lt;/b&gt;Faça a representação de um parquímetro:&lt;br /&gt;• Só podem ser usadas moedas de R$ 1,00.&lt;br /&gt;• Botão verde: imprime um ticket válido por 1h (que custa R$ 2,00)&lt;br /&gt;• Botão vermelho: imprime um ticket válido por 2hs (que custa R$ 4,00).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;OBS.:&lt;/b&gt; esses exercícios todos podem parecer meio "fora da casinha", mas entender esses conceitos são o primeiro passo para a programação, mas para os apressados, não se preocupem, já teremos conteúdos práticos na próxima aula!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;img src="http://img261.imageshack.us/img261/9157/lessoncw7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Atributos&lt;/b&gt; são características dos objetos, no caso da lâmpada, temos uma característica, o estado dela, se está acesa ou não, em objetos mais complexos temos mais atributos, por exemplo em uma caixa temos a largura a altura etc...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/1176/importantxe7.png" alt="" class="bbc_img" /&gt;&lt;b&gt;Tipo danem-se as lâmpadas e as caixas, o que eu quero é RGSS&lt;/b&gt;&lt;br /&gt;Bom menos enrolação e mais conteúdo, se você está se perguntando o que são essas coisas ou pra que servem, vamos a uns exemplos práticos...&lt;br /&gt;&lt;br /&gt;Primeiro abra o seu editor de script, vá até o main, lá você encontrará $scene = Scene_Title.new, isso é, um objeto (o $scene)! OH! Existem vários tipos de objetos este que eu citei o "maior" de todos, é o objeto chamado $scene, ele é quem controla o que você vê na tela (na verdade quem controla é o Graphics, mas vamos deixar isso para depois), ou seja até a sua tela é um objeto, para ver mais alguns exemplos bem abrangentes, vá até o Scene_Title, você vai notar que em algumas partes do código tem vários nomes iniciados com $, esses são objetos do jogo, como personagens, habilidades, inimigos e etc. ATENÇÃO: existem vários outros tipos de objetos e não guie-se pelo $, pois não precisa ter isso para ser tal coisa, na verdade se formos pensar de forma abrangente, todas as palavras em preto nos códigos são objetos ou referencia aos mesmos, muitos não?! Por isso a importância de entender eles como um todo.&lt;br /&gt;Vamos agora ver os métodos, o que é um método? Abra um script qualquer e procure por uma palavra em azul, procure por def, esse é o comando para criar um método, (def = definição) assim você também deve ter reparado que temos muitos métodos, depois estudaremos o que não pode faltar em um script como classes, métodos e atributos(todo o script se resume a isso).&lt;br /&gt;Falta agora os atributos, mas esse é fácil, o que não pode faltar em um personagem? Nome, experiência, hp, sp... tudo isso são atributos, fácil né! Pense nisso!&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://img258.imageshack.us/img258/7199/linhahreb7.png" alt="" class="bbc_img" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img258.imageshack.us/img258/5819/homeworkjb8.png" alt="" class="bbc_img" /&gt;Exercícios:&lt;br /&gt;Liste 5 objetos, métodos e atributos do RGSS e RGSS2 (não valem iguais e são 5 de cada!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7414901141675146084-625660148866847570?l=x-rmxp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://x-rmxp.blogspot.com/feeds/625660148866847570/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-1-conceitos-bsicos-de-programao.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/625660148866847570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7414901141675146084/posts/default/625660148866847570'/><link rel='alternate' type='text/html' href='http://x-rmxp.blogspot.com/2009/01/aula-1-conceitos-bsicos-de-programao.html' title='Aula 1: Conceitos Básicos de Programação'/><author><name>Anderson Porto</name><uri>http://www.blogger.com/profile/18044462275289357971</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_nLHsub5quv0/SXtMax8GjxI/AAAAAAAAAAM/UwRz61LiTS0/S220/index.php.jpg'/></author><thr:total>1</thr:total></entry></feed>
