Welcher ist der beste RPG-Maker?

FFSE / The Mirror Forum
Verfügbare Informationen zu "Welcher ist der beste RPG-Maker?"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: Amenofus - ffhmod - Zetsuai
  • Forum: FFSE / The Mirror Forum
  • Forenbeschreibung: Das Forum rund um FFSE und The Mirror
  • aus dem Unterforum: Allgemein
  • Antworten: 7
  • Forum gestartet am: Sonntag 11.06.2006
  • Sprache: deutsch
  • Link zum Originaltopic: Welcher ist der beste RPG-Maker?
  • Letzte Antwort: vor 17 Jahren, 7 Monaten, 21 Tagen, 4 Stunden, 53 Minuten
  • Alle Beiträge und Antworten zu "Welcher ist der beste RPG-Maker?"

    Re: Welcher ist der beste RPG-Maker?

    Amenofus - 16.06.2006, 17:31

    Welcher ist der beste RPG-Maker?
    Hi,

    Mittlerweile gibt es ja bereits eine kleinere Auswahl an RPG-Makern. Aber welchen Maker findet ihr am besten?



    Re: Welcher ist der beste RPG-Maker?

    ffhmod - 17.06.2006, 22:19


    XP natürlich , der kann zum Beispiel Ruby , damit lässt sich alles machen. Auch graqfisch gesehen ein überagendes Enterbrain Produkt.



    Re: Welcher ist der beste RPG-Maker?

    Amenofus - 18.06.2006, 11:31


    Bin ich größten teils deiner Meinung. Allerdings haben sie einige Sachen beim XP rausgenommen. Z.B. die Faceset Funktion. Das ist aj aber auch nicht so schlimm, da man trotzdem noch (wenn auch auf eine umständliche Weise) Facesets einfügen kann. Ein anderer Punkt war aber auch, dass sie einige Funktionen bei der Textausgabe weggelassen haben. Wie eben halt die einstellbare Ausgabegeschwindigkeit des Textes. Ich habe noch keine Möglichkeit gefunden, wie man dies auch beim XP hinbekommt.





    Greetz
    Ameno



    Re: Welcher ist der beste RPG-Maker?

    Zetsuai - 29.08.2006, 18:49


    ich schließ mich dem XP an ^^

    @amenofus
    ich hätte da einen script für dich *nick*



    Re: Welcher ist der beste RPG-Maker?

    Amenofus - 04.09.2006, 21:06


    Naja, is natürlich klar, dass man dieses Problem mit RGSS lösen kann ^^"

    @Zetsuai:
    Joa, würde mich schon interessieren ^^
    Falls du ICQ hast kannste mich ja mal adden und es mir schicken. Oder machst in nem passenden Bereich mal nen Thread dafür auf ^^
    Aber danke schonmal :)



    Re: Welcher ist der beste RPG-Maker?

    Zetsuai - 06.09.2006, 15:22


    schick ich dir per icq ^^



    Re: Welcher ist der beste RPG-Maker?

    Zetsuai - 06.09.2006, 15:39


    oder doch net xd
    hab n paar kleine schwierigkeiten meinem word -.-"
    hier:

    #===================================================
    # ■ AMS - Advanced Message Script - R4 [Update #2]
    #===================================================
    # For more infos and update, visit:
    # www.dubealex.com (Creation Asylum)
    #
    # Edited, Fixed and Enhanced by: Dubealex
    # Original Script Core by: XRXS Scripter (Jap Dudes)
    # HTML Hexadecimal color feature from: Phylomorphis
    #
    # Special Thanks:
    # Rabu: For enabling the Show Face feature in an encrypted project
    #
    # To found all my new features, search the following: #NEW
    # To configure the button to skip the dialog, search: #SKIP_TEXT_CODE
    #
    # May 18, 2005
    #===================================================

    LETTER_BY_LETTER_MODE = true #Set the letter by letter mode ON/OFF

    #===================================================
    # ▼ CLASS AMS Begins
    #===================================================
    class AMS

    attr_accessor :name_box_x_offset
    attr_accessor :name_box_y_offset
    attr_accessor :font_type
    attr_accessor :name_font_type
    attr_accessor :font_size
    attr_accessor :name_font_size
    attr_accessor :message_box_opacity
    attr_accessor :name_box_skin
    attr_accessor :name_box_text_color
    attr_accessor :message_box_text_color
    attr_accessor :message_box_skin
    attr_accessor :name_box_width
    attr_accessor :name_box_height
    attr_accessor :message_width
    attr_accessor :message_height
    attr_accessor :message_x
    attr_accessor :message_y_bottom
    attr_accessor :message_y_middle
    attr_accessor :message_y_top
    attr_accessor :event_message_x_ofset
    attr_accessor :event_message_y_ofset

    def initialize

    @name_box_x_offset = 0 #Choose the X axis offset of the name bos. default= 0
    @name_box_y_offset = -10 #Choose the Y axis offset of the name bos. default= -10
    @name_box_width = 8 #Choose the width of the Name Box. default= 8
    @name_box_height = 26 #Choose the height of the Name Box. default= 26

    @font_type = "Tahoma" #Choose the Font Name (Case Sensitive) for message box
    @name_font_type = "Tahoma" #Choose the Font Name (Case Sensitive) for Name Box
    @font_size = 22 #Choose the default Font Size for message box text
    @name_font_size = 22 #Choose the deafault Font Size for Name Box text
    @name_box_text_color=0 #Choose the Text Color of the Name Box
    @message_box_text_color=0 #Choose the Text Color of the Message Box

    @message_box_opacity = 160 #Choose the opacity of the message window. Default=160
    @message_box_skin = "windowskin" #Choose the WindowSkin for the Message Box
    @name_box_skin = "windowskin" #Choose the WindowSkin for the Name Box

    @message_width = 480 #Choose the width size of the message box. Default=480
    @message_height = 160 #Choose the height size of the message box. Default=160
    @message_x = 80 #Choose the X position of the message box. Default=80
    @message_y_bottom = 304 #Choose the Y bottom position of the message box. Default=304
    @message_y_middle = 160 #Choose the Y middle position of the message box. Default=160
    @message_y_top = 16 #Choose the Y top position of the message box. Default=16

    @event_message_x_ofset = 0 #Choose the X position offset of the event message. Default=0
    @event_message_y_ofset = 48 #Choose the Y position offset of the event message. Default=48

    end
    end
    #===================================================
    # ▲ CLASS AMS Ends
    #===================================================


    #===================================================
    # ▼ Class Window_Message Begins
    #===================================================
    class Window_Message < Window_Selectable

    alias xrxs9_initialize initialize

    def initialize

    @alex_skip = false

    xrxs9_initialize

    if $soundname_on_speak == nil then
    $soundname_on_speak = ""
    end

    $gaiji_file = "./Graphics/Gaiji/sample.png"

    if FileTest.exist?($gaiji_file)
    @gaiji_cache = Bitmap.new($gaiji_file)
    else
    @gaigi_cache = nil
    end
    @opacity_text_buf = Bitmap.new(32, 32)
    end


    #--------------------------------------------------------------------------

    alias xrxs9_terminate_message terminate_message

    def terminate_message

    if @name_window_frame != nil
    @name_window_frame.dispose
    @name_window_frame = nil
    end

    if @name_window_text != nil
    @name_window_text.dispose
    @name_window_text = nil
    end
    xrxs9_terminate_message
    end

    #--------------------------------------------------------------------------

    def refresh

    self.contents.clear
    self.contents.font.color = text_color($ams.message_box_text_color)
    self.contents.font.name = $ams.font_type
    self.contents.font.size = $ams.font_size
    self.windowskin = RPG::Cache.windowskin($ams.message_box_skin)
    @x = @y = @max_x = @max_y = @indent = @lines = 0
    @face_indent = 0
    @opacity = 255
    @cursor_width = 0
    @write_speed = 0
    @write_wait = 0
    @mid_stop = false
    @face_file = nil
    @popchar = -2

    if $game_temp.choice_start == 0
    @x = 8
    end

    if $game_temp.message_text != nil
    @now_text = $game_temp.message_text
    if (/\A\\[Ff]\[(.+?)\]/.match(@now_text))!=nil then
    @face_file = $1 + ".png"
    @x = @face_indent = 128
    if FileTest.exist?("Graphics/Pictures/" + $1 + ".png")
    self.contents.blt(16, 16, RPG::Cache.picture(@face_file), Rect.new(0, 0, 96, 96))
    end
    @now_text.gsub!(/\\[Ff]\[(.*?)\]/) { "" }
    end

    begin
    last_text = @now_text.clone
    @now_text.gsub!(/\\[Vv]\[([IiWwAaSs]?)([0-9]+)\]/) { convart_value($1, $2.to_i) }
    end until @now_text == last_text
    @now_text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
    $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
    end

    #NEW
    #Dubealex's Stop Skip Text ON-OFF
    @now_text.gsub!(/\\[%]/) { "\100" }
    #End new command

    #NEW
    #Dubealex's Show Monster Name Feature
    @now_text.gsub!(/\\[Mm]\[([0-9]+)\]/) do
    $data_enemies[$1.to_i] != nil ? $data_enemies[$1.to_i].name : ""
    end
    #End new command

    #NEW
    #Dubealex's Show Item Price Feature
    @now_text.gsub!(/\\[Pp]rice\[([0-9]+)\]/) do
    $data_items[$1.to_i] != nil ? $data_items[$1.to_i].price : ""
    end
    #End new command

    #NEW
    #Dubealex's Show Hero Class Name Feature
    @now_text.gsub!(/\\[Cc]lass\[([0-9]+)\]/) do
    $data_classes[$data_actors[$1.to_i].class_id] != nil ? $data_classes[$data_actors[$1.to_i].class_id].name : ""
    end
    #End new command

    #NEW
    #Dubealex's Show Current Map Name Feature
    @now_text.gsub!(/\\[Mm]ap/) do
    $game_map.name != nil ? $game_map.name : ""
    end
    #End new command

    #NEW
    #Dubealex's Choose Name Box Text Color
    @now_text.gsub!(/\\[Zz]\[([0-9]+)\]/) do
    $ams.name_box_text_color=$1.to_i
    @now_text.sub!(/\\[Zz]\[([0-9]+)\]/) { "" }
    end
    #End new command

    name_window_set = false
    if (/\\[Nn]ame\[(.+?)\]/.match(@now_text)) != nil
    name_window_set = true
    name_text = $1
    @now_text.sub!(/\\[Nn]ame\[(.*?)\]/) { "" }
    end

    if (/\\[Pp]\[([-1,0-9]+)\]/.match(@now_text))!=nil then
    @popchar = $1.to_i
    if @popchar == -1
    @x = @indent = 48
    @y = 4
    end
    @now_text.gsub!(/\\[Pp]\[([-1,0-9]+)\]/) { "" }
    end

    @max_choice_x = 0
    if @popchar >= 0
    @text_save = @now_text.clone
    @max_x = 0
    @max_y = 4
    for i in 0..3
    line = @now_text.split(/\n/)[3-i]
    @max_y -= 1 if line == nil and @max_y <= 4-i
    next if line == nil
    line.gsub!(/\\\w\[(\w+)\]/) { "" }
    cx = contents.text_size(line).width
    @max_x = cx if cx > @max_x
    if i >= $game_temp.choice_start
    @max_choice_x = cx if cx > @max_choice_x
    end
    end
    self.width = @max_x + 32 + @face_indent
    self.height = (@max_y - 1) * 32 + 64
    @max_choice_x -= 68
    @max_choice_x -= @face_indent*216/128
    else
    @max_x = self.width - 32 - @face_indent
    for i in 0..3
    line = @now_text.split(/\n/)[i]
    next if line == nil
    line.gsub!(/\\\w\[(\w+)\]/) { "" }
    cx = contents.text_size(line).width
    if i >= $game_temp.choice_start
    @max_choice_x = cx if cx > @max_choice_x
    end
    end
    @max_choice_x += 8
    end
    @cursor_width = 0
    @now_text.gsub!(/\\\\/) { "\000" }
    @now_text.gsub!(/\\[Cc]\[([0123456789ABCDEF#]+)\]/) { "\001[#{$1}]" }
    @now_text.gsub!(/\\[Gg]/) { "\002" }
    @now_text.gsub!(/\\[Ss]\[([0-9]+)\]/) { "\003[#{$1}]" }
    @now_text.gsub!(/\\[Aa]\[(.*?)\]/) { "\004[#{$1}]" }

    #NEW
    #Dubealex's Permanent Color Change
    @now_text.gsub!(/\\[Cc]olor\[([0-9]+)\]/) do
    $ams.message_box_text_color= $1.to_i
    @now_text.sub!(/\\[Cc]\[([0-9]+)\]/) { "" }
    end
    #End of new command

    #NEW
    #Dubealex's Font Change Feature
    @now_text.gsub(/\\[Tt]\[(.*?)\]/) do
    buftxt = $1.to_s
    $ams.font_type = buftxt
    @now_text.sub!(/\\[Tt]\[(.*?)\]/) { "" }
    end
    #End of new command

    @now_text.gsub!(/\\[.]/) { "\005" }
    @now_text.gsub!(/\\[|]/) { "\006" }
    @now_text.gsub!(/\\[>]/) { "\016" }
    @now_text.gsub!(/\\[<]/) { "\017" }
    @now_text.gsub!(/\\[!]/) { "\020" }
    @now_text.gsub!(/\\[~]/) { "\021" }
    @now_text.gsub!(/\\[Ee]\[([0-9]+)\]/) { "\022[#{$1}]" }
    @now_text.gsub!(/\\[Ii]/) { "\023" }
    @now_text.gsub!(/\\[Oo]\[([0-9]+)\]/) { "\024[#{$1}]" }
    @now_text.gsub!(/\\[Hh]\[([0-9]+)\]/) { "\025[#{$1}]" }
    @now_text.gsub!(/\\[Bb]\[([0-9]+)\]/) { "\026[#{$1}]" }
    @now_text.gsub!(/\\[Rr]\[(.*?)\]/) { "\027[#{$1}]" }

    reset_window

    if name_window_set
    color=$ams.name_box_text_color
    off_x = $ams.name_box_x_offset
    off_y = $ams.name_box_y_offset
    space = 2
    x = self.x + off_x - space / 2
    y = self.y + off_y - space / 2
    w = self.contents.text_size(name_text).width + $ams.name_box_width + space
    h = $ams.name_box_height + space
    @name_window_frame = Window_Frame.new(x, y, w, h)
    @name_window_frame.z = self.z + 1
    x = self.x + off_x + 4
    y = self.y + off_y
    @name_window_text = Air_Text.new(x, y, name_text, color)
    @name_window_text.z = self.z + 2
    end
    end

    reset_window

    if $game_temp.choice_max > 0
    @item_max = $game_temp.choice_max
    self.active = true
    self.index = 0
    end

    if $game_temp.num_input_variable_id > 0
    digits_max = $game_temp.num_input_digits_max
    number = $game_variables[$game_temp.num_input_variable_id]
    @input_number_window = Window_InputNumber.new(digits_max)
    @input_number_window.number = number
    @input_number_window.x = self.x + 8
    @input_number_window.y = self.y + $game_temp.num_input_start * 32
    end
    end

    #--------------------------------------------------------------------------

    def update

    super

    if @fade_in
    self.contents_opacity += 24
    if @input_number_window != nil
    @input_number_window.contents_opacity += 24
    end
    if self.contents_opacity == 255
    @fade_in = false
    end
    return
    end
    @now_text = nil if @now_text == ""

    if @now_text != nil and @mid_stop == false
    if @write_wait > 0
    @write_wait -= 1
    return
    end
    text_not_skip = LETTER_BY_LETTER_MODE
    while true
    @max_x = @x if @max_x < @x
    @max_y = @y if @max_y < @y
    if (c = @now_text.slice!(/./m)) != nil
    if c == "\000"
    c = "\\"
    end

    if c == "\001"
    @now_text.sub!(/\[([0123456789ABCDEF#]+)\]/, "")
    temp_color = $1
    color = temp_color.to_i
    leading_x = temp_color.to_s.slice!(/./m)
    if leading_x == "#"
    self.contents.font.color = hex_color(temp_color)
    next
    end
    if color >= 0 and color <= 7
    self.contents.font.color = text_color(color)
    end
    next
    end

    if c == "\002"
    if @gold_window == nil and @popchar <= 0
    @gold_window = Window_Gold.new
    @gold_window.x = 560 - @gold_window.width
    if $game_temp.in_battle
    @gold_window.y = 192
    else
    @gold_window.y = self.y >= 128 ? 32 : 384
    end
    @gold_window.opacity = self.opacity
    @gold_window.back_opacity = self.back_opacity
    end
    c = ""
    end

    if c == "\003"
    @now_text.sub!(/\[([0-9]+)\]/, "")
    speed = $1.to_i
    if speed >= 0 and speed <= 19
    @write_speed = speed
    end
    c = ""
    end

    if c == "\004"
    @now_text.sub!(/\[(.*?)\]/, "")
    buftxt = $1.dup.to_s
    if buftxt.match(/\//) == nil and buftxt != "" then
    $soundname_on_speak = "Audio/SE/" + buftxt
    else
    $soundname_on_speak = buftxt.dup
    end
    c = ""
    elsif c == "\004"
    c = ""
    end

    if c == "\005"
    @write_wait += 5
    c = ""
    end

    if c == "\006"
    @write_wait += 20
    c = ""
    end

    if c == "\016"
    text_not_skip = false
    c = ""
    end

    if c == "\017"
    text_not_skip = true
    c = ""
    end

    if c == "\020"
    @mid_stop = true
    c = ""
    end

    if c == "\021"
    terminate_message
    return
    end

    if c == "\023"
    @indent = @x
    c = ""
    end

    if c == "\024"
    @now_text.sub!(/\[([0-9]+)\]/, "")
    @opacity = $1.to_i
    color = self.contents.font.color
    self.contents.font.name = $ams.font_type
    self.contents.font.size = $ams.font_size
    self.contents.font.color = Color.new(color.red, color.green, color.blue, color.alpha * @opacity / 255)
    c = ""
    end

    if c == "\025"
    @now_text.sub!(/\[([0-9]+)\]/, "")
    self.contents.font.size = [[$1.to_i, 6].max, 32].min
    c = ""
    end

    if c == "\026"
    @now_text.sub!(/\[([0-9]+)\]/, "")
    @x += $1.to_i
    c = ""
    end

    if c == "\027"
    @now_text.sub!(/\[(.*?)\]/, "")
    @x += ruby_draw_text(self.contents, @x, @y * line_height + (line_height - self.contents.font.size), $1, @opacity)
    if $soundname_on_speak != ""
    Audio.se_play($soundname_on_speak)
    end
    c = ""
    end

    if c == "\030"
    @now_text.sub!(/\[(.*?)\]/, "")
    self.contents.blt(@x , @y * line_height + 8, RPG::Cache.icon($1), Rect.new(0, 0, 24, 24))
    if $soundname_on_speak != ""
    Audio.se_play($soundname_on_speak)
    end
    @x += 24
    c = ""
    end

    if c == "\n"
    @lines += 1
    @y += 1
    @x = 0 + @indent + @face_indent
    if @lines >= $game_temp.choice_start
    @x = 8 + @indent + @face_indent
    @cursor_width = @max_choice_x
    end
    c = ""
    end

    if c == "\022"
    @now_text.sub!(/\[([0-9]+)\]/, "")
    @x += gaiji_draw(4 + @x, @y * line_height + (line_height - self.contents.font.size), $1.to_i)
    c = ""
    end

    #NEW
    #Dubealex's Text Skip On/OFF Command
    if c == "\100"
    if @alex_skip==false
    @alex_skip=true
    else
    @alex_skip=false
    end
    c = ""
    end
    #end of new command

    if c != ""
    self.contents.draw_text(0+@x, 32 * @y, 40, 32, c)
    @x += self.contents.text_size(c).width
    if $soundname_on_speak != "" then
    Audio.se_play($soundname_on_speak)
    end
    end

    #SKIP_TEXT_CODE

    # B = Escape, 0 (On The NumPad), X
    # C = Enter, Space Bar and C
    # A = Shift, Z

    if Input.press?(Input::C) # <-- Change the value on that line
    if @alex_skip==false
    text_not_skip = false
    end
    end
    else
    text_not_skip = true
    break
    end

    if text_not_skip
    break
    end
    end
    @write_wait += @write_speed
    return
    end

    if @input_number_window != nil
    @input_number_window.update
    if Input.trigger?(Input::C)
    $game_system.se_play($data_system.decision_se)
    $game_variables[$game_temp.num_input_variable_id] =
    @input_number_window.number
    $game_map.need_refresh = true
    @input_number_window.dispose
    @input_number_window = nil
    terminate_message
    end
    return
    end

    if @contents_showing
    if $game_temp.choice_max == 0
    self.pause = true
    end

    if Input.trigger?(Input::B)
    if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0
    $game_system.se_play($data_system.cancel_se)
    $game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)
    terminate_message
    end
    end

    if Input.trigger?(Input::C)
    if $game_temp.choice_max > 0
    $game_system.se_play($data_system.decision_se)
    $game_temp.choice_proc.call(self.index)
    end
    if @mid_stop
    @mid_stop = false
    return
    else
    terminate_message
    end
    end
    return
    end

    if @fade_out == false and $game_temp.message_text != nil
    @contents_showing = true
    $game_temp.message_window_showing = true
    refresh
    Graphics.frame_reset
    self.visible = true
    self.contents_opacity = 0
    if @input_number_window != nil
    @input_number_window.contents_opacity = 0
    end
    @fade_in = true
    return
    end

    if self.visible
    @fade_out = true
    self.opacity -= 48
    if self.opacity == 0
    self.visible = false
    @fade_out = false
    $game_temp.message_window_showing = false
    end
    return
    end
    end

    #--------------------------------------------------------------------------

    def get_character(parameter)

    case parameter
    when 0
    return $game_player
    else
    events = $game_map.events
    return events == nil ? nil : events[parameter]
    end
    end

    #--------------------------------------------------------------------------

    def reset_window

    #MESSAGE_SIZE
    #MESSAGE_POSITION

    if @popchar >= 0
    events = $game_map.events
    if events != nil
    character = get_character(@popchar)
    x = [[character.screen_x - $ams.event_message_x_ofset - self.width / 2, 4].max, 636 - self.width].min
    y = [[character.screen_y - $ams.event_message_y_ofset - self.height, 4].max, 476 - self.height].min
    self.x = x
    self.y = y
    end
    elsif @popchar == -1
    self.x = -4
    self.y = -4
    self.width = 648
    self.height = 488
    else
    if $game_temp.in_battle
    self.y = 16
    else
    case $game_system.message_position
    when 0
    self.y = $ams.message_y_top
    when 1
    self.y = $ams.message_y_middle
    when 2
    self.y = $ams.message_y_bottom
    end
    self.x = $ams.message_x
    if @face_file == nil
    self.width = $ams.message_width
    self.x = $ams.message_x
    else
    if self.width <= 600
    self.width = 600
    self.x -=60
    end
    end
    self.height = $ams.message_height
    end
    end
    self.contents = Bitmap.new(self.width - 32, self.height - 32)
    self.contents.font.color = text_color($ams.message_box_text_color)
    self.contents.font.name = $ams.font_type
    self.contents.font.size = $ams.font_size
    if @face_file != nil
    self.contents.blt(16, 16, RPG::Cache.picture(@face_file), Rect.new(0, 0, 96, 96))
    end
    if @popchar == -1
    self.opacity = 255
    self.back_opacity = 0
    elsif $game_system.message_frame == 0
    self.opacity = 255
    self.back_opacity = $ams.message_box_opacity
    else
    self.opacity = 0
    self.back_opacity = $ams.message_box_opacity
    end
    end

    #--------------------------------------------------------------------------

    def gaiji_draw(x, y, num)

    if @gaiji_cache == nil
    return 0
    else
    if @gaiji_cache.width < num * 24
    return 0
    end

    if self.contents.font.size >= 20 and self.contents.font.size <= 24
    size = 24
    else
    size = self.contents.font.size * 100 * 24 / 2200
    end

    self.contents.stretch_blt(Rect.new(x, y, size, size), @gaiji_cache, Rect.new(num * 24, 0, 24, 24))

    if $soundname_on_speak != "" then
    Audio.se_play($soundname_on_speak)
    end
    return size
    end
    end

    #--------------------------------------------------------------------------

    def line_height
    return 32

    if self.contents.font.size >= 20 and self.contents.font.size <= 24
    return 32
    else
    return self.contents.font.size * 15 / 10
    end
    end

    #--------------------------------------------------------------------------

    def ruby_draw_text(target, x, y, str,opacity)

    sizeback = target.font.size
    target.font.size * 3 / 2 > 32 ? rubysize = 32 - target.font.size : rubysize = target.font.size / 2
    rubysize = [rubysize, 6].max
    opacity = [[opacity, 0].max, 255].min
    split_s = str.split(/,/)
    split_s[0] == nil ? split_s[0] = "" : nil
    split_s[1] == nil ? split_s[1] = "" : nil

    height = sizeback + rubysize
    width = target.text_size(split_s[0]).width

    target.font.size = rubysize
    ruby_width = target.text_size(split_s[1]).width
    target.font.size = sizeback

    buf_width = [target.text_size(split_s[0]).width, ruby_width].max

    width - ruby_width != 0 ? sub_x = (width - ruby_width) / 2 : sub_x = 0

    if opacity == 255
    target.font.size = rubysize
    target.draw_text(x + sub_x, y - target.font.size, target.text_size(split_s[1]).width, target.font.size, split_s[1])
    target.font.size = sizeback
    target.draw_text(x, y, width, target.font.size, split_s[0])
    return width
    else
    if @opacity_text_buf.width < buf_width or @opacity_text_buf.height < height
    @opacity_text_buf.dispose
    @opacity_text_buf = Bitmap.new(buf_width, height)
    else
    @opacity_text_buf.clear
    end
    @opacity_text_buf.font.size = rubysize
    @opacity_text_buf.draw_text(0 , 0, buf_width, rubysize, split_s[1], 1)
    @opacity_text_buf.font.size = sizeback
    @opacity_text_buf.draw_text(0 , rubysize, buf_width, sizeback, split_s[0], 1)
    if sub_x >= 0
    target.blt(x, y - rubysize, @opacity_text_buf, Rect.new(0, 0, buf_width, height), opacity)
    else
    target.blt(x + sub_x, y - rubysize, @opacity_text_buf, Rect.new(0, 0, buf_width, height), opacity)
    end
    return width
    end
    end

    #--------------------------------------------------------------------------

    def convart_value(option, index)
    option == nil ? option = "" : nil
    option.downcase!

    case option
    when "i"
    unless $data_items[index].name == nil
    r = sprintf("\030[%s]%s", $data_items[index].icon_name, $data_items[index].name)
    end
    when "w"
    unless $data_weapons[index].name == nil
    r = sprintf("\030[%s]%s", $data_weapons[index].icon_name, $data_weapons[index].name)
    end
    when "a"
    unless $data_armors[index].name == nil
    r = sprintf("\030[%s]%s", $data_armors[index].icon_name, $data_armors[index].name)
    end
    when "s"
    unless $data_skills[index].name == nil
    r = sprintf("\030[%s]%s", $data_skills[index].icon_name, $data_skills[index].name)
    end
    else
    r = $game_variables[index]
    end

    r == nil ? r = "" : nil
    return r
    end

    #--------------------------------------------------------------------------

    def dispose
    terminate_message

    if @gaiji_cache != nil
    unless @gaiji_cache.disposed?
    @gaiji_cache.dispose
    end
    end

    unless @opacity_text_buf.disposed?
    @opacity_text_buf.dispose
    end

    $game_temp.message_window_showing = false
    if @input_number_window != nil
    @input_number_window.dispose
    end
    super
    end

    #--------------------------------------------------------------------------

    def update_cursor_rect
    if @index >= 0
    n = $game_temp.choice_start + @index
    self.cursor_rect.set(8 + @indent + @face_indent, n * 32, @cursor_width, 32)
    else
    self.cursor_rect.empty
    end
    end
    end
    #=========================================
    # ▲ CLASS Window_Message Ends
    #=========================================


    #=========================================
    # ▼ Class Window_Frame Begins
    #=========================================
    class Window_Frame < Window_Base

    def initialize(x, y, width, height)
    super(x, y, width, height)
    self.windowskin = RPG::Cache.windowskin($ams.name_box_skin)
    self.contents = nil
    end

    #--------------------------------------------------------------------------

    def dispose
    super
    end
    end
    #=========================================
    # ▲ CLASS Window_Frame Ends
    #=========================================


    #=========================================
    # ▼ CLASS Game_Map Additional Code Begins
    #=========================================
    class Game_Map

    #Dubealex's Addition (from XRXS) to show Map Name on screen
    def name
    $map_infos[@map_id]
    end
    end
    #=========================================
    # ▲ CLASS Game_Map Additional Code Ends
    #=========================================


    #=========================================
    # ▼ CLASS Scene_Title Additional Code Begins
    #=========================================
    class Scene_Title

    #Dubealex's Addition (from XRXS) to show Map Name on screen
    $map_infos = load_data("Data/MapInfos.rxdata")
    for key in $map_infos.keys
    $map_infos[key] = $map_infos[key].name
    end

    #Dubealex's addition to save data from the AMS in the save files
    $ams = AMS.new

    end
    #=========================================
    # ▲ CLASS Scene_Title Additional Code Ends
    #=========================================


    #=========================================
    # ▼ CLASS Window_Base Additional Code Begins
    #=========================================
    class Window_Base < Window

    #Dubealex Addition (from Phylomorphis) to use HTML Hex Code Colors
    def hex_color(string)
    red = 0
    green = 0
    blue = 0
    if string.size != 6
    print("Hex strings must be six characters long.")
    print("White text will be used.")
    return Color.new(255, 255, 255, 255)
    end
    for i in 1..6
    s = string.slice!(/./m)
    if s == "#"
    print("Hex color string may not contain the \"#\" character.")
    print("White text will be used.")
    return Color.new(255, 255, 255, 255)
    end
    value = hex_convert(s)
    if value == -1
    print("Error converting hex value.")
    print("White text will be used.")
    return Color.new(255, 255, 255, 255)
    end
    case i
    when 1
    red += value * 16
    when 2
    red += value
    when 3
    green += value * 16
    when 4
    green += value
    when 5
    blue += value * 16
    when 6
    blue += value
    end
    end
    return Color.new(red, green, blue, 255)
    end

    #--------------------------------------------------------------------------

    def hex_convert(character)
    case character
    when "0"
    return 0
    when "1"
    return 1
    when "2"
    return 2
    when "3"
    return 3
    when "4"
    return 4
    when "5"
    return 5
    when "6"
    return 6
    when "7"
    return 7
    when "8"
    return 8
    when "9"
    return 9
    when "A"
    return 10
    when "B"
    return 11
    when "C"
    return 12
    when "D"
    return 13
    when "E"
    return 14
    when "F"
    return 15
    end
    return -1
    end
    end
    #=========================================
    # ▲ CLASS Window_Base Additional Code Ends
    #=========================================


    #=========================================
    # ▼ Class Air_Text Begins
    #=========================================
    class Air_Text < Window_Base

    def initialize(x, y, designate_text, color=0)

    super(x-16, y-16, 32 + designate_text.size * 12, 56)
    self.opacity = 0
    self.back_opacity = 0
    self.contents = Bitmap.new(self.width - 32, self.height - 32)
    w = self.contents.width
    h = self.contents.height
    self.contents.font.name = $ams.name_font_type
    self.contents.font.size = $ams.name_font_size
    self.contents.font.color = text_color(color)
    self.contents.draw_text(0, 0, w, h, designate_text)
    end

    #--------------------------------------------------------------------------

    def dispose
    self.contents.clear
    super
    end
    end
    #==========================================
    # ▲ CLASS Air_Text Ends
    #==========================================


    #===================================================
    # ▼ CLASS Scene_Save Additional Code Begins
    #===================================================
    class Scene_Save < Scene_File

    alias ams_original_write_save_data write_save_data

    def write_save_data(file)
    ams_original_write_save_data(file)
    Marshal.dump($ams, file)
    end

    end
    #===================================================
    # ▲ CLASS Scene_Save Additional Code Ends
    #===================================================


    #===================================================
    # ▼ CLASS Scene_Load Additional Code Begins
    #===================================================
    class Scene_Load < Scene_File

    alias ams_original_read_save_data read_save_data

    def read_save_data(file)
    ams_original_read_save_data(file)
    $ams = Marshal.load(file)
    end

    end
    #===================================================
    # ▲ CLASS Scene_Load Additional Code Ends
    #===================================================



    Ameno:
    Dankööö~ ^^



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum FFSE / The Mirror Forum

    FFSE.de.vu wurde zu Quest-RPG - warum? - gepostet von ffhmod am Donnerstag 17.08.2006
    Boardregeln - gepostet von Amenofus am Samstag 17.06.2006



    Ähnliche Beiträge wie "Welcher ist der beste RPG-Maker?"

    Info: RPG-Start - Lord Voldemort (Montag 04.06.2007)
    RPG-Fortsetzungsgeschichte! - Goldfinger (Sonntag 23.04.2006)
    Welcher Style? - Webmaster (Dienstag 22.08.2006)
    RPG Regeln - Cerche (Montag 06.11.2006)
    RPG charakter Vortsellung - milten (Sonntag 26.02.2006)
    SG-RPG~Mitplayer - Laila (Montag 27.08.2007)
    Serien RPG`s - Brennan Mulwray (Mittwoch 22.03.2006)
    Border Mix Mädchen in Röttenbach entlaufen - gabi (Donnerstag 27.11.2008)
    Welcher L-Word Charakter bist du? ... noch ein Test - mystery (Mittwoch 23.02.2005)
    RPG-Chat-Channel??? - BadPad (Freitag 06.04.2007)