• Anmelden

1

Dienstag, 30. August 2011, 20:15

Per Common Event einstellen, was nach einem Gameover passiert

Hallo,

Ist es möglich, dass man nach einem Gameover nicht in den Titelmenü kommt, sondern das, was danach passiert, soll in einem Common Event ausgeführt werden. Ich möchte nämlich nicht bei jedem einzelen Troop einstellen, was passiert. wenn das Team tot ist. Es würde mir ziemlich helfen!

lg Chris

Motto: Alle Wege führen nach Rom

  • Nachricht senden

2

Dienstag, 30. August 2011, 21:21

Also ich dnke nicht das sowas mit Common Events möglich ist, aber was willst du denn eig machen sonst würde ich
sagen sieh dir mal das Game Over Menü aus der Skriptdatenbank an.

LG Donesteban

3

Dienstag, 30. August 2011, 21:56

Ok, danke etz habe ich es schonmal geschafft das man zurück auf die Map kommt^^

Kann mir jemand sagen wie der Scriptcode dafür heißt, dass man ein Common Event startet. Also per Script soll ein Common Event ausgeführt werden, des tu ich dann in des Gameover Menü einfügen :)

Hoffe das mir das jemand sagen kann ;)

lg Chris

4

Dienstag, 30. August 2011, 23:28

Natürlich geht das ^^

Natürlich kann man das Ohne Skript is doch Total Easy :-P
Hab dir mal ein beispiel Projekt erstellt

LG Domster

Ps. du kannst Natürlich noch alles mögliche da mit einbauen bezüglich Screentone oder übergangs Effekte d ;)
»Domster« hat folgende Datei angehängt:
  • GOCE Domster.exe (264,44 kB - 11 mal heruntergeladen - zuletzt: 24. Juni 2012, 14:22)
Bild

5

Mittwoch, 31. August 2011, 14:38

Ja,danke für deine Hilfe :)
Das Problem ist aber das man mehr als Einen Helden im Team hat und es bis zu 40 Helden gibt, die ins Team kommen können und alle die sich bisher angeschlossen haben man dann halt austauschen kann.
Daher müsste man es per Script oder Event irgendwie überprüfen können,ob das gesamte (aktuelle) Team tot ist, denn wenn nur der 1.Held tot ist und die anderen noch Leben dann hat man ja auch noch keinen Gameover (Stell es dir vor wie bei Pokemon^^)

Und ich kann auch nicht abfragen ob alle tot sind,da es ja 40 Helden gibt und man nur 4 im Team haben kann und ich ja nicht immer weiß welche 4 Helden das sind.
Also kann mann irgendwie überprüfen ob das gesamte Team tot ist,ob per Script oder Event?

lg Domi

PS: Ich und chris386 arbeiten zusammen falls ihr euch wundert^^

Irrlicht

Leuchtendes Irgendwas

Motto: Keep shining!

  • Nachricht senden

6

Mittwoch, 31. August 2011, 15:36

Versuch mal das hier, habs allerdings selbst noch nicht wirklich getestet:
Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Scene_Battle
 
  # Starte anstatt GameOver das folgende Common-Event:
  COMMON_EVENT_ID = 1
 
  unless method_defined?(:judge_ILC_call_event_instead_of_gameover)
    alias_method(:judge_ILC_call_event_instead_of_gameover, :judge)
  end
  def judge
    result = judge_ILC_call_event_instead_of_gameover
    if $game_temp.gameover
      event = $data_common_events[COMMON_EVENT_ID]
      unless event.nil?
        $game_system.battle_interpreter.setup(event.list, 0)
        $game_temp.gameover = false
      end
    end
    return result
  end
end
zum Lesen den Text mit der Maus markieren

7

Mittwoch, 31. August 2011, 16:02

Soll das in ein bereits inhaltenes Script rein,oder in ein neues Script eingefügt werden?

Irrlicht

Leuchtendes Irgendwas

Motto: Keep shining!

  • Nachricht senden

8

Mittwoch, 31. August 2011, 16:08

Du kannst den Code einfach in ein (neues) Script oberhalb von Main packen, wichtig ist ansich nur es unterhalb von "Scene_Battle 1" einzufügen.

9

Mittwoch, 31. August 2011, 16:22

Also ich habe es ausprobiert und es kommt folgendes Problem:

- Man wird einfach wiederbelebt und der Kampf geht immer weiter(Im Common Event heilt er sich erst anch dem Teleport.

- Wenn wir das mit Gameover = false auf true ändern kommt er zwar zurück auf die Map,aber das Gameover bild kommt alle 2 sekunden wieder^^

Hoffe du schaffst es :)

lg Domi

EDIT:

Hab etz an erster Stelle im Common Event gemacht: Abort Battle,etz wird man nicht mehr wiederbelebt sodnern kommt auf die map zurück.Jedoch wird alles andere nicht gemacht und man wird nicht geheilt etc. was sonst aber noch dirn steht - man kommt einfach genau wieder an die stelle der map,wo der kamof begonnen hat!

Irrlicht

Leuchtendes Irgendwas

Motto: Keep shining!

  • Nachricht senden

10

Mittwoch, 31. August 2011, 16:25

Achso, hatte das so verstanden dass du damit ggf. die Truppe im Kampf noch austauschen wolltest, entsprechend hatte ich das Ganze als "Kampfevent" umgesetzt.

Damit das CE erst auf der Map ausgeführt wird gäbe es folgende Möglichkeiten:

Entweder du setzt im Common-Event einen Switch auf ON der auf der Map ein anderes "Autostart"-Common-Event auslöst und beendest den Kampf mit dem "Abort Battle" - Befehl (mit dem Beenden des Kampfes wird auch das Kampfevent beendet, "Abort Battle" sollte entsprechend zuletzt gesetzt werden)...

...oder du ersetzt im Script die Zeilen 12-16:
Spoiler: ALT

Ruby Quellcode

1
2
3
4
5
event = $data_common_events[COMMON_EVENT_ID]
unless event.nil?
  $game_system.battle_interpreter.setup(event.list, 0)
  $game_temp.gameover = false
end
zum Lesen den Text mit der Maus markieren
Spoiler: NEU

Ruby Quellcode

1
2
3
$game_temp.common_event_id = COMMON_EVENT_ID
$game_temp.gameover = false
battle_end(2)
zum Lesen den Text mit der Maus markieren

11

Mittwoch, 31. August 2011, 16:43

Ok,jetzt klappt es zwar,allerdings wird das Common Event erst ca. 2 Sekunden nachdem man auf der Map ist ausgeführt und das wirkt ziehmlich komisch.Außerdem habe ich versucht als erstes Set Move Route für den Character -> Change Graphic und dann aud Down1 gemacht die Grafik oben links allerdings wird mir die Grafik darunter angezeigt.Hoffendlich kannst du mir da auch noch ein letztes mal helfen.

Aber am wichtigsten ist es mir das diese 2 Sekunden zu 0.0 Sekunden werden^^

Irrlicht

Leuchtendes Irgendwas

Motto: Keep shining!

  • Nachricht senden

12

Mittwoch, 31. August 2011, 17:03

Bevor auf der Map ein neues Event ausgeführt wird wird zunächst das aktuelle beendet (wenn eines aktiv ist, "Parallel Process"-Events sind davon nicht betroffen).
Um den unnötigen Übergang zurück auf die aktuelle Map zu überspringen kannst du mit einem Scriptbefehl auch bereits wärend des Kampfes auf eine neue Map-Position wechseln, indem du diesen Scriptbefehl verwendest:
Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
map_id = 5          # neue Map-ID
map_x  = 10         # neue X-Pos.
map_y  = 12         # neue Y-Pos.
if map_id != $game_map.map_id
  $game_map.setup(map_id)
end
$game_player.move_to(map_x, map_y)
zum Lesen den Text mit der Maus markieren

- Hast du oben Variante 1 verwendet verwende diesen Befehl als Scriptbefehl vor dem Abort Battle - Kommando ein
- Hast du oben Variante 2 verwendet füge diesen Abschnitt im Script wahlweise unmittelbar vor oder nach der bereits geänderten Stelle in das Script ein.

ED: Hast recht Playm, die "Slip-Damage"-Funktion auf der Map hatte ich ganz übersehen.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Irrlicht« (1. September 2011, 09:00)


13

Mittwoch, 31. August 2011, 18:46

Ja,danke das hilft schonmal viel :)

Es soll so ablaufen:

1. per Common Event wird das Gameover Bild gezeigt und die Musik dazu abgespielt abgespielt (Direkt nach Kampf,ohne das mann die Map sieht)
2.Währenddessen wird geheilt und teleportiert
3.Gameoverbild und Musik verschwinden und man steht auf der Map wo man hin soll!

Etz ist es so:

1.Man kommt aus dem Kampf direkt auf die neue Map und wartet 2 Sekunden
2.Nun kommt die Gameover Scene vom CommonEvent
3.Man ist weiterhin auf der Map

Irgedwie komisch das man direkt auf der neuen map ist,dann des gameover kommt und man dann immernoch dort ist.
Man darf auch nicht per Script festlegen wohin es einen teleportiert,weil dies darauf ankommt,in welcher Stadt man zuvor war(Alles über CommonEvent gemacht - Es muss also so sein,das das CommonEvent direkt startet ohne Verzögerung)

Ich hoffe du verstehst wie ich es haben möchte :)

14

Mittwoch, 31. August 2011, 20:25

Man kann abfragen, ob alle Partymember tot sind.
Einfach in einem ConditionalBranch das Feld "Script" auswählen und dort

Ruby Quellcode

1
$game_party.all_dead?
eintragen.

Aber zu eurer(?) eigentlichen Anfrage:
Wäre es nicht simpler die Scene_Gameover dahingehend zu ändern, dass man nach dem GameOver Bildschirm auf eine bestimmte Map gesetzt wird? Ihr wollt das GameOver Bild und die Musik ja eh drin haben, deshalb würde ich dies eher so lösen.


@Irrlicht: Die Helden können durch Vergiftung oder andere Effekte auch auf der Map sterben. Das würdest du vernachlässigen, wenn du dich in Scene_Battle einklinkst.

Social Bookmarks