"Hauptmenü"

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
chris-dubois
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 43
Registriert: 02.10.2002, 12:35
Kontaktdaten:

"Hauptmenü"

Beitrag von chris-dubois »

Wie mach ich so ein kleines "Hauptmenü" wo man auswählen kann, ob man "laden" "beginnen" oder "beenden" will??

Beispiel : Little Evil Jonny oder wie der Typ hieß :D
Zak 2
Ich bin so wie ich bin
Benutzeravatar
DasJan
Adventure-Treff
Adventure-Treff
Beiträge: 14683
Registriert: 17.02.2002, 17:34
Wohnort: London
Kontaktdaten:

Re:"Hauptmenü"

Beitrag von DasJan »

Richte den Bildschirm als Raum ein (der Spielercharakter darf da natürlich nicht zu sehen sein). Dann machst du aus den einzelnen Buttons Hotspots und wenn du die anklickst, dann machst du zum Beispiel bei "Beginnen" ein NewRoom(2), bei "Beenden" ein QuitGame(1) und so weiter.

Das Jan
"If you are the smartest person in the room, you are in the wrong room."
Benutzeravatar
chris-dubois
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 43
Registriert: 02.10.2002, 12:35
Kontaktdaten:

Re:"Hauptmenü"

Beitrag von chris-dubois »

Wow, irgendwie fallen mir so einfache Sachen irgendwie nie ein...

Also muss ich das auch zeichnen? Und wie mach ich den Charakter "unsichtbar"? Wie lautet der Befehl für "laden"??
Ich bin so wie ich bin
Benutzeravatar
DasJan
Adventure-Treff
Adventure-Treff
Beiträge: 14683
Registriert: 17.02.2002, 17:34
Wohnort: London
Kontaktdaten:

Re:"Hauptmenü"

Beitrag von DasJan »

Room Editor -> Settings -> Hide player character
RestoreGameDialog();

Tipp: In der Hilfe im Kapitel "Text script functions" sind alle AGS-Funktionen übersichtlich in Kategorien aufgeteilt.

Das Jan
"If you are the smartest person in the room, you are in the wrong room."
Benutzeravatar
chris-dubois
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 43
Registriert: 02.10.2002, 12:35
Kontaktdaten:

Re:"Hauptmenü"

Beitrag von chris-dubois »

Danke, werd es versuchen...
Ich bin so wie ich bin
[ZENSIERT]
Adventure-Gott
Adventure-Gott
Beiträge: 4575
Registriert: 13.07.2004, 14:04
Wohnort: Da wo muss
Kontaktdaten:

Beitrag von [ZENSIERT] »

Ich fasse zusammen:

Neues Spiel = NewRoom(2)
Spiel laden = RestoreGameDialog();
Spiel speichern = SaveGameDialog();
Weiter = NewRoom(character[EGO].prevroom);
Beenden = QuitGame(1);
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge

Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.

Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Gandarufu
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 11
Registriert: 03.02.2006, 15:52
Kontaktdaten:

neustart

Beitrag von Gandarufu »

hallo zusammen.


ich bin grad auch an einem hauptmenue basteln. ich gehe das aber lieber mit einem eigenen GUI an...

egal, welche version man auch nehmen mag, ich frage mich, wie man den befehl "neues spiel" umsetzen koennte.

es reicht ja nicht aus, dass der character einfach in den ersten raum gesetzt wird, es muessen ja auch alle inventargegenstaende usw wieder weg und alle variablen wieder auf den ursprungswert gesetzt werden.

nun gut, dafuer gibts ja den befehlt RestartGame()
Nun, wenn ich aber diesen Befehl aufrufe, egal ob von meinem raum aus oder von dem GUI, dann startet das spiel neu und praesentiert mir dann nochmal das menue... anstatt gleich ein neues spiel im ersten raum zu starten...
(das hauptmenue wird bei mir am anfang als allererstes aufgerufen).


daher also die frasche, wie ich das hinbekomm, dass ich beim "neues spiel" button direkt in den ersten raum komm und gleichzeitig alle inventargegestaende und variabeln wieder auf null setze??


danke schonma im voraus und sorry, dass ich solche alten beitraege nochma anne oberflaeche hole, wa!

gruss,
gandalf
Benutzeravatar
Saiyaman
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 74
Registriert: 07.05.2005, 12:25

Beitrag von Saiyaman »

Wie wäre es mit einem gespeicherten Spielstand bei Spielbeginn?

MfG
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

Restartgame() ist schon ok.

Zusätzlich würd ich aber noch ne Variable auf 1 setzen. Also:

neuesspiel=1

und im Raum mit dem Menu dann einfach bei Player entsers screen...

if neuesspiel=1 dann ab zum ersten eigentlichen raum...

So ähnlich würd ich das mal probieren

Bin mir jetzt allerdings nciht mehr sicher, ob er nach dem Restartgame() Befehl noch die Variablensetzung abarbeitet oder gleich wieder neu startet. Einfach mal ausprobieren...
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Falls es mit Variablen nicht hinhaut, könnte man auch ein File erstellen und dann abfragen, ob es existiert.
Z.B. erscheint im Verzeichnis des Spiels immer die Datei agssave.999, sobald ich aus dem Spiel rausgehe, verschwindet sie. Das dient vielleicht einem ähnlichen Zweck.
Use gopher repellent on funny little man
Benutzeravatar
TheRock
Rätselmeister
Rätselmeister
Beiträge: 2136
Registriert: 21.05.2006, 19:13
Wohnort: Berlin
Kontaktdaten:

Beitrag von TheRock »

[ZENSIERT] hat geschrieben:Ich fasse zusammen:

Neues Spiel = NewRoom(2)
Spiel laden = RestoreGameDialog();
Spiel speichern = SaveGameDialog();
Weiter = NewRoom(character[EGO].prevroom);
Beenden = QuitGame(1);

Aber prevroom bewirkt doch, dass er in den Raum mit der vorherigen Nummer kommt! Sprich ist das Menü in Raum 1 und man
startet den Befehl prevroom, so bewegt sich der Character in Raum 0, den es nicht gibt und das Spiel stürtzt ab....
Wie kriegt man es hin, dass er in den Raum geht in dem er vorher war?
Benutzeravatar
Floyd
Logik-Lord
Logik-Lord
Beiträge: 1088
Registriert: 14.03.2004, 19:59

Beitrag von Floyd »

Wie kriegt man es hin, dass er in den Raum geht in dem er vorher war?

Code: Alles auswählen

NewRoom(character[EGO].prevroom;
prevroom steht für "previous room" und bedeutet "vorheriger Raum".
Vielleicht solltest du den Code erst einmal testen, bevor du ihn als falsch bezeichnest.
Ich möchte an dieser Stelle mal khrismuc zitieren:
khrismuc hat geschrieben:Lies endlich die verdammte Hilfedatei, meine Fresse.
Diese mag vielleicht umfangreich sein, einen solchen Befehl (und die Erklärung, was er bedeutet) findet man trotzdem innerhalb von einer Minute (Stichwort Suchfunktion).
Benutzeravatar
TheRock
Rätselmeister
Rätselmeister
Beiträge: 2136
Registriert: 21.05.2006, 19:13
Wohnort: Berlin
Kontaktdaten:

Beitrag von TheRock »

Ich habe den code NIE als falsch bezeichnet!
Ich wunderte mich nur über die Fehlermeldung!



Als ich den Code eingegeben habe,
und das kompilierte Spiel gestartet habe und den mit dem prevroom-hotspot interagierte stürzte es ab und die Fehlermeldung zeigte:
Room -1 does not exist!
Falls ich daraus was falsches geschlossen habe, ist es ja auch nicht gerade der Weltuntergang

Es tut mir Leid, dass ich wie andere die HilfeDatei nicht vergöttere und mir daran stunden lang die Augen zerlese!

Ich finde es ausgesprochen unfair so behandelt zu werden...
Nur weil ich nicht gerade die Ahnung von AGS habe, ist es noch lange kein Grund ständig darauf herumzureiten oder mir irgendetwas voruwerfen! Das geht echt höflicher!
Falls nicht, dann Antwortet halt nicht, oder verkneift euch die
Kommentare!
Benutzeravatar
Floyd
Logik-Lord
Logik-Lord
Beiträge: 1088
Registriert: 14.03.2004, 19:59

...

Beitrag von Floyd »

Aber prevroom bewirkt doch, dass er in den Raum mit der vorherigen Nummer kommt!
Wenn das stimmen würde, wäre [ZENSIERT]s Code falsch. Ob du jetzt "Nä das geht nicht ist falsch" schreibst oder einfach nur feststellst, dass er etwas anderes bewirkt als er sollte (was nicht der Fall ist), ist egal. Es geht im Grunde auch nur darum, dass du dir nicht mal die Mühe gemacht hast, ihn zu testen, bevor du behauptest, er würde nicht richtig funktionieren. Dass das Spiel abstürzt, liegt daran, dass das Hauptmenü dein erster aufgerufener Raum ist und es folglich keinen vorherigen Raum gibt, in den das Spiel springen könnte.
Es tut mir Leid, dass ich wie andere die HilfeDatei nicht vergöttere und mir daran stunden lang die Augen zerlese!
Haha, Scherzkeks.
Ich finde es ausgesprochen unfair so behandelt zu werden...
[...]
Das geht echt höflicher!
Was ist denn daran bitte unfair, wenn du darauf hingewiesen wirst, dass du die Antworten auf deine Fragen alle durch einen kurzen Blick ins Handbuch erhalten könntest?
"Höflich" wäre es übrigens, wenn du einfach mal unseren Rat befolgen und eben jenes konsultieren würdest.
Klar, meine Antwort hätte auch etwas netter ausfallen können, aber da du die zahlreichen und zu Beginn auch durchaus noch freundlichen Aufforderungen, doch einfach mal das Handbuch zu benutzen, wieder einmal erfolgreich ignoriert hast, sah ich mich unglücklicherweise nicht mehr in der Lage, noch freundlicher zu antworten.
Nur weil ich nicht gerade die Ahnung von AGS habe, ist es noch lange kein Grund ständig darauf herumzureiten oder mir irgendetwas voruwerfen! Das geht echt höflicher!
Man braucht nicht viel Ahnung zu haben, um kurz in der Hilfedatei nachzusehen.
Falls nicht, dann Antwortet halt nicht, oder verkneift euch die
Kommentare!
Ich glaube, nach einiger Zeit nervt es jeden, ständig die Hilfedatei zitieren zu müssen, dann wirst du irgendwann überhaupt keine Antwort mehr erhalten. Sei doch froh, dass man dir überhaupt hilft und Zeit investiert, um auf deine Fragen zu antworten.
Benutzeravatar
TheRock
Rätselmeister
Rätselmeister
Beiträge: 2136
Registriert: 21.05.2006, 19:13
Wohnort: Berlin
Kontaktdaten:

Beitrag von TheRock »

Da viele so denken, wie du,
nehme ich mal an, dass ich tatsächlich im Unrecht lag... :(
Ich möchte mich (ernstgemeint) hiermit entschuldigen
und hoffe somit die Streitigkeiten aus der Welt zu schaffen...
Ich habe allerdings ein neues Problem!
Ich habe ein Menü, dass man mit Esc aufrufen kann erstellt, indem der Charakter(in kleiner Form) sich auf bestimmte Regions begeben kann und somit QuitGame RestoreGameDlg SaveGameDlg NewGame und prevroom auslösen kann!
Verwende ich nun den Befehl prevroom (für Return to game)
nutze, sokommt der Charakter zwar in den vorherigen Raum,
allerdings in der Größe und in der Position, die er im meinem Menü hatte!
Im alten Raum ist da allerdings keine WalkArea mehr und so ist alles umsonst! Wie umgehe ich diese Problem?
Antworten