Jump to content
Rpg²S Forum

Draxis

Utenti
  • Posts

    95
  • Joined

  • Last visited

Posts posted by Draxis

  1. Ah se la scene_equip è la stessa di quella standard allora è facile!

    Sostituisci la tua Scene_Equip con questa modificata:

     

    #==============================================================================
    # ** Scene_Equip
    #------------------------------------------------------------------------------
    #  This class performs equipment screen processing.
    #==============================================================================
    
    class Scene_Equip
     #--------------------------------------------------------------------------
     # * Object Initialization
     #	 actor_index : actor index
     #	 equip_index : equipment index
     #--------------------------------------------------------------------------
     def initialize(actor_index = 0, equip_index = 0)
    @actor_index = actor_index
    @equip_index = equip_index
     end
     #--------------------------------------------------------------------------
     # * Main Processing
     #--------------------------------------------------------------------------
     def main
    # Get actor
    @actor = $game_party.actors[@actor_index]
    # Make windows
    @help_window = Window_Help.new
    @left_window = Window_EquipLeft.new(@actor)
    @right_window = Window_EquipRight.new(@actor)
    @item_window1 = Window_EquipItem.new(@actor, 0)
    @item_window2 = Window_EquipItem.new(@actor, 1)
    @item_window3 = Window_EquipItem.new(@actor, 2)
    @item_window4 = Window_EquipItem.new(@actor, 3)
    @item_window5 = Window_EquipItem.new(@actor, 4)
    # Associate help window
    @right_window.help_window = @help_window
    @item_window1.help_window = @help_window
    @item_window2.help_window = @help_window
    @item_window3.help_window = @help_window
    @item_window4.help_window = @help_window
    @item_window5.help_window = @help_window
    # Set cursor position
    @right_window.index = @equip_index
    refresh
    # Execute transition
    Graphics.transition
    # Main loop
    loop do
      # Update game screen
      Graphics.update
      # Update input information
      Input.update
      # Frame update
      update
      # Abort loop if screen is changed
      if $scene != self
    	break
      end
    end
    # Prepare for transition
    Graphics.freeze
    # Dispose of windows
    @help_window.dispose
    @left_window.dispose
    @right_window.dispose
    @item_window1.dispose
    @item_window2.dispose
    @item_window3.dispose
    @item_window4.dispose
    @item_window5.dispose
     end
     #--------------------------------------------------------------------------
     # * Refresh
     #--------------------------------------------------------------------------
     def refresh
    # Set item window to visible
    @item_window1.visible = (@right_window.index == 0)
    @item_window2.visible = (@right_window.index == 1)
    @item_window3.visible = (@right_window.index == 2)
    @item_window4.visible = (@right_window.index == 3)
    @item_window5.visible = (@right_window.index == 4)
    # Get currently equipped item
    item1 = @right_window.item
    # Set current item window to @item_window
    case @right_window.index
    when 0
      @item_window = @item_window1
    when 1
      @item_window = @item_window2
    when 2
      @item_window = @item_window3
    when 3
      @item_window = @item_window4
    when 4
      @item_window = @item_window5
    end
    # If right window is active
    if @right_window.active
      # Erase parameters for after equipment change
      @left_window.set_new_parameters(nil, nil, nil)
    end
    # If item window is active
    if @item_window.active
      # Get currently selected item
      item2 = @item_window.item
      # Change equipment
      last_hp = @actor.hp
      last_sp = @actor.sp
      @actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)
      # Get parameters for after equipment change
      new_atk = @actor.atk
      new_pdef = @actor.pdef
      new_mdef = @actor.mdef
      # Return equipment
      @actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)
      @actor.hp = last_hp
      @actor.sp = last_sp
      # Draw in left window
      @left_window.set_new_parameters(new_atk, new_pdef, new_mdef)
    end
     end
     #--------------------------------------------------------------------------
     # * Frame Update
     #--------------------------------------------------------------------------
     def update
    # Update windows
    @left_window.update
    @right_window.update
    @item_window.update
    refresh
    # If right window is active: call update_right
    if @right_window.active
      update_right
      return
    end
    # If item window is active: call update_item
    if @item_window.active
      update_item
      return
    end
     end
     #--------------------------------------------------------------------------
     # * Frame Update (when right window is active)
     #--------------------------------------------------------------------------
     def update_right
    # If B button was pressed
    if Input.trigger?(Input::B)
    	   # Play cancel SE
      $game_system.se_play($data_system.cancel_se)
      # Switch to map screen
      $scene = Scene_Map.new
      return
    end
    # If C button was pressed
    if Input.trigger?(Input::C)
      # If equipment is fixed
      if @actor.equip_fix?(@right_window.index)
    	# Play buzzer SE
    	$game_system.se_play($data_system.buzzer_se)
    	return
      end
      # Play decision SE
      $game_system.se_play($data_system.decision_se)
      # Activate item window
      @right_window.active = false
      @item_window.active = true
      @item_window.index = 0
      return
    end
    # If R button was pressed
    if Input.trigger?(Input::R)
      # Play cursor SE
      $game_system.se_play($data_system.cursor_se)
      # To next actor
      @actor_index += 1
      @actor_index %= $game_party.actors.size
      # Switch to different equipment screen
      $scene = Scene_Equip.new(@actor_index, @right_window.index)
      return
    end
    # If L button was pressed
    if Input.trigger?(Input::L)
      # Play cursor SE
      $game_system.se_play($data_system.cursor_se)
      # To previous actor
      @actor_index += $game_party.actors.size - 1
      @actor_index %= $game_party.actors.size
      # Switch to different equipment screen
      $scene = Scene_Equip.new(@actor_index, @right_window.index)
      return
    end
     end
     #--------------------------------------------------------------------------
     # * Frame Update (when item window is active)
     #--------------------------------------------------------------------------
     def update_item
    # If B button was pressed
    if Input.trigger?(Input::B)
    		# Play cancel SE
      $game_system.se_play($data_system.cancel_se)
      # Switch to map screen
      $scene = Scene_Map.new
      return
    end
    # If C button was pressed
    if Input.trigger?(Input::C)
      # Play equip SE
      $game_system.se_play($data_system.equip_se)
      # Get currently selected data on the item window
      item = @item_window.item
      # Change equipment
      @actor.equip(@right_window.index, item == nil ? 0 : item.id)
      # Activate right window
      @right_window.active = true
      @item_window.active = false
      @item_window.index = -1
      # Remake right window and item window contents
      @right_window.refresh
      @item_window.refresh
      return
    end
     end
    end

     

    ^ ^

     

    Se ci fai caso l'unica cosa che è cambiata è l'(Input::B), là infatti dove appare tale tasto invece di rimandare al menù manda direttamente alla mappa!

    ^ ^

    Perfetto,funziona. ^^

    Ti ringrazio. :sisi:

  2. Suppongo che l'evento comune 6 ti trasporti a questo menù . . .

    Basta che usi tre Cambia Variabile per prendere i dati ID Mappa, Evento Player Mappa X ed Evento Player Mappa Y, prima di fare il Transfer Player in quell'evento . . .

    Più facile a dirsi che a farsi. :sisi:

    Dunque,si,l'evento comune 6 è il seguente:

     

    Change Screen Color Tone (-255, -255, -255, 0), @10

    Wait: 10 frame(s)

    Change Menu Access: Disable

    Change Text Options: Middle, Show

    Transfer Player [nomeeroe], (017, 000)

     

    Ora ho creato le 3 variabili:

     

    IDMap, EroeX, EroeY

     

    Sapresti dirmi esattamente come le devo impostare nel suddetto evento in modo che faccia ciò che dici?

    Chiedo scusa ma sono abbastanza una frana a variabili. ^_^

  3. Salve,avrei un dubbio sul Ring Menu di cui riporto il codice qui sotto:

     

     

    #------------------------------------------------------------------------------
    #  Ring_Menu
    #------------------------------------------------------------------------------
    #  By:  XRXS, Dubealex, and Hypershadow180
    #------------------------------------------------------------------------------
    # INIZIO CONFIGURAZIONE RING MENU MOD by giver
    #
    # Nomi dei font delle varie pozioni del Menù
    RING_MENU_FONT_NAME = "Calibri"
    LOCATION_WIN_FONT_NAME = "Calibri"
    GOLD_WIN_FONT_NAME = "Calibri"
    CHARA_SELECT_FONT_NAME = "Calibri"
    # Nome che appare quando è selezionata la voce che sostituisce il Save
    RM_SAVE_LABEL = "Sviluppo"
    # Icona che appare per l'opzione che sostituisce il Save
    RM_SAVE_ICON = "038-Item07"
    # ID dell'Evento Comune chiamato quando si sceglie la voce che sostituisce il Save
    RM_SAVE_CEVENT_ID = 6
    #
    # FINE CONFIGURAZIONE RING MENU MOD by giver
    
    class Scene_Menu
    #------------------------------------------------------------------------------
    #  Initialize
    #------------------------------------------------------------------------------
     def initialize(menu_index = 0)
    @menu_index = menu_index
    $location_text=[]
    $gold_text=[]
    $window_size=[]
    $ring_menu_text=[]
    $chara_select=[]
    @window_opacity=[]
    @chara_select=[]
    @window_position=[]
    $location_text[0]=LOCATION_WIN_FONT_NAME # Font Type
    $location_text[1]=24 # Font Size
    $location_text[2]=0 # Location Title Color
    $location_text[4]=0 # Map Name Color
    $location_text[3]="Location:" # Text
    $gold_text[0]=GOLD_WIN_FONT_NAME # Font Type
    $gold_text[1]=20 # Font Size
    $gold_text[2]=0 # Gold Title Color
    $gold_text[3]=0 # Gold Color
    $gold_text[4]="Gold" # Text
    @window_opacity[0]=255 # Border Opacity
    @window_opacity[1]=130 # Background Opacity
    $window_location_skin="001-Blue01" # Location Windowskin
    $window_gold_skin="001-Blue01" # Gold Windowskin
    @window_position[0]=0 # X Axis Position
    @window_position[1]=0 # Location Y Axis Position
    @window_position[2]=384 # Gold Y Axis Position
    $window_size[0]=160 # Length
    $window_size[1]=96 # Height
    $ring_menu_text[0]=RING_MENU_FONT_NAME # Font Type
    $ring_menu_text[7]=0 # Font Color
    $ring_menu_text[8]=20 # Font Size
    $ring_menu_text[1]="Items"
    $ring_menu_text[2]="Skills"
    $ring_menu_text[3]="Equip"
    $ring_menu_text[4]="Stats"
    $ring_menu_text[5]=RM_SAVE_LABEL
    $ring_menu_text[6]="Quit"
    @chara_select[0]=408 # X Axis Position
    @chara_select[1]=0 # Y Axis Position
    $chara_select[0]=CHARA_SELECT_FONT_NAME # Font Type
    $chara_select[1]=0 # Font Color
    $chara_select[5]=24 # Font Size
    $chara_select[2]=255 # Border Opacity
    $chara_select[3]=130 # Background Opacity
    $chara_select[4]="001-Blue01" # Windowskin
     end
    #------------------------------------------------------------------------------
    #  Main
    #------------------------------------------------------------------------------
     def main
    @window_location = Window_Location.new
    @window_location.x = @window_position[0]
    @window_location.y = @window_position[1]
    @window_location.opacity = @window_opacity[0]
    @window_location.back_opacity = @window_opacity[1]
    @window_gold = Window_MenuGold.new
    @window_gold.x = @window_position[0]
    @window_gold.y = @window_position[2]
    @window_gold.opacity = @window_opacity[0]
    @window_gold.back_opacity = @window_opacity[1]
    @spriteset = Spriteset_Map.new
    px = $game_player.screen_x - 15
    py = $game_player.screen_y - 24
    @command_window = Window_RingMenu.new(px,py)
    @command_window.index = @menu_index
    if $game_party.actors.size == 0
      @command_window.disable_item(0)
      @command_window.disable_item(1)
      @command_window.disable_item(2)
      @command_window.disable_item(3)
    end
    @command_window.z = 100
    @status_window = Window_RingMenuStatus.new
    @status_window.x = @chara_select[0]
    @status_window.y = @chara_select[1]
    @status_window.z = 200
    @status_window.opacity=$chara_select[2]
    @status_window.back_opacity=$chara_select[3]
    @status_window.visible = false
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
    	break
      end
    end
    Graphics.freeze
    @spriteset.dispose
    @window_location.dispose
    @window_gold.dispose
    @command_window.dispose
    @status_window.dispose
     end
    #------------------------------------------------------------------------------
    #  Update
    #------------------------------------------------------------------------------
     def update
    @window_location.update
    @window_gold.update
    @command_window.update
    @status_window.update
    if @command_window.active
      update_command
      return
    end
    if @status_window.active
      update_status
      return
    end
     end
    #------------------------------------------------------------------------------
    #  Update Comman
    #------------------------------------------------------------------------------
     def update_command
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end
    if Input.trigger?(Input::C)
      if $game_party.actors.size == 0 and @command_window.index < 4
    	$game_system.se_play($data_system.buzzer_se)
    	return
      end
    case @command_window.index
    when 0
      $game_system.se_play($data_system.decision_se)
      $scene = Scene_Item.new
    when 1
      $game_system.se_play($data_system.decision_se)
      @command_window.active = false
      @status_window.active = true
      @status_window.visible = true
      @status_window.index = 0
    when 2
      $game_system.se_play($data_system.decision_se)
      @command_window.active = false
      @status_window.active = true
      @status_window.visible = true
      @status_window.index = 0
    when 3
      $game_system.se_play($data_system.decision_se)
      @command_window.active = false
      @status_window.active = true
      @status_window.visible = true
      @status_window.index = 0
    when 4
      $game_system.se_play($data_system.decision_se)
      $game_temp.common_event_id = RM_SAVE_CEVENT_ID
      $scene = Scene_Map.new
    when 5
      $game_system.se_play($data_system.decision_se)
      $scene = Scene_End.new
    end
    return
     end
     return if @command_window.animation?
    if Input.press?(Input::UP) or  Input.press?(Input::LEFT)
      $game_system.se_play($data_system.cursor_se)
      @command_window.setup_move_move(Window_RingMenu::MODE_MOVEL)
      return
    end
    if Input.press?(Input::DOWN) or  Input.press?(Input::RIGHT)
      $game_system.se_play($data_system.cursor_se)
      @command_window.setup_move_move(Window_RingMenu::MODE_MOVER)
      return
    end
     end
    #------------------------------------------------------------------------------
    #  Update Status
    #------------------------------------------------------------------------------
     def update_status
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @status_window.active = false
      @status_window.visible = false
      @status_window.index = -1
      return
    end
    if Input.trigger?(Input::C)
    case @command_window.index
    when 1
      if $game_party.actors[@status_window.index].restriction >= 2
    	$game_system.se_play($data_system.buzzer_se)
    	return
      end
      $game_system.se_play($data_system.decision_se)
      $scene = Scene_Skill.new(@status_window.index)
    when 2
      $game_system.se_play($data_system.decision_se)
      $scene = Scene_Equip.new(@status_window.index)
    when 3
      $game_system.se_play($data_system.decision_se)
      $scene = Scene_Status.new(@status_window.index)
      end
      return
    end
     end
    end
    #------------------------------------------------------------------------------
    #  Window_RingMenu
    #------------------------------------------------------------------------------
    class Window_RingMenu < Window_Base
     STARTUP_FRAMES = 20
     MOVING_FRAMES = 5  
     RING_R = 64		
     ICON_ITEM   = RPG::Cache.icon("034-Item03")
     ICON_SKILL  = RPG::Cache.icon("044-Skill01")
     ICON_EQUIP  = RPG::Cache.icon("001-Weapon01")
     ICON_STATUS = RPG::Cache.icon("050-Skill07")
     ICON_SAVE   = RPG::Cache.icon(RM_SAVE_ICON)
     ICON_EXIT   = RPG::Cache.icon("046-Skill03")
     ICON_DISABLE= RPG::Cache.icon("")
     SE_STARTUP = "056-Right02"
     MODE_START = 1
     MODE_WAIT  = 2
     MODE_MOVER = 3
     MODE_MOVEL = 4
     attr_accessor :index
    #------------------------------------------------------------------------------
    #  Initialize
    #------------------------------------------------------------------------------
     def initialize( center_x, center_y )
    super(0, 0, 640, 480)
    self.contents = Bitmap.new(width-32, height-32)
    self.contents.font.name = $ring_menu_text[0]
    self.contents.font.color = text_color($ring_menu_text[7])
    self.contents.font.size = $ring_menu_text[8]
    self.opacity = 0
    self.back_opacity = 0
    s1 = $ring_menu_text[1]
    s2 = $ring_menu_text[2]
    s3 = $ring_menu_text[3]
    s4 = $ring_menu_text[4]
    s5 = $ring_menu_text[5]
    s6 = $ring_menu_text[6]
    @commands = [ s1, s2, s3, s4, s5, s6 ]
    @item_max = 6
    @index = 0
    @items = [ ICON_ITEM, ICON_SKILL, ICON_EQUIP, ICON_STATUS, ICON_SAVE, ICON_EXIT ]
    @disabled = [ false, false, false, false, false, false ]
    @cx = center_x - 16
    @cy = center_y - 16
    setup_move_start
    refresh
     end
    #------------------------------------------------------------------------------
    #  Update
    #------------------------------------------------------------------------------
     def update
    super
    refresh
     end
    #------------------------------------------------------------------------------
    #  Refresh
    #------------------------------------------------------------------------------
     def refresh
    self.contents.clear
    case @mode
    when MODE_START
      refresh_start
    when MODE_WAIT
      refresh_wait
    when MODE_MOVER
      refresh_move(1)
    when MODE_MOVEL
      refresh_move(0)
    end
    rect = Rect.new(@cx - 272, @cy + 24, self.contents.width-32, 32)
    self.contents.draw_text(rect, @commands[@index],1)
     end
    #------------------------------------------------------------------------------
    #  Refresh Start
    #------------------------------------------------------------------------------
     def refresh_start
    d1 = 2.0 * Math::PI / @item_max
    d2 = 1.0 * Math::PI / STARTUP_FRAMES
    r = RING_R - 1.0 * RING_R * @steps / STARTUP_FRAMES
    for i in 0...@item_max
      j = i - @index
      d = d1 * j + d2 * @steps
      x = @cx + ( r * Math.sin( d ) ).to_i
      y = @cy - ( r * Math.cos( d ) ).to_i
      draw_item(x, y, i)
    end
    @steps -= 1
    if @steps < 1
      @mode = MODE_WAIT
    end
     end
    #------------------------------------------------------------------------------
    #  Refresh Wait
    #------------------------------------------------------------------------------
     def refresh_wait
    d = 2.0 * Math::PI / @item_max
    for i in 0...@item_max
      j = i - @index
      x = @cx + ( RING_R * Math.sin( d * j ) ).to_i
      y = @cy - ( RING_R * Math.cos( d * j ) ).to_i
      draw_item(x, y, i)
    end
     end
    #------------------------------------------------------------------------------
    #  Refresh Move
    #------------------------------------------------------------------------------
     def refresh_move( mode )
    d1 = 2.0 * Math::PI / @item_max
    d2 = d1 / MOVING_FRAMES
    d2 *= -1 if mode != 0
    for i in 0...@item_max
      j = i - @index
      d = d1 * j + d2 * @steps
      x = @cx + ( RING_R * Math.sin( d ) ).to_i
      y = @cy - ( RING_R * Math.cos( d ) ).to_i
      draw_item(x, y, i)
    end
    @steps -= 1
    if @steps < 1
      @mode = MODE_WAIT
    end
     end
    #------------------------------------------------------------------------------
    #  Draw Item
    #------------------------------------------------------------------------------
     def draw_item(x, y, i)
    rect = Rect.new(0, 0, @items[i].width, @items[i].height)
    if @index == i
      self.contents.blt( x, y, @items[i], rect )
      if @disabled[@index]
    	self.contents.blt( x, y, ICON_DISABLE, rect )
      end
    else
      self.contents.blt( x, y, @items[i], rect, 128 )
      if @disabled[@index]
    	self.contents.blt( x, y, ICON_DISABLE, rect, 128 )
      end
    end
     end
    #------------------------------------------------------------------------------
    #  Disable Item
    #------------------------------------------------------------------------------
     def disable_item(index)
    @disabled[index] = true
     end
    #------------------------------------------------------------------------------
    #  Setup Move Start
    #------------------------------------------------------------------------------
     def setup_move_start
    @mode = MODE_START
    @steps = STARTUP_FRAMES
    if  SE_STARTUP != nil and SE_STARTUP != ""
      Audio.se_play("Audio/SE/" + SE_STARTUP, 80, 100)
    end
     end
    #------------------------------------------------------------------------------
    #  Setup Move Move
    #------------------------------------------------------------------------------
     def setup_move_move(mode)
    if mode == MODE_MOVER
      @index -= 1
      @index = @items.size - 1 if @index < 0
    elsif mode == MODE_MOVEL
      @index += 1
      @index = 0 if @index >= @items.size
    else
      return
    end
    @mode = mode
    @steps = MOVING_FRAMES
     end
    #------------------------------------------------------------------------------
    #  Animation
    #------------------------------------------------------------------------------
     def animation?
    return @mode != MODE_WAIT
     end
    end
    #------------------------------------------------------------------------------
    #  Window_RingMenuStatus
    #------------------------------------------------------------------------------
    class Window_RingMenuStatus < Window_Selectable
    #------------------------------------------------------------------------------
    #  Initialize
    #------------------------------------------------------------------------------
     def initialize
    super(204, 64, 232, 352)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.size = $chara_select[5]
    refresh
    self.active = false
    self.index = -1
     end
    #------------------------------------------------------------------------------
    #  Refresh
    #------------------------------------------------------------------------------
     def refresh
    self.contents.clear
    self.windowskin = RPG::Cache.windowskin($chara_select[4])
    self.contents.font.name = $chara_select[0]
    self.contents.font.color = text_color($chara_select[1])
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      x = 80
      y = 80 * i
      actor = $game_party.actors[i]
      draw_actor_graphic(actor, x - 60, y + 65)
      draw_actor_name(actor, x, y + 2)
      draw_actor_hp(actor, x - 40, y + 26)
      draw_actor_sp(actor, x - 40, y + 50)
    end
     end
    #------------------------------------------------------------------------------
    #  Update Cursor Rect
    #------------------------------------------------------------------------------
     def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(0, @index * 80, self.width - 32, 80)
    end
     end
    end
    #------------------------------------------------------------------------------
    #  Game_Map
    #------------------------------------------------------------------------------
    class Game_Map
    #------------------------------------------------------------------------------
    #  Name
    #------------------------------------------------------------------------------
     def name
    $map_infos[@map_id]
     end
    end
    #------------------------------------------------------------------------------
    #  Scene_Title
    #------------------------------------------------------------------------------
    class Scene_Title
     $map_infos = load_data("Data/MapInfos.rxdata")
     for key in $map_infos.keys
    $map_infos[key] = $map_infos[key].name
     end
    end
    #------------------------------------------------------------------------------
    #  Window_Location
    #------------------------------------------------------------------------------
    class Window_Location < Window_Base
    #------------------------------------------------------------------------------
    #  Initialize
    #------------------------------------------------------------------------------
     def initialize
    super(0, 0, $window_size[0], $window_size[1])
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $location_text[0]
    self.contents.font.size = $location_text[1]
    refresh
     end
    #------------------------------------------------------------------------------
    #  Refresh
    #------------------------------------------------------------------------------
     def refresh
    self.contents.clear
    self.windowskin = RPG::Cache.windowskin($window_location_skin)
    self.contents.font.color = text_color($location_text[2])
    self.contents.draw_text(4, 0, 120, 32, $location_text[3])
    self.contents.font.color = text_color($location_text[4])
    self.contents.draw_text(4, 32, 120, 32, $game_map.name, 2)
     end
    end
    #------------------------------------------------------------------------------
    #  Window_MenuGold
    #------------------------------------------------------------------------------
    class Window_MenuGold < Window_Base
    #------------------------------------------------------------------------------
    #  Initialize
    #------------------------------------------------------------------------------
     def initialize
    super(0, 0, $window_size[0], $window_size[1])
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $gold_text[0]
    self.contents.font.size = $gold_text[1]
    refresh
     end
    #------------------------------------------------------------------------------
    #  Refresh
    #------------------------------------------------------------------------------
     def refresh
    self.contents.clear
    self.windowskin = RPG::Cache.windowskin($window_gold_skin)
    self.contents.font.color = text_color($gold_text[2])
    self.contents.draw_text(4, 0, 120, 32, $gold_text[4])
    self.contents.font.color = text_color($gold_text[3])
    self.contents.draw_text(4, 32, 120, 32, $game_party.gold.to_s, 2)
     end
    end

     

     

    Praticamente,selezionando la voce "Sviluppo" si viene trasportati in un menu su mappa (ciò che accade al suo interno non importa).

    Ebbene vorrei che prima di accedervi,lo script si salvasse la posizione dell'eroe,di modo che cliccando su un evento "Esci" apposito all'interno della mappa-menu tornasse nel punto dov'era l'eroe prima di accedervi.

     

    E' possibile?

     

    Grazie anticipatamente. ^_^

  4. Mmmh crea un evento in processo parallelo negli eventi comune attivabile tramite una switch che metterai ON all'inizio della partita e quindi sarà attivo per tutto il gioco:

    If1 eroe Arshes ha equipaggiato Spada Focata

    -- Variabile LivelloArshes==Arshes livello

    -- if2 Variabile LivelloArshes > 9

    ---- apprendi magia fuoco1

    -- end if2

    -- if3 Variabile LivelloArshes > 19

    ---- apprendi magia fuoco2

    -- end if3

    -- if4 Variabile LivelloArshes > 29

    ---- apprendi magia fuoco3

    -- end if4

    (e così via tanti in per quante sono le abilità da apprendere!)

    ELSE (dell'if1)

    - dimentica magia fuoco1

    - dimentica magia fuoco2

    - dimentica magia fuoco3

    (e così via per tutte le abilità che può apprendere dall'arma)

    end if1

    (e così via da ripetere per ogni singola arma e per ogni singolo personaggio ^ ^)

     

    Nota bene come sono annidate le condizioni!

    ^ ^

    Problema: presenta un grave difetto! La modifica delle abilità diventa effettiva solo dopo essere uscito dal menù, quindi se tu equipaggi/disequipaggi un'arma e poi senza uscire completamente dal menù vai sulle abilità allora non noterai nesun cambiamento, devi prima uscire, rinetrare nel menù e verificare le nuove abilità apprese!

    ^ ^

    Per nascondere l'errore potrei vedere come dal menù equipaggiamento usando il tasto X/esc invece di tornare al menù torni alla mappa, tutto via script... va bene come trucchetto?

    ^ ^

     

    Intanto ti ringrazio infinitamente per la celerità. ^_^

    Per quanto riguarda il problema,utilizzando il menu ad anello ho ogni sottosezione del menu normale separata dalle altre,ciò significa che se scelgo equip andrà solo li e se ne esco tornerà alla mappa,quindi fortunatamente non dovrebbe sussistere. :sisi:

     

    Di nuovo grazie,lo testo e ti dico se ci sono controindicazioni. :sisi:

  5. Dunque,nel mio progetto vorrei fare in modo che equipaggiando un determinato oggetto succeda:

     

    -Se [nomepg] ha equipaggiato [nomeoggetto]

    ---Se [nomepg] livello 10

    --[nomepg] impara Fuoco I

    ---Se [nomepg] livello 20

    --[nomepg] impara Fuoco II

    ---Se [nomepg] livello 30

    --[nomepg] impara Fuoco III

    ---Se [nomepg] livello 40

    --[nomepg] impara Fuoco IV

    -Se no

    --disimpara le skill sopra

     

    Possibilmente vorrei fare tutto tramite common event,che penso si possa fare ma non so come (nelle conditional branch non c'è una condizione per i livelli).

    Ho cercato tutorial ovunque ma non ho trovato nulla a riguardo.

    Sapreste aiutarmi? :tongue:

  6. Rieccomi,non sono scomparso. :blink:

    A giorni ho un esame importante da dare in facoltà e tutte le mie energie al momento sono per quello.

     

    cut

    Ti ringrazio della disponibilità,ma questo è un progetto che mi sono prefissato di fare e finire da solo prima di farne un qualsiasi altro in gruppo con qualcuno,un po' per orgoglio personale,un po' perchè con le mie tempistiche attuali sono sicuro che finirebbe in un macello di ritardi. :sisi:

    A lavoro finito,se viene fuori un gioco almeno accettabile,sarò disposto ben volentieri a fare qualcosa insieme. :Ok:

    Ho visto i tuoi lavori e mi sembri bravo. :sisi:

    Per quanto riguarda l'isometrica,l'idea non è male,ma è una faticaccia da mettere in pratica per le mie attuali conoscenze in materia: permango sulle dimensioni classiche. :Ok:

     

    Allora, la storia mi piace molto e anche i chara di RO, ma come hanno detto in molti stonano con le mappe che sono fatte un po' maluccio... Sono "vuote", praticamente pavimento, parete e chara, nient'altro... prova a rempirle un po' di più e muoviti a postare una demo che lo voglio provare! XD nono, vabbè che mi interessa e lo voglio vedere finito, ma non fare le cose in fretta che rovini tutto... ciao, aspetto novità!

     

    Allora,il problema mappe vuote penso sia più che altro a causa della mia scelta di screen da mostrare: ho notato che fondamentalmente sono corridoi o comunque stanze ampie dove tendo a non mettere troppo arredo. :ph34r:

    Invece per quanto riguarda le dimensioni,ho ridotto i chara di 20 pixel ed ora sembrano andar bene per i tilesets.

    In ogni caso farò presto una revisione del mapping così da rendere le disposizioni delle mappe più gradevoli alla vista. :sisi:

     

    Per il resto,il gioco sta procedendo...molto lentamente,ma sta procedendo. :sisi:

    Dopo l'esame conto di dare uno sprint allo sviluppo e di mettere qualcosina di nuovo nel primo post. :Ok:

     

    Bye!

  7. Ma l'hai scritto tre volte Magilith nell'array della riga 6 dello script ?

    Dal codice sembra che sia quello il sistema per assegnare nomi agli slot aggiuntivi: invece di appoggiarsi al DataBase, così si può variare di più . . .

    EQUIP_KIND_NAMES = ['Magilith', 'Magilith', 'Magilith']

     

     

    EDIT - Avevo dimenticato le virgolette per racchiudere i nomi . . .

    Ecco perchè...non misi le virgolette!!! :sisi:

    Provai anch'io così ma senza virgolette e mi dava errore,quindi ho creduto che fosse una stringa da non toccare...e invece ora va. :sisi:

     

    Ok,risolto.

    Un giga-grazie a tutti quanti per l'enorme supporto. :sisi:

  8. Come detto da giver dovrebbe dipendere da quello, inizia una nuova partita!

    ^ ^

    Allora,la buona notizia è che con la nuova partita lo script va. :sisi:

    Mentre la cattiva notizia è la seguente:

     

    http://img3.imageshack.us/img3/8493/zomgpg.jpg

     

    Dove sta il cursore e la porzione subito sotto dovrebbe esserci scritto Magilith per altre 2 volte,invece è vuoto. :sisi:

  9. Ciao Charlie,ho un problema di compatibilità che spero si possa risolvere agilmente. :O

    Dunque,dovrei inserire questo script:

     

     

    #============================================# AccessoireX3 edit by Friday666#============================================module XRXS_MP8_Fixed_ValuablesEQUIP_KINDS = [1, 2, 3, 4, 4, 4]EQUIP_KIND_NAMES = []WINDOWS_STRETCH = trueSTATUS_WINDOW_ARRANGE = trueSTATUS_WINDOW_EX_EQUIP_ROW_SIZE = 24STATUS_WINDOW_EX_EQUIP_X = 336STATUS_WINDOW_EX_EQUIP_Y = 256end #============================================# ¡ Game_Actor#============================================class Game_Actor < Game_Battler#------------------------------------------# ? ?C???N??[?h#------------------------------------------include XRXS_MP8_Fixed_Valuables#------------------------------------------# ? ?ö?J?C???X?^???X?Ï?#------------------------------------------attr_reader :armor_ids#------------------------------------------# ? ?Z?b?g?A?b?v#------------------------------------------alias xrxs_mp8_setup setupdef setup(actor_id)xrxs_mp8_setup(actor_id)@armor_ids = []# ?g?£?—for i in 4...EQUIP_KINDS.size@armor_ids[i+1] = 0endend#------------------------------------------# ? ?î–{?r—Í?Ì?æ?¾#------------------------------------------alias xrxs_mp8_base_str base_strdef base_strn = xrxs_mp8_base_strfor i in 4...EQUIP_KINDS.sizearmor = $data_armors[@armor_ids[i+1]]n += armor != nil ? armor.str_plus : 0endreturn nend#------------------------------------------# ? ?î–{?í—p?³?Ì?æ?¾#------------------------------------------alias xrxs_mp8_base_dex base_dexdef base_dexn = xrxs_mp8_base_dexfor i in 4...EQUIP_KINDS.sizearmor = $data_armors[@armor_ids[i+1]]n += armor != nil ? armor.dex_plus : 0endreturn nend#------------------------------------------# ? ?î–{?f??³?Ì?æ?¾#------------------------------------------alias xrxs_mp8_base_agi base_agidef base_agin = xrxs_mp8_base_agifor i in 4...EQUIP_KINDS.sizearmor = $data_armors[@armor_ids[i+1]]n += armor != nil ? armor.agi_plus : 0endreturn nend#------------------------------------------# ? ?î–{–?—Í?Ì?æ?¾#------------------------------------------alias xrxs_mp8_base_int base_intdef base_intn = xrxs_mp8_base_intfor i in 4...EQUIP_KINDS.sizearmor = $data_armors[@armor_ids[i+1]]n += armor != nil ? armor.int_plus : 0endreturn nend#------------------------------------------# ? ?î–{?¨—–h?ä?Ì?æ?¾#------------------------------------------alias xrxs_mp8_base_pdef base_pdefdef base_pdefn = xrxs_mp8_base_pdeffor i in 4...EQUIP_KINDS.sizearmor = $data_armors[@armor_ids[i+1]]n += armor != nil ? armor.pdef : 0endreturn nend#------------------------------------------# ? ?î–{–?–@–h?ä?Ì?æ?¾#------------------------------------------alias xrxs_mp8_base_mdef base_mdefdef base_mdefn = xrxs_mp8_base_mdeffor i in 4...EQUIP_KINDS.sizearmor = $data_armors[@armor_ids[i+1]]n += armor != nil ? armor.mdef : 0endreturn nend#------------------------------------------# ? ?î–{?ñ?ðC³?Ì?æ?¾#------------------------------------------alias xrxs_mp8_base_eva base_evadef base_evan = xrxs_mp8_base_evafor i in 4...EQUIP_KINDS.sizearmor = $data_armors[@armor_ids[i+1]]n += armor != nil ? armor.eva : 0endreturn nend#------------------------------------------# ? ???õ?Ì?ÏX# equip_type : ???õ?^?C?v# id : ??í or –h?ï ID (0 ?È?ç???õ?ð?)#------------------------------------------alias xrxs_mp8_equip equipdef equip(equip_type, id)xrxs_mp8_equip(equip_type, id)if equip_type >= 5if id == 0 or $game_party.armor_number(id) > 0update_auto_state($data_armors[@armor_ids[equip_type]], $data_armors[id])$game_party.gain_armor(@armor_ids[equip_type], 1)@armor_ids[equip_type] = id$game_party.lose_armor(id, 1)endendendend#============================================# ¡ Window_EquipRight#============================================class Window_EquipRight < Window_Selectable#------------------------------------------# ? ?C???N??[?h#------------------------------------------include XRXS_MP8_Fixed_Valuables#------------------------------------------# ? ?I?u?W?F?N?g??ú?»# actor : ?A?N?^[#------------------------------------------if WINDOWS_STRETCHdef initialize(actor)super(272, 64, 368, 192)h = (EQUIP_KINDS.size + 1) * 32self.contents = Bitmap.new(width - 32, h)@actor = actorrefreshself.index = 0endend#------------------------------------------# ? ???t???b?V??#------------------------------------------alias xrxs_mp8_refresh refreshdef refreshxrxs_mp8_refresh@item_max = EQUIP_KINDS.size + 1for i in 4...EQUIP_KINDS.size@data.push($data_armors[@actor.armor_ids[i+1]])self.contents.font.color = system_colorself.contents.draw_text(5, 32 * (i+1), 92, 32, EQUIP_KIND_NAMES[i-4].to_s)draw_item_name(@data[i+1], 92, 32 * (i+1))endendend#============================================# ¡ Window_EquipItem#============================================class Window_EquipItem < Window_Selectable#------------------------------------------# ? ???õ?í?Ê?ÌÝ?è#------------------------------------------def equip_type=(et)@equip_type = etrefreshend#------------------------------------------# ? ???t???b?V??#------------------------------------------alias xrxs_mp8_refresh refreshdef refreshxrxs_mp8_refreshif @equip_type >= 5if self.contents != nilself.contents.disposeself.contents = nilend@data = []armor_set = $data_classes[@actor.class_id].armor_setfor i in 1...$data_armors.sizeif $game_party.armor_number(i) > 0 and armor_set.include?(i)type = $data_armors[i].kind + 1if !@equip_type.to_s.scan(/#{type}/).empty?@data.push($data_armors[i])endendend@data.push(nil)@item_max = @data.sizeself.contents = Bitmap.new(width - 32, row_max * 32)for i in 0...@item_max-1draw_item(i)endendendend#============================================# ¡ Window_Status#============================================class Window_Status < Window_Base#------------------------------------------# ? ?C???N??[?h#------------------------------------------include XRXS_MP8_Fixed_Valuables#------------------------------------------# ?J?X?^?}?C?Y?|?C???gu?X?e[?^?X?æ–Ê?Ì?f?U?C???ð?ÏX?•?év#------------------------------------------if STATUS_WINDOW_ARRANGEdef refreshself.contents.cleardraw_actor_graphic(@actor, 40, 112)draw_actor_name(@actor, 4, 0)draw_actor_class(@actor, 4 + 144, 0)draw_actor_level(@actor, 96, 32)draw_actor_state(@actor, 96, 64)draw_actor_hp(@actor, 96, 112, 172)draw_actor_sp(@actor, 96, 144, 172)draw_actor_parameter(@actor, 96, 192, 0)draw_actor_parameter(@actor, 96, 224, 1)draw_actor_parameter(@actor, 96, 256, 2)draw_actor_parameter(@actor, 96, 304, 3)draw_actor_parameter(@actor, 96, 336, 4)draw_actor_parameter(@actor, 96, 368, 5)draw_actor_parameter(@actor, 96, 400, 6)self.contents.font.color = system_colorself.contents.draw_text(320, 48, 80, 32, "EXP")self.contents.draw_text(320, 80, 80, 32, "NEXT")self.contents.font.color = normal_colorself.contents.draw_text(320 + 80, 48, 84, 32, @actor.exp_s, 2)self.contents.draw_text(320 + 80, 80, 84, 32, @actor.next_rest_exp_s, 2)self.contents.font.color = system_colorself.contents.draw_text(320, 112, 96, 32, "Equipement")draw_item_name($data_weapons[@actor.weapon_id], 320 + 16, 136)draw_item_name($data_armors[@actor.armor1_id], 320 + 16, 160)draw_item_name($data_armors[@actor.armor2_id], 320 + 16, 184)draw_item_name($data_armors[@actor.armor3_id], 320 + 16, 208)draw_item_name($data_armors[@actor.armor4_id], 320 + 16, 232)endend#------------------------------------------# ? ???t???b?V??#------------------------------------------alias xrxs_mp8_refresh refreshdef refreshxrxs_mp8_refresh# ?g?£?—for i in 4...EQUIP_KINDS.sizearmor = $data_armors[@actor.armor_ids[i+1]]draw_item_name($data_armors[@actor.armor_ids[i+1]], STATUS_WINDOW_EX_EQUIP_X, STATUS_WINDOW_EX_EQUIP_Y + STATUS_WINDOW_EX_EQUIP_ROW_SIZE * (i-4))endendend#============================================# ¡ Scene_Equip#============================================class Scene_Equip#------------------------------------------# ? ?C???N??[?h#------------------------------------------include XRXS_MP8_Fixed_Valuables#------------------------------------------# ? ??C???—#------------------------------------------alias xrxs_mp8_main maindef main@addition_initialize_done = falsexrxs_mp8_mainfor i in 4...EQUIP_KINDS.size@item_windows[i+2].disposeendend#------------------------------------------# ? ???t???b?V??#------------------------------------------alias xrxs_mp8_refresh refreshdef refreshunless @addition_initialize_done@item_windows = []@item_window2.equip_type = EQUIP_KINDS[0]@item_window3.equip_type = EQUIP_KINDS[1]@item_window4.equip_type = EQUIP_KINDS[2]@item_window5.equip_type = EQUIP_KINDS[3]for i in 4...EQUIP_KINDS.size@item_windows[i+2] = Window_EquipItem.new(@actor, EQUIP_KINDS[i])@item_windows[i+2].help_window = @help_windowendif WINDOWS_STRETCH@right_window.height = (EQUIP_KINDS.size + 2) * 32if @left_window.y + @left_window.height == 256@left_window.height = @right_window.heightendy_pos = (@right_window.y + @right_window.height)y_space = 480 - y_pos@item_window1.y = y_pos@item_window2.y = y_pos@item_window3.y = y_pos@item_window4.y = y_pos@item_window5.y = y_pos@item_window1.height = y_space@item_window2.height = y_space@item_window3.height = y_space@item_window4.height = y_space@item_window5.height = y_spacefor i in 4...EQUIP_KINDS.size@item_windows[i+2].y = y_pos@item_windows[i+2].height = y_spaceendend@addition_initialize_done = trueendfor i in 4...EQUIP_KINDS.size@item_windows[i+2].visible = (@right_window.index == i+1)endif @right_window.index >= 5@item_window = @item_windows[@right_window.index + 1]endxrxs_mp8_refreshend#------------------------------------------# ? ?t??[??XV (?A?C?e???E?B???h?E?ª?A?N?e?B?u?Ìê?)#------------------------------------------alias xrxs_mp8_update_item update_itemdef update_itemxrxs_mp8_update_itemif Input.trigger?(Input::C)@item_window1.refresh@item_window2.refresh@item_window3.refresh@item_window4.refresh@item_window5.refreshfor i in 4...EQUIP_KINDS.size@item_windows[i+2].refreshendGraphics.frame_resetreturnendendend

     

     

     

    Solo che mi da un errore di NoMethodFound alla riga 93 (qualcosa riguardante nil:NilClass).

    Sai per caso cosa posso cambiare per fare in modo che conviva col tuo CTB?

    Se è un lavoro troppo grosso fa lo stesso. :sisi:

     

    Grazie in anticipo. :sisi:

     

     

    EDIT: RISOLTO! :sisi:

  10. armor = $data_armors[@armor_ids(i+1)]

    Prova sostituendola con questa..Non ho il maker davanti ma potrebbe fungere

    Ahimè no,ora mi da addirittura sintax error. :(

     

    Ho provato anche a togliere tutti gli altri script che non c'entravano,tranne tutti quelli inerenti al ctb di charlie fleed (per chi se li ricorda sono una sequela di script che penso essere sinergici tra loro,quindi non eliminabili) e l'errore permane,quindi penso che vada in qualche modo in conflitto con gli script di charlie. :(

  11. Argh che fai! XD

    Se già ne stiamo discutendo su un topic non ne aprire un altro! Ricorda poi che se il topic dello script già esiste è meglio postare lì, così è più facile trovare per chi ha lo stesso errore.

    ^ ^

    Chiedo venia,è solo che mi sembrava la sezione più adatta per gli errori. T_T

  12. Salve,utilizzando il seguente script:

     

    #============================================ # AccessoireX3 edit by Friday666#============================================ module XRXS_MP8_Fixed_Valuables EQUIP_KINDS = [1, 2, 3, 4, 4, 4] EQUIP_KIND_NAMES = [] WINDOWS_STRETCH = true STATUS_WINDOW_ARRANGE = true STATUS_WINDOW_EX_EQUIP_ROW_SIZE = 24 STATUS_WINDOW_EX_EQUIP_X = 336 STATUS_WINDOW_EX_EQUIP_Y = 256 end  #============================================ # ¡ Game_Actor #============================================ class Game_Actor < Game_Battler #------------------------------------------ # ? ?C???N??[?h #------------------------------------------ include XRXS_MP8_Fixed_Valuables #------------------------------------------ # ? ?ö?J?C???X?^???X?Ï? #------------------------------------------ attr_reader :armor_ids #------------------------------------------ # ? ?Z?b?g?A?b?v #------------------------------------------ alias xrxs_mp8_setup setup def setup(actor_id) xrxs_mp8_setup(actor_id) @armor_ids = [] # ?g?£?— for i in 4...EQUIP_KINDS.size @armor_ids[i+1] = 0 end end #------------------------------------------ # ? ?î–{?r—Í?Ì?æ?¾ #------------------------------------------ alias xrxs_mp8_base_str base_str def base_str n = xrxs_mp8_base_str for i in 4...EQUIP_KINDS.size armor = $data_armors[@armor_ids[i+1]] n += armor != nil ? armor.str_plus : 0 end return n end #------------------------------------------ # ? ?î–{?í—p?³?Ì?æ?¾ #------------------------------------------ alias xrxs_mp8_base_dex base_dex def base_dex n = xrxs_mp8_base_dex for i in 4...EQUIP_KINDS.size armor = $data_armors[@armor_ids[i+1]] n += armor != nil ? armor.dex_plus : 0 end return n end #------------------------------------------ # ? ?î–{?f??³?Ì?æ?¾ #------------------------------------------ alias xrxs_mp8_base_agi base_agi def base_agi n = xrxs_mp8_base_agi for i in 4...EQUIP_KINDS.size armor = $data_armors[@armor_ids[i+1]] n += armor != nil ? armor.agi_plus : 0 end return n end #------------------------------------------ # ? ?î–{–?—Í?Ì?æ?¾ #------------------------------------------ alias xrxs_mp8_base_int base_int def base_int n = xrxs_mp8_base_int for i in 4...EQUIP_KINDS.size armor = $data_armors[@armor_ids[i+1]] n += armor != nil ? armor.int_plus : 0 end return n end #------------------------------------------ # ? ?î–{?¨—–h?ä?Ì?æ?¾ #------------------------------------------ alias xrxs_mp8_base_pdef base_pdef def base_pdef n = xrxs_mp8_base_pdef for i in 4...EQUIP_KINDS.size armor = $data_armors[@armor_ids[i+1]] n += armor != nil ? armor.pdef : 0 end return n end #------------------------------------------ # ? ?î–{–?–@–h?ä?Ì?æ?¾ #------------------------------------------ alias xrxs_mp8_base_mdef base_mdef def base_mdef n = xrxs_mp8_base_mdef for i in 4...EQUIP_KINDS.size armor = $data_armors[@armor_ids[i+1]] n += armor != nil ? armor.mdef : 0 end return n end #------------------------------------------ # ? ?î–{?ñ?ðC³?Ì?æ?¾ #------------------------------------------ alias xrxs_mp8_base_eva base_eva def base_eva n = xrxs_mp8_base_eva for i in 4...EQUIP_KINDS.size armor = $data_armors[@armor_ids[i+1]] n += armor != nil ? armor.eva : 0 end return n end #------------------------------------------ # ? ???õ?Ì?ÏX # equip_type : ???õ?^?C?v # id : ??í or –h?ï ID (0 ?È?ç???õ?ð?) #------------------------------------------ alias xrxs_mp8_equip equip def equip(equip_type, id) xrxs_mp8_equip(equip_type, id) if equip_type >= 5 if id == 0 or $game_party.armor_number(id) > 0 update_auto_state($data_armors[@armor_ids[equip_type]], $data_armors[id]) $game_party.gain_armor(@armor_ids[equip_type], 1) @armor_ids[equip_type] = id $game_party.lose_armor(id, 1) end end end end #============================================ # ¡ Window_EquipRight #============================================ class Window_EquipRight < Window_Selectable #------------------------------------------ # ? ?C???N??[?h #------------------------------------------ include XRXS_MP8_Fixed_Valuables #------------------------------------------ # ? ?I?u?W?F?N?g??ú?» # actor : ?A?N?^[ #------------------------------------------ if WINDOWS_STRETCH def initialize(actor) super(272, 64, 368, 192) h = (EQUIP_KINDS.size + 1) * 32 self.contents = Bitmap.new(width - 32, h) @actor = actor refresh self.index = 0 end end #------------------------------------------ # ? ???t???b?V?? #------------------------------------------ alias xrxs_mp8_refresh refresh def refresh xrxs_mp8_refresh @item_max = EQUIP_KINDS.size + 1 for i in 4...EQUIP_KINDS.size @data.push($data_armors[@actor.armor_ids[i+1]]) self.contents.font.color = system_color self.contents.draw_text(5, 32 * (i+1), 92, 32, EQUIP_KIND_NAMES[i-4].to_s) draw_item_name(@data[i+1], 92, 32 * (i+1)) end end end #============================================ # ¡ Window_EquipItem #============================================ class Window_EquipItem < Window_Selectable #------------------------------------------ # ? ???õ?í?Ê?ÌÝ?è #------------------------------------------ def equip_type=(et) @equip_type = et refresh end #------------------------------------------ # ? ???t???b?V?? #------------------------------------------ alias xrxs_mp8_refresh refresh def refresh xrxs_mp8_refresh if @equip_type >= 5 if self.contents != nil self.contents.dispose self.contents = nil end @data = [] armor_set = $data_classes[@actor.class_id].armor_set for i in 1...$data_armors.size if $game_party.armor_number(i) > 0 and armor_set.include?(i) type = $data_armors[i].kind + 1 if !@equip_type.to_s.scan(/#{type}/).empty? @data.push($data_armors[i]) end end end @data.push(nil) @item_max = @data.size self.contents = Bitmap.new(width - 32, row_max * 32) for i in 0...@item_max-1 draw_item(i) end end end end #============================================ # ¡ Window_Status #============================================ class Window_Status < Window_Base #------------------------------------------ # ? ?C???N??[?h #------------------------------------------ include XRXS_MP8_Fixed_Valuables #------------------------------------------ # ?J?X?^?}?C?Y?|?C???gu?X?e[?^?X?æ–Ê?Ì?f?U?C???ð?ÏX?•?év #------------------------------------------ if STATUS_WINDOW_ARRANGE def refresh self.contents.clear draw_actor_graphic(@actor, 40, 112) draw_actor_name(@actor, 4, 0) draw_actor_class(@actor, 4 + 144, 0) draw_actor_level(@actor, 96, 32) draw_actor_state(@actor, 96, 64) draw_actor_hp(@actor, 96, 112, 172) draw_actor_sp(@actor, 96, 144, 172) draw_actor_parameter(@actor, 96, 192, 0) draw_actor_parameter(@actor, 96, 224, 1) draw_actor_parameter(@actor, 96, 256, 2) draw_actor_parameter(@actor, 96, 304, 3) draw_actor_parameter(@actor, 96, 336, 4) draw_actor_parameter(@actor, 96, 368, 5) draw_actor_parameter(@actor, 96, 400, 6) self.contents.font.color = system_color self.contents.draw_text(320, 48, 80, 32, "EXP") self.contents.draw_text(320, 80, 80, 32, "NEXT") self.contents.font.color = normal_color self.contents.draw_text(320 + 80, 48, 84, 32, @actor.exp_s, 2) self.contents.draw_text(320 + 80, 80, 84, 32, @actor.next_rest_exp_s, 2) self.contents.font.color = system_color self.contents.draw_text(320, 112, 96, 32, "Equipement") draw_item_name($data_weapons[@actor.weapon_id], 320 + 16, 136) draw_item_name($data_armors[@actor.armor1_id], 320 + 16, 160) draw_item_name($data_armors[@actor.armor2_id], 320 + 16, 184) draw_item_name($data_armors[@actor.armor3_id], 320 + 16, 208) draw_item_name($data_armors[@actor.armor4_id], 320 + 16, 232) end end #------------------------------------------ # ? ???t???b?V?? #------------------------------------------ alias xrxs_mp8_refresh refresh def refresh xrxs_mp8_refresh # ?g?£?— for i in 4...EQUIP_KINDS.size armor = $data_armors[@actor.armor_ids[i+1]] draw_item_name($data_armors[@actor.armor_ids[i+1]], STATUS_WINDOW_EX_EQUIP_X, STATUS_WINDOW_EX_EQUIP_Y + STATUS_WINDOW_EX_EQUIP_ROW_SIZE * (i-4)) end end end #============================================ # ¡ Scene_Equip #============================================ class Scene_Equip #------------------------------------------ # ? ?C???N??[?h #------------------------------------------ include XRXS_MP8_Fixed_Valuables #------------------------------------------ # ? ??C???— #------------------------------------------ alias xrxs_mp8_main main def main @addition_initialize_done = false xrxs_mp8_main for i in 4...EQUIP_KINDS.size @item_windows[i+2].dispose end end #------------------------------------------ # ? ???t???b?V?? #------------------------------------------ alias xrxs_mp8_refresh refresh def refresh unless @addition_initialize_done @item_windows = [] @item_window2.equip_type = EQUIP_KINDS[0] @item_window3.equip_type = EQUIP_KINDS[1] @item_window4.equip_type = EQUIP_KINDS[2] @item_window5.equip_type = EQUIP_KINDS[3] for i in 4...EQUIP_KINDS.size @item_windows[i+2] = Window_EquipItem.new(@actor, EQUIP_KINDS[i]) @item_windows[i+2].help_window = @help_window end if WINDOWS_STRETCH @right_window.height = (EQUIP_KINDS.size + 2) * 32 if @left_window.y + @left_window.height == 256 @left_window.height = @right_window.height end y_pos = (@right_window.y + @right_window.height) y_space = 480 - y_pos @item_window1.y = y_pos @item_window2.y = y_pos @item_window3.y = y_pos @item_window4.y = y_pos @item_window5.y = y_pos @item_window1.height = y_space @item_window2.height = y_space @item_window3.height = y_space @item_window4.height = y_space @item_window5.height = y_space for i in 4...EQUIP_KINDS.size @item_windows[i+2].y = y_pos @item_windows[i+2].height = y_space end end @addition_initialize_done = true end for i in 4...EQUIP_KINDS.size @item_windows[i+2].visible = (@right_window.index == i+1) end if @right_window.index >= 5 @item_window = @item_windows[@right_window.index + 1] end xrxs_mp8_refresh end #------------------------------------------ # ? ?t??[??XV (?A?C?e???E?B???h?E?ª?A?N?e?B?u?Ìê?) #------------------------------------------ alias xrxs_mp8_update_item update_item def update_item xrxs_mp8_update_item if Input.trigger?(Input::C) @item_window1.refresh @item_window2.refresh @item_window3.refresh @item_window4.refresh @item_window5.refresh for i in 4...EQUIP_KINDS.size @item_windows[i+2].refresh end Graphics.frame_reset return end end end

     

    quando vado ad aprire il menu mi dice:

     

    Script 'Multi-Accessorio' line 93: NoMethodError occurred.

    undefined method '[]' for nil:NilClass

     

    Qualcuno ha idea di come risolverlo? :sisi:

  13. Allora. Il fatto che mi dici che sei a un terzo della realizzazione mi spinge a commentare.

    Ti dirò, il lavoro di ridimensionamento di Ragnarock non è poi male, anzi.

    Anche io uso Ragnarock per il BS, e so quanto rognosi siano quei files.

     

    Hai bisogno però di una massiccia editata ai tileset RTP (no, non ne esistono adeguate alternative, fidati), in modo da ridimensionare tutto allo scopo. Non so come hai deciso di organizzare i tuoi tilesets. Tenendo conto che l'XP consente tileset verticali potenzialmente infiniti, il mio consiglio è quello di metterti di santa pazienza e, con l'aiuto di un programma di grafica, "stretchare" tutti gli elementi verticali di 32 pixel, di modo che le pareti risultino adeguatamente alte per consentire ai chara di abitare le stanze: in altre parole, una parete deve risultare alta 4 quadretti di tileset, non 3. I mattoni ti potranno sembrare più spessi, ma chissenefrega... Paradossalmente molti degli arredi RTP sono troppo grandi per i chara RTP, quindi li potrai lasciare come sono.

     

    Non mi piace nè il font nè la windowskin, e le frasi che vedo sono terribili. "facciamoli neri", "bacarozzi"... troppo gergale, devi rifinire bene la forma dei dialoghi.

     

    Per il resto, attendo l'uscita del gioco. Mi pare promettente, ameno in campo XP, sempre più desertificato.

     

    Grazie dei consigli. :wink:

    Proverò certamente lo stretching di tileset da te proposto. :sisi:

     

    -Dialoghi: li ho messi letteralmente "alla boia di un giuda" solo per vedere se funzionavano,caricherò gli screen riveduti e corretti con dialoghi di lessico migliore.

     

    -windowskin: lo so,fa schifo anche a me,ma è temporaneo,finchè ho cose più massicce da sistemare però questo è l'ultimo dei miei problemi. :wink:

  14. Ehi era da tanto che non vedevo la grafica di ragnarock, credevo che era stata dimenticata e invece no, però me li ricordavo più grandi i chara, li hai forse ridimensionati?

    Si,li ho rimpiccioliti per fare in modo che si inserissero nel migliore dei modi (senza renderli troppo pixellosi) nei tileset del maker. :wink:

  15. La trama non mi sembra male, anche se non ho capito bene se lo stato approva l'accademia.

    Il chara nel primo screen è alto quanto la caverna, nel sesto screen il "bacarozzi" mi ha lasciato perplesso, e anche lo scheletro a pecorina nella cella XD. Gli ultimi due sembrano presi da due situazioni diverse (e forse è cosi) perché prima si è su un grattacielo di notte e poi da qualche parte nel Tibet ?

    Mi sembra un buon progetto. spero che lo porterai a termine.

    Lo stato non l'approva ma la tollera in quanto non gli causa alcun danno (l'Editto di Nascita permane,l'andare all'accademia equivale ad entrare sostanzialmente in un gruppo di mercenari).

    Per quanto riguarda la caverna...uhm...è una caverna molto piccola... °_°

    No,scherzo...si,sono al corrente della difficoltà di adattare i chara RO ai normali tileset,è solo che questo è il miglior compromesso che ho trovato senza che i chara venissero TROPPO sgranati. :sisi:

    Come gia detto vedrò di sistemare in qualche modo.

    EDIT: lessi male,credevo ti riferissi al secondo screen per la caverna (nel quale t'avrei dato ragione).

    Quella del primo screen non è una caverna, ma più che altro una sorta di bara di rocce.

    In questo caso la piccolezza dell'entrata è voluta. :P

     

    Per quanto riguarda gli ultimi due screen...no,sono la stessa situazione. <_<

    Non sono riuscito a trovare un battleback adeguato per quel tetto,così ho preso un ponte,inscurito il cielo per fare la notte e sperato che potesse quantomeno somigliargli. T_T

     

    Lo scheletro a pecorina...eh beh...sai cosa si dice delle docce delle prigioni no... :sisi:

     

    Bella introduzione! :D

    ^ ^

     

    Mmmh direi interessante pure la storia e non così classica! Sembri avere idee precise sul background anche se della trama principale poco hai rivelato.

    ^ ^

     

    Bene pg rippati da RO :3 Sfilza di descrizioni personaggi! Però pochi sprite non vale! XD Interessanti i tre protagonisti e così i dettagli sulle divinità e le città con i reggenti :D

    ^ ^

     

     

    Del gameplay questo è interessante! Sfrutta poi bene il BS di Charlie!

    ^ ^

     

    Bene, spero in buone idee! Con un po' di impegno potrai realizzare minigiochini di pesca anche migliori :D

    ^ ^

     

    Screen... mmmh purtroppo la differenza tra chara e tile si fa sentire, soprattutto nelle proporzioni degli oggetti: piccole porte, finestre, orologi, libri... nel secondo screen la prospettiva del camion non va, troppo laterale, è un po' poi misto tra tecnologia eantichità, con pistole, mezzi meccanici contro bracieri, spade, vecchi muri medioevali.

    ^ ^

    Grandi e spaziose va bene visto i chara di RO giganti, forse però è meglio riempirle poco di più le mappe :sisi:

    ^ ^

     

    Sembra un buon progetto, buona fortuna e buon making! ^ ^

    Ho caricato alcuni degli sprite mancanti (almeno dei pg reclutabili). :wink:

    Si,l'ambientazione vuole essere ne troppo medievaleggiante,ne troppo futuristica: una giusta via di mezzo di cui si scoprirà il motivo man mano che la storia prosegue. :wink:

    EDIT: anzi,forse un accenno sulla motivazione potrei anche aggiungerla alla trama del post,penso a come metterla senza spoilerare troppo e provvedo. :P

     

    La differenza chara-tile...si,gia detto sopra (e pensare che i chara dopo averli rippati li ho anche rimpiccioliti..). :(

     

    Dato che pare essere ciò che più si nota,sapreste per caso indicarmi tileset adeguati al caso,o per lo meno gradevoli alla vista?

×
×
  • Create New...