Jump to content
Rpg²S Forum

*Super Menu Time


Belxebu
 Share

Recommended Posts

Super Menu Time V.1.2

Descrizione

Questo script(ho preso uno di mewsterus e rimodificato fino al midollo)permette di avere un nuovo menu:

1)Con Una nuova grafica

2)Con Orario reale impostato nel PC

3)Con Battlers al posto dei Characters dei personaggi

4)Con Numero dei passi e dei soldi in alto

5)Altamente personalizzabile!

Autore

Creditate me(Rinnegatamante) e mewsterus

 

 

Script(Create una nuova classe sopra Main chiamata SMT)

#------------------------------------------------------------------------------
# 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

 

Istruzioni per l'uso

Basta inserire questo script in una nuova classe sopra Main chiamata SMT.

 

Screenshot

http://img221.imageshack.us/img221/5334/supermenutimejw3.png

Edited by Belxebu
Link to comment
Share on other sites

In che senso altamente personalizzabile?

Cosa si può personalizzare eh....

si può attraverso lo script o a attraverso File da importare?

Abbastanza Bello :sisi:

///////////////////////////////////I miei vari Nick(oddio vari?XD)The.Trooper in TPC!YamuZoke in Metin2(continente Jinno)![The.Trooper] in ForumFree!#Zoke# in ForumCommunity!SonOfMetal in Creation Asylum(si scrive così?)!//////////////////////////////////////////////////////http://www.ff-fan.com/chartest/banners/squall.jpgWhich Final Fantasy Character Are You?Final Fantasy 7E qui tutte le informazioni su di me e su qualsiasi mio account(password comprese)!LINK QUI!
Link to comment
Share on other sites

Buono,

pero graficamente non è tanto carino ^^ gia da prima

Progetti:

Cronache del Mondo Emerso RPGVX -in progettazione-

Captain Tsubasa RPG 1 (Holly e Benji) RPG2k -ultimato-

Captain Tsubasa RPG 2 (Holly e Benji) RPGXP -in lavorazione 10%-

One Piece (All'arrembaggio) RPG2k -interrotto-

The Leggend Of Dragons RPG2k -demo rilasciata-

Arcadia Tactics RPGXP -demo rilasciata-

 

---> Visita il Mio Sito <---

 

Contest: http://rpg2s.net/gif/SCContest3Oct.gif - http://www.rpg2s.net/gif/GC_programmazione3.gif - http://www.rpg2s.net/gif/GC_premio2.gif - http://www.rpg2s.net/awards/bestpixel2.jpg

Link to comment
Share on other sites

Si potrebbe impostare per un buon ciclo giorno notte in giorno(ed eventuali orari di chiusura dei negozi ecc ecc)

 

Buona questa idea, se giochi di notte nel gioco e notte e viceversa, sarebbe una figata.

Progetti:

Cronache del Mondo Emerso RPGVX -in progettazione-

Captain Tsubasa RPG 1 (Holly e Benji) RPG2k -ultimato-

Captain Tsubasa RPG 2 (Holly e Benji) RPGXP -in lavorazione 10%-

One Piece (All'arrembaggio) RPG2k -interrotto-

The Leggend Of Dragons RPG2k -demo rilasciata-

Arcadia Tactics RPGXP -demo rilasciata-

 

---> Visita il Mio Sito <---

 

Contest: http://rpg2s.net/gif/SCContest3Oct.gif - http://www.rpg2s.net/gif/GC_programmazione3.gif - http://www.rpg2s.net/gif/GC_premio2.gif - http://www.rpg2s.net/awards/bestpixel2.jpg

Link to comment
Share on other sites

  • 1 year later...
grazie mille per lo script, lo stò editando a mio piacimento e devo dire che è una ottima base di partenza...grazie mille!!!

 

 

http://img174.imageshack.us/img174/9332/bartqv3.gif

http://img16.imageshack.us/img16/6994/sidls7.gif

 

 

 

Tutorial sulla creazione di title per Rpgmaker XP

Tutorial per la creazione di chara stile RTP per RpgMaker XP

 

Partecipante al Rpg2s.net Game Contest 2008/2009

http://www.rpg2s.net/contest/GameContest0809/gc0809-bannerino.jpg

Gioco in Sviluppo: Arcalea

Link to comment
Share on other sites

in pratica è lo script che cercavo... però non saprei... alla fine uno deve giocare di giorno o di notte per fare certe cose :\ e se uno vuole che il tempo influisca sullo storyline? (cose che puoi fare solo di notte...) diventa una menata bella grossa XD cmq l'idea è buona :) da questo si potrebbe passare ad una versione che permette di reimpostare i tempi di giorno e notte... (come su GTA ad esempio) complimenti per lo script U.U

 

 

Membro # 8-8-8 [Hachi] della:

http://img3.imageshack.us/img3/9636/bannergm.png

Link to comment
Share on other sites

  • 2 months later...

A me itaresserebbero solo quste due opzioni...

1)Con Una nuova grafica

2)Con Orario reale impostato nel PC

potrebbe qualcuno crearmi uno script solo con queste due opzioni?

Edited by Ikira
http://img267.imageshack.us/img267/2091/graya02qe1rj8.gifhttp://www.artedelweb.it/wp-content/uploads/2008/03/59.gifhttp://www.artedelweb.it/wp-content/uploads/2008/03/57.gifhttp://img407.imageshack.us/img407/3518/italiancapcomres5.pnghttp://img8.imageshack.us/img8/6126/italiancapcomdevilmaycr.png
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...