Gegenstände abgeben

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

Gegenstände abgeben

Beitrag von Gruva »

Mahlzeit.

Habe mir heute von der AGS Homepage die Version 2.62 heruntergeladen. Habe dann den Anweisungen aus dem Tutorial von dieser HP gefolgt und meine ersten Erfahrungen mit dem Programm gemacht. Klappte soweit auch ganz gut. Nur ... habe jetzt nen Problem: Wie kann ich es machen, dass jenachdem welchen Gegenstand man aus dem Inventar an eine 2. Person abgibt, andere Texte eingeblendet werden?

Würde mich über ne baldige Antwort sehr freuen ...

Könnte mir auch vorstellen, dass solche und ähnliche Fragen nerviger "Neuer" hier schon beantwortet wurden. Deswegen würde mir auch nen Link dazu reichen.

Naja und wenn mir jemand noch ein paar weitere Tutorials vorschlagen kann .. wäre auch sehr nett!

Vielen Dank im vorraus!
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Im Auswahlmenü musst Du auf 'Characters' klicken, dann in der Liste auf die 2. Person.
Jetzt klickst Du rechts auf den 'Interaction'-Button, im Fenster Doppelklick auf 'Use inventory on character'.
Als action wählst Du jetzt 'Conditional - If an inventory item was used' und stellst dann mit dem 'Change'-Button die entsprechende Nummer ein.
Alle folgenden child actions werden nur ausgeführt, wenn Du auch das entsprechende inventory item übergeben hast.

Im Skript sähe das so aus ('Run script' statt 'Conditional - If...'):

Code: Alles auswählen

if (player.activeinv == x)
{
  LoseInventory(x);
  ...
}
else if (player.activeinv == y)
{
  LoseInventory(y);
  ...
}
Ich hoffe, das hilft Dir weiter
Use gopher repellent on funny little man
Benutzeravatar
Gremlin
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 132
Registriert: 24.08.2003, 16:36
Wohnort: Karken
Kontaktdaten:

Beitrag von Gremlin »

Eine Frage, könnte man dann nicht:

Code: Alles auswählen

LoseInventory(player.activeinv);
if (player.activeinv == x)
{
 // Ich kenn nichtmal den Code für Charakterbezogene Nachrichten ;)
}
if (player.activeinv == y)
{
 // Ich kenn nichtmal den Code für Charakterbezogene Nachrichten ;)
}
schreiben?
Man würde pro Gegenstand eine Zeile Code (minus eine insgesamt) sparen.
Gruva
Frischling
Frischling
Beiträge: 1
Registriert: 21.03.2005, 11:33
Wohnort: Bochum

Beitrag von Gruva »

Also erstmal dankeschön für die Lösungen. :D Habe das dann nach dem ersten Vorschlag gemacht. Klappt auch sehr gut. Den zweiten habe ich (noch) nicht ausprobiert.

Dann nochmal ne Frage wegen den Tutorials .. also habe gesehen, dass hier immer wieder welche Vorgeschlagen werden. Wie wäre es, wenn man speziell für die Anfänger ne Ecke einrichtet, auf denen nen paar Tipps und Links zu guten Tutorials gegeben werden. Internetseiten auf denen sie (mich eingeschlossen) dann zunächst erstmal gucken könnten, bevor sie mit jeder Kleinigkeit hier ins Forum kommen?? Wo vielleicht auch ein paar Grundbegriffe geklärt werden ... die wichtigsten Scriptbefehle gut zusammengefasst sind???

Also ich würde sowas nicht schlecht finden ... oder gibt es das schon? Bin ich so verdammt blind??
podthepunk
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 122
Registriert: 15.02.2005, 14:59

Beitrag von podthepunk »

http://www.sinitrena.de.vu

das ist Sinitrenas Seite. Sie ist gerade dabei, einiges zusammen zu suchen was mit AGS und Tutorials dazu etc. zu tun hat.
Auf jeden fall was für dich dabei.
Ich könnte die Übersetzung der AGS Helpfile dort sehr empfehlen (aber ich will ja keine Werbung in eigener Sache machen :D ).
Ansonsten gibts noch auf der Adventure Treff Haupseite einen Tutrial Bereich.

Schau auf jeden fall mal rein!!!
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Gremlin hat geschrieben:Eine Frage, könnte man dann nicht:

Code: Alles auswählen

LoseInventory(player.activeinv);
if (player.activeinv == x)
{
 // Ich kenn nichtmal den Code für Charakterbezogene Nachrichten ;)
}
if (player.activeinv == y)
{
 // Ich kenn nichtmal den Code für Charakterbezogene Nachrichten ;)
}
schreiben?
Man würde pro Gegenstand eine Zeile Code (minus eine insgesamt) sparen.
In diesem Fall ja, aber angenommen, man nutzt den Code, um auf jeden ausprobierten Gegenstand eine unterschiedliche Antwort zu erzeugen: Dann würde ein Gegenstand, den die 2.Person garnicht haben will, aus dem Inventar verschwinden.
Deswegen ist es sicherer, erst den Gegenstand abzufragen und ihn dann ggf. verschwinden zu lassen.
Use gopher repellent on funny little man
Benutzeravatar
Gremlin
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 132
Registriert: 24.08.2003, 16:36
Wohnort: Karken
Kontaktdaten:

Beitrag von Gremlin »

Also für sowas wie die Grün-Szene aus Maniac Mansion reicht es ja dann (Müllschlucker) ;)


edit: Argh, eigentlich wollte ich gar nicht posten, blöde Shortcuts ;)
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Der Punkt ist nur, dass jedes Item verschwinden würde, dass man der anderen Person gibt.
Wenn ich das Item aber danach an anderer Stelle noch benutzen müsste, wäre ich jetzt in einer Sackgasse. Und die Sierra-Zeiten sind ja Gott-sei-Dank vorbei.

Ich will nicht klugscheißern, wollt's nur gesagt haben der Vollständigkeit wegen :D
Use gopher repellent on funny little man
Benutzeravatar
Gremlin
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 132
Registriert: 24.08.2003, 16:36
Wohnort: Karken
Kontaktdaten:

Beitrag von Gremlin »

Man könnte dann noch ein wenig Code sparen, indem man sowas wie:

Code: Alles auswählen

abgebbar == 0;
if (player.activeinv == x)
{
  // Was passieren soll
  abgebbar == 1;
}

if (player.activeinv == y)
{
  // Was passieren soll
  // y soll nicht abgegeben werden.
}

if (abgebbar == 1)
{
  LoseInventory(player.activeinv);
}

// ist das eigentlich die Syntax für Kommentare!?
schreibt, das rentiert sich aber erst bei langen Inventarlisten, sehr langen ;)</klugscheiss></rat>
Edit: Ich sehe, schon bei 5 Gegenständen hat man die Zeilen wieder drin, glaube ich :)

Edit2:
Bin ich dumm/verpeilt...
Man kann ja einfach im Ausgangscode LoseInventory(player.activeinv); rauslassen :roll:
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

So isses :)
Use gopher repellent on funny little man
Antworten