Script

Das Mitmach-Projekt aus dem Maniac-Mansion-Universum.
Antworten
Benutzeravatar
Floyd
Logik-Lord
Logik-Lord
Beiträge: 1088
Registriert: 14.03.2004, 19:59

...

Beitrag von Floyd »

Ich hab mich jetzt noch nicht so mit dem MMM Starterpack beschäftigt, aber kann/darf man GetPlayerCharacter überhaupt verwenden? In diesem Fall gibt es doch gar keinen EGO...
MfG Floyd
Anonymous1

Beitrag von Anonymous1 »

Eigentlich ja, weil du ja von Anfang an festlegen kannst, wer der Hauptcharakter im Spiel ist, dank der Menüleiste.
Daher darf auch die Funktion GetPlayerCharacter() eingesetzt werden.
Benutzeravatar
Floyd
Logik-Lord
Logik-Lord
Beiträge: 1088
Registriert: 14.03.2004, 19:59

...

Beitrag von Floyd »

Das stimmt natürlich :roll: .
Mmh leider weiß ich jetzt auch nicht mehr weiter, mti welcher Version arbeitest du eigentlich?
MfG Floyd
Anonymous1

Beitrag von Anonymous1 »

Habs gelöst!
Musste nur ein Sprite hinzufügen und dann ist er zufrieden.
Dieses Programm ist wie ein Kind, es nörgelt so lange, bis es endlich das bekommt, was es haben wollte.

Vielen Dank nochmal! :D
Killerseven

Beitrag von Killerseven »

Hi leutz !
Danke für die Hilfe hab aber noch ne Frage :oops:
Die Frage passt vielleicht nicht hierrein, wollte aber kein neues Thema aufmachen!
Und zwar:
Wenn ich im 1. Raum eine große Walkablearea mache als beim 2. Raum, ist es so dass der Charakter wenn er im 2. Raum ist auf der Wand laufen kann...
Wie kann ich die Walkablearea die eigentlich nur für den 1. Raum gedacht ist im 2. Raum "auszuschalten"?

Vielen Dank für die Hilfe!!
Benutzeravatar
fireorange
Adventure-Treff
Adventure-Treff
Beiträge: 10618
Registriert: 01.05.2005, 18:03

Beitrag von fireorange »

Killerseven hat geschrieben:Hi leutz !
Danke für die Hilfe hab aber noch ne Frage :oops:
Die Frage passt vielleicht nicht hierrein, wollte aber kein neues Thema aufmachen!
Und zwar:
Wenn ich im 1. Raum eine große Walkablearea mache als beim 2. Raum, ist es so dass der Charakter wenn er im 2. Raum ist auf der Wand laufen kann...
Wie kann ich die Walkablearea die eigentlich nur für den 1. Raum gedacht ist im 2. Raum "auszuschalten"?

Vielen Dank für die Hilfe!!
klick einfach auf den Remove-Button (rotes Kreuz auf grünem Fleck) und dann auf die Walkable-Area. Die verschwindet dann und du kannst ne neue zeichnen. Um dir das zu sparen, kannst du auch erst im Menü auf "new Room" klicken, anstatt beim aktuellen Raum "save room as".
Dieses Programm ist wie ein Kind, es nörgelt so lange, bis es endlich das bekommt, was es haben wollte.
:lol:
Mein Animal-Crossing-Tagebuch bei DKSN.

Entwicklerin von Twine-Stories sowie Mini-Adventures aus der Interactive Short Collection. -> fireorange bei itch.io!

Bäckerin von: Beyond the Edge of Owlsgard, A Twisted Tale, Beyond Shadowgate, Twilight Oracle.

Autorin von Minotaurus in den Sternen und weiteren Büchern (tredition, amazon etc).
Gesammelte Gedichte: frei zugängliches Archiv.
Anonymous1

Beitrag von Anonymous1 »

Don de Nerv ist wieder da!

Diesmal geht es um folgendes.

Wenn der Hauptakteur etwas ausführen will, will ich das Bild wechseln und dann wieder in das voherige Bild wieder zurück.
Wenn ich beim Bild zurückkomme, soll so alles bleiben wie es ist, außer, das bei der Anwendung was ausgelöst wurde, wenn ich z.B. in diesem Raum schon was eingesetzt habe.

Wie lautet der Befehl dazu?
Benutzeravatar
fireorange
Adventure-Treff
Adventure-Treff
Beiträge: 10618
Registriert: 01.05.2005, 18:03

Beitrag von fireorange »

Mulle The Striker hat geschrieben:Don de Nerv ist wieder da!

Diesmal geht es um folgendes.

Wenn der Hauptakteur etwas ausführen will, will ich das Bild wechseln und dann wieder in das voherige Bild wieder zurück.
Wenn ich beim Bild zurückkomme, soll so alles bleiben wie es ist, außer, das bei der Anwendung was ausgelöst wurde, wenn ich z.B. in diesem Raum schon was eingesetzt habe.

Wie lautet der Befehl dazu?

normalerweise müsste das problemlos klappen mit:

NewRoom (character[EGO].prevroom);
Mein Animal-Crossing-Tagebuch bei DKSN.

Entwicklerin von Twine-Stories sowie Mini-Adventures aus der Interactive Short Collection. -> fireorange bei itch.io!

Bäckerin von: Beyond the Edge of Owlsgard, A Twisted Tale, Beyond Shadowgate, Twilight Oracle.

Autorin von Minotaurus in den Sternen und weiteren Büchern (tredition, amazon etc).
Gesammelte Gedichte: frei zugängliches Archiv.
Benutzeravatar
Floyd
Logik-Lord
Logik-Lord
Beiträge: 1088
Registriert: 14.03.2004, 19:59

...

Beitrag von Floyd »

Ich glaube, das ist nicht Mulles Problem.
@ Mulle: Wenn der Charakter etwas im Raum einsetzt, das für den Verlauf wichtig ist, setzt du z.B. Variable 1 auf 1. Bei "Player Enters Screen before FadeIn" fragst du ab, ob die Voraussetzung für die Änderung im Raum erfüllt ist oder nicht (also ob die oben genannte Variable den Wert 1 oder den Wert 0 besitzt). Wahrscheinlich musst du davor noch eine weitere Abfrage machen, die prüft, aus welchem Raum der Charakter kommt. Dies kannst du ebenfalls über eine Variable lösen.
MfG Floyd
Anonymous1

Beitrag von Anonymous1 »

Wie genau mache ich das?
Kannst du mir den Script nennen?
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Wenn ich das richtig verstanden habe, geht es darum, einen gewissen Zustand von etwas im Raum aufrechtzuerhalten, auch wenn dieser verlassen und dann wieder betreten wird.
AGS merkt sich den Zustand eines Raumes größtenteils (deaktivierte Objekte, walkable areas, usw.), was genau hat sich denn geändert?
Use gopher repellent on funny little man
Benutzeravatar
Floyd
Logik-Lord
Logik-Lord
Beiträge: 1088
Registriert: 14.03.2004, 19:59

...

Beitrag von Floyd »

Mit "Bild" meintest du bei deinem Anfangspost schon einen neuen Raum, oder? Ansonsten gar nicht weiterlesen :wink:.

Im Global script definierst du 2 neue Variablen:

Code: Alles auswählen

SetGlobalInt (1,0); // prüft, ob schon "was" eingesetzt wurde im Raum
SetGlobalInt (2,0); //prüft, welcher der vorhergehende Raum war 
Sagen wir, du hast 3 Räume:
Nr. 1 ist der, der sich verändern soll, Nr. 2 der, der nach dieser Aktion kurz angezeigt wird, und Nr. 3 der Raum, über den man in Raum 1 gelangt (wenn es Raum 3 nicht gibt, kannst du dir alles, was mit der 2ten Variable zu tun hat, sparen).

Jedesmal, wenn der Spieler Raum 3 betritt, setzt du GlobalInt 2 auf 1, das gleiche machst du für Raum 2 mit dem Wert 2:

Code: Alles auswählen

SetGlobalInt (2,1); bzw. SetGlobalInt (2,2);
Dann schreibst du bei Raum 1 unter "Player enters screen before FadeIn":

Code: Alles auswählen

if (GetGlobalInt (2) == 1) {  //wenn der vorherige Raum die Nr. 3 war
}

else if (GetGlobalInt (2) == 2) { //wenn der vorherige Raum die Nr. 2 war

if (GetGlobalInt (1) == 0) { //die Voraussetzung für die Veränderung ist nicht erfüllt
}

else if (GetGlobalInt (1) == 1) { //die Voraussetzung für die Veränderung ist erfüllt
*Raum ändern
SetGlobalInt (1,2);
}

if (GetGlobalInt (1) == 2) { // der Raum wurde bereits verändert
}

}
Nachdem der Charakter etwas ausgeführt hat, wechselt AGS das Bild und kehrt kurz darauf zum Raum zurück. Nun startet die Abfrage und es wird geprüft, ob der Spieler aus Raum 2 kommt und ob bereits "etwas" in Raum 1 eingesetzt wurde. Nur, wenn beides der Fall ist, wird der Raum verändert.

MfG Floyd
Killerseven

Beitrag von Killerseven »

Hi ich bins wieder !
Ich hab noch ein paar Fragen!
1.In meinem ersten Raum habe ich einen Gegenstand auf dem Boden und wenn ich jetzt in den nächsten Raum gehe ist das Item das eigentlich nur im ersten Raum sein sollte auch im zweiten Raum!

2.Ich habe im ersten Raum auf der Tür einen Hotspot angelegt und den Script-- NewRoomEx(2 und dann da noch die Koordinaten eingestellt). Und dann im zweiten Raum habe ich das gleiche wie in Raum 1 gemacht.
Und wenn ich jetzt das Spiel teste und ich dann durch die Tür im ersten Raum gehe bin ich im 2. Raum wenn ich jetzt zurück gehen will(zu Raum1) lande ich im zweiten Raum obwohl ich in den ersten zurück will!!

HILFE!!!
Benutzeravatar
fireorange
Adventure-Treff
Adventure-Treff
Beiträge: 10618
Registriert: 01.05.2005, 18:03

Beitrag von fireorange »

Killerseven hat geschrieben:Hi ich bins wieder !
Ich hab noch ein paar Fragen!
1.In meinem ersten Raum habe ich einen Gegenstand auf dem Boden und wenn ich jetzt in den nächsten Raum gehe ist das Item das eigentlich nur im ersten Raum sein sollte auch im zweiten Raum!
Wie ich schon sagte, mach in Zukunft Load New Room, nicht Save Room as... und das Objekt kannste doch einfach aus dem Raum rauslöschen. :wink:
Killerseven hat geschrieben:2.Ich habe im ersten Raum auf der Tür einen Hotspot angelegt und den Script-- NewRoomEx(2 und dann da noch die Koordinaten eingestellt). Und dann im zweiten Raum habe ich das gleiche wie in Raum 1 gemacht.
Und wenn ich jetzt das Spiel teste und ich dann durch die Tür im ersten Raum gehe bin ich im 2. Raum wenn ich jetzt zurück gehen will(zu Raum1) lande ich im zweiten Raum obwohl ich in den ersten zurück will!!HILFE!!!


Ich glaube das ist ein Problem speziell zum DOTT-Gui, das weiß ich auch noch nich so genau. Musste auf die Experten warten, ich hab das immer anders gemacht... :wink:
Mein Animal-Crossing-Tagebuch bei DKSN.

Entwicklerin von Twine-Stories sowie Mini-Adventures aus der Interactive Short Collection. -> fireorange bei itch.io!

Bäckerin von: Beyond the Edge of Owlsgard, A Twisted Tale, Beyond Shadowgate, Twilight Oracle.

Autorin von Minotaurus in den Sternen und weiteren Büchern (tredition, amazon etc).
Gesammelte Gedichte: frei zugängliches Archiv.
Killerseven

Beitrag von Killerseven »

Und wie hast du es gemacht?
Antworten