Hauptmenü

Neuigkeiten:

Bitte unterstützt uns und bestellt über diese Links bei Amazon  oder HumbleBumble!

Dialog-Allgemeine Fragen

Begonnen von Der Kompaniechef, 19. Februar 2012, 14:27:38

Vorheriges Thema - Nächstes Thema

Der Kompaniechef

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)



ZAK

#1
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]
Ich bin mal kurz weg, mich suchen. Wenn ich zurück komme bevor ich wieder da bin, sagt mir bitte das ich warten soll!

Endres

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.



Domi:"irc hab ich mir viren geholt.. icq hab ich nimmer"

Der Kompaniechef

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.

Endres

#4
Du musst die normalerweise eingeschalteten Dialogoptionen erst mit der Checkbox "Show" aktivieren damit der Dialog möglich ist.



Domi:"irc hab ich mir viren geholt.. icq hab ich nimmer"

ZAK

Zitat von: JPJF in 19. Februar 2012, 21:12:37
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.
Ich bin mal kurz weg, mich suchen. Wenn ich zurück komme bevor ich wieder da bin, sagt mir bitte das ich warten soll!

Domi

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
"Das Internet vergisst nie."

KhrisMUC

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.

Domi

Oh, Na dann Vielen dank für die Antwort :)
"Das Internet vergisst nie."

Der Kompaniechef

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?

KhrisMUC

-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]