Wie sachen mit anderen sachen benutzen?wie tür aufmachen?usw

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
pizzafressa
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 38
Registriert: 17.04.2005, 15:11
Wohnort: Osnabrück
Kontaktdaten:

Wie sachen mit anderen sachen benutzen?wie tür aufmachen?usw

Beitrag von pizzafressa »

ich habe jetzt folgen problem:
ich möche einen schlüssel mit einer tür benutzen aber wie?
also ich will in dem inventar einen schlüssel nehmen und auf die tür klicken damit die aufgeht...aber wie? außerdem will ich dass wenn er die tür aufmchen will das dann da steht "abgeschlossen!"....wie?
und dann will ich das die nachicht nnicht mehr angezeigt wird wenn er den schlüssel mit der tür benuzt hast!
Wissen ist Macht.
Nichts wissen macht nichts!
Totoro
Profi-Abenteurer
Profi-Abenteurer
Beiträge: 915
Registriert: 26.07.2003, 19:10
Wohnort: Osaka

Beitrag von Totoro »

Für eine Tür am besten eine Variable für den Room mit der Tür feststehne. Die Variable hat einen Wert der sich verändern kann. Beispielsweise steht die Variable zuerst auf 0, das bedeutet "Tür ist verschlossen". Wenn du dann den Schlüssel mit der Tür benutz hast, setzt du die Variable auf 1, das heißt dann, dass die Tür nicht verschlossen ist.

Hier das Verfahren ohne Scripting (damit hinter nicht wieder behauptet wird, AGS würde ohne Scripting nicht funktionieren)

Unter "Room Editor" klickst du bei deinem Entsprechenden Raum auf das "i" oben. Dann klickst du auf "First Time Player Enters Screen". Dort wählst du Game - Set Variable Value. Dann gibt es zwei buttons unter der Zeile. Du klickst auf den obersten. Dann auf edit varibales. Dann wählst du "Room" aus und New Variable. Der gibts du einen beliebigen Namen (z.B. door). Dann bist du zurück auf Configure parameter und wählst dort oben in der pop-up-box unter ROOM VAR die neue Varibale "Door" aus. Der Standard-Wert auf den die Varibale gesetzt wird ist jetzt erstmal "0". Das heißt, nach unserer Definition, die Tür ist verschlossen.

Nun nimmst du dir deine Tür vor. Die Tür ist entweder ein Objekt oder ein Hotospot. Egal. Du wählst die Interaktionen der Tür. Dann "Use Inventory Item on Hotsport". Darunter "Conditional - if inventory item was used NUMMER" und setzt für die Nummer die Zahl ein, die dein Schlüssel hat. Dann als Folge davon Game - Set Variable Value. Dann wählst du mit dem oberen Button wieder "door" aus und mit dem unteren button setzt du den wert auf "1".

So weit so gut. Nun musst du noch eingeben, was passiert, wenn direkt mit der Tür interagiert wird.
Da setzt du jeweils die Conditional - if a variable is set to a certain value. Dann erst einmal "room" und "0" und dann als Folge, dass eben gesagt wird "Die Tür ist verschlossen". Und dann noch einmal Conditional Value - room - "1" und dann eben die Aktionen, dass du z.B. das neue Objekt mit der Grafik der offenen Tür einfügst bzw. den spieler in den nächsten Raum schickst etc.

Puuuuh... Hoffentlich ist mir jetzt niemand zuvor gekommen.
Und ja, es ginge mit Scripten leichter, aber Scirpten schreckt nun mal viele ab, und ich mag es nicht dass AGS in dem Ruf steht, man könne nur damit arbeiten wenn man scriptet
Benutzeravatar
pizzafressa
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 38
Registriert: 17.04.2005, 15:11
Wohnort: Osnabrück
Kontaktdaten:

Beitrag von pizzafressa »

gib einfach ma scrips biddö....ohne komm ich net klar
Wissen ist Macht.
Nichts wissen macht nichts!
Totoro
Profi-Abenteurer
Profi-Abenteurer
Beiträge: 915
Registriert: 26.07.2003, 19:10
Wohnort: Osaka

Beitrag von Totoro »

Wenn du es erstmal per Hand machst und dabei lernt, was Variablen und so weiter sind, ist es viel praktischer. Die Scriptbefehle werden dabei auch immer automatisch ausgegeben, da kann man sie lernen. Ich hab ehrlich gesagt keine von den Scirpting-Befehlen im Kopf.
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Ganz am Anfang des roomscripts:

Code: Alles auswählen

int tnv;   // tuer nicht verschlossen
Use Inventory Item on Hotspot/Object (Tür):

Code: Alles auswählen

if (player.activeinv==x)
{
  if (tnv==0)
  {
    tnv=1;
    Display("Du schliesst die Tür auf.");
  }
  else
  {
    Display("Die Tür ist nicht verschlossen.");
  }
}
else
{
  Display("Das mit der Tür benutzen? Nee.");
}
Das müsste Dir erstmal weiterhelfen. Auf Dauer wirst Du Dich aber selber davorsetzen und rumprobieren müssen.
Programmiertechnisch gesehen ist deine Frage absolut banal. Bitte erwarte nicht, dass wir Dir bei jedem popligen Problem ausführliche Scripts vorsetzen.
Use gopher repellent on funny little man
Neeree

Beitrag von Neeree »

ach Khrismuc reg dich doch nicht immer so auf.... vielleicht sollte ein anfänger forum für ags hinzugefügt werden dann brauchst du keine dummen fragen mehr zu lesen.
Totoro
Profi-Abenteurer
Profi-Abenteurer
Beiträge: 915
Registriert: 26.07.2003, 19:10
Wohnort: Osaka

Beitrag von Totoro »

Khrismuc regt sich nicht auf, das war eine ganz normale und sachlich formulierte AUssage. Und ein Anfänger-Forum, in dem dann keiner von den Leuten liest, die sich mit AGSauskennen, kann ja wohl auch nicht in deinem Sinn sein. Neeree, wenn es dich stört, dass Khrismuc genervt ist, poste deine Fragen zu AGS bitte nicht mehr hier im Board sondern schreib sie mit Filzstift an die Tapete in deinem Zimmer. Dort ist dann niemand im Forum genervt.
Neeree

Beitrag von Neeree »

das war nicht böse gemeint sorry
Wazoo!

Beitrag von Wazoo! »

Ich habe dazu auch noch eine Frage!

Ich will 2 Objekte miteinander benutzen und dabe soll den ein anderes Objekt herauskommen.

Ich möchte aber das man nur EIN bestimmtes Objekt mit dem anderen benutzen kann!

Wie mache ich das?

THX
Benutzeravatar
Problem
Logik-Lord
Logik-Lord
Beiträge: 1261
Registriert: 16.12.2004, 18:35
Wohnort: Kassel
Kontaktdaten:

Beitrag von Problem »

Code: Alles auswählen

if character[GetPlayerCharacter()].activeinv==5 {
//hier dein code
}

Diese kurze If-Abfrage prüft z.B., ob der aktuelle Spielercharacter momentan das Inventory-Item 5 benutzt.

Das musst du nur an der entsprechenden Stelle einfügen.
Benutzeravatar
pizzafressa
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 38
Registriert: 17.04.2005, 15:11
Wohnort: Osnabrück
Kontaktdaten:

Beitrag von pizzafressa »

irgendwie bekomm ich das mit den varialblen net hinne
Wissen ist Macht.
Nichts wissen macht nichts!
Benutzeravatar
TheIncredibleLovis
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 208
Registriert: 12.04.2005, 18:08
Wohnort: Hamburg, Regen, Frisur hält!

Beitrag von TheIncredibleLovis »

pizzafressa hat geschrieben:irgendwie bekomm ich das mit den varialblen net hinne
was kriegst du denn damit nicht hin?

bitte etwas deutlicher okay?
Antworten