Helft Potato-Sätze-verschwinden und auftauchen lassen

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Das Problem bei diesen Sachen ist immer, dass es bei mir in 99% der Fälle völlig anstandslos funktioniert und dass der Fragesteller irgendwas an seiner Maschine übersehen hat.

Spiel das Midi mal mit dem Windows Media Player ab, denn AGS nutzt die gleiche "Plattform" zur Musikwiedergabe.

Und check mal bei den Lautstärkereglern von Windows die Midi-Einstellung, der Media Player hat nämlich die seltsame Angewohnheit, die Lautstärke des Synth-Channels auf 0 zu stellen, nachdem er ein Midi abgespielt hat.
Use gopher repellent on funny little man
Benutzeravatar
Potato
Süßwasserpirat
Süßwasserpirat
Beiträge: 449
Registriert: 16.04.2007, 17:01
Wohnort: Allgäu
Kontaktdaten:

Beitrag von Potato »

yo hab ich abgespielt funktioniert,die Lautstärke des Synth-Channels wurde auf 0 gesetzt,hab sie hoch und geht immer noch net :cry:

edit: in dem verzeichniss von der save datei war ein "neuer ordner":
ich hab versucht ihn zu löschen oder auszuschneiden aber dann kommt immer: explorer.exe hat ein problem festgestellt...

bei den anderen ordneren (z.b. music) kommt das auch. hat das was vielleicht damit zu tun?
Es Lebe Monkey Island
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Joooaaaaa, das KÖNNTE etwas damit zu tun haben... ;)
Ich mein, wenn Deine Festplatte langsam den Geist aufgibt, wundert's mich nicht =)

Vielleicht mal neustarten, dann nochmal probieren, den Ordner zu löschen. Wenns immer noch nicht geht, dann schonmal "bis in zwei Wochen!" ;)
Use gopher repellent on funny little man
Benutzeravatar
Potato
Süßwasserpirat
Süßwasserpirat
Beiträge: 449
Registriert: 16.04.2007, 17:01
Wohnort: Allgäu
Kontaktdaten:

Beitrag von Potato »

also das problem ist nur im ags ordner...
neustart half auch nicht und die festplatte ist nur ein jahr alt

hab den neuen ordner entfernt, indem ich ihn"rausgezogen" hab

edit: kann jetzt wieder in den ordnern "rumkopieren" der ags ordner war schreibgeschützt", nach dieser tat kommt jetzt die musik in jedem raum die nrmal auf scabb kommt
ich probier mal noch ein bissle rum

EDIT2: *yahooo* es geht:
ich hab jetzt alles "nicht schreibgeschützt" gemacht dann die .mid datei music3.mid genannt und dann die zahl drei eingegeben (2 war auch ein standart)
Es Lebe Monkey Island
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

standarD

Cool, dass jetzt alles klappt.
Und schreibgeschütze Dateien sind der Feind. ;)
Use gopher repellent on funny little man
Benutzeravatar
Potato
Süßwasserpirat
Süßwasserpirat
Beiträge: 449
Registriert: 16.04.2007, 17:01
Wohnort: Allgäu
Kontaktdaten:

Beitrag von Potato »

KhrisMUC hat geschrieben:
2+3. Mit Variablen. Soll etwas im gleichen Raum auftauchen oder verschwinden, reicht es, z.B. oStein.Visible=true; zu benutzen, um den Stein erscheinen zu lassen.
Muss es in einem anderen Raum geschehen, definiere eine Variable am Anfang des global scripts, z.B. so:

Code: Alles auswählen

int stein;
export stein;
Im script header:

Code: Alles auswählen

import int stein;
stein ist jetzt eine globale Variable, d.h. sie kann von überall verwendet werden.

Soll der Stein auftauchen, benutzt Du

Code: Alles auswählen

stein=1;
und kannst jetzt im "player enters screen (before fadein)" des anderen Raumes sowas hier benutzen:

Code: Alles auswählen

if (stein) oStein.Visible=true;
else oStein.Visible=false;
und mit den dialogen?
Zuletzt geändert von Potato am 27.04.2007, 13:03, insgesamt 1-mal geändert.
Es Lebe Monkey Island
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

im Dialog:

Code: Alles auswählen

run-script 1
im Menü von AGS: Script -> dialog_request
Dann in die Funktion reinschreiben:

Code: Alles auswählen

if (parameter==1) stein=1;
Dass ist generell der Zweck von dialog_request; mit Hilfe der Funktion kann ich mitten in einem Dialog normalen AGS-Skriptcode ausführen.

run-script x bewirkt, dass dialog_request(x) aufgerufen wird; innerhalb der Funktion erhält der int parameter den Wert von x.
Somit kann ich unterschiedlichen Code ausführen, indem ich in der Funktion parameter abfrage.
Use gopher repellent on funny little man
Benutzeravatar
Potato
Süßwasserpirat
Süßwasserpirat
Beiträge: 449
Registriert: 16.04.2007, 17:01
Wohnort: Allgäu
Kontaktdaten:

Beitrag von Potato »

ne ich will das man zum beispiel erst mit CHARACTER A redet und wenn man die antwort 2 im dialog 1 ausgewählt hat erscheint antwort 4 im dialog 8 bei person B
Es Lebe Monkey Island
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Wie ich sagte,
Dass ist generell der Zweck von dialog_request; mit Hilfe der Funktion kann ich mitten in einem Dialog normalen AGS-Skriptcode ausführen.
Also in Dialog 1:

Code: Alles auswählen

...
@2
...
run-script 5
return
...
Dann im global script in der dialog_request-funktion:

Code: Alles auswählen

  if (parameter==5) {    // ausgelöst durch "run-script 5"
    dDialog8.SetOptionState(4, eOptionOn);
  }
Use gopher repellent on funny little man
Benutzeravatar
Potato
Süßwasserpirat
Süßwasserpirat
Beiträge: 449
Registriert: 16.04.2007, 17:01
Wohnort: Allgäu
Kontaktdaten:

Beitrag von Potato »

ja, baer vorher muss es weg sein.
also hab ich im start script eingegeben

Code: Alles auswählen

dName8.SetOptionState(4, eOptionOff);
und dann ins dialog_request:

Code: Alles auswählen

  if (parameter==5) {    // ausgelöst durch "run-script 5"
    dName8.SetOptionState(4, eOptionOn);
  }
und das:
in den dialog 1:

Code: Alles auswählen

...
@2
...
run-script 5
return
...
aber jetzt kommt die antwort nicht
woran liegt das. was hab ich falsch gemacht?[/code]
Es Lebe Monkey Island
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Prinzipiell nicht, aber theoretisch kann der Fehler an etlichen Stellen sitzen. Poste doch mal deine komplette dialog_request-Funktion und das komplette Dialogskript.

Um eine Option nicht von Anfang an zu zeigen, brauchst Du sie nicht in game_start ausschalten, nimm einfach hinter der Option den Show-Haken raus ;)
Use gopher repellent on funny little man
Benutzeravatar
Potato
Süßwasserpirat
Süßwasserpirat
Beiträge: 449
Registriert: 16.04.2007, 17:01
Wohnort: Allgäu
Kontaktdaten:

Beitrag von Potato »

wenn ich den show hacken raus nehme gehts au net
dialog_request:
Das Wesentliche steht fast ganz unten

Code: Alles auswählen



#sectionstart dialog_request  // DO NOT EDIT OR REMOVE THIS LINE
function dialog_request(int parameter) {
    dSTAN1.SetOptionState(1, eOptionOff);
      if (parameter==5) {    // ausgelöst durch "run-script 5"
    dSTAN1.SetOptionState(1, eOptionOn);
  }
}
#sectionend dialog_request  // DO NOT EDIT OR REMOVE THIS LINE

nicht wundern es ist nicht dialog 8 sondern Stan1

und der dialog:

Code: Alles auswählen


// dialog script file
@S  // dialog startup entry point
EGO: *****
STAN: ***
option-off 1
return
@1  // option 1

STAN: ******* *
STAN: **
STAN: ***
STAN:  *****
STAN: ******************************
STAN: ****
EGO: ******
STAN: ***
goto-dialog 7
@2  // option 2
STAN: ****
option-off 2
return
@3  // option 3
STAN: ********
STAN: ******
STAN: ******
option-off 3
goto-dialog 9
@4  // option 4
STAN: ***
option-off 4
return
@5  // option 5
STAN: ********
EGO: ********
stop
und der benörtigte Dialog:

Code: Alles auswählen

// dialog script file
@S  // dialog startup entry point
return
@1  // option 1
AG: ************
run-script 5 
goto-dialog 5
@2  // option 2
AG: ******
AG: ************
AG: ******
AG: ****
option-off 4
return
Zuletzt geändert von Potato am 03.05.2007, 22:32, insgesamt 1-mal geändert.
Es Lebe Monkey Island
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Wenn Du selber was ausprobierst, und es funktioniert nicht, musst Du die Codezeilen aber schon wieder rausnehmen... ;)

Code: Alles auswählen

// dialog script file
@S  // dialog startup entry point
EGO: *****
STAN: ***
option-off 1       <<<<< raus damit
return
@1  // option 1

STAN: ******* *
STAN: **
...
Sonst wird Option 1 bei jedem Aufruf des Dialogs ausgeschaltet. Kein Wunder, dass sie nie aufgetaucht ist.

Und die dialog_request reicht so:

Code: Alles auswählen

#sectionstart dialog_request  // DO NOT EDIT OR REMOVE THIS LINE
function dialog_request(int parameter) {
  if (parameter==5) {    // ausgelöst durch "run-script 5"
    dSTAN1.SetOptionState(1, eOptionOn);
  }
}
#sectionend dialog_request  // DO NOT EDIT OR REMOVE THIS LINE
Btw, es heißt "HaKen", und bitte editier den ellenlangen Post und nimm den ganzen global-script-Kram raus, ich wollte nur die dialog_request-Funktion sehen.
Use gopher repellent on funny little man
Benutzeravatar
Potato
Süßwasserpirat
Süßwasserpirat
Beiträge: 449
Registriert: 16.04.2007, 17:01
Wohnort: Allgäu
Kontaktdaten:

Beitrag von Potato »

ah klar hät selber noch draufkommen müssen :oops:
mein PC hat sich bloß nach dem speichern aufgehängt und ich hab gedacht es hätte das nicht mehr gespeichert
thx
Es Lebe Monkey Island
Antworten