PortalPortal  InícioInício  FAQFAQ  BuscarBuscar  Registrar-seRegistrar-se  Conectar-se  

Compartilhe|

BBcode messages v 0.6

Ver o tópico anterior Ver o tópico seguinte Ir em baixo
AutorMensagem
Douglanilo
avatar
Mestre
Mestre

Masculino Postagens : 959
Data de inscrição : 02/04/2009


Ver perfil do usuário http://www.twevergrand.com
MensagemAssunto: BBcode messages v 0.6 Dom Abr 19, 2009 4:30 pm

BBcode messages v 0.6

Descrição:
Esse script serve para você poder personalizar as mensagens do seu jogo com
BBCode(os códigos utilizados pela internet para alterar o texto)
script:

Código:
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#                    Bbcode messages  v 0.6              Rgss2
#    Criado por berka                            www.rpgmakervx-fr.com
#    Traduzido pelo Amigo X                  planetarpgmaker.forumbrasil.net
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Permite a ultilização de Comandos BBCode nas mensagens do jogo
#
# [b]...[/b] Negrito == [strong]...[/strong]
# [i]...[/i] Italico
# [o]...[/o] Sem sombra
# [size=TAMANHO]...[/size] Tamanho dos Caractes
# [color=#XXXXXX]...[/color] Cor Hexadecimal
# [color=COR]...[/color] Cores HTML
#
[list]
[*]...
[*]...
[/list] lista Marcada
# [list=1]
[*]...
[*]...
[/list] lista em Numerica
# [list=a]
[*]...
[*]...
[/list] lista em Letras
# [u]...[/u] Sublinhado
# [s]...[/s] Riscado
# [font=NOME DA FONTE]...[/font] Fonte
# [sup]...[/sup] Expositor
# [shadow=#XXXXXX]...[/shadow] Sobra Hexadecimal
# [shadow=COR]...[/shadow] Sobra HTML
# [blur]...[/blur] Borrado
# [img]NOME DA IMAGEM SEM EXTENSÃO[/img] Inserir Imagem
# (A Imagem deve está na pasta Graphics/system)
#
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$KCODE="UTF8"
module Berka
  module Bbcode
    Puce="?—? " #?ˆ†
    Surligneur="#0000CD" #html
    Blur_Opacite=125 #opacidade [blur]
    Ombre_Portee=[6,6] #[x,y] offset dos pixeis
    #Cores html <> hexadecimais
    HTML={:aliceblue=>"#F0F8FF",:aqua=>"#00FFFF",:aquamarine=>"#7FFFD4",:azure=>"#F0FFFF",:beige=>"#F5F5DC",:bisque=>"#FFE4C4",
          :black=>"#000000",:blanchedalmond=>"#FFEBCD",:blue=>"#0000FF",:blueviolet=>"#8A2BE2",:brown=>"#A52A2A",:burlywood=>"#DEB887",
          :cadetblue=>"#5F9EA0",:chartreuse=>"#7FFF00",:chocolate=>"#D2691E",:coral=>"#FF7F50",:cornflowerblue=>"#6495ED",:cornsilk=>"#FFF8DC",
          :crimson=>"#DC143C",:cyan=>"#00FFFF",:darkblue=>"#00008B",:darkcyan=>"#008B8B",:darkgoldenrod=>"#B8860B",:darkgray=>"#A9A9A9",
          :darkgreen=>"#006400",:darkkhaki=>"#BDB76B",:darkmagenta=>"#8B008B",:darkolivegreen=>"#556B2F",:darkorange=>"#FF8C00",
          :darkorchid=>"#9932CC",:darkred=>"#8B0000",:darksalmon=>"#E9967A",:darkseagreen=>"#8FBC8F",:darkslateblue=>"#483D8B",
          :darkslategray=>"#2F4F4F",:darkturquoise=>"#00CED1",:darkviolet=>"#9400D3",:deeppink=>"#FF1493",:deepskyblue=>"#00BFFF",
          :dimgray=>"#696969",:dodgerblue=>"#1E90FF",:firebrick=>"#B22222",:floralwhite=>"#FFFAF0",:forestgreen=>"#228B22",:fuchsia=>"#FF00FF",
          :gainsboro=>"#DCDCDC",:ghostwhite=>"#F8F8FF",:gold=>"#FFD700",:goldenrod=>"#DAA520",:gray=>"#808080",:green=>"#008000",
          :greenyellow=>"#ADFF2F",:honeydew=>"#F0FFF0",:hotpink=>"#FF69B4",:indianred=>"#CD5C5C",:indigo=>"#4B0082",:ivory=>"#FFFFF0",
          :khaki=>"#F0E68C",:lavender=>"#E6E6FA",:lavenderblush=>"#FFF0F5",:lawngreen=>"#7CFC00",:lemonchiffon=>"#FFFACD",:lightblue=>"#ADD8E6",
          :lightcoral=>"#F08080",:lightcyan=>"#E0FFFF",:lightgoldenrodyellow=>"#FAFAD2",:lightgreen=>"#90EE90",:lightgrey=>"#D3D3D3",
          :lightpink=>"#FFB6C1",:lightsalmon=>"#FFA07A",:lightseagreen=>"#20B2AA",:lightskyblue=>"#87CEFA",:lightslategray=>"#778899",
          :lightsteelblue  =>"#B0C4DE",:lightyellow=>"#FFFFE0",:lime=>"#00FF00",:limegreen=>"#32CD32",:linen=>"#FAF0E6",:magenta=>"#FF00FF",
          :maroon=>"#800000",:mediumaquamarine=>"#66CDAA",:mediumblue=>"#0000CD",:mediumorchid=>"#BA55D3",:mediumpurple=>"#9370DB",
          :mediumseagreen=>"#3CB371",:mediumslateblue=>"#7B68EE",:mediumspringgreen=>"#00FA9A",:mediumturquoise=>"#48D1CC",
          :mediumvioletred=>"#C71585",:midnightblue=>"#191970",:mintcream=>"#F5FFFA",:mistyrose=>"#FFE4E1",:moccasin=>"#FFE4B5",
          :navajowhite=>"#FFDEAD",:navy=>"#000080",:oldlace=>"#FDF5E6",:olive=>"#808000",:olivedrab=>"#6B8E23",:orange=>"#FFA500",
          :orangered=>"#FF4500",:orchid=>"#DA70D6",:palegoldenrod=>"#EEE8AA",:palegreen=>"#98FB98",:paleturquoise=>"#AFEEEE",
          :palevioletred=>"#DB7093",:papayawhip=>"#FFEFD5",:peachpuff=>"#FFDAB9",:peru=>"#CD853F",:pink=>"#FFC0CB",:plum=>"#DDA0DD",
          :powderblue=>"#B0E0E6",:purple=>"#800080",:red=>"#FF0000",:rosybrown=>"#BC8F8F",:royalblue=>"#4169E1",:saddlebrown=>"#8B4513",
          :salmon=>"#FA8072",:sandybrown=>"#F4A460",:seagreen=>"#2E8B57",:seashell=>"#FFF5EE",:sienna=>"#A0522D",:silver=>"#C0C0C0",
          :skyblue=>"#87CEEB",:slateblue=>"#6A5ACD",:slategray=>"#708090",:snow=>"#FFFAFA",:springgreen=>"#00FF7F",:steelblue=>"#4682B4",
          :tan=>"#D2B48C",:teal=>"#008080",:thistle=>"#D8BFD8",:tomato=>"#FF6347",:turquoise=>"#40E0D0",:violet=>"#EE82EE",:wheat=>"#F5DEB3",
          :white=>"#FFFFFF",:whitesmoke=>"#F5F5F5",:yellow=>"#FFFF00",:yellowgreen=>"#9ACD32"}
          Alpha="abcdefghijklmnopqrstuvwxyz".scan(/./)
  end
end
include Berka::Bbcode
class Window_Message < Window_Selectable
  alias berka_bbcode_convert convert_special_characters
  def start_message
    @text=""
    for i in 0...$game_message.texts.size
      @text+="    " if i >= $game_message.choice_start
      @text+=$game_message.texts[i].clone+"\x00"
    end
    @item_max=$game_message.choice_max
    convert_special_characters
    reset_window
    new_page
  end
  def convert_special_characters
    berka_bbcode_convert
    @a=0
    @text.gsub!('[b]')              {"\xA1"}
    @text.gsub!('[strong]')        {"\xA1"}
    @text.gsub!('[/b]')            {"\xA2"}
    @text.gsub!('[/strong]')        {"\xA2"}
    @text.gsub!('[i]')              {"\xA3"}
    @text.gsub!('[/i]')            {"\xA4"}
    @text.gsub!('[o]')              {"\xA5"}
    @text.gsub!('[/o]')            {"\xA6"}
    @text.gsub!(/\[size\=(\d+)\]/)  {"\xA7[#{$1}]"}
    @text.gsub!('[/size]')          {"\xA8"}
    @text.gsub!(/\[color\=\#([0-9A-Za-z]+?)\]/x){"\xA9\[#{$1}\]"}
    @text.gsub!(/\[color\=([0-9A-Za-z]+?)\]/x){"\xA9\[#{$1}\]"}
    @text.gsub!('[/color]')        {"\xAA"}
    @text.gsub!('
[list]')          { @a=nil;@t=nil;''}
    @text.gsub!(/\[list\=(\d+)\]/)  { @a=0;@t=0;'' }
    @text.gsub!(/\[list\=([A-Za-z]+)\]/){ @a=0;@t=nil;'' }
    @text.gsub!('
[*]')              {(@t.nil? ? (@a+=1;"\x00    #{Alpha[@a-1]}-"):(@a+=1;"\x00    #{@a+=1}-"))rescue "\x00    "+Puce }
    @text.gsub!('
[/list]')          { @a=nil;@t=nil;""}
    @text.gsub!('[u]')              {"\xAB"}
    @text.gsub!('[/u]')            {"\xAV"}
    @text.gsub!('[s]')              {"\xAD"}
    @text.gsub!('[strike]')        {"\xAD"}
    @text.gsub!('[/s]')            {"\xAE"}
    @text.gsub!('[/strike]')        {"\xAE"}
    @text.gsub!(/\[font\=([A-Za-z]+)\]/){ "\xAF[#{$1}]"}
    @text.gsub!('[/font]')          {"\xB0"}
    @text.gsub!('[sup]')            {"\xB1"}
    @text.gsub!('[/sup]')          {"\xB2"}
    @text.gsub!('[fluo]')          {"\xB3"}
    @text.gsub!('[/fluo]')          {"\xB4"}
    @text.gsub!('[blur]')          {"\xB5"}
    @text.gsub!('[/blur]')          {"\xB6"}
    @text.gsub!(/\[shadow\=\#([0-9A-Za-z]+?)\]/x){"\xB7\[#{$1}\]"}
    @text.gsub!(/\[shadow\=([0-9A-Za-z]+?)\]/x){"\xB7\[#{$1}\]"}
    @text.gsub!('[/shadow]')        {"\xB8"}
    @text.gsub!('[img]')            {"\xB9"}
    @text.gsub!('[/img]')          {"\xBA"}
  end
  def update_message
    loop {
      c=@text.slice!(/./m)
      case c
      when nil                   
        finish_message         
        break
      when "\x00"               
        new_line
        if @line_count >= MAX_LINE 
          unless @text.empty?     
            self.pause=true     
            break
          end
        end
      when "\x01";@text.sub!(/\[([0-9]+)\]/,"");contents.font.color=text_color($1.to_i);next
      when "\x02";@gold_window.refresh;@gold_window.open
      when "\x03";@wait_count=15;break
      when "\x04";@wait_count=60;break
      when "\x05";self.pause=true;break
      when "\x06";@line_show_fast=true
      when "\x07";@line_show_fast=false
      when "\x08";@pause_skip=true 
      when "\xA1";self.contents.font.bold=true
      when "\xA2";self.contents.font.bold=Font.default_bold
      when "\xA3";self.contents.font.italic=true
      when "\xA4";self.contents.font.italic=Font.default_italic
      when "\xA5";self.contents.font.shadow=false
      when "\xA6";self.contents.font.shadow=Font.default_shadow
      when "\xA7";@text.sub!(/\[(\d+)\]/,'');self.contents.font.size=$1.to_i;next
      when "\xA8";self.contents.font.size=Font.default_size
      when "\xA9";@text.sub!(/\[([0-9A-Za-z]+)\]/ix,'');@bbcouleur=self.contents.font.color=hexa($1);next
      when "\xAA";self.contents.font.color=Font.default_color
      when "\xAB";@soul=true
      when "\xAC";@soul=false
      when "\xAD";@str=true
      when "\xAE";@str=false
      when "\xAF";@text.sub!(/\[([A-Za-z]+)\]/,"");self.contents.font.name=$1 if Font.exist?($1)
      when "\xB0";self.contents.font.name=Font.default_name
      when "\xB1";self.contents.font.size*=0.5
      when "\xB2";self.contents.font.size=Font.default_size
      when "\xB3";@fluo=true
      when "\xB4";@fluo=false
      when "\xB5";@flou=true
      when "\xB6";@flou=false 
      when "\xB7";@text.sub!(/\[([0-9A-Za-z]+)\]/,'');@ombre=$1
      when "\xB8";@ombre=nil
      when "\xB9";@text.sub!(/([0-9A-Za-z]+)/,'');@img=Cache.system($1)
      when "\xBA";
      else
        c_width=contents.text_size(c).width
        (contents.blt(@contents_x,@contents_y,@img,@img.rect);@contents_x+=@img.width)if !@img.nil?
        contents.fill_rect(@contents_x,@contents_y,c_width,self.contents.font.size,hexa(Surligneur)) if @fluo   
        contents.ombre_portee(c,@contents_x,@contents_y,[6,6],@ombre)if !@ombre.nil?
        contents.draw_text(@contents_x,@contents_y,40,self.contents.font.size,c)
        contents.flou([@contents_x,@contents_y,c_width,self.contents.font.size])if @flou
        contents.draw_text(@contents_x,@contents_y+1,c_width,self.contents.font.size,"___") if @soul
        contents.draw_text(@contents_x,@contents_y-self.contents.font.size/3,c_width,self.contents.font.size,"___") if @str
        @contents_x+=c_width
        @img=nil
      end
      break unless @show_fast||@line_show_fast}
  end
  def hexa(hex)
    hex=HTML[hex.to_sym] if HTML.has_key?(hex.to_sym)
      hex=hex.scan(/./)
      (rgb=[hex[0]+hex[1],hex[2]+hex[3],hex[4]+hex[5]]) rescue (return normal_color)
      return Color.new(rgb[0].to_i(16),rgb[1].to_i(16),rgb[2].to_i(16))
  end
end
class Bitmap
  def ombre_portee(string,x,y,d,col)
    a,b,m,n=false,false,d[0],d[1]
    loop do
      self.font.color=Color.new(hexa(col)[0],hexa(col)[1],hexa(col)[2],255-255*m/d[0])
      draw_text(Rect.new(x-m,y+n,text_size(string).width,self.font.size),string)
      m>0 ? m-=1 :a=true;n>0 ? n-=1 :b=true
      break if a&&b
    end
  end
  def flou(rect,of=2,opacite=Blur_Opacite,spac=1)
    x,y,w,h=rect[0],rect[1],rect[2],rect[3]
    dummy = self.dup
    of.times{|i|
      src_rects=[]
      src_rects<
      src_rects<
      src_rects<
      src_rects<
      o=Integer(opacite*(of-i)/of)
      src_rects.each{|src_rect|blt(x,y,dummy,src_rect,o)}}
  end
  def hexa(hex)
    hex=HTML[hex.to_sym] if HTML.has_key?(hex.to_sym) rescue return
    hex=hex.scan(/./)
    (rgb=[hex[0]+hex[1],hex[2]+hex[3],hex[4]+hex[5]]) rescue (return normal_color)
    return rgb[0].to_i(16),rgb[1].to_i(16),rgb[2].to_i(16)
  end
end


Imagens:


Spoiler:
 

Créditos:
Por AMIGO X ter traduzido e para Berka por ter feito

_________________________________________
Voltar ao Topo Ir em baixo

BBcode messages v 0.6

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo
Página 1 de 1

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
The World of EverGrand :: Programação em Linguagens :: Ruby Game Scripting System :: Scripts :: RPG Maker VX-