hilfe zu script befehl(en)

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
JoeStrummer
Frischling
Frischling
Beiträge: 1
Registriert: 01.09.2006, 15:55

hilfe zu script befehl(en)

Beitrag von JoeStrummer »

hallo!

ich habe mir letztens AGS heruntergeladen, habe schon alle räume und figuren fertig etc. und bin auch mit den tutorials soweit gut zurecht gerkommen.
allerdings habe ich nun einen kleinen hänger und komme nicht weiter. :/

ich möchte gerne in mein adventure einbauen, dass der spieler-charakter mit jemandem spricht und wenn er option 3 nimmt, der spieler von demjenigen ein item bekommt. bei einer anderen person soll man ein item an jemanden benutzen und bekommt dafür ein anderes item.
und wenn der spieler dann die benötigten items alle im inventar hat soll erst dann der spieler mit dem wächter einen dialog führen können.

ich schätze mal, dass man dafür einige script befehle braucht, aber bin aus den tutorials bzw. den ähnlichen fragen und antworten hier im forum nicht schlau geworden :(

bitte helft mir
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Servus!

Wenn Du während eines Dialoges Skriptbefehle ausführen willst, nimmst Du dafür den "run-script x" Befehl.
D.h. im Dialogskript schreibst Du beispielsweise:

...
@3
ego: bla
jemand: blü
run-script 1
ego: Danke!
return
...

Danach gehst Du im Skript-Menü von AGS auf "dialog_request", dann legt AGS im global script genau diese Funktion an.

Dort rein schreibst Du dann:

Code: Alles auswählen

function dialog_request(int var) {
  if (var==1) {      
    player.AddInventory(iGegenstand);
    check++;  // check eins erhöhen für den Wächter
    dDialog.SetOption(3, eOptionOff);   // Gesprächsoption ausschalten
  }
}
Die globale Variable "check", die Du am Anfang des global scriptes deklariert hast, erhöhst Du bei jedem Gegenstand, den der Spieler für den Wächter braucht, um eins.
Du musst natürlich sicherstellen, dass das pro Gegenstand nur einmal geht.

In der "talk to Wächter"-Interaction stünde dann:

Code: Alles auswählen

if (check<3) player.Say("Ich hab noch nicht alle Gegenstände.");
else dWaechter.Start();
Use gopher repellent on funny little man
Antworten