Maniac Mansion Mania Forum
MMM-Werkzeugkiste => Technik => Thema gestartet von: Der Kompaniechef am 19. Februar 2012, 14:27:38
-
Moin!,
hab ne Frage über Dialoge.
Ich möchte folgendes:
1. Wenn man den Dialog benutzt hat soll er verschwinden.
2. Ich möchte wenn man einen Dialog benutzt das neue hinzukommen.(Dialog-Rätsel)
Ich benutze AGS 3.1 und das Berno-Pack
Brauche diese Infos um ein kleines Spiel für Privat zu erstellen(Kein MMM Game)
-
Zu 1:
[ags]
// Dialog script file
@S // Dialog startup entry point
dialogCounter = 0;
@1
Bernard: BlaBla.
option-off 1
return
@2
Bernard: BlaBla.
option-off 2
return
@3
Bernard: BlaBla.
option-off 3
return
@4
Bernard: BlaBla.
stop
[/ags]
-
Da gibts natürlich genauso auch option-on, also einfach alle optionen die es je geben kann in den Dialog rein und manche unsichtbar schalten, dann mit option-on nummer an der jeweiligen Stelle anschalten.
-
Hab schon ein Fehler mein Code:
Dialog 1:
// empty dialog script
@1 // option 1
ED: bla
return
@2 // option 2
ED: bla
ED: bla
option-off 3
return
@3 // option 3
ED: bla
stop
Fehlermeldung: DoDialog: All options have been turn off.
-
Du musst die normalerweise eingeschalteten Dialogoptionen erst mit der Checkbox "Show" aktivieren damit der Dialog möglich ist.
-
Hab schon ein Fehler mein Code:
Dialog 1:
// empty dialog script
@1 // option 1
ED: bla
return
@2 // option 2
ED: bla
ED: bla
option-off 3 <-------- option-off 2
return
@3 // option 3
ED: bla
stop
Fehlermeldung: DoDialog: All options have been turn off.
-
Kleine Frage:
Was bedeutet denn dialogCounter = 0; ?
Davon hab ich nämlich noch nichts gehört.
Würde mich interressieren was dies tut.
Lg Domi
-
Damit wird die globale Variable dialogCounter auf 0 gesetzt.
Der Sinn erschließt sich mir auch nicht wirklich, mit der Frage von JPJF hat das jedenfalls nix zu tun.
Bei Dialogrätseln verwendet man übrigens häufig mehrere Dialoge, die sich gegenseitig aufrufen.
-
Oh, Na dann Vielen dank für die Antwort :)
-
Moin,
wollte was anderes fragen.
Also ich möchte ein objekt in raum x durch ein aktion in raum y ausschalten.
Kann mir einer sagen wie ich sowas scripten kann?
-
-globale Variable anlegen
-in Raum y nach der Aktion die Variable verändern
-in Raum x (before fadein) die Variable checken und ggf. Objekt ausschalten
Mit einer neueren AGS-Version kannst Du die globale Variable im Editor anlegen (Projektbaum -> Global variables)
Nimm als typ "bool" oder "int" und setz "initial value" auf 0.
Ich nenne die Variable für mein Beispiel mal "objekt_aus".
Falls Du noch mit einer alten AGS-Version arbeitest:
[ags]// im header
import int objekt_aus;
// ganz oben im Global script
int objekt_aus;
export objekt_aus;[/ags]
Raum y, Aktion:
[ags] ...
objekt_aus = 1;
...[/ags]
Raum x, before-fadein/room_Load
[ags] if (objekt_aus) oObjekt.Visible = false;[/ags]