• Anmelden

1

Donnerstag, 4. Dezember 2008, 13:40

ALLE Eventpositionen bei Mapwechsel beibehalten

Wie der Titel schon sagt, suche ich nach einer möglichkeit, die Positionen aller Events beim wechseln der Map beizubehalten. Also nicht jedes einzelne in einer Variable speichern und wieder laden falls anders möglich... ich arbeite nämlich an einem Event-Menü für mein Tacticgame, bei welchem man auf eine andere Map kommt, nur sind dann halt alle Events wieder auf der ursprünglichen Position...
Mir würde es sogar helfen die Event-Reset-Funktion komplett aus den Scripten zu löschen, immerhin werde ich die denke ich im ganzen Game nicht benötigen; aber auch ein anderer Script wäre natürlich möglich...

mfg
The King

PS: Für alle die es nicht wissen: ich verwende bei meinem Tacticgame für Einheitenbewegung den Set-Event-Position-Befehl, nur zur erklärung...

Edit: Ah, hab was gefunden... Game_Map Line 146-160... kann man da vllt irgendwas machen? (die Events sollten aber schon noch "refreshed" werden, sie sollten halt nur ihre position behalten...

Edit2: Hm, oder doch eher Game_Event Line 30? Leider funktioniert das mit einer einfachen if $game_switch[XXX]-Abfrage nicht... bin aber auch ein totaler Scriptnoob... hoffentlich kann mir jemand anderes helfen...
Terranigma 2 - Episode I - Open Beta out now!

RPC - Rpg-Maker Community Platform - Spielübergreifende Erfolge und mehr!

Neo-Bahamut

Himmelsgleicher

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

  • Nachricht senden

2

Donnerstag, 4. Dezember 2008, 18:08

Hier:

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
52
53
54
class Scene_Title
  alias save_event_position_newgame command_new_game
  def command_new_game
	$save_eventposition = {}
	save_event_position_newgame
  end
end
 
class Scene_Save
  alias save_event_position_write_save_data write_save_data
  def write_save_data(file)
	save_event_position_write_save_data(file)
	Marshal.dump($save_eventposition, file)
  end
end
 
class Scene_Load
  alias save_event_position_read_save_data read_save_data
  def read_save_data(file)
	save_event_position_read_save_data(file)
	$save_eventposition = Marshal.load(file)
  end
end
 
class Game_Event < Game_Character
  alias save_event_position_ini initialize
  def initialize(map_id, event)
	if $save_eventposition.keys.include?($game_map.map_id) then
  	array = $save_eventposition.values[$game_map.map_id-1]
  	array = array[event.id-1]
  	event.x = array[0]
  	event.y = array[1]
	end
	save_event_position_ini(map_id, event)
  end
end
 
class Interpreter
  alias save_eventpos command_201
  def command_201
	$game_map.add_event_position
	save_eventpos
  end
end
 
class Game_Map
  def add_event_position
	array = []
	@events.values.each do |a|
  	array << [a.x,a.y]
	end
	$save_eventposition[@map_id] = array
  end
end
zum Lesen den Text mit der Maus markieren


Wenss Fehler gibt, einfach melden =)
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

3

Donnerstag, 4. Dezember 2008, 18:18

Schonmal danke :D
aber hab einen Fehler gefunden:
ich hab eben ein Event mit dem ich mich zu der Menü-Map teleportiere, und wenn ich von da wieder auf die ursprüngliche Map zurückmöchte, kommt:

Bild

hängt nicht mit dem Common-Event an sich zusammen, auch wenn ich ein Mapevent mit demselben Inhalt verwende kommt derselbe Fehler...

Brauchst du vielleicht mehr Infos über mein CommonEvent?

Edit: Wohl nicht, passiert auch bei einem einfachen Teleport-Befehl ohne drumherum...
Und passiert auch bei anderen Maps...

Ich muss das schon als neues Script über Main einfügen, oder? Hab ich jedenfalls gemacht, sag falls was anderes gehört^^
Terranigma 2 - Episode I - Open Beta out now!

RPC - Rpg-Maker Community Platform - Spielübergreifende Erfolge und mehr!

Neo-Bahamut

Himmelsgleicher

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

  • Nachricht senden

4

Donnerstag, 4. Dezember 2008, 18:35

Ich hasse Fehler, die nur bei anderen kommen -.-"
Gib mal zwischen Zeile 28 und 29 den Code hier ein:

Ruby Quellcode

1
2
p $save_eventposition[$game_map.map_id]
p $save_eventposition


Damit werden 2 Werte ausgegebn, die du mir dann sagen müsstest^^

Edit Obowhl, ich glaub ich hab den Fehler. Ich hab das Skript oben nochmal editiert bzw. mach ich jetzt^^
Wenn das nicht klappt, DANN probier das mit dem Ausgeben^^
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

5

Donnerstag, 4. Dezember 2008, 19:22

Zitat

Ich hasse Fehler, die nur bei anderen kommen -.-"

Geht mir genauso... das ist wirklich blöd

Der Edit hats leider auch nicht gebracht...
Deshalb hab ich mal gemacht was du gesagt hast:

Zitat

Gib mal zwischen Zeile 28 und 29 den Code hier ein:

Damit werden 2 Werte ausgegebn, die du mir dann sagen müsstest^^


Bild

Bild

Meinstest du wirklich 2 Werte? Weil wenn ja, dann wird dir das hoffentlich beim Fehlerfinden helfen...

2 Werte? xD

Edit: Achja, mir ist was interessantes aufgefallen (vielleicht ist dir das ohnehin klar): der fehler passiert nur beim rücktransfer auf die Map1 (d.h. die erste Schlacht), dann ist es aber egal von was für einer Map... also, dieser Fehler tritt nicht auf wenn ich zB auf Map 3 (komplett leer) starte und dann auf die Map1 gehe... und wenn ich dann weitergehe auch nicht (hab mir zum test 2 weitere maps gemacht und da ein paar teleportevents gemacht) ... irgendwie komisch...
Terranigma 2 - Episode I - Open Beta out now!

RPC - Rpg-Maker Community Platform - Spielübergreifende Erfolge und mehr!

Neo-Bahamut

Himmelsgleicher

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

  • Nachricht senden

6

Donnerstag, 4. Dezember 2008, 19:25

Ja, ich meinte halt 2 Fenster^^
Es könnte daran liegen, dass es so viele Events sind. Ich habs immer nur mit einem getestet, ich mach mal kurz...

Edit

Zitat

Achja, mir ist was interessantes aufgefallen (vielleicht ist dir das ohnehin klar): der fehler passiert nur beim rücktransfer auf die Map1 (d.h. die erste Schlacht), dann ist es aber egal von was für einer Map... also, dieser Fehler tritt nicht auf wenn ich zB auf Map 3 (komplett leer) starte und dann auf die Map1 gehe... und wenn ich dann weitergehe auch nicht (hab mir zum test 2 weitere maps gemacht und da ein paar teleportevents gemacht) ... irgendwie komisch...
Das soll so sein, weil das Skript prüft, ob schonmal die Positionen der Events auf jener Map gespeichert wurden. Wenn nicht, wenn alle Events teleportiert^^
Das, was ausgegeben wurde, kommt das direkt vor dem Fehler oder wird danach noch was ausgegeben? Weil so macht das gar keinen Sinn xD
Mach das mal bitte mit weniger Events, der Übersicht wegen
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

7

Donnerstag, 4. Dezember 2008, 19:28

Passiert auch nur bei nur einem Event... habs nochmals getestet... merkwürdig, aber ich kenn das... ich hab öfters solche Fehler die anderswo nicht auftauchen. Ich hoffe trotzdem du findest heraus woran das liegt...

Edit: Jo, da siehst dus, habs auch mit einem Event probiert.... ähm die ausgabe passiert vor dem Fehler, und zwar an die 20 mal Alt-F4 drücken (kommt dauernd wieder), und dann taucht erst der Fehler auf... hilft das?
Terranigma 2 - Episode I - Open Beta out now!

RPC - Rpg-Maker Community Platform - Spielübergreifende Erfolge und mehr!

Neo-Bahamut

Himmelsgleicher

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

  • Nachricht senden

8

Donnerstag, 4. Dezember 2008, 19:47

Naja, ich bräuchte halt genau die 2 Meldungen, die vor dem Fehler kommen. Weil so, wie die jetzt sind, stimmt was nicht, weil der mir sagt, dass die ausgegebene Variable (dein erster Screenshot) nil, also leer wäre, was sie ja nicht ist ^^

Oder es liegt an einem anderen Skript, das du verwendest.
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

9

Donnerstag, 4. Dezember 2008, 19:55

Wie meinst du das, genau? Ich hab eh schon 2 Bilder drinnen, genauer geht es ja fast nicht. Könnt noch ein Video machen oder so...

Hm, ich verwend nicht viele andere Scripte, mal sehen, ich könnte die mal kurz rauslöschen...

Edit: Nope, an anderen Scripten liegts schonmal nicht...

EDIT2: Hm, habs in TN2 ausprobiert... da kommt derselbe Fehler, nur in Line 30 (!)... ich hoffe mal das hilft dir^^
Terranigma 2 - Episode I - Open Beta out now!

RPC - Rpg-Maker Community Platform - Spielübergreifende Erfolge und mehr!

Neo-Bahamut

Himmelsgleicher

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

  • Nachricht senden

10

Donnerstag, 4. Dezember 2008, 20:00

Du hast ja gesagt, dass du ca 20 mal ALT+F4 drücken musstest. Das heißt, die Ausgaben wurden mehrmals aufgerufen^^
Also nach diesem Prinzip:

Meldung 1
Meldung 2
----
Meldung 1
Meldung 2
---
[...]
---
Meldung 1
Meldung 2
Fehler

Und die letzten beiden Meldungen vor dem Fehler müsste ich wissen^^
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

Donnerstag, 4. Dezember 2008, 20:03

Gut, ich probier dass dann mal aus... mal sehen ob die letzten Nachrichten anders sind als die übrigen...

Okay, hier ist die letzte Nachricht vor dem Crash:

Bild

Sieht nicht anders aus als die anderen, oder? (die Koordinaten sind anders, das ist aber durchgehend so gewesen wie du sicher denkst^^)

Brauchst du die vorletzte auch noch?
Terranigma 2 - Episode I - Open Beta out now!

RPC - Rpg-Maker Community Platform - Spielübergreifende Erfolge und mehr!

Neo-Bahamut

Himmelsgleicher

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

  • Nachricht senden

12

Donnerstag, 4. Dezember 2008, 20:29

Ne, die vorletzte brauch ich nicht
Dann muss es doch an einem Skript von dir liegen...
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

13

Donnerstag, 4. Dezember 2008, 20:29

Leider nicht, wie gesagt, hab mal alle anderen Scripte rausgelöscht und immer noch dasselbe... aber ich test es mal in nem neuen leeren Projekt...

Edit: Wt... hm in nem anderen Projekt geht es... das ist wirklich sehr komisch... ich schau mir mal meine Scriptliste sehr genau an...

Edit2: Also an den Scripten liegts nach dem was ich gesehen habe definitiv nicht, hab die ganze Scriptliste gegen ne neue = eine aus nem neuen leeren Projekt ausgetauscht und immer noch nichts... hm...

Edit3: Aha... jetzt komme ich der Sache schon näher... also... scheinbar scheint das etwas mit den Events an sich zu tun zu haben... ich mach gleich ein paar Screens um es dir besser zu erklären...

Edit4: So... solange ich dieses Event in der Menü-Map habe, stürzt das Game beim zweiten betreten ab... sagt dir irgendeine dieser Komponenten vielleicht etwas im zusammenhang mit dem Script?
Der Scriptteil ist unschuldig, rauslöschen bringt sich bei dem nichts
Bild

Könnte sei das Through oder was weiß ich nicht geht... (achja, beim rücktransfer passiert der Fehler immer noch)

Edit5: nur damit alles klar ist, ich kann jedes beliebige leere Event mit Grafik drinnhaben, und nichts stürzt ab... nur bei diesem und allen meinen anderen scheint was zu happern...
Terranigma 2 - Episode I - Open Beta out now!

RPC - Rpg-Maker Community Platform - Spielübergreifende Erfolge und mehr!

Neo-Bahamut

Himmelsgleicher

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

  • Nachricht senden

14

Donnerstag, 4. Dezember 2008, 20:51

Ich bin überfragt xD
Probier mal, das Event zu löschen und neu zu erstellen (nicht STRG+X, STRG+C)

oder guck, ob die dll-Datei bei dir richtig ist^^
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

15

Donnerstag, 4. Dezember 2008, 20:52

Hab deinen ersten Rat befolgt (sogar ohne ihn gelesen zu haben und meine schlimmsten Befürchtungen haben sich bewahrheitet: ja, das geht... das heißt wohl, ich muss alle Events neu machen? omg... -.-
Hm... Dll wäre RGSS102E.dll , passt das?
Terranigma 2 - Episode I - Open Beta out now!

RPC - Rpg-Maker Community Platform - Spielübergreifende Erfolge und mehr!

Neo-Bahamut

Himmelsgleicher

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

  • Nachricht senden

16

Donnerstag, 4. Dezember 2008, 20:58

Nein, nicht alle. Nur alle, die Fehler auslösen, weil der Maker manchmal verkackt. Der baut, nur um uns zu ärgern, Fehler in manche Events ein =O

Edit achja, und 102E ist richtig^^
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

17

Donnerstag, 4. Dezember 2008, 21:09

Ja... böser, böser Maker... -.-
Und kennst du ne möglichkeit elegan herauszufinden welche das sind?
xD dumme Frage... eines nach dem anderen löschen^^
Wobei ich glaube dass es alle sind, immerhin sind fast alle Events auf der Map Einheiten und die sind veränderte kopien von der ersten Einheit^^
Naja, danke für deine Mühe, einen Creditseintrag bekommst du mal auf jedenfall!
Wenn der Fehler nicht gewesen wäre wär das Script perfekt gewesen, so hab ich halt bisschen was zu tun, aber auch egal^^

Edit: Hm, weißt du zufällig bzw glaubst du zu wissen ob ich wenigstens die Eventpages kopieren kann/darf? sonst wird das sauviel arbeit jede Einheit hat an die 10 randvollen pages...
Terranigma 2 - Episode I - Open Beta out now!

RPC - Rpg-Maker Community Platform - Spielübergreifende Erfolge und mehr!

Neo-Bahamut

Himmelsgleicher

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

  • Nachricht senden

18

Donnerstag, 4. Dezember 2008, 21:28

ich würds einfach testen. Müssen ja sonst deine Betatester ausbaden xD
Ich hab keine Ahnung, weil bei mir noch keine gazen Events sondern nur einzelne Befehle kaputt waren.
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

Freitag, 5. Dezember 2008, 13:37

Hi,
das Script wäre auch für mich ganz nützlich, da ich ein eventbasiertes Menü verwende und mich daher auf eine andere Map teleportiere. Eventpositionen werden daher immer zurückgesetzt und das ist blöd.

Daher habe ich das Script mal ausprobiert und es funktionierte bei meinem Hauptprojekt nicht. Das erste mal ging der "Hin und Her"-Teleport, allerdings wurden die Koordinaten falsch gesetzt (die NPCs standen plötzlich woanders). Beim zweiten Mal stürtzte es dann auch mit einer Fehlermeldung ab (wie schon von The King zu Beginn erwähnt).

Also habe ich mal ein neues Projekt angelegt, das Script eingefügt, ein paar Aluxes auf der Map random rumlaufen lassen und ein Teleportpunkt eingefügt. Das Ergebnis:
Die Events stehen beim Rückteleport auf verschiedenen Positionen, selbst der Teleporter der eigentlich still steht, steht plötzlich woanders.
Wo ist da der Wurm? :(

Social Bookmarks