Autor Thema: Inventar benutzen in bestimmten Räumen  (Gelesen 2331 mal)

Der Kompaniechef

  • volljähriger Tentakel
  • *****
  • Beiträge: 689
    • Profil anzeigen
Inventar benutzen in bestimmten Räumen
« am: 20. April 2012, 13:50:15 »
Moin,
ich möchte das man zwei Gegnstände im Inventar miteinander benutzt. Die beiden Gegenständen sollen aber nur in einen bestimmten Raum die Aktion durchführen. In den anderen Räumen soll bei der Benutzung der Satz gesagt werden: Das bringt es nicht in diesem Raum.
Wie kann sowas bei AGS 3.1 am einfachsten programmieren?
MfG JPJF

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 988
    • Profil anzeigen
Re: Inventar benutzen in bestimmten Räumen
« Antwort #1 am: 20. April 2012, 20:00:11 »
[ags]    if (player.Room == 12) {
      ...
      ...
    }
    else player.Say("Das bringt es nicht in diesem Raum.");[/ags]

Der Kompaniechef

  • volljähriger Tentakel
  • *****
  • Beiträge: 689
    • Profil anzeigen
Re: Inventar benutzen in bestimmten Räumen
« Antwort #2 am: 24. April 2012, 16:49:37 »
Danke!
Hab noch eine Frage.
Ich will das mein Char(den man spielt) den Spieler eine Frage stellt. Es sollen drei Antworten möglich sein.
Das Problem wenn ich es durch einen normalen Dialog mache (sehe berno pack /muster) fragt und antwortet gleichzeitig der spielbare Char.
Ich möchte aber das mein Char nicht spricht beim fragen stellen sondern nur antwortet.
Ich habe schon versucht den haken bei sprechen weg zumachen, das Problem ist aber dann das beim Antworten das sprechen auch nicht gezeigt wird. Der Efekt soll sein das der Spieler antwortet und der spielbare Char antwortet.
Hoffe ihr wisst was ich meine.

ps. rechtschreibfehler könnt ihr behalten und keine sprüche alla biwi
mfg JPJF

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 988
    • Profil anzeigen
Re: Inventar benutzen in bestimmten Räumen
« Antwort #3 am: 25. April 2012, 10:10:25 »
Nimm irgendeinen Charakter, den Du nicht woanders verwendest, z.B. cDave:

[ags]  cDave.Transparency = 100;
  cDave.ChangeRoom(player.Room, player.x, player.y-80);
  cDave.SetAsPlayer();
  dDialogSpieler.Start();[/ags]

Jetzt kann sich der Spieler in der Rolle von Dave mit dem eigentlich spielbaren Charakter ganz normal unterhalten, als wäre dieser ein NPC.
Am Ende des Dialogs, vor "stop", machst Du das Ganze rückgängig:

[ags]Bernard: Alles klar, ich mach dann mal weiter.
 cBernard.SetAsPlayer();
 cDave.ChangeRoom(-1);
stop[/ags]

Der Kompaniechef

  • volljähriger Tentakel
  • *****
  • Beiträge: 689
    • Profil anzeigen
Re: Inventar benutzen in bestimmten Räumen
« Antwort #4 am: 25. April 2012, 15:15:35 »
Danke! werde ich bald testen!
Danke khrisMUC für deine Hilfe