RPGVX.net
RPG-Maker VX => VX Skripte [Fertiger Code] => Thema gestartet von: _D3nn!§_ am November 12, 2009, 23:32:00
-
Nun ist es möglich, mit einen Skript vom Spielmenü aus zu speichern UND zu laden!
Und zwar mit
Version 1.1 von den Speicher-/Ladescript von _D3nn!§_ :
###############################################################################
# ** Speicher-/Ladescript von :
#
#
# ### ####### # # #
# # ## # # # #
# # # # # #
# # # # # #
# # # #### # # # #
# # # # # ## # ## #
# # # # # # # # # # #
# # ## # ## # ## # #
# ### ######## # # # # # # # #
#
#
# ( Alias : _D3nn!§_ )
#------------------------------------------------------------------------------
# Funktionen :
# Nun ist es möglich , ohnen ständigen Gang zum Titelmenü , aus dem
# normalen Menü ein Spielstand zu Laden !
#------------------------------------------------------------------------------
# Installation :
# Über Main einen neuen Slot machen und Script einfügen .
# Danach "Speicher-/Ladescript" nennen .
#------------------------------------------------------------------------------
# Credits :
# Credits sind wegen der Simpelheit des Skriptes nicht nötig !
#------------------------------------------------------------------------------
# Das was jetzt folgt , sollte nur verändert werden ,
# wenn man weiß was man tut !
#------------------------------------------------------------------------------
#
#
# SSSSSS CCCCCC RRRRR I PPPP TTTTTTTT
# S C R R I P P T ::
# S C R R I P P T ::
# SSSSSS C RRRRR I PPPP T
# S C R R I P T ::
# S C R R I P T ::
# SSSSSS CCCCCC R R I P T
#
#
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
# * Überprüft , ob du speichern kannst
#--------------------------------------------------------------------------
def check_save
if $game_system.save_disabled
@save_enabled = false
else
@save_enabled = true
end
end
#--------------------------------------------------------------------------
# * Falls du zurück willst (Vom Speicher/Lademenü)
#--------------------------------------------------------------------------
class Scene_File < Scene_Base
def return_scene
if @from_title
$scene = Scene_Title.new
elsif @from_event
$scene = Scene_Map.new
else
$scene = Scene_Save_pro.new
end
end
end
#--------------------------------------------------------------------------
# * Auswahl hochladen
#--------------------------------------------------------------------------
class Scene_Menu < Scene_Base
def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
Sound.play_decision
case @command_window.index
when 0
$scene = Scene_Item.new
when 1,2,3
start_actor_selection
when 4
$scene = Scene_Save_pro.new
when 5
$scene = Scene_End.new
end
end
end
end
#----------------------------------------------------------------------------
# * Anfang vom eigentlichen Script
#----------------------------------------------------------------------------
class Scene_Save_pro < Scene_Base
#--------------------------------------------------------------------------
# * Start Prozess
#--------------------------------------------------------------------------
def start
super
create_menu_background
create_command_window
end
#--------------------------------------------------------------------------
# * 2.Start Prozess
#--------------------------------------------------------------------------
def post_start
super
open_command_window
end
#--------------------------------------------------------------------------
# * Schließen
#--------------------------------------------------------------------------
def pre_terminate
super
close_command_window
end
#--------------------------------------------------------------------------
# * Scene beenden
#--------------------------------------------------------------------------
def terminate
super
dispose_command_window
dispose_menu_background
end
#--------------------------------------------------------------------------
# * Zum vorherigen Menü-Screen zurückkehren
#--------------------------------------------------------------------------
def return_scene
$scene = Scene_Menu.new(4)
end
#--------------------------------------------------------------------------
# * Frames hochladen
#--------------------------------------------------------------------------
def update
super
update_menu_background
@command_window.update
if Input.trigger?(Input::B)
Sound.play_cancel
return_scene
elsif Input.trigger?(Input::C)
if $game_party.members.size == 0 and @command_window.index < 0
Sound.play_buzzer
return
elsif $game_system.save_disabled and @command_window.index == 0
Sound.play_buzzer
return
end
case @command_window.index
when 0
command_save
when 1
command_continue
when 2
command_cancel
end
end
end
#--------------------------------------------------------------------------
# * Farbton
#--------------------------------------------------------------------------
def update_menu_background
super
@menuback_sprite.tone.set(0, 0, 0, 128)
end
#--------------------------------------------------------------------------
# * Auswahlmenü erstellen
#--------------------------------------------------------------------------
def create_command_window
s1 = Vocab::save
s2 = Vocab::continue
s3 = Vocab::cancel
@command_window = Window_Command.new(172, [s1, s2, s3])
@command_window.x = (544 - @command_window.width) / 2
@command_window.y = (416 - @command_window.height) / 2
@command_window.openness = 0
if $game_system.save_disabled
@command_window.draw_item(0, false)
end
if @continue_enabled = (Dir.glob('Save*.rvdata').size > 0)
@command_window.index = 1
else
@command_window.draw_item(1, false)
end
@command_window.openness = 0
@command_window.open
end
#--------------------------------------------------------------------------
# * Auswahlmenü verschwinden lassen
#--------------------------------------------------------------------------
def dispose_command_window
@command_window.dispose
end
#--------------------------------------------------------------------------
# * Auswahlmenü öffnen
#--------------------------------------------------------------------------
def open_command_window
@command_window.open
begin
@command_window.update
Graphics.update
end until @command_window.openness == 255
end
#--------------------------------------------------------------------------
# * Auswahlmenü schließen
#--------------------------------------------------------------------------
def close_command_window
@command_window.close
begin
@command_window.update
Graphics.update
end until @command_window.openness == 0
end
#--------------------------------------------------------------------------
# * Falls du speicherst
#--------------------------------------------------------------------------
def command_save
if @save_disabled
Sound.play_buzzer
else
Sound.play_decision
$scene = Scene_File.new(true, false, false)
end
end
#--------------------------------------------------------------------------
# * Falls du einen Spielstand lädst
#--------------------------------------------------------------------------
def command_continue
if @continue_enabled = (Dir.glob('Save*.rvdata').size > 0)
Sound.play_decision
$scene = Scene_File.new(false, false, false)
else
Sound.play_buzzer
end
end
#--------------------------------------------------------------------------
# * Falls du zum Menü zurückkehrst
#--------------------------------------------------------------------------
def command_cancel
Sound.play_decision
return_scene
end
end
Ich entschuldige mich vielmals, dass es so lange gedauert hat, den Skript zu verbessern,
aber ich hatte viel um die Ohren, hatte dann aus Versehen den Skript gelöscht und so weiter...
Jetzt ist es aber wirklich möglich, zu laden !
Da ist ein vollkommend eigener Skript, also gehen die Credits nur an mich.
Hinweis : Es könnte mögliche Kompalibitätsprobleme mit den Neo Save System - Script geben!
_D3nn!§_
-
leider ist es nicht möglich zu laden und irgendwie sieht es unnötig kompliziert aus
die "ob ein savefile vorhanden ist"-abfrage kannst du aus scene_title kopieren
-
Edit : So, funktioniert jetzt.
-
hmm, nettes script allerdings hab ich ein kleines problem.
wenn ich in der datenbank beim vokabular das speichern in "speichern/laden" ändere steht das zwar dann so im menü, aber auch wenn ich dann dort drauf drücke in der auswahl. gibt es ne möglichkeit dass ich das im menü abändern kann, aber es im auswahlfenster gleich bleibt?
-
Nein, theoretisch gesehn müsste ich meinen Skript dann in deinen Menü irgendwie einbauen oder wenigstens versuchen kompatibel zu machen ...
-
ich kenn mich mit scripts kaum aus aber eigentlich müsste es doch reichen wenn ich hier:
def create_command_window
s1 = Vocab::save
dem einen festen namen gebe. also statt Vocab::save einfach nur "Speichern" hinschreibe oder so, geht das denn?
edit: ok, mit trick 17 gehts. in meinem spiel hat kein held die 2-Waffen-Kampftechnik. Also hab ich im Vokabular einfach Waffe 2 in Speichern umbenannt und im Script es so geändert:
def create_command_window
s1 = Vocab::weapon2
und schon hab ich im menü den punkt "Speichern/Laden" und danach beim draudrücken steht dort
Speichern
Laden
usw. ^^
-
Ja so könntest du es auch machen ^^ !