Jump to content
Rpg²S Forum

Andre4e

Utenti
  • Posts

    158
  • Joined

  • Last visited

Posts posted by Andre4e

  1. allora io ho un menu che ti permette di scegliere il font...xò nello script i font che ci sono sono gia installati nel pc, mentre io voglio mettergli un altro font xò senza installarlo manualmente o non installarlo affatto...lho messo nella

    cartella del progetto/Fonts/Nomedelfont

    nello script devo sostituire questo

     

    $game_system.se_play($data_system.decision_se)
    	$fontface = "Arial"
    	$scene = Scene_Menu.new

    e al posto di arial ci devo mettere il font "harrington", però se scrivo direttamente harrington mi da errore xk non lho installato..quale codice devo scrivere??

  2. volevo dire tre cose.. primo mi da errore qua post-2796-1237108204.png

    mi da l'errore qui

    $game_variables[1] = hour
    if $game_switches[10] == true

     

    secondo, quando ho provato ha usare il secondo menu normalmente, anche se attivavo la switch10, lo schermo non cambiava di tonalità nonostante erano le 22:00

     

    terzo....c'è un modo com e ha pokemon, dove prende l'orario inizialmente dal pc e poi va per conto suo alla velocità di un giorno intero...xk senno se uno cambia l'ora del orologio del pc..cambia l'orario anche nel gioco!!

     

    ciao ciao rx

  3. raga io utilizzo questo menu..poi da un altro menu ho trovato l'orologio sincronizzato a quello del pc e quindi vorrei mettere l'orario di quest'ultimo, al posto di quello che c'è in quello che uso io.

    il menu che uso io è questo QUI

     

    mentre quello che ha l'orario in tempo reale è questo

    #------------------------------------------------------------------------------
    # Super Menu Time V.1.2 by Rinnegatamante
    #(Si ringrazia mewsterus per la disposizione dei Battlers)
    #------------------------------------------------------------------------------
    # Con questo script si avrà un nuovo menu con:
    # 1)Una nuova grafica
    # 2)Orario reale impostato nel PC
    # 3)Battlers al posto dei Characters dei personaggi
    # 4)Numero dei passi e dei soldi in alto
    # 5)Altamente personalizzabile!
    #------------------------------------------------------------------------------
    class Game_Time
    # Modulo Main #
    def initialize
     hour = Time.new.hour
     $game_variables[1] = hour
     if $game_switches[10] == true
    #--------------------------------------------------------------------------
    if hour.between?(0, 3)
      $game_screen.start_tone_change(Tone.new(-85, -90, -30, 90), 0)
    #--------------------------------------------------------------------------
    elsif hour.between?(3, 5)
      $game_screen.start_tone_change(Tone.new(-55, -60, -25, 60), 0)
    #--------------------------------------------------------------------------
    elsif hour.between?(5, 7)
      $game_screen.start_tone_change(Tone.new(-30, -35, -20, 35), 0)
    #--------------------------------------------------------------------------	
    elsif hour.between?(7, 9)
      $game_screen.start_tone_change(Tone.new(-10, -15, -15, 15), 0)
    #--------------------------------------------------------------------------
    elsif hour.between?(9, 11)
      $game_screen.start_tone_change(Tone.new(0, -5, -5, 5), 0)
    #--------------------------------------------------------------------------
    elsif hour.between?(11, 13)
      $game_screen.start_tone_change(Tone.new(0, 0, 0, 0), 0)
    #--------------------------------------------------------------------------
    elsif hour.between?(13, 15)
      $game_screen.start_tone_change(Tone.new(0, -5, -5, 5), 0)
    #--------------------------------------------------------------------------
    elsif hour.between?(15, 17)
      $game_screen.start_tone_change(Tone.new(-10, -15, -15, 15), 0)
    #--------------------------------------------------------------------------
    elsif hour.between?(17, 19)
      $game_screen.start_tone_change(Tone.new(-30, -35, -20, 35), 0)
    #--------------------------------------------------------------------------
    elsif hour.between?(19, 21)
      $game_screen.start_tone_change(Tone.new(-55, -60, -25, 60), 0)
    #--------------------------------------------------------------------------
    elsif hour.between?(21, 23)
      $game_screen.start_tone_change(Tone.new(-85, -90, -30, 90), 0)
    end
     else
    $game_screen.start_tone_change(Tone.new(0, 0, 0, 0), 0)
     end	
    end
    end
    #==============================================================================
    # Window_Time
    #------------------------------------------------------------------------------
    # E' la classe che gestisce l'orologio
    #==============================================================================
    
    class Window_Time < Window_Base
    #--------------------------------------------------------------------------
    # Aggiornamento Scritte
    #--------------------------------------------------------------------------
    def initialize
     super(0, 0, 160, 86)
     self.contents = Bitmap.new(width - 32, height - 32)
     self.contents.font.name = "Arial"
     self.contents.font.size = 24
     refresh
    end
    #--------------------------------------------------------------------------
    # Aggiornamento Scritte
    #--------------------------------------------------------------------------
    def refresh
     self.contents.clear
     self.contents.font.color = system_color
     self.contents.draw_text(4, 0, 120, 32, "Orario:")
     text = Time.new.strftime("%I:%M:%S %p ")
     self.contents.font.color = normal_color
     self.contents.draw_text(4, 30, 120, 32, text, 2)
    end
    #--------------------------------------------------------------------------
    # Aggiornamento
    #--------------------------------------------------------------------------
    def update
     super
     refresh
     end
    end
    class Window_Base
    
    #-----------------------------------------------------------------------------
    # \\\\\\
    #-----------------------------------------------------------------------------
    def draw_actor_state(actor, x, y, width = 120)
    text = make_battler_state_text(actor, width, true)
    self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
    self.contents.draw_text(x, y, width, 32, text, 2)
    self.contents.font.size = 22
    self.contents.font.name = "Arial"
    end
    #-----------------------------------------------------------------------------
    # \\\\\\\\\
    #-----------------------------------------------------------------------------
    def draw_actor_battler(actor, x, y)
    if $game_party.actors.size != 0
    bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
    src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
    self.contents.blt(x-(bitmap.width/2), y-bitmap.height, bitmap, src_rect)
    end
    end
    #-----------------------------------------------------------------------------
    # @ \\\\\\\\\
    #-----------------------------------------------------------------------------
    def draw_actor_exp(actor, x, y, width = 144)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 48, 32, "Exp")
    self.contents.font.size = 22
    self.contents.font.name = "Arial"
    self.contents.font.color = normal_color
    self.contents.draw_text(x + width - 48, y, 48, 32, actor.exp_s, 2)
    self.contents.font.size = 22
    self.contents.font.name = "Arial"
    end
    end
    
    class Window_MenuStatus < Window_Selectable
    #-----------------------------------------------------------------------------
    # @ Make the window
    #-----------------------------------------------------------------------------
    def initialize
    super(0, 240, 640, 0)
    self.z -= 30
    @column_max = 2
    self.active = false
    self.index = -1
    end
    #-----------------------------------------------------------------------------
    # @ Refresh the window
    #-----------------------------------------------------------------------------
    def refresh
    self.contents = Bitmap.new(608, 448)
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
    x = i % 2 * 400
    y = i / 2 * 232
    actor = $game_party.actors[i]
    draw_actor_battler(actor, x + 94, y + 208)
    draw_actor_name(actor, x, y)
    draw_actor_state(actor, x + 88, y)
    draw_actor_exp(actor, x, y + 20, 208)
    draw_actor_level(actor, x, y + 40)
    draw_actor_hp(actor, x, y + 168, 208)
    draw_actor_sp(actor, x, y + 188, 208)
    self.contents.draw_text(x + 64, y + 40, 144, 32, actor.class_name, 2)
    self.contents.font.size = 22
    self.contents.font.name = "Arial"
    end
    end
    #-----------------------------------------------------------------------------
    # @ Update the cursor
    #-----------------------------------------------------------------------------
    def update_cursor_rect
    if @index < 0
    self.cursor_rect.empty
    else
    self.cursor_rect.set(@index%2*400-8, @index/2*232-8, 224, 232)
    end
    end
    end
    
    #===============================================================================
    
    # ¦ Window_Play
    #-------------------------------------------------------------------------------
    # Written by mewsterus modificato da: Rinnegatamante
    #===============================================================================
    
    
    class Window_Play < Window_Selectable
    #-----------------------------------------------------------------------------
    # @ Make the window
    #-----------------------------------------------------------------------------
    def initialize
    super(240, 240, 160, 0)
    self.z -= 20
    self.active = false
    self.index = -1
    self.back_opacity = 100
    end
    #-----------------------------------------------------------------------------
    # @ Refresh the window
    #-----------------------------------------------------------------------------
    def refresh
    self.contents = Bitmap.new(128, 448)
    #self.contents.font.name = $fontface
    #self.contents.font.size = $fontsize
    self.contents.clear
    $fontsize == 22
    $fontface == "Arial"
    cx = contents.text_size($data_system.words.gold).width
    self.contents.font.color = system_color
    self.contents.draw_text(128 - cx, 32, cx, 32, $data_system.words.gold, 2)
    self.contents.draw_text(0, 0, 128, 32, "Passi: ")
    self.contents.font.color = normal_color
    self.contents.draw_text(0, 32, 126 - cx, 32, $game_party.gold.to_s, 2)
    self.contents.font.color = normal_color
    self.contents.draw_text(0, 0, 128, 32, $game_party.steps.to_s, 2)
    if $location_enabled
    self.contents.draw_text(0,352,128,32,$game_map.name.delete("*").to_s,2)
    self.contents.font.color = system_color
    self.contents.draw_text(0,320,128,32,"Locazione")
    self.contents.font.size = 22
    self.contents.font.name = "Arial"
    end
    end
    #-----------------------------------------------------------------------------
    # @ Update the cursor
    #-----------------------------------------------------------------------------
    def update_cursor_rect
    if @index < 0
    self.cursor_rect.empty
    else
    self.cursor_rect.set(@index%2*400-8, @index/2*232-8, 224, 232)
    end
    end
    end
    #-----------------------------------------------------------------------------
    # @ Classe che gestisce il Menu
    #-----------------------------------------------------------------------------
    class Scene_Menu
    #-----------------------------------------------------------------------------
    # @ Accept index
    #-----------------------------------------------------------------------------
    def initialize(menu_index = 0, equip_index = 0)
    @menu_index = menu_index
    @equip_index = equip_index
    end
    #-----------------------------------------------------------------------------
    # @ Main loop
    #-----------------------------------------------------------------------------
    def main
    # @sprite = Spriteset_Map.new
    @bg_window = Window_Base.new(320, 0, 0, 480)
    s1 = $data_system.words.item
    s2 = $data_system.words.skill
    s3 = $data_system.words.equip
    s4 = "Stato"
    s5 = "Salva Partita"
    s6 = "Esci Dal Gioco"
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, ])
    @command_window.index = @menu_index
    @command_window.opacity = 0
    @command_window.x = 240
    @command_window.y = 60
    @command_window.z -= 10
    @command_window.visible = false
    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
    if $game_system.save_disabled
    @command_window.disable_item(4)
    end
    @playtime_window = Window_Time.new
     @playtime_window.x = 240
     @playtime_window.y = 394
    @help_window = Window_Help.new
    @help_window.visible = false
    @help_window.back_opacity = 100
    @status_window = Window_MenuStatus.new
    @play_window = Window_Play.new
    if $itemdrop_enabled
    @itemdrop = Window_Command.new(160, ["Basiliare", "Equipaggiamento", "Cerca"])
    else
    @itemdrop = Window_Base.new(220, 104, 160, 128)
    end
    @itemdrop.x = 240
    @itemdrop.y = 144
    @itemdrop.z -= 5
    @itemdrop.active = false
    @itemdrop.opacity = 0
    @itemdrop.contents_opacity = 0
    Graphics.transition
    loop do
    Graphics.update
    Input.update
    if @status_window.y > 0
    @status_window.y -= 16
    @status_window.height += 32
    @play_window.y -= 16
    @play_window.height += 32
    else
    @command_window.visible = true
    unless @refreshed
    @status_window.refresh
    @refreshed = true
    end
    update
    if @resize_item
    if @bg_window.width < 640
    @bg_window.x -= 16
    @bg_window.width += 32
    else
    @resize_item = false
    if $itemdrop_enabled
    @item_window = Window_Item.new(@itemdrop.index + 20)
    else
    @item_window = Window_Item.new
    end
    @item_window.help_window = @help_window
    @item_window.active = true
    @item_window.x = 0
    @item_window.contents_opacity = 255
    @item_window.back_opacity = 100
    @item_window.opacity = 255
    @target_window = Window_Target.new
    @target_window.active = false
    @target_window.x = 320
    @target_window.contents_opacity = 255
    @target_window.opacity = 255
    unless $ipm_enabled
    @target_window.visible = false
    end
    if $itemdrop_enabled
    if @itemdrop.index + 20 > 20
    @item_window.width = 640
    @item_window.column_max = 2
    @target_window.visible = false
    end
    end
    @help_window.visible = true
    @itemdrop.opacity = 0
    @itemdrop.contents_opacity = 0
    end
    end
    if @resize_skill
    if @bg_window.width < 640
    @bg_window.x -= 16
    @bg_window.width += 32
    else
    @resize_skill = false
    @actor = $game_party.actors[@status_window.index]
    @skillstatus_window = Window_SkillStatus.new(@actor)
    @skillstatus_window.contents_opacity = 255
    @skillstatus_window.back_opacity = 100
    @skillstatus_window.opacity = 255
    @skillstatus_window.x = 0
    @skill_window = Window_Skill.new(@actor)
    @skill_window.help_window = @help_window
    @skill_window.contents_opacity = 255
    @skill_window.back_opacity = 100
    @skill_window.opacity = 255
    if $ipm_enabled
    @skill_window.y = 184
    @skilltarget_window = Window_Target.new(@status_window.index)
    else
    @skill_window.y = 128
    @skilltarget_window = Window_Target.new
    end
    @skilltarget_window.active = false
    @skilltarget_window.contents_opacity = 255
    @skilltarget_window.opacity = 255
    @skilltarget_window.x = 320
    @help_window.visible = true
    unless $ipm_enabled
    @skilltarget_window.visible = false
    end
    end
    end
    if @resize_equip
    if @bg_window.width < 640
    @bg_window.x -= 16
    @bg_window.width += 32
    else
    @resize_equip = false
    @actor = $game_party.actors[@status_window.index]
    @equiphelp_window = Window_Help.new
    @equiphelp_window.back_opacity = 100
    @left_window = Window_EquipLeft.new(@actor)
    @left_window.contents_opacity = 255
    @left_window.back_opacity = 100
    @left_window.opacity = 255
    @left_window.x = 0
    @right_window = Window_EquipRight.new(@actor)
    @right_window.help_window = @equiphelp_window
    @right_window.index = @equip_index
    @right_window.contents_opacity = 255
    @right_window.back_opacity = 100
    @right_window.opacity = 255
    @right_window.y = 64
    @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)
    @item_window1.help_window = @equiphelp_window
    @item_window2.help_window = @equiphelp_window
    @item_window3.help_window = @equiphelp_window
    @item_window4.help_window = @equiphelp_window
    @item_window5.help_window = @equiphelp_window
    @item_window1.back_opacity = 100
    @item_window2.back_opacity = 100
    @item_window3.back_opacity = 100
    @item_window4.back_opacity = 100
    @item_window5.back_opacity = 100
    if $ipm_enabled
    @commands = ["Equippaggia", "Opzionale", "Rimuovi", "Svuota", "Annulla"]
    @equip_window = Window_SideCommand.new(@commands)
    @equip_window.back_opacity = 100
    @equip_window.height = 64
    @equiphelp_window.y = 416
    @right_window.index = -1
    @blank_window = Window_Base.new(272, 256, 368, 160)
    @blank_window.active = false
    @blank_window.back_opacity = 100
    end
    equip_refresh
    end
    end
    if @resize_status
    if @bg_window.width < 448
    @bg_window.x -= 16
    @bg_window.width += 32
    elsif @bg_window.width < 640 and not $ipm_enabled
    @bg_window.x -= 16
    @bg_window.width += 32
    else
    @resize_status = false
    @actor = $game_party.actors[@status_window.index]
    @playerstatus_window = Window_Status.new(@actor)
    @playerstatus_window.contents_opacity = 255
    @playerstatus_window.opacity = 255
    @playerstatus_window.y = 0
    end
    end
    if @resize_save
    if @help_window.x < 0
    @help_window.x += 64
    @savefile_windows[0].x -= 64
    @savefile_windows[1].x += 64
    @savefile_windows[2].x -= 64
    @savefile_windows[3].x += 64
    else
    @resize_save = false
    @savefile_windows_active = true
    end
    end
    if @resize_back
    @status_window.index = -1
    if @bg_window.width > 0
    @bg_window.x += 16
    @bg_window.width -= 32
    else
    @resize_back = false
    @command_window.active = true
    end
    end
    end
    if $scene != self
    break
    end
    end
    @bg_window.dispose
    @command_window.dispose
    @help_window.dispose
    @status_window.cursor_rect.empty
    @status_window.contents.clear
    @status_window.contents = nil
    @play_window.contents.clear
    @play_window.contents = nil
    for i in 0..20
    @status_window.y += 16
    @status_window.height -= 32
    @play_window.y += 16
    @play_window.height -= 32
    @itemdrop.opacity -= 25
    @itemdrop.contents_opacity -= 25
    Graphics.update
    end
    Graphics.freeze
    # @sprite.dispose
    @status_window.dispose
    @playtime_window.dispose
    @itemdrop.dispose
    end
    #-----------------------------------------------------------------------------
    # @ Update the scene
    #-----------------------------------------------------------------------------
    def update
    @help_window.update
    @command_window.update
    @playtime_window.update
    @status_window.update
    @play_window.update
    @play_window.refresh
    @itemdrop.update
    if @command_window.active
    update_command
    return
    end
    if @status_window.active
    update_status
    return
    end
    if @itemdrop.active
    update_itemdrop
    return
    end
    if @item_window != nil
    @item_window.update
    @target_window.update
    if @item_window.active
    update_item
    return
    end
    if @target_window.active
    update_target
    return
    end
    end
    
    if @left_window != nil
    @equiphelp_window.update
    @left_window.update
    @right_window.update
    @eitem_window.update
    equip_refresh
    if $ipm_enabled
    @equip_window.update
    if @equip_window.active
    update_equip
    return
    end
    end
    if @right_window.active
    update_right
    return
    end
    if @eitem_window.active
    update_eitem
    return
    end
    end
    if @playerstatus_window != nil
    @playerstatus_window.update
    update_playerstatus
    end
    if @savefile_windows != nil
    @help_window.update
    for i in @savefile_windows
    i.update
    end
    if @savefile_windows_active
    update_save
    end
    end
    end
    #-----------------------------------------------------------------------------
    # @ Update the command window
    #-----------------------------------------------------------------------------
    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
    @command_window.active = false
    @resize_item = true
    when 1
    $game_system.se_play($data_system.decision_se)
    @command_window.active = false
    @status_window.active = 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.index = 0
    when 3
    $game_system.se_play($data_system.decision_se)
    @command_window.active = false
    @status_window.active = true
    @status_window.index = 0
    when 4
    if $game_system.save_disabled
    $game_system.se_play($data_system.buzzer_se)
    return
    end
    $game_system.se_play($data_system.decision_se)
    @help_window.set_text("Dove vuoi salvare??", 1)
    @help_window.back_opacity = 255
    @help_window.x = -640
    @savefile_windows = []
    for i in 0..3
    if $ipm_enabled
    @savefile_windows.push(Window_Save.new(i))
    else
    @savefile_windows.push(Window_SaveFile.new(i, nil))
    end
    @savefile_windows[i].back_opacity = 255
    @savefile_windows[i].opacity = 255
    end
    @file_index = $game_temp.last_file_index
    @savefile_windows[@file_index].selected = true
    @savefile_windows[0].x = 640
    @savefile_windows[1].x = -640
    @savefile_windows[2].x = 640
    @savefile_windows[3].x = -640
    @command_window.active = false
    @resize_save = true
    when 5
    $game_system.se_play($data_system.decision_se)
    $scene = Scene_End.new
    end
    return
    end
    end
    #-----------------------------------------------------------------------------
    # @ Update the status window
    #-----------------------------------------------------------------------------
    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.index = -1
    return
    end
    if Input.trigger?(Input::C)
    @actor_index = @status_window.index
    case @command_window.index
      when 1  # Magie
    	# Controlla se la limitazione del personaggio è superiore a 2
    	if $game_party.actors[@status_window.index].restriction >= 2
    	  # Suona SE Annulla
    	  $game_system.se_play($data_system.buzzer_se)
    	  return
    	end
    	# Suona SE Azione
    	$game_system.se_play($data_system.decision_se)
    	# Vai alla scena delle magie
    	$scene = Scene_Skill.new(@status_window.index)
      when 2  # Equipaggiamento
    	# Suona SE Azione
    	$game_system.se_play($data_system.decision_se)
    	# Vai alla scena dell'equipaggiamento
    	$scene = Scene_Equip.new(@status_window.index)
      when 3  # Stato
    	# Suona SE Azione
    	$game_system.se_play($data_system.decision_se)
    	# Vai alla scena dello stato
    	$scene = Scene_Status.new(@status_window.index)
    end
    return
    end
    end
    #-----------------------------------------------------------------------------
    # @ Update the itemdrop window
    #-----------------------------------------------------------------------------
    def update_itemdrop
    if Input.trigger?(Input::B)
    $game_system.se_play($data_system.cancel_se)
    loop do
    if @itemdrop.opacity > 0
    @itemdrop.opacity -= 25
    @itemdrop.contents_opacity -= 25
    else
    break
    end
    Graphics.update
    end
    @itemdrop.active = false
    @command_window.active = true
    return
    end
    if Input.trigger?(Input::C)
    $game_system.se_play($data_system.decision_se)
    @itemdrop.active = false
    @resize_item = true
    end
    end
    #-----------------------------------------------------------------------------
    # @ Update the item window
    #-----------------------------------------------------------------------------
    def update_item
    if Input.trigger?(Input::B)
    $game_system.se_play($data_system.cancel_se)
    @item_window.dispose
    @target_window.dispose
    @item_window = nil
    @target_window = nil
    @help_window.visible = false
    @resize_back = true
    return
    end
    if Input.trigger?(Input::C)
    @item = @item_window.item
    unless @item.is_a?(RPG::Item)
    $game_system.se_play($data_system.buzzer_se)
    return
    end
    unless $game_party.item_can_use?(@item.id)
    $game_system.se_play($data_system.buzzer_se)
    return
    end
    $game_system.se_play($data_system.decision_se)
    if @item.scope >= 3
    @item_window.active = false
    unless $ipm_enabled
    @target_window.x = (@item_window.index + 1) % 2 * 304
    @target_window.visible = true
    end
    @target_window.active = true
    if @item.scope == 4 || @item.scope == 6
    @target_window.index = -1
    else
    @target_window.index = 0
    end
    else
    if @item.common_event_id > 0
    $game_temp.common_event_id = @item.common_event_id
    $game_system.se_play(@item.menu_se)
    if @item.consumable
    $game_party.lose_item(@item.id, 1)
    @item_window.draw_item(@item_window.index)
    end
    $scene = Scene_Map.new
    return
    end
    end
    return
    end
    if Input.trigger?(Input::R) and $itemdrop_enabled
    $game_system.se_play($data_system.cursor_se)
    @itemdrop.index = (@itemdrop.index + 1) % 3
    @item_window.dispose
    @target_window.dispose
    @resize_item = true
    return
    end
    if Input.trigger?(Input::L) and $itemdrop_enabled
    $game_system.se_play($data_system.cursor_se)
    @itemdrop.index = (@itemdrop.index + 2) % 3
    @item_window.dispose
    @target_window.dispose
    @resize_item = true
    return
    end
    end
    #-----------------------------------------------------------------------------
    # @ Update the target window
    #-----------------------------------------------------------------------------
    def update_target
    if $game_party.item_number(@item.id) == 0
    @target_window.active = false
    @item_window.refresh
    @item_window.active = true
    unless $ipm_enabled
    @target_window.visible = false
    end
    return
    end
    if Input.trigger?(Input::B)
    $game_system.se_play($data_system.cancel_se)
    unless $game_party.item_can_use?(@item.id)
    @item_window.refresh
    end
    @item_window.active = true
    unless $ipm_enabled
    @target_window.visible = false
    end
    @target_window.active = false
    return
    end
    if Input.trigger?(Input::C)
    if $game_party.item_number(@item.id) == 0
    $game_system.se_play($data_system.buzzer_se)
    return
    end
    if @target_window.index == -1
    used = false
    for i in $game_party.actors
    used |= i.item_effect(@item)
    end
    end
    if @target_window.index >= 0
    target = $game_party.actors[@target_window.index]
    used = target.item_effect(@item)
    end
    if used
    $game_system.se_play(@item.menu_se)
    if @item.consumable
    $game_party.lose_item(@item.id, 1)
    @item_window.draw_item(@item_window.index)
    end
    @target_window.refresh
    if $game_party.all_dead?
    $scene = Scene_Gameover.new
    return
    end
    if @item.common_event_id > 0
    $game_temp.common_event_id = @item.common_event_id
    $scene = Scene_Map.new
    return
    end
    end
    unless used
    $game_system.se_play($data_system.buzzer_se)
    end
    return
    end
    end
    #-----------------------------------------------------------------------------
    # @ Refresh the equip screen
    #-----------------------------------------------------------------------------
    def equip_refresh
    unless @remove
    @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)
    end
    item1 = @right_window.item
    case @right_window.index
    when -2
    @eitem_window = @blank_window
    when -1
    @eitem_window = @blank_window
    when 0
    @eitem_window = @item_window1
    newmode = 0
    when 1
    @eitem_window = @item_window2
    newmode = 1
    when 2
    @eitem_window = @item_window3
    newmode = 1
    when 3
    @eitem_window = @item_window4
    newmode = 1
    when 4
    @eitem_window = @item_window5
    newmode = 1
    end
    if @remove
    @eitem_window = @blank_window
    end
    if $ipm_enabled
    if newmode != @left_window.mode
    @left_window.mode = newmode
    @left_window.refresh
    end
    if @eitem_window.active or @remove
    if @eitem_window.active
    item2 = @eitem_window.item
    end
    last_hp = @actor.hp
    last_sp = @actor.sp
    old_atk = @actor.atk
    old_pdef = @actor.pdef
    old_mdef = @actor.mdef
    old_str = @actor.str
    old_dex = @actor.dex
    old_agi = @actor.agi
    old_int = @actor.int
    old_eva = @actor.eva
    @actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)
    new_atk = @actor.atk
    new_pdef = @actor.pdef
    new_mdef = @actor.mdef
    new_str = @actor.str
    new_dex = @actor.dex
    new_agi = @actor.agi
    new_int = @actor.int
    new_eva = @actor.eva
    @left_window.changes = [0, 0, 0, 0, 0, 0, 0, 0]
    @left_window.changes[0] = new_atk - old_atk
    @left_window.changes[1] = new_pdef - old_pdef
    @left_window.changes[2] = new_mdef - old_mdef
    @left_window.changes[3] = new_str - old_str
    @left_window.changes[4] = new_dex - old_dex
    @left_window.changes[5] = new_agi - old_agi
    @left_window.changes[6] = new_int - old_int
    @left_window.changes[7] = new_eva - old_eva
    @actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)
    @actor.hp = last_hp
    @actor.sp = last_sp
    @left_window.set_new_parameters(new_atk, new_pdef, new_mdef, new_str,
    new_dex, new_agi, new_int, new_eva)
    else
    @left_window.set_new_parameters(nil, nil, nil, nil, nil, nil, nil, nil)
    end
    else
    if @eitem_window.active
    item2 = @eitem_window.item
    last_hp = @actor.hp
    last_sp = @actor.sp
    @actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)
    new_atk = @actor.atk
    new_pdef = @actor.pdef
    new_mdef = @actor.mdef
    @actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)
    @actor.hp = last_hp
    @actor.sp = last_sp
    @left_window.set_new_parameters(new_atk, new_pdef, new_mdef)
    else
    @left_window.set_new_parameters(nil, nil, nil)
    end
    end
    end
    #-----------------------------------------------------------------------------
    # @ Update the equip command window
    #-----------------------------------------------------------------------------
    def update_equip
    if Input.trigger?(Input::B)
    $game_system.se_play($data_system.cancel_se)
    @equiphelp_window.dispose
    @equip_window.dispose
    @left_window.dispose
    @right_window.dispose
    @blank_window.dispose
    @item_window1.dispose
    @item_window2.dispose
    @item_window3.dispose
    @item_window4.dispose
    @item_window5.dispose
    @equiphelp_window = nil
    @equip_window = nil
    @left_window = nil
    @right_window = nil
    @blank_window = nil
    @item_window1 = nil
    @item_window2 = nil
    @item_window3 = nil
    @item_window4 = nil
    @item_window5 = nil
    @resize_back = true
    return
    end
    if Input.trigger?(Input::C)
    $game_system.se_play($data_system.decision_se)
    case @equip_window.index
    when 0
    @equip_window.active = false
    @right_window.active = true
    @right_window.index = @equip_index
    when 1
    optimize
    @left_window.refresh
    @right_window.refresh
    @item_window1.refresh
    @item_window2.refresh
    @item_window3.refresh
    @item_window4.refresh
    @item_window5.refresh
    when 2
    @remove = true
    @equip_window.active = false
    @right_window.active = true
    @right_window.index = @equip_index
    when 3
    for i in 0..4
    @actor.equip(i, 0)
    end
    @left_window.refresh
    @right_window.refresh
    @item_window1.refresh
    @item_window2.refresh
    @item_window3.refresh
    @item_window4.refresh
    @item_window5.refresh
    when 4
    @equiphelp_window.dispose
    @equip_window.dispose
    @left_window.dispose
    @right_window.dispose
    @blank_window.dispose
    @item_window1.dispose
    @item_window2.dispose
    @item_window3.dispose
    @item_window4.dispose
    @item_window5.dispose
    @equiphelp_window = nil
    @equip_window = nil
    @left_window = nil
    @right_window = nil
    @blank_window = nil
    @item_window1 = nil
    @item_window2 = nil
    @item_window3 = nil
    @item_window4 = nil
    @item_window5 = nil
    @resize_back = true
    end
    return
    end
    if Input.trigger?(Input::R)
    $game_system.se_play($data_system.cursor_se)
    @status_window.index = (@status_window.index+1)%$game_party.actors.size
    @equiphelp_window.dispose
    @equip_window.dispose
    @left_window.dispose
    @right_window.dispose
    @blank_window.dispose
    @item_window1.dispose
    @item_window2.dispose
    @item_window3.dispose
    @item_window4.dispose
    @item_window5.dispose
    @resize_equip = true
    return
    end
    if Input.trigger?(Input::L)
    $game_system.se_play($data_system.cursor_se)
    @status_window.index = (@status_window.index-1)%$game_party.actors.size
    @equiphelp_window.dispose
    @equip_window.dispose
    @left_window.dispose
    @right_window.dispose
    @blank_window.dispose
    @item_window1.dispose
    @item_window2.dispose
    @item_window3.dispose
    @item_window4.dispose
    @item_window5.dispose
    @resize_equip = true
    return
    end
    end
    #-----------------------------------------------------------------------------
    # @ Update the right window
    #-----------------------------------------------------------------------------
    def update_right
    if Input.trigger?(Input::B)
    $game_system.se_play($data_system.cancel_se)
    if $ipm_enabled
    @right_window.active = false
    @equip_window.active = true
    if @right_window.index >= 0
    @equip_index = @right_window.index
    end
    @right_window.index = -1
    @remove = false
    @equiphelp_window.set_text("")
    @left_window.refresh
    return
    end
    @equiphelp_window.dispose
    @left_window.dispose
    @right_window.dispose
    @item_window1.dispose
    @item_window2.dispose
    @item_window3.dispose
    @item_window4.dispose
    @item_window5.dispose
    @equiphelp_window = nil
    @left_window = nil
    @right_window = nil
    @item_window1 = nil
    @item_window2 = nil
    @item_window3 = nil
    @item_window4 = nil
    @item_window5 = nil
    @resize_back = true
    return
    end
    if Input.trigger?(Input::C)
    if @remove
    $game_system.se_play($data_system.decision_se)
    @actor.equip(@right_window.index, 0)
    @left_window.refresh
    @right_window.refresh
    return
    end
    if @actor.equip_fix?(@right_window.index)
    $game_system.se_play($data_system.buzzer_se)
    return
    end
    if $ipm_enabled
    if @eitem_window.data.size == 0
    $game_system.se_play($data_system.buzzer_se)
    return
    end
    end
    $game_system.se_play($data_system.decision_se)
    @right_window.active = false
    @eitem_window.active = true
    @eitem_window.index = 0
    return
    end
    if Input.trigger?(Input::R) and not $ipm_enabled
    $game_system.se_play($data_system.cursor_se)
    @status_window.index = (@status_window.index+1)%$game_party.actors.size
    @equiphelp_window.dispose
    @equip_window.dispose
    @left_window.dispose
    @right_window.dispose
    @blank_window.dispose
    @item_window1.dispose
    @item_window2.dispose
    @item_window3.dispose
    @item_window4.dispose
    @item_window5.dispose
    @resize_equip = true
    return
    end
    if Input.trigger?(Input::L) and not $ipm_enabled
    $game_system.se_play($data_system.cursor_se)
    @status_window.index = (@status_window.index-1)%$game_party.actors.size
    @equiphelp_window.dispose
    @equip_window.dispose
    @left_window.dispose
    @right_window.dispose
    @blank_window.dispose
    @item_window1.dispose
    @item_window2.dispose
    @item_window3.dispose
    @item_window4.dispose
    @item_window5.dispose
    @resize_equip = true
    return
    end
    end
    #-----------------------------------------------------------------------------
    # @ Update the equip item window
    #-----------------------------------------------------------------------------
    def update_eitem
    if Input.trigger?(Input::B)
    $game_system.se_play($data_system.cancel_se)
    @right_window.active = true
    @eitem_window.active = false
    @eitem_window.index = -1
    return
    end
    if Input.trigger?(Input::C)
    $game_system.se_play($data_system.equip_se)
    item = @eitem_window.item
    @actor.equip(@right_window.index, item.id)
    @right_window.active = true
    @eitem_window.active = false
    @eitem_window.index = -1
    @right_window.refresh
    @eitem_window.refresh
    return
    end
    end
    #-----------------------------------------------------------------------------
    # @ Optimize equipment (by RPGAdvocate)
    #-----------------------------------------------------------------------------
    def optimize
    object = $data_weapons[@actor.weapon_id]
    optimal = object.id
    current = 0.00
    if @actor.weapon_id != 0
    current = object.atk
    else
    optimal = 0
    end
    max_eval = current
    @actor.equip(0, 0)
    flag = false
    zero_flag = true
    for weapon in $data_weapons
    if !flag
    flag = true
    next
    end
    evaluation = weapon.atk
    if evaluation > 0
    zero_flag = false
    end
    if @actor.equippable?(weapon) &&
    $game_party.weapon_number(weapon.id) > 0 && evaluation > max_eval
    max_eval = evaluation
    optimal = weapon.id
    end
    end
    if zero_flag
    optimal = 0
    end
    @actor.equip(0, optimal)
    not_equipped = false
    for i in 1..4
    case i
    when 1
    if @actor.armor1_id == 0
    not_equipped = true
    else
    object = $data_armors[@actor.armor1_id]
    end
    when 2
    if @actor.armor2_id == 0
    not_equipped = true
    else
    object = $data_armors[@actor.armor2_id]
    end
    when 3
    if @actor.armor3_id == 0
    not_equipped = true
    else
    object = $data_armors[@actor.armor3_id]
    end
    when 4
    if @actor.armor4_id == 0
    not_equipped = true
    else
    object = $data_armors[@actor.armor4_id]
    end
    end
    optimal = object.id
    current = 0.00
    if not_equipped = false
    current = object.pdef * 0.75 + object.mdef * 0.25
    else
    optimal = 0
    end
    max_eval = current
    @actor.equip(i, 0)
    flag = false
    zero_flag = true
    for armor in $data_armors
    if !flag
    flag = true
    next
    end
    if armor.kind != i-1
    next
    end
    evaluation = armor.pdef * 0.75 + armor.mdef * 0.25
    if evaluation > 0
    zero_flag = false
    end
    if @actor.equippable?(armor) &&
    $game_party.armor_number(armor.id) > 0 && evaluation > max_eval
    max_eval = evaluation
    optimal = armor.id
    end
    end
    if zero_flag
    optimal = 0
    end
    @actor.equip(i, optimal)
    end
    end
    #----------------------------------------------------------------------------
    # @ Update the large status window
    #----------------------------------------------------------------------------
    def update_playerstatus
    if Input.trigger?(Input::B)
    $game_system.se_play($data_system.cancel_se)
    @playerstatus_window.dispose
    @playerstatus_window = nil
    @resize_back = true
    return
    end
    if Input.trigger?(Input::R)
    $game_system.se_play($data_system.cursor_se)
    @status_window.index = (@status_window.index+1)%$game_party.actors.size
    @playerstatus_window.dispose
    @resize_status = true
    return
    end
    if Input.trigger?(Input::L)
    $game_system.se_play($data_system.cursor_se)
    @status_window.index = (@status_window.index-1)%$game_party.actors.size
    @playerstatus_window.dispose
    @resize_status = true
    return
    end
    end
    #-----------------------------------------------------------------------------
    # @ Update the save screen
    #-----------------------------------------------------------------------------
    def update_save
    if Input.trigger?(Input::C)
    $game_system.se_play($data_system.save_se)
    file = File.open("Save#{@file_index + 1}.rxdata", "wb")
    characters = []
    for i in 0...$game_party.actors.size
    actor = $game_party.actors[i]
    characters.push([actor.character_name, actor.character_hue])
    end
    Marshal.dump(characters, file)
    Marshal.dump(Graphics.frame_count, file)
    $game_system.save_count += 1
    $game_system.magic_number = $data_system.magic_number
    Marshal.dump($game_system, file)
    Marshal.dump($game_switches, file)
    Marshal.dump($game_variables, file)
    Marshal.dump($game_self_switches, file)
    Marshal.dump($game_screen, file)
    Marshal.dump($game_actors, file)
    Marshal.dump($game_party, file)
    Marshal.dump($game_troop, file)
    Marshal.dump($game_map, file)
    Marshal.dump($game_player, file)
    file.close
    @savefile_windows[@file_index].refresh
    $game_temp.last_file_index = @file_index
    for i in 0..10
    @help_window.x += 64
    @savefile_windows[0].x -= 64
    @savefile_windows[1].x += 64
    @savefile_windows[2].x -= 64
    @savefile_windows[3].x += 64
    Graphics.update
    end
    @savefile_windows_active = false
    @command_window.active = true
    @help_window.back_opacity = 100
    @help_window.visible = false
    @help_window.x = 0
    return
    end
    if Input.trigger?(Input::B)
    $game_system.se_play($data_system.cancel_se)
    for i in 0..10
    @help_window.x += 64
    @savefile_windows[0].x -= 64
    @savefile_windows[1].x += 64
    @savefile_windows[2].x -= 64
    @savefile_windows[3].x += 64
    Graphics.update
    end
    @savefile_windows_active = false
    @command_window.active = true
    @help_window.back_opacity = 100
    @help_window.visible = false
    @help_window.x = 0
    return
    end
    if Input.repeat?(Input::DOWN)
    if Input.trigger?(Input::DOWN) or @file_index < 3
    $game_system.se_play($data_system.cursor_se)
    @savefile_windows[@file_index].selected = false
    @file_index = (@file_index + 1) % 4
    @savefile_windows[@file_index].selected = true
    return
    end
    end
    if Input.repeat?(Input::UP)
    if Input.trigger?(Input::UP) or @file_index > 0
    $game_system.se_play($data_system.cursor_se)
    @savefile_windows[@file_index].selected = false
    @file_index = (@file_index + 3) % 4
    @savefile_windows[@file_index].selected = true
    return
    end
    end
    end
    end

×
×
  • Create New...