Wie sachen mit anderen sachen benutzen?wie tür aufmachen?usw
- pizzafressa
- 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
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!
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!
Nichts wissen macht nichts!
-
- Profi-Abenteurer
- Beiträge: 915
- Registriert: 26.07.2003, 19:10
- Wohnort: Osaka
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
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
- pizzafressa
- Komplettlösungsnutzer
- Beiträge: 38
- Registriert: 17.04.2005, 15:11
- Wohnort: Osnabrück
- Kontaktdaten:
-
- Profi-Abenteurer
- Beiträge: 915
- Registriert: 26.07.2003, 19:10
- Wohnort: Osaka
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Ganz am Anfang des roomscripts:
Use Inventory Item on Hotspot/Object (Tür):
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.
Code: Alles auswählen
int tnv; // tuer nicht verschlossen
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.");
}
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
-
- Profi-Abenteurer
- Beiträge: 915
- Registriert: 26.07.2003, 19:10
- Wohnort: Osaka
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.
- Problem
- Logik-Lord
- Beiträge: 1261
- Registriert: 16.12.2004, 18:35
- Wohnort: Kassel
- Kontaktdaten:
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.
- pizzafressa
- Komplettlösungsnutzer
- Beiträge: 38
- Registriert: 17.04.2005, 15:11
- Wohnort: Osnabrück
- Kontaktdaten:
- TheIncredibleLovis
- Hobby-Archäologe
- Beiträge: 208
- Registriert: 12.04.2005, 18:08
- Wohnort: Hamburg, Regen, Frisur hält!