• Anmelden

Krisalis

unregistriert

1

Samstag, 10. Oktober 2009, 17:46

Autosave Skript

Hallo,
wie man der Überschrift entnehmen kann, suche ich ein Autosave Skript,
welches ohne zutun des Spielers einen Speicherstand überschreibt.
D.h. es soll auch kein Fenster geöffnet werden, wo der Spieler den Speicherslot auswählt.

Habe hier im Forum gesucht, aber nur die Autosave-Erweiterung von Alexis gefunden, welche bei mir nicht funktioniert.

mfg Krisalis

Reborn

hat beim Stromkonzern schon Rabatt

Motto: Wer noch was vom Wochenende weis, hat es nie erlebt!

  • Nachricht senden

2

Samstag, 10. Oktober 2009, 19:14

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#---------------------
# Autosave by Hindi
#---------------------
 
 
class Scene_Load
  alias :method :on_decision
  def on_decision(filename)
    $autosave_name = filename
    method(filename)
  end
end
 
class Scene_Save
  alias :method :on_decision
  def on_decision(filename)
    $autosave_name = filename
    method(filename)
  end
end
 
def save
  file = File.open($autosave_name, 'wb')
  Scene_Save.new.write_save_data(file)
  file.close
end
 
def load
  file = File.open($autosave_name, "rb")
  Scene_Load.new.read_save_data(file)
  file.close
  Graphics.freeze
  sprite = Sprite.new
  sprite.bitmap = Bitmap.new(640, 480)
  sprite.bitmap.fill_rect(0, 0, 640, 480, Color.new(0, 0, 0))
  Graphics.transition(10)
  $scene = Scene_Map.new
end


Es beinhaltet noch einen Bug, den ich aus Grudn von mangelnder Zeit nciht beseitigen kann, also es muss mindestens schon einmal gespeichert sein, ansonsten ist es genau das was du willst.

Du kannst irgendwo, z.B. Call_Script einfügen:

Ruby Quellcode

1
save

Um dein Game auf der Datei zu Speichern auf der sie schon gespeichert wurde oder welche geladen wurde.

Mit

Ruby Quellcode

1
load

Kannst du diese Datei wieder auslesen.

Viel Spaß damit und nicht vergessen, mich in den Credits erwähnen ;-)
Mehr als a Allgäuer ka a Mensch it wera.


Wie soll ich wissen was ich denke, bevor ich nicht höre was ich sage?


Spoiler: OpenSource-Projects
NES-Emulator - a simple NES-Emulator
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
zum Lesen den Text mit der Maus markieren

Neo-Bahamut

Himmelsgleicher

Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.

  • Nachricht senden

3

Samstag, 10. Oktober 2009, 19:44

Was funktioniert denn an Alexis Skript nicht?
Hindis Skript ist extrem schlecht gemacht (tut mir Leid, ist nun mal so)
Spoiler: Wurstinator
zum Lesen den Text mit der Maus markieren

Spoiler: Lazer-Wurst
zum Lesen den Text mit der Maus markieren

Spoiler: Hallowurst
zum Lesen den Text mit der Maus markieren

Krisalis

unregistriert

4

Samstag, 10. Oktober 2009, 21:54

Nun,
es kommt folgender Fehler bei Alexis Skript:
"Script 'Autosave' line 17: SyntaxError occurred."

Hier mal das Skript, sieht ein bischen kurz aus, ist aber das Skript von hier:

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#==============================================================================
# ** Autosave-Erweiterung V1.0
# AutosaveErweiterung.rb von Alexis Hiemis, Hindi (08.09.2009)
#------------------------------------------------------------------------------
# http://www.rpg-studio.de/scriptdb/node/345
# http://www.rpg-studio.de/forum/index.php?page=Thread&threadID=30530
#==============================================================================
 
module Autosave
  ID = 15 # das ist der Swicht in dem du Autosave an/abschalten kannst :3
 
  def Autosave.enabled?
    return $game_switches[ID] == true
  end
 
   def Autosave.saved?
    return File.exist?('autosave.rxdata') and Autosave.enabled?
  end 
 
  def Autosave.get
    file = File.open('autosave.rxdata', "r")
    # Read each type of game object
    Scene_Load.new.read_save_data(file)
 
    file.close
 end
 
  def Autosave.save
    file = File.open('autosave.rxdata', "w")   
    # Write each type of game object
    Scene_Save.new.write_save_data(file)
    file.close
  end  
end

Neo-Bahamut

Himmelsgleicher

Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.

  • Nachricht senden

5

Samstag, 10. Oktober 2009, 23:12

kA, wo der herkam Oo

Ich habs ein bisschen verkürzt und ein ein bisschen verbessert, jetzt sollte es gehen:
Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#==============================================================================
# ** Autosave-Erweiterung V1.0
# AutosaveErweiterung.rb von Alexis Hiemis, Hindi (08.09.2009)
#  ein bisschen verändert von Neo-Bahamut :D
#------------------------------------------------------------------------------
# http://www.rpg-studio.de/scriptdb/node/345
# http://www.rpg-studio.de/forum/index.php?page=Thread&threadID=30530
#==============================================================================
 
module Autosave
  ID = 15 # das ist der Swicht in dem du Autosave an/abschalten kannst :3
 
  def Autosave.enabled?
	$game_switches[ID]
  end
 
  def Autosave.saved?
	FileTest.exist?("autosave.rxdata") and Autosave.enabled?
  end 
 
  def Autosave.get
	File.open("autosave.rxdata", "rb") {|file| Scene_Load.new.read_save_data(file)}
  end
 
  def self.load
	self.get
  end
 
  def Autosave.save
	file = File.open("autosave.rxdata", "wb") {|file| Scene_Save.new.write_save_data(file)}
  end  
end
zum Lesen den Text mit der Maus markieren
Spoiler: Wurstinator
zum Lesen den Text mit der Maus markieren

Spoiler: Lazer-Wurst
zum Lesen den Text mit der Maus markieren

Spoiler: Hallowurst
zum Lesen den Text mit der Maus markieren

Krisalis

unregistriert

6

Samstag, 10. Oktober 2009, 23:44

Ok, der Fehler tritt nun nicht mehr auf. :)
Vielen Dank Bahamut.
Jedoch gibt es ein Problem beim Laden des Autosaves.

Das Spielstand wird geladen und es läuft Alles normal, jedoch sehe ich nach dem Laden
noch den Screen von vor dem Laden. [hört sich jetzt ein wenig dumm an ^^']

Naja, kann man Einstellen, dass das Autosave immer den 4ten Speicherslot benutzt?
Dann würde das Problem wahrscheinlich nicht mehr auftreten und wäre mir lieber als ein unabhängiger Speicherslot.

mfg Krisalis

Neo-Bahamut

Himmelsgleicher

Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.

  • Nachricht senden

7

Samstag, 10. Oktober 2009, 23:53

Verbessert :)
Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#==============================================================================
# ** Autosave-Erweiterung V1.0
# AutosaveErweiterung.rb von Alexis Hiemis, Hindi (08.09.2009)
#  ein bisschen verändert von Neo-Bahamut :D
#------------------------------------------------------------------------------
# http://www.rpg-studio.de/scriptdb/node/345
# http://www.rpg-studio.de/forum/index.php?page=Thread&threadID=30530
#==============================================================================
 
module Autosave
  ID = 15 # das ist der Swicht in dem du Autosave an/abschalten kannst :3
  Filename = "Save4.rxdata"
 
  def Autosave.enabled?
	$game_switches[ID]
  end
 
  def Autosave.saved?
	FileTest.exist?(Filename) and Autosave.enabled?
  end 
 
  def Autosave.get
	return unless self.saved?
	File.open(Filename, "rb") {|file| Scene_Load.new.read_save_data(file)}
	$game_map.update
	$scene = Scene_Map.new
  end
 
  def self.load
	self.get
  end
 
  def Autosave.save
	file = File.open(Filename, "wb") {|file| Scene_Save.new.write_save_data(file)}
  end  
end
zum Lesen den Text mit der Maus markieren


/edit: Oh, hab das mit dem vierten Speicherslot übersehen. Ich werds kurz ändern und reineditieren ^^
Done.
Spoiler: Wurstinator
zum Lesen den Text mit der Maus markieren

Spoiler: Lazer-Wurst
zum Lesen den Text mit der Maus markieren

Spoiler: Hallowurst
zum Lesen den Text mit der Maus markieren

Krisalis

unregistriert

8

Sonntag, 11. Oktober 2009, 11:39

Wunderbar, es speichert jetzt in dem vierten Slot.
Vielen Dank für deine Hilfe Bahamut! :)

Keine Ahnung wieso es vorher nicht funktioniert hat, aber egal, hauptsache es funktioniert jetzt. ^^

Auch nochmal Danke an Hindi für deine Hilfe.

Ich mache dann mal zu.

Reborn

hat beim Stromkonzern schon Rabatt

Motto: Wer noch was vom Wochenende weis, hat es nie erlebt!

  • Nachricht senden

9

Sonntag, 11. Oktober 2009, 18:50

@Neo-Bahamut
Naja, man könnte es noch in ein Modul packen, dann währe es perfekt... Dann speicherts immer genau auf dem Savestand den man geladen hatte, dann überschreibts nicht immer den 4. Slot, von daher finde ich es besser für geeignet als das Script was du vorgeschlagen hast.
Mehr als a Allgäuer ka a Mensch it wera.


Wie soll ich wissen was ich denke, bevor ich nicht höre was ich sage?


Spoiler: OpenSource-Projects
NES-Emulator - a simple NES-Emulator
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
zum Lesen den Text mit der Maus markieren

Neo-Bahamut

Himmelsgleicher

Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.

  • Nachricht senden

10

Sonntag, 11. Oktober 2009, 19:18

Krisalis wollte ja, dass es auf dem vierten speichert. Aber das ist nicht das Problem.
Du hast:
- alias verwendet, obwohl alias_method besser ist
- die neue Methode durch alias "method" genannt
- eine globale Variable benutzt
- die zwei neuen Methoden in Kernel eingetragen, obwohl Interpreter gereicht hätte
- dadurch die bereits vorhandene load-Methode ersetzt
- aus irgendeinem Grund nach dem Laden einen Sprite erstellt Oo
Spoiler: Wurstinator
zum Lesen den Text mit der Maus markieren

Spoiler: Lazer-Wurst
zum Lesen den Text mit der Maus markieren

Spoiler: Hallowurst
zum Lesen den Text mit der Maus markieren

11

Sonntag, 11. Oktober 2009, 21:54

alias verwendet, obwohl alias_method besser ist
Ist nicht besser, wenn man will, dass das alias_method wie es vom SDK modifiziert wird, im eigenen Script keine Anwendung findet ^^
Ich will jetzt Hindis schlechtes Skript nicht verteidigen, aber du hättest ihm auch gleich sagen können was daran nicht gut ist, anstatt einfach nur unkonstruktiv zu sagen "ist extrem schlecht gemacht (tut mir Leid, ist nun mal so)". Das find ich persönlich irgendwie mies.

Neo-Bahamut

Himmelsgleicher

Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.

  • Nachricht senden

12

Sonntag, 11. Oktober 2009, 22:10

Wie wirds denn modifiziert? Oo

Zitat

Ich will jetzt Hindis schlechtes Skript nicht verteidigen, aber du hättest ihm auch gleich sagen können was daran nicht gut ist, anstatt einfach nur unkonstruktiv zu sagen "ist extrem schlecht gemacht (tut mir Leid, ist nun mal so)". Das find ich persönlich irgendwie mies.
Ich hätt auch einfach sagen können: ist extrem schlecht gemacht bzw. enthält fast alle Grundfehler die ich kenne
Spoiler: Wurstinator
zum Lesen den Text mit der Maus markieren

Spoiler: Lazer-Wurst
zum Lesen den Text mit der Maus markieren

Spoiler: Hallowurst
zum Lesen den Text mit der Maus markieren

Reborn

hat beim Stromkonzern schon Rabatt

Motto: Wer noch was vom Wochenende weis, hat es nie erlebt!

  • Nachricht senden

13

Montag, 12. Oktober 2009, 17:21

Ja jetzt sorry, hätte es in ein Modul packen und ein paar Sachen besser machen können, aber wo wir schon mal dabei sind, was ist daran so schlecht, wenn man diese einfach Sachen die ich, sag ich jetzt mal so, aus faulheit oder wohl eher aus Zeitmangel gemacht habe weg lässt, was könnte ich besser machen?

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#---------------------
# Autosave by Hindi
#---------------------
 
class Game_Temp
  attr_accessor :auto_save_name
end
 
class Scene_Load
  alias :iregend_ein_anderer_scheiss :on_decision
  def on_decision(filename)
    $game_temp.auto_save_name = filename
    iregend_ein_anderer_scheiss(filename)
  end
end
 
class Scene_Save
  alias :iregend_ein_anderer_scheiss :on_decision
  def on_decision(filename)
    $game_temp.auto_save_name = filename
    iregend_ein_anderer_scheiss(filename)
  end
end
 
module Auto 
  def self.save()
    return false if temp().nil?
    file = File.open(self.temp(), 'wb')
    Scene_Save.new.write_save_data(file)
    file.close
  end
 
  def self.load()
    return false if temp().nil?
    file = File.open(self.temp(), "rb")
    Scene_Load.new.read_save_data(file)
    file.close
    Graphics.freeze
    Graphics.transition(10)
    $scene = Scene_Map.new
  end
 
  def self.temp()
    $game_temp.auto_save_name
  end
end


Dieses Script ist aus meiner Sicht das beste dafür geeignet, weil es einfach Automatisch genau auf dem richtigem Slot Speichert...
Mehr als a Allgäuer ka a Mensch it wera.


Wie soll ich wissen was ich denke, bevor ich nicht höre was ich sage?


Spoiler: OpenSource-Projects
NES-Emulator - a simple NES-Emulator
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
zum Lesen den Text mit der Maus markieren

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Reborn« (12. Oktober 2009, 17:27)


Neo-Bahamut

Himmelsgleicher

Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.

  • Nachricht senden

14

Montag, 12. Oktober 2009, 17:52

Also mir fällt jetzt auf^^ :
File.open besser mit einem Block machne

Ruby Quellcode

1
2
3
4
5
6
# Schlecht
file = File.open("a", "a")
file.write(1)
file.close
# Gut
File.open("a", "a") {|file| file.write(1)}


Diese unnötigen Leerklammern weglassen, ich hasse das xD

Ruby Quellcode

1
2
    Graphics.freeze
    Graphics.transition(10)
?

Naja, und wenn man jetzt läd ohne zu speichern (zB wenn man vorher manuell geladen hat) müsste das Spiel abstürzen, da Game_Temp nicht gespeichert wird.
Spoiler: Wurstinator
zum Lesen den Text mit der Maus markieren

Spoiler: Lazer-Wurst
zum Lesen den Text mit der Maus markieren

Spoiler: Hallowurst
zum Lesen den Text mit der Maus markieren

Reborn

hat beim Stromkonzern schon Rabatt

Motto: Wer noch was vom Wochenende weis, hat es nie erlebt!

  • Nachricht senden

15

Montag, 12. Oktober 2009, 18:04

Ruby Quellcode

1
File.open("a", "a") {|file| file.write(1)}

<= Einläuchtend XDDD werd ich mir in Zukunf aneignen, diese

Ruby Quellcode

1
2
Graphics.freeze
Graphics.transition(10)

hab ich mir von nem anderem Quicksave-Script abgeschaun und da ich den ganzen Sinn von Graphics.freeze überhaupt nicht checke und ich es an ganz RGSS total unlogisch gefunden hab, hab ich erstmal nicht drüber nachgedacht, Graphics.transition(10) lässt den Bildschirm soweit wie ich weis langsam erschwärzen (sieht schöner aus)^^

Das mit dem abstürzen hab ich aber oben schon erkärt und deshalb hab ich in der nächsten Post auch eingebaut:

Ruby Quellcode

1
return false if temp().nil?()

Denn so kann man ganz einfach mit einem Conditional Branch abfragen:

Ruby Quellcode

1
2
3
Auto.temp().nil?
: Call_Save_Menu
end

Und das Script stürzt auch nicht ab, wenn man diese Conditional Branch abfrage nicht drin hat.

EDIT:
Man könnte es natürlich auch so machen:
Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#---------------------
# Autosave by Hindi
#---------------------
 
class Game_Temp
  attr_accessor :auto_save_name
end
 
class Scene_Load
  alias :iregend_ein_anderer_scheiss :on_decision
  def on_decision(filename)
	$game_temp.auto_save_name = filename
	iregend_ein_anderer_scheiss(filename)
  end
end
 
class Scene_Save
  alias :iregend_ein_anderer_scheiss :on_decision
  def on_decision(filename)
	$game_temp.auto_save_name = filename
	iregend_ein_anderer_scheiss(filename)
  end
end
 
module Auto
 
  def self.pfad()
	# Hier kannst du den Slot auf den gespeichert wird verändern:
	$game_temp.auto_save_name = $game_temp.auto_save_name
  end
 
  def self.save()
	self.pfad() if self.pfad.nil?
	return false if temp().nil?
	File.open(self.temp(), 'wb') {|file| Scene_Save.new.write_save_data(file)}
  end
  def self.load()
   self.pfad() if self.pfad.nil?
	return false if temp().nil?
	File.open(self.temp(), 'rb') {|file| Scene_Load.new.read_save_data(file)}
	file = File.open(self.temp(), "rb")
	Scene_Load.new.read_save_data(file)
	file.close
	Graphics.freeze
	Graphics.transition(10)
	$scene = Scene_Map.new
  end
  def self.temp()
	$game_temp.auto_save_name
  end
end
zum Lesen den Text mit der Maus markieren



Also plz versteh mich nich falsch^^, wenn dieses Script Verbesserungswürdig ist, lass es mich wissen, weil ich lern gern dazu.
Mehr als a Allgäuer ka a Mensch it wera.


Wie soll ich wissen was ich denke, bevor ich nicht höre was ich sage?


Spoiler: OpenSource-Projects
NES-Emulator - a simple NES-Emulator
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
zum Lesen den Text mit der Maus markieren

Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von »Reborn« (12. Oktober 2009, 18:17)


16

Dienstag, 13. Oktober 2009, 00:56

Wegen diesem mystischen Graphics.freeze was man auf keinen Fall in unter 1 Sekunde in der Makerhilfe findet und selbst mit Grundschulenglisch versteht:
Es fixiert die gesammte angezeigte Grafik sodas wenn man die angezeigte Grafik ändert bei möglichen Ladezeiten keine schwarzen Löcher entstehen wo Grafiken gerade gelöscht oder noch nicht fertig geladen sind. Es wird eben das Bild was vor dem Graphics.freeze zu sehen war gehalten, das bedeutet nicht das die gelöschten Grafiken nach Graphics.freeze nicht weg sind, die sind weg, nur werden sie noch so lange angezeigt bis Graphics.transition ausgeführt wird.
Dieses blendet über zu dem neuen grafischen Bild der Grafiken welche zwischen Graphics.freeze (Grafik einfrieren) und Graphics.transition (Grafik überblenden) geladen wurden. Wenn du gar keine neuen Grafiken erstellst hast, blendet es ins schwarze nichts über - ist ja keine Grafik da.
In einem Post den ich gerade nicht finde wurde dieser Teil sehr gut von einem anderen User erklährt, musst du mal suchen falls dir meine Erklährung zu wenig ist.
Also dieser Teil ist weder unlogisch noch schlecht, es sorgt für flüssige, schöne Übergänge -> nur das beste für den Nutzer =D
(persönliche Meinung: Graphics.freeze und Graphics.transition hintereinander ist doof wenn danach nicht noch ein Graphics.freeze kommt, erstmal: wozu auf schwarz ausblenden? Auch weil eine Scene die danach kommt die Grafiken ohne ein vorhergehendes Graphics.freeze sichtbar lädt - wenn danach eh nichts mehr kommt dann kannst dus gleich seien lassen)

Zu deinem Script:

Ruby Quellcode

1
2
3
4
5
6
7
8
  def self.pfad()
    # Hier kannst du den Slot auf den gespeichert wird verändern:
    $game_temp.auto_save_name = $game_temp.auto_save_name
  end
 
 
  def self.save()
    self.pfad() if self.pfad.nil? #Das versteh ich nicht, erläuter mal was du dir da gedacht hast.

Reborn

hat beim Stromkonzern schon Rabatt

Motto: Wer noch was vom Wochenende weis, hat es nie erlebt!

  • Nachricht senden

17

Dienstag, 13. Oktober 2009, 16:48

Sorry, ist echt dämlich.^^ Weist auch nema genau was ich mir dabei gedacht habe, jetzt endlich mal das hoffentlich vollkommend nachvollziehbare Script by Hindi:
Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#---------------------
# Autosave by Hindi
#---------------------
 
class Game_Temp
  attr_accessor :auto_save_name
end
 
class Scene_Load
  alias :iregend_ein_anderer_scheiss :on_decision
  def on_decision(filename)
    $game_temp.auto_save_name = filename
    iregend_ein_anderer_scheiss(filename)
  end
end
 
class Scene_Save
  alias :iregend_ein_anderer_scheiss :on_decision
  def on_decision(filename)
    $game_temp.auto_save_name = filename
    iregend_ein_anderer_scheiss(filename)
  end
end
 
module Auto
  def self.save()
     return false if temp().nil?
    File.open(self.temp(), 'wb') {|file| Scene_Save.new.write_save_data(file)}
  end
  def self.load()
    return false if temp().nil?
    File.open(self.temp(), 'rb') {|file| Scene_Load.new.read_save_data(file)}
    file = File.open(self.temp(), "rb")
    Scene_Load.new.read_save_data(file)
    file.close
    Graphics.freeze
    Graphics.transition(10)
    $scene = Scene_Map.new
  end
  def self.temp()
    # Hier kannst du den Slot ändern wenn du möchtest, ersetzen die Variable einfach mit dem namen des Savestandes. Z.B. "name.iwas"
    $game_temp.auto_save_name
  end
end
zum Lesen den Text mit der Maus markieren
Mehr als a Allgäuer ka a Mensch it wera.


Wie soll ich wissen was ich denke, bevor ich nicht höre was ich sage?


Spoiler: OpenSource-Projects
NES-Emulator - a simple NES-Emulator
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
zum Lesen den Text mit der Maus markieren

Neo-Bahamut

Himmelsgleicher

Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.

  • Nachricht senden

18

Dienstag, 13. Oktober 2009, 17:32

Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#---------------------
# Autosave by Hindi
#---------------------
 
class Game_Systen
  attr_accessor :auto_save_name
end
 
class Scene_Load
  alias_method :iregend_ein_anderer_scheiss, :on_decision
  def on_decision(filename)
    iregend_ein_anderer_scheiss($game_system.auto_save_name)
  end
end
 
class Scene_Save
  alias_method :iregend_ein_anderer_scheiss, :on_decision
  def on_decision(filename)
    iregend_ein_anderer_scheiss($game_system.auto_save_name = filename)
  end
end
 
module Auto
  def self.save
    File.open($game_system.auto_save_name, 'wb') {|file| Scene_Save.new.write_save_data(file)}
  end
 
  def self.load
    File.open($game_system.auto_save_name, 'rb') {|file| Scene_Load.new.read_save_data(file)}
    $scene = Scene_Map.new
  end
end
zum Lesen den Text mit der Maus markieren


So isses gut :D
Spoiler: Wurstinator
zum Lesen den Text mit der Maus markieren

Spoiler: Lazer-Wurst
zum Lesen den Text mit der Maus markieren

Spoiler: Hallowurst
zum Lesen den Text mit der Maus markieren

19

Dienstag, 13. Oktober 2009, 22:33

File.open besser mit einem Block machne


Warum?

Neo-Bahamut

Himmelsgleicher

Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.

  • Nachricht senden

20

Dienstag, 13. Oktober 2009, 22:41

Weil, wenn ich das richtig in Erinnerung habe, die Datei bei file = File.open bei fehlendem file.close zerstört wird, dies beim Block allerdings nicht passiert.
Spoiler: Wurstinator
zum Lesen den Text mit der Maus markieren

Spoiler: Lazer-Wurst
zum Lesen den Text mit der Maus markieren

Spoiler: Hallowurst
zum Lesen den Text mit der Maus markieren

Ähnliche Themen

Social Bookmarks