Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
BBcode w wiadomości
Autor Wiadomość
tracersgta 




Preferowany:
RPG Maker VX

Pomógł: 45 razy
Dołączył: 10 Sty 2011
Posty: 612
Skąd: mam wiedzieć?
Wysłany: Pią 28 Sty, 2011 11:28
BBcode w wiadomości
Opis
Umożliwia dodawanie BBcode w wiadomościach

Autor
Berka

Kompatybilność
Vx, niepowinno wchodzić w kolizję z innymi skryptami.

Skrypt
Spoiler:

Kod:
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#                    Bbcode messages  v 0.6              Rgss2
#    par berka                            www.rpgmakervx-fr.com
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# permet l'utilisation de certaines balises bbcode dans les messages de rmvx
#
# [b]...[/b] gras == [strong]...[/strong]
# [i]...[/i] italique
# [o]...[/o] non ombré
# [size=i]...[/size] taille des caractères
# [color=#FFFFFF]...[/color] couleur hexadecimale
# [color=black]...[/color] couleur nominale html
# [list][*]...[*]...[/list] liste à puce
# [list=1][*]...[*]...[/list] liste à chiffres
# [list=a][*]...[*]...[/list] liste à lettre
# [u]...[/u] souligné
# [s]...[/s] barré == [strike]...[/strike]
# [font=arial]...[/font] police
# [sup]...[/sup] exposant
# [shadow=#FFFFFF]...[/shadow] ombre portée
# [shadow=black]...[/shadow] ombre portée
# [blur]...[/blur] flou
# [img]nom de l'image sans extention[/img] insertion image (placée dans Graphics/system)
# d'autres fonctions viendront;^)
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$KCODE="UTF8"
module Berka
  module Bbcode
    Puce="�—� " #�ˆ†
    Surligneur="#0000CD" #html
    Blur_Opacite=125 #opacité [blur]
    Ombre_Portee=[6,6] #[x,y] nbr de pixels de décalage
    #couleurs html <> hexadecimales
    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<<Rect.new(x+i*spac,y+i*spac,w,h)
      src_rects<<Rect.new(x-i*spac,y+i*spac,w,h)
      src_rects<<Rect.new(x+i*spac,y-i*spac,w,h)
      src_rects<<Rect.new(x-i*spac,y-i*spac,w,h)
      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



Demo
Nie potrzebne

ScreenShot


Instrukcja
Wklej skrypt nad "Main".
________________________
I'm a tiger! I roar. I hunt, I climb, I eat, I wash, I sleep!

Gość, jeżeli pomogłem daj "Pomógł" ;-)
 
 
 
Poster27 




Preferowany:
RPG Maker VX

Pomógł: 22 razy
Dołączył: 27 Kwi 2010
Posty: 136
Skąd: że znowu
Wysłany: Pią 28 Sty, 2011 16:07
Ja to już CHYBA wszystkie skrypty VX widziałem :P Skrypt ten, jest jednym z najlepszych. Przydało by się spolszczyć instrukcję, bo z francuskiego w ogóle nie znam :P
 
 
tracersgta 




Preferowany:
RPG Maker VX

Pomógł: 45 razy
Dołączył: 10 Sty 2011
Posty: 612
Skąd: mam wiedzieć?
Wysłany: Pią 28 Sty, 2011 16:16
Hmmm... jedyne co trzeba zrobić to wkleić skrypt nad "Main"!!! Jeżeli chodzi o komendy to przetestuj je na czystym projekcie co oznaczją ;-) ....
________________________
I'm a tiger! I roar. I hunt, I climb, I eat, I wash, I sleep!

Gość, jeżeli pomogłem daj "Pomógł" ;-)
 
 
 
Shlizer 




Preferowany:
RPG Maker XP

Pomógł: 11 razy
Dołączył: 02 Sty 2011
Posty: 138
Skąd: /var/tmp
Wysłany: Pią 28 Sty, 2011 17:20
Na chłopski rozum co oznaczają komendy BBCode masz w pomocy każdego forum phpBB (np. tu)
________________________
Aversum Framework Demo
Aktualnie pracuję nad NSO =p
 
 
premek 



Preferowany:
RPG Maker VX

Dołączył: 30 Sty 2011
Posty: 13
Wysłany: Sob 05 Lut, 2011 07:25
Dzięki ten skrypt mi się napewno przyda
________________________
Kliknij http://grawbank.tk/876/nekome A coś zyskam :D
 
 
anemone 




Preferowany:
RPG Maker XP

Dołączył: 20 Mar 2011
Posty: 55
Skąd: Z brzuszka mamusi.
Wysłany: Pon 30 Maj, 2011 16:30
KOCHAM CIĘ!!! TEGO SZUKAŁEM!!! :przytul: :przytul:
 
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene