🤔 Para Refletir :
"Quer ouvir um paradoxo? Desenvolvedores que fazem jogos envolventes."
- InterPlay

NPCs Window Rose

FelipeFalcon

Duque
Membro
Membro
Juntou-se
09 de Abril de 2015
Postagens
706
Bravecoins
5
NPCs Window Rose

Informações


Autor: Felipe Carneiro (FelipeFalcon)
Engine: RPG Maker VX Ace
Versão: 1.0.0 (16/12/2017)   
Licença: [size=8pt]https://creativecommons.org/licenses/by/4.0/legalcode​
   

Este script permite mostrar uma Window, que mostra determinados eventos que serão marcados com códigos em seus nomes.

É possível mostrar até 18 eventos escolhidos, acima disso o sistema não mostra.
A janela foi anexada aos mapas, para abri-la/fecha-la use o comando por por eventos:                                                             

$window_npcs_rose.open                                                   
$window_npcs_rose.close   
                                             

Você pode montar um menu por eventos que a abra, libere sua criatividade. 

Todos os detalhes, configurações e outras instruções estão no próprio script.
Dica: Não use caracteres padrões pros códigos que quer no evento.


Condições de Uso​
Liberado para uso pessoal, comercial, ser alterado e tudo mais. Desde que mantenha os créditos do código original.

Imagens​
Download e Script​


 
Cara... esse script é bem criativo.
Ele pode ser usado de várias formas diferentes! A melhor que consigo pensar, é uma forma de nos mostrar inimigos encontráveis (No caso de usar eles como chars no mapa) ou até itens que podem ser conseguidos em baús por perto (Visto que ele n mostraria a localização, mantendo a exploração).

Parabéns pelo sistema man!


Yeeeey~ Peace, peace~
 
Muito interessante, dá pra fazer uns trecos legais com isso! :)

Só algumas ideias que você podia ter usado:

Você poderia ter feito o sistema usando comentários no evento ao invés do nome dele, isso permite mais espaço pra digitar, aí dá pra usar uns padrões mais bonitinhos pra configurar, ao invés de caracteres de controle tipo "@" ou "$", assim fica mais fácil de entender também. Dá uma olhada em Regexes, parece um bicho de sete cabeças mas quando você entender não vai conseguir parar de usar.

Outra coisa, seria uma boa usar uma Window_Scrollable (ou era Window_Selectable? Não sei, não tenho o maker aqui pra ver :c) pra permitir exibir mais eventos através de um scroll, ou mesmo implrmentar sua própria solução pra um scroll da janela (ver
Código:
window.oy
), porque limitar a 18 eventos só não é muito bom.

Parabéns, espero ver mais scripts seus por aqui Falcon \o
 
[member=8]FelipeFalcon[/member]


Belo script, adorei a forma de como foi construido e de como ficou, espero ver mais de seus scripts por aqui ;)

Sobre a análise de arquitetura, verifiquei apenas um ponto que poderia ser melhorado.

Código:
  def memorize_and_create_list_events
    order_list = 0
    reset_font_settings
    colun = 0
    for i in 1..$game_map.events.length
      event_name_r = $game_map.events[i].name_rose
      if event_name_r.include? Caracter
        order_list += 1 
        colun += self.width/2-4 if order_list > 9
        order_list = 1 if order_list > 9
          for i2 in 0..Titles.length - 1 
            if event_name_r.include? Titles[i2][0]
              event_name_r = $game_map.events[i].name_rose.delete(Titles[i2][0])
              contents.font.size = 14
              contents.font.bold = true
              contents.font.color.set(Titles[i2][2]) if Titles[i2][2] != nil
              draw_text(Rect.new(32+colun,(order_list-1)*42+39,width,20), Titles[i2][1], 0)
            end
          end
        reset_font_settings
        contents.font.size = 22
        draw_character($game_map.events[i].character_name, $game_map.events[i].character_index, 14+colun, (order_list-1)*42+54)
        draw_text_ex(32+colun,(order_list-1)*42+20, event_name_r.delete(Caracter))
      end
    end
  end


O método "memorize_and_create_list_events" está gigante x.x

A palavra "and" no nome de um método é um bom sinal de que ele está fazendo mais coisas do que deveria.

Você poderia quebrar varias partes do seu método em métodos menores, isso irá facilitar bastante a manutenção e a reutilização de código.
 
Voltar
Topo Inferior