dialog problem ohne scripting

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Sonim

dialog problem ohne scripting

Beitrag von Sonim »

ich habe zwei charaktere und ein problem.
so siehts bei mir aus:
Bild

und der dialog(3) so:

Code: Alles auswählen

// dialog script file
@S  // dialog startup entry point

@1  // option 1
ego:What else? You got your damn remote control!
alien:I need batteries.
alien:It's a long trip to my home planet.
ego:...
ego:But there are batteries in it!
alien:I need some for my MP3 player!
ego:...
ego:Are you going away then?
alien:...
alien:Sure! I promise! Really!
ego:Okay then, slimeball.
ego:If not I will...
alien:...take your shotgun and blast my head off, I know.
ego:Damn right.
ego:I go get the batteries now.
return
tja. resultat ist, dass der erst message(68 ) ausspuckt und dann ne endlosschleife von dialog(3) startet.

ich habe echt keinen plan. hülfää!
und kofutius...mit dem manual kann ich da nix machen :P

peace!
Smiley
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 163
Registriert: 28.04.2005, 16:26
Wohnort: Mönchengladbach

Re: dialog problem ohne scripting

Beitrag von Smiley »

änder mal das:

Code: Alles auswählen

return
in das:
Benutzeravatar
Sonim
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 58
Registriert: 11.05.2005, 21:11
Wohnort: In China neben Japan
Kontaktdaten:

Beitrag von Sonim »

okay. danke..hatte da früher noh ne 2. option drin..mist.

ABER: trotzdem zeigt mir der ZUERST immer die message(68 ) an...ich kapier das nicht, wie immer..
Meine Oma fährt im Hühnerstall Motorrad.
Smiley
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 163
Registriert: 28.04.2005, 16:26
Wohnort: Mönchengladbach

Beitrag von Smiley »

Sonim hat geschrieben:okay. danke..hatte da früher noh ne 2. option drin..mist.

ABER: trotzdem zeigt mir der ZUERST immer die message(68 ) an...ich kapier das nicht, wie immer..
Nur Weicheier lesen Handbücher!

zu run_dialog:
NOTE: The conversation will not start immediately; instead, it will be run when the current script function finishes executing.
Benutzeravatar
Sonim
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 58
Registriert: 11.05.2005, 21:11
Wohnort: In China neben Japan
Kontaktdaten:

Beitrag von Sonim »

die bemerkung war schon nen bisschen spitz, denkste nicht? ich fange grad mal an mit AGS klar zu kommen und habe (bis auf dialog) noch viel zu viel respekt vor dem skript gehabt. ich finde das rechtfertigt, dass ich da nicht sofort denke "klar run-dialog! da muss ich jetzt ins handbuch kucken und hab's..is ja viel zu leicht.". also...

du hast auch mal ganz klein angefangen, junge :lol:

peace und trotz allem danke!
Meine Oma fährt im Hühnerstall Motorrad.
Smiley
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 163
Registriert: 28.04.2005, 16:26
Wohnort: Mönchengladbach

Beitrag von Smiley »

Sonim hat geschrieben:die bemerkung war schon nen bisschen spitz, denkste nicht?
*hust* nö, war Ernst gemeint...Handbücher sind was für kleine Kinder und Frauen :twisted:
ich fange grad mal an mit AGS klar zu kommen

Ich auch...
und habe (bis auf dialog) noch viel zu viel respekt vor dem skript gehabt.

Fehler! Das Skript muss Respekt vor dir bekommen...nicht umgekehrt :lol:
ich finde das rechtfertigt, dass ich da nicht sofort denke "klar run-dialog! da muss ich jetzt ins handbuch kucken und hab's..is ja viel zu leicht.". also...
Wie gesagt, Handbücher sind was für Luschen...manchmal könnte der ein oder andere Blick hinein schon helfen...
du hast auch mal ganz klein angefangen, junge
Unhaltbare Mutmassungen!

Ach ja...zu deinem Problem:
Müsste funktionieren, wenn du das Conditional rausnimmst, und neu unten anfügst...
Benutzeravatar
Sonim
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 58
Registriert: 11.05.2005, 21:11
Wohnort: In China neben Japan
Kontaktdaten:

Beitrag von Sonim »

:shock: DROGÖÖÖN !!!

DAS conditional:

Code: Alles auswählen


if pups-variable hat gasmenge (had_that, 1)...
???
Meine Oma fährt im Hühnerstall Motorrad.
Benutzeravatar
Sonim
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 58
Registriert: 11.05.2005, 21:11
Wohnort: In China neben Japan
Kontaktdaten:

Beitrag von Sonim »

wer hat ^ das geschrieben? :^o

ich probier's einfach mal eben...
Meine Oma fährt im Hühnerstall Motorrad.
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Also:
AGS checkt, ob had_that 0 ist. Stimmt, had_that=0
-> Run Dialog(3) wird "ausgeführt" (nicht sofort, sondern am Ende des Skripts, daher Problem 1)
-> hat_that wird auf 1 gesetzt.

AGS checkt, ob had_that 1 ist. Stimmt, had_that=1 (Problem 2)
-> Message 68 wird angezeigt.

Skriptende
Jetzt wird RunDialog(3) ausgeführt.
--------------------------------------------------------
Lösung von Problem 2:
AGS muss erst prüfen ob had_that 1 ist.
Danach, ob had_that 0 ist.
Sonst werden beide Bedingungen sofort erfüllt, da sie sich nicht ausschließen, sondern bloss nacheinander abgefragt werden.

Das ganze als Script würde so aussehen (AGS 2.7):

Code: Alles auswählen

cEgo.Walk(215, 170, eBlock);
cEgo.FaceLocation(300, 170);
if (alientalk==0)
{
  DisplayMessage(29);
  alientalk=1;
}
if (remotegive==1)
{
  if (had_that==0)
  {
    had_that=1;
    RunDialog(3);
  }
  else if (had_that==1)
    DisplayMessage(68);
}
if (remotegive==0)
  RunDialog(1);
Am Anfang des roomscripts muss dann noch rein:

Code: Alles auswählen

int alientalk;
int had_that;
int remotegive;
Use gopher repellent on funny little man
Benutzeravatar
Sonim
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 58
Registriert: 11.05.2005, 21:11
Wohnort: In China neben Japan
Kontaktdaten:

Beitrag von Sonim »

ah ja...is ja lieb gemeint, aber...

ich zitier mich mal selber:
ich fange grad mal an mit AGS klar zu kommen und habe (bis auf dialog) noch viel zu viel respekt vor dem skript gehabt.

bevor ich da irgendwas ändere:
kann ich, nachdem ich das global-script editiert habe, mit diesen VB hilfs-menüs weitermachen?

wenn nicht pack ich gar nix an.
(ich verstehe das problem aber und deswegen danke.)

peace
Meine Oma fährt im Hühnerstall Motorrad.
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Sonim hat geschrieben:bevor ich da irgendwas ändere:
kann ich, nachdem ich das global-script editiert habe, mit diesen VB hilfs-menüs weitermachen?
Äh, wie jetzt? Wie Global_script editieren? Was für VB hilfs-menüs?

Ich wollte nur mal zeigen, dass scripten nicht so schwer ist, wie man vielleicht glaubt. Du siehst ja selbst, dass das Script eine 1:1 Umsetzung deiner Baum-Struktur ist.

Die Schwierigkeit beim Programmieren ist das logische Grundverständnis, und das hast Du ja offensichtlich. Ob Du jetzt Bausteine aneinandersetzt oder Wörter tippst, ist doch egal.
Use gopher repellent on funny little man
Benutzeravatar
Sonim
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 58
Registriert: 11.05.2005, 21:11
Wohnort: In China neben Japan
Kontaktdaten:

Beitrag von Sonim »

okay...dann mach ich das jetzt. ich kann ja Flash Actionscript, aber irgendwie hab ich immer n bisschen Schiss vor neuen Sachen. Ich denk da immer : ööööhhh wieder ne neue syntax..! aber ich hab gesehen, die is ziemlich ähnlich. okay, konfutius..überredet. jetz brauch ich nur noch ne hilfe wo ich was reinschreibe..aber da weiß ich ja was zu tun ist. dein smiley wohl auch :wink:

peace und out.
Meine Oma fährt im Hühnerstall Motorrad.
Benutzeravatar
Sonim
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 58
Registriert: 11.05.2005, 21:11
Wohnort: In China neben Japan
Kontaktdaten:

Beitrag von Sonim »

ach und chris!

du hast die {} klammern in der "else if"- und der letzten "if"-schleife vergessen! :wink:

ach ja ..und hab ich derwähnt, dass ich mine-sweeper hasse? :lol:

peace!
Zuletzt geändert von Sonim am 12.05.2005, 01:13, insgesamt 1-mal geändert.
Meine Oma fährt im Hühnerstall Motorrad.
Totoro
Profi-Abenteurer
Profi-Abenteurer
Beiträge: 915
Registriert: 26.07.2003, 19:10
Wohnort: Osaka

Beitrag von Totoro »

Er ja offensichtlich auch, wenn man den Avatar anguckt. Ich fand seine alte Eule früher klasse, aber mich fragt ja keiner :wink:

Edit: Ich sollte wohl lieber still sein, ich habe im Ags-Forum ein rosa Kaninchen als Avatar...
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Die {}-Klammern sind in dem Fall nicht nötig, da nur ein Befehl ausgeführt wird.
Sie dienen nur dazu, mehrere Befehle zu einem Block zusammenzufassen.
Gegenbeispiel:

Code: Alles auswählen

if (a==1)
Display("Bu");
Display ("Bä");
Jetzt wird "Bä" immer angezeigt, auch wenn a nicht 1 ist.

Du hasst Minesweeper?! Am Ende magst Du auch Solitaire nicht ;)

PS: rechts oben bei deinen Posts gibt es einen Edit-Button, dann musst Du nicht zweimal hintereinander posten.

Edit: Die Eule war übrigens Coo aus Kirby's Dreamland 2. Sehr geiles Spiel für den guten alten Gameboy.
Der Minesweeper-Avatar entstand, weil ich tatsächlich beim Spielen in diese Situation geraten bin. Ich hab allerdings zu spät festgestellt, dass das ein super Avatar wäre und musste es in PSP nachpixeln...
Aber es hat halt perfekt zu den vielen noobs gepasst, die damals das Forum überfallen haben nach dem Motto "Bevor ich selber rumprobiere und dann was nicht gleich klappt, mach ich lieber 10 neue threads mit blöden Fragen auf".
Zuletzt geändert von KhrisMUC am 12.05.2005, 01:19, insgesamt 2-mal geändert.
Use gopher repellent on funny little man
Antworten