Annuaire du RPG
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Annuaire du RPG

Répertoire de ressources/scripts[...] pour le logiciel Rpg Maker !
 
AccueilAccueil  PortailPortail  Dernières imagesDernières images  RechercherRechercher  S'enregistrerS'enregistrer  ConnexionConnexion  
Le deal à ne pas rater :
Smartphone Xiaomi 14 – 512 Go- 6,36″ 5G Double SIM à 599€
599 €
Voir le deal

 

 Bbcode dans les messages

Aller en bas 
AuteurMessage
Neko
Fondateur
Fondateur
Neko


Messages : 184
Date d'inscription : 14/07/2013
Age : 25
Localisation : Ici, la plupart du temps.

Bbcode dans les messages Empty
MessageSujet: Bbcode dans les messages   Bbcode dans les messages Icon_minitimeSam 20 Juil - 13:45

Vous voyez les codes que vous utilisez dans les messages sur les forums ?
Eh bien, grâce ce script réalisé par Berka, vous allez pouvoir utiliser les balises dans l'éditeur de messages Rpg Maker.

Instructions :

Placez le script au dessus de main.
Autres instructions, dans le script.

Screens :

Bbcode dans les messages Captur10

Bbcode dans les messages Captur11


Script :

Code:

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#                    Bbcode messages  v 0.5              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_image sans extension[/img]
# [ code]...[ /code] pas de balises du début de message à [ /code]
# d'autres fonctions viendront;^)
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$KCODE="UTF8"
module Berka
  module Bbcode
    Puce="● " #∆
    Surligneur="#0000CD" #html
    Blur_Opacite=125 #opacité [blur]
    Ombre_Portee=6
    #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!("[code]")          {@code=true;"\xBB"}
    @text.gsub!("[/code]")          {"\xBC"}
    if !@code
    @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
  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";next
      when "\xBB";@code=true;convert_special_characters
      when "\xBC";@code=false;convert_special_characters
      else
        draw(c)
      end
      break unless @show_fast||@line_show_fast}
    end
    def draw(c)
      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
    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=125,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
Revenir en haut Aller en bas
https://annuairedurpg.1fr1.net
 
Bbcode dans les messages
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» XP - Contour sur les lettres dans les messages
» [Ace] Des icônes dans vos menus
» [Ace]Afficher le nombre de pas dans le menu.
» VX - Baisser le volume de la musique de fond dans le menu

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Annuaire du RPG :: RPG maker & co :: Scripts :: RGSS 2 :: Autres-
Sauter vers: