Jump to content
Rpg²S Forum

EmanueleSpeed

Utenti
  • Posts

    241
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by EmanueleSpeed

  1. Scusate, sto cercando un tool simile a rpg maker per creare giochi per android.

    Ho scaricato questo stencyl, ma lo trovo totalmente diverso..

    Mi sono chiesto subito delle domande, esistono script già pronti?

    Esiste una guida per imparare ad usare il programma?

    Esiste un gioco da cui si può prendere esempio per imparare ad utilizzare il tool?

    ?__? ?___? ?___?

    Ho aperto il programma, crea nuovo game o importa.. mi sono bloccato li'.

    Ho cercato dei jrpg da importare ma nisba >_< . Ci sono quei giochini fastidiosi che non mi garbano u.u .

  2. Ciao Midi, sto provando il tuo script e devo dire che è una figata assoluta xD

     

    Solo una cosa, però: mi sta dando problemi in una mappa grande perchè se sono per esempio nell'angolo in basso a sinistra e ho la picture lockata, all'inizio è perfetta, ma appena apro e richiudo il menu la picture si sposta totalmente e segue il pg :/

    Raxas quando apri e chiudi il menù non ti va poi il gioco a scatti? (e cambia le posizioni delle figure anche). Qualcun'altro può fare qualche prova?

  3. Allora dovrei cambiare la grafica della corsa, magari aggiungendo piu' frame.

    Si la mappa e' incompleta devo inserire le transenne gli NPC e aumentare la ringhiera XD , volevo solo vedere l'effetto che vi dava.

    Per quanto riguarda gli npc, li mettero' fermi cn 2 frame creati dallo stesso disegnatore xd.

    Vediamo un po' che pasticcio faro' questa volta xd.

  4. Grazie caro :3

    Ragazzi ho un problemino: tra un messaggio e l'altro la name box scompare e con essa anche il nome al suo interno (ovviamente nel mio caso la windowskin è disabilitata quindi è trasparente), lo script che utilizzo è questo:

    AMS - Advanced Message Script - R4 [update #2]

     

    #===================================================

    # ■ 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 = 28 #Choose the X axis offset of the name bos. default= 0

    @name_box_y_offset = 27 #Choose the Y axis offset of the name bos. default= -10

    @name_box_width = 100 #Choose the width of the Name Box. default= 8

    @name_box_height = 100 #Choose the height of the Name Box. default= 26

     

    @font_type = "Raavi" #Choose the Font Name (Case Sensitive) for message box

    @name_font_type = "Raavi" #Choose the Font Name (Case Sensitive) for Name Box

    @font_size = 31 #Choose the default Font Size for message box text

    @name_font_size = 31 #Choose the deafault Font Size for Name Box text

    @name_box_text_color=4 #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 = "mex" #Choose the WindowSkin for the Message Box

    @name_box_skin = "mex" #Choose the WindowSkin for the Name Box

     

    @message_width = 1259 #Choose the width size of the message box. Default=480

    @message_height = 120 #Choose the height size of the message box. Default=160

    @message_x = 0 #Choose the X position of the message box. Default=80

    @message_y_bottom = 358 #Choose the Y bottom position of the message box. Default=304

    @message_y_middle = 365 #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 = 100 #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 = true

     

    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 = 100

    @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/)

    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 -= 0

    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 = false

    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©.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

    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_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 = 255

    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

    #===================================================

     

     

    Qualcuno sa come risolvere?

    Vi posto anche un video per capire meglio qual è il problema

     

    http://youtu.be/c3MFnzRU_sE

     

    Spero possiate aiutarmi ^^

    Non ho capito il problema, cioè se il messaggio cambia è normale che sparisce anche il nome :sisi: .

  5. Ragà, stamattina volevo connettermi con il mio account tramite android ma con esito negativo.

    Praticamente provo a connettermi, si ricarica la pagina ma non si connette xd .

    E' la prima volta che ci provo quindi non sò, anche a voi da questo problema?

  6. Ragà forse a via di creare quella mappa mi sono intontito xd.

    Io il personaggio principale e i tipi fermi sul posto li vedo bene, non vedo bene invece quelli che passeggiano >_< .

    Forse si sistemerebbero con un pò di ombra?

    Come potrei intervenire?

     

     

    Si il mio obbiettivo è quello di crearlo tutto in side-scrolling (non sò la parola esatta xd), in genere come valkyrie profile per capirci.

    Il pg che sembra correre sul posto può dipendere dal parallax (perchè la velocità l'ho alzata di parecchio) che quando corre il pg esso gli corre dietro mentre sarebbe preferibile che rimarebbe fermo, attualmente ho problemi con il parallax per via della grafica, vedrò se riesco a sistemarlo >_< .

     

    ________________________

     

    Vi mostro un'altra mappa, qui il parallax non è scorrevole. Il personaggio lo vedete sempre non uniforme all'immagine?

    Sembra sempre correre sul posto? (potrei aumentare un'altro pò la velocità >_<).

    http://www.youtube.com/watch?v=PZh6v-r8x6I&feature=youtu.be

  7. Titolo e intro della storia spettacolari, complimentoni ^__^ . Tutta la parte grafica è bellissima, poi il racconto della storia iniziale anche u.u . Vai continua cosi' ^^ :happy: .

  8. Bella questa, con l'rgss modificato purtroppo il parallax non và, ho provato tutti i parallax esistenti ma nnt. Purtroppo nel gioco utilizzo un pò ovunque i parallax e con quel rgss mi ritrovo tutto nero xd. Ho cercato un fix al problema ma non ho trovato nnt.

    Purtroppo sono costretto a ritornare al vecchio script per la risoluzione :( .

  9. Mi spiace, non ho più avuto tempo di provare... il fix ci sarà, ma non ti so dire quando. :|

    Dovrai avere un po' di pazienza.

     

    Intanto puoi fare tu una prova.

     

    All'inizio dello script, poco sotto le condizioni di utilizzo, ci sono queste due costanti:

      UNLOCK_ON_CHANGE = true
      UNSET_Z_ON_CHANGE = true
    

    Prova a metterle a "false" invece che a "true", e vedi se ti dà ancora problemi.

     

     

    Per lo scorrimento delle picture, è già presente: basta che usi Muovi Picture nell'evento, e la picture scorrerà.

    Attento che però se la picture è ancorata alla mappa, le coordinate X e Y dell'evento corrispondono alla griglia dei tile, non ai pixel.

    Quindi per una picture ancorata, se la muovi verso 3, 4 si muoverà verso la casella 3, 4 della mappa (e non 3 px a destra e 4 px in basso).

    Non cambia nulla, sempre uguale.. aprendo il menù e chiudendolo inizia ad andare a scatti e spariscono e riappaiono i chara.

    Per lo scorrimento intendevo qualcosa come il parallax, vbb fa nnt ^^ .

    Np.

  10. Mi piace il 7 però come gli altri banner non centrano nnt con rpg maker.

    Il 2 ci rientra un pò, però e troppo vuoto non stimola.

    Il migliore e sicuramente il 5, c'è solo un problema... Quel B-Skin a destra stona moltissimo >_< .

    Non si potrebbe fare una modifica e toglierlo? ( se più persone acconsentono ovviamente).

    Opto per il 5.

     

     

    +5

  11. L'inizio del menù è perfetto (Compra,Vendi) poi quando selezioni compra rimane molto vuoto come descrizione ecc..

    Selezionando compra dovresti far aprire una nuova finestra più grandicella sempre centralmente magari e in una riga

    inserire icona - nome costo con la descrizione sempre sopra.

    Esempio

    ____________________________________

    | icona nome costo |

    | pozione hp 50 |
    | pozione mp 150 |
    | |

    | |

    | |

    | |

    | |

    | |

    |___________________________________ |

     

    Comunque se lo lasci cosi' (almeno io) non mi lamento, buono ^^ .

  12. Provato, non mi parte lo stesso.

    La risoluzione del mio schermo è 1366x768, il massimo consentito dalla scheda video pacco che mi ritrovo in questo cesso di portatile che uso.

     

    Comunque, se non ti importa di infrangere il contratto di licenza che hai accettato all'installazione di rpgmaker (cosa che comunque infrangi usando roba rippata), puoi usare la dll moddata di cui ti parlavo. Purtroppo è la versione 300 e non la 301. Non so esattamente cosa cambi fra le due versioni.

    Tieni una demo a 1024x768: http://www.mediafire.com/download/l9knmvghnsd5txg/Project17.rar

    Perfetto, funziona come lo script precedente. Solo che questo funziona su tutti i pc (almeno dovrebbe xd). Non capivo perchè non mi cambiasse risoluzione, poi ho cpt che ogni volta che sovrascrivo qualcosa la dll viene sovrascritta ed il gioco parte a 640x480 quindi bisogna risostituirla.

    Grazie mille ^_^ .

  13. Grazie guardian :) (tengo altri 2 pc a casa, dovrei provare), arkady la risoluzione del tuo monitor quant'è? Puoi provare ad abbassare la risoluzione del game tramite lo script per vedere se si risolve >_< . A quanto pare ci sono problemi per alcuni pc nell'individuare la memoria del pc, almeno cosi' ho letto.

     

    ___________

    Well, to put it simply, it crashes because of different location of the memory (referring to memory management).

     

    Different specs of computer, especially the OS type and RAM type, could alter how memory should be located.

    The unknown scripter doesn't deal with any offset for memory reading purpose, but going straight to changing the value of those memory addresses, so it seems to me that RM stays constant with the memory locations (stable) and it's the different OS that gives different memory location (might lead to potential crash, and the scripter would need to get access to different OS to handle those memory location offsets - tedious work).

     

    Yes, locating memory offsets can be a very tedious work. And even if you're able to locate them, it might only work with your spec of computer. : p

     

    p.s. It is possible to memory hack the DirectX functions, and change it into the compatible OpenGL functions, making RM compatible for iOS, but it would be much less time consuming and more compatible to just create the appropriate DLL files. And this is the first time, I see how memory hex editing is being used to change the window frame instead of the usual (y'know, cheat on the game : p).

     

    ___________Traduzione Italiana Google Traslate_________

     

    Beh , per dirla semplicemente , si blocca a causa della diversa posizione della memoria ( con riferimento alla gestione della memoria ) .



    Diverse caratteristiche di informatica, in particolare il tipo di sistema operativo e il tipo di RAM , potrebbero alterare come la memoria dovrebbe essere collocato .

    Il Scripter sconosciuto non tratta alcun offset per scopo la memoria di lettura, ma andando dritto a cambiare il valore di tali indirizzi di memoria , così sembra a me che RM rimane costante con le locazioni di memoria ( stabile) ed è il diverso sistema operativo che dà posizione diversa memoria ( potrebbe condurre a potenziali crash, e il scripter avrebbe bisogno di avere accesso a differenti sistemi operativi per gestire tali locazione di memoria spostamenti - lavoro noioso ) .



    Sì , l'individuazione di offset di memoria può essere un lavoro molto noioso . E anche se siete in grado di localizzarli , potrebbe funzionare solo con il vostro specifiche del computer. : p



    post scriptum E 'possibile la memoria hackerare le funzioni DirectX , e cambiare in funzioni OpenGL compatibili , rendendo RM compatibile per iOS , ma sarebbe molto meno tempo e più compatibile solo creare i file DLL appropriati . E questa è la prima volta , vedo come la memoria editing esagonale viene utilizzata per modificare il telaio della finestra al posto del solito ( insomma , imbrogliare sul gioco : p ) .

     

     

    ______________________________________

     

     

    Ps.

    Prova ad inserire questo script sopra lo script unlimited resolution http://forums.rpgmakerweb.com/index.php?/topic/17400-hidden-gameexe-crash-debugger-graphical-object-global-reference-ace/

  14. Windows 7. Quando ho tempo provo pure su un altro pc.

    Non penso che manchi qualcosa come il net framework

     

    Potrei azzardare che il problema abbia a che fare con la scheda video? La mia è proprio il classico modello di scheda integrata Schifo++

    Poi non so se la cosa abbia davvero a che fare con la scheda video.

     

    ps: ma la dll che utilizzi (che tra l'altro è quella vecchia e non quella aggiornata: è la RGSS300, non la RGSS301) è quella standard o è stata patchata? No, perché tempo fa mi ero documentato su quello script e c'era chi diceva che funzionava solo con la dll patchata da non mi ricordo chi (che in teoria sarebbe illegale ;) )

    Non saprei, credo sia patchata comunque sto leggendo tramite il blog di hime http://www.himeworks.com/2013/10/25/unlimited-resolution/ che lo script contiene molti bug (attualmente nel mio pc funziona perfettamente, magari più avanti man mano creo trovo qualche bug xd) poi ho letto

    che l'errore può risolversi avviando il gioco come amministratore, puoi fare una prova per vedere se si risolve.

×
×
  • Create New...