Maniac Mansion Mania - Episode 3

Das Mitmach-Projekt aus dem Maniac-Mansion-Universum.
Antworten
Benutzeravatar
Lak
Rätselmeister
Rätselmeister
Beiträge: 1586
Registriert: 27.02.2005, 10:43
Wohnort: London (England)

Beitrag von Lak »

Toll dann funktioniert das aber nur auf Purpur? Soll aber eigentlich bei allen Characteren funzen oder?
...

Norman
Logik-Lord
Logik-Lord
Beiträge: 1089
Registriert: 12.08.2002, 11:44
Wohnort: Köln

Beitrag von Norman »

Wieso soll es das? Es kommt in Deiner Episode doch gar kein anderer Charakter vor?

Aber wenn Du es universell programmieren willst, dann setz halt vorher noch eine if-Abfrage rein, die abfängt ob GetCharacterAt auch einen sinnvollen Wert zurückgibt. Und wenn dies nicht der Fall ist, dann lass den Spieler-Charakter einfach irgendwo hin gucken.

Benutzeravatar
Lak
Rätselmeister
Rätselmeister
Beiträge: 1586
Registriert: 27.02.2005, 10:43
Wohnort: London (England)

Beitrag von Lak »

Wieso soll es das? Es kommt in Deiner Episode doch gar kein anderer Charakter vor?
Nein in DIESER Episode von mir noch nicht... ;)
...

Norman
Logik-Lord
Logik-Lord
Beiträge: 1089
Registriert: 12.08.2002, 11:44
Wohnort: Köln

Beitrag von Norman »

Gut, ok. Aber leuchtet Dir denn jetzt ein, warum das so nicht klappen kann und wie man es behebt?

Benutzeravatar
Lak
Rätselmeister
Rätselmeister
Beiträge: 1586
Registriert: 27.02.2005, 10:43
Wohnort: London (England)

Beitrag von Lak »

Ich weiß nicht wie man es beheben kann damit es auf jedem Character funktioniert... :oops:
...

Benutzeravatar
Gremlin
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 132
Registriert: 24.08.2003, 16:36
Wohnort: Karken
Kontaktdaten:

Beitrag von Gremlin »

Nein, ich kann AGS imemrnoch nicht, aber mal ein wenig Theorie:

Wenn die Endposition ds Cursors (also nach dem Dialog, ist doch richtig so, oder?) kein Charakter ist, dann stürzt das Spiel ab...

Aber gesetzt den Fall, es gäbe mehr als einen Charakter im Raum, dann könnte man doch damit nachher den/einen anderen Charakter angucken?

Evtl. könnte man ja den Charakter, der zu Beginn angeklickt wurde in einer Variable speichern? Wenn AGS keine String-Variablen kennt, müsste man leider eine Liste machen...
Vielleicht hilft das ja bei der Behebung. :)

Norman
Logik-Lord
Logik-Lord
Beiträge: 1089
Registriert: 12.08.2002, 11:44
Wohnort: Köln

Beitrag von Norman »

@Gremlin
Das geht sicher auch einfacher... Ich weiß allerdings auch gar nicht so recht, was Lak da genau vor hat zu implementieren.

@Lak
Was genau soll denn passieren?
Wenn der Dialog zu Ende ist, soll der PlayerCharacter die Person anschauen, mit der er gesprochen hat?
Das ist doch sowieso immer der Fall...
Oder verstehe ich Dein Vorhaben da falsch?

Und wenn mehrere Charaktere im Raum sind? Wen soll er dann angucken?
Irgendwie scheint mir das alles unnötig kompliziert...

Zur Not lässt Du den Code so wie er ist, fragst aber vorher mit einer if-klausel ab, ob GetCharacterAt auch wirklich einen sich im Raum befindlichen Charakter zurückgibt.
Wenn nein, dann soll einfach nix weiter geschehen, wenn ja dann soll er die Person anschauen.

Wobei das aber auch recht unsinnig wäre... Wenn ein weiterer Charakter im Raum ist, auf den man während des Dialogs dann zufällig den Mousecursor zieht, schaut er danach dann diesen an.
Das kann ja auch nicht das sein, was Du willst oder?

Benutzeravatar
Lak
Rätselmeister
Rätselmeister
Beiträge: 1586
Registriert: 27.02.2005, 10:43
Wohnort: London (England)

Beitrag von Lak »

Man ich hab doch keine ahnung der Script is nicht von mir der is da schon von LucasFan drin ...
...

Benutzeravatar
Gremlin
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 132
Registriert: 24.08.2003, 16:36
Wohnort: Karken
Kontaktdaten:

Beitrag von Gremlin »

Ich rate nochmal wild drauf los:

Wenn also ein Gegenstand an einen Charakter gegeben oder mit ihm benutzt wird, soll der charakter angeguckt werden, der unter dem Mauscurser liegt, verstehe ich das richtig?

Ich gehe mal davon aus, dass die Mauscursorposition nach dem Dialog abgefragt wird (muss ja). Dann könnte man das doch einfach vorziehen/rauslassen, denn im Dialog wird ja auch der Charakter angeguckt.
Zuletzt geändert von Gremlin am 22.03.2005, 17:04, insgesamt 1-mal geändert.

Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Lak hat geschrieben:Man ich hab doch keine ahnung der Script is nicht von mir der is da schon von LucasFan drin ...
Fehler auf andere abzuwälzen is immer einfach...
Hier die Erklärung:
1. Die entsprechende Zeile liegt innerhalb der unhandled_event funktion.
2. Normalerweise wird diese unmittelbar nach Klicken auf einen Hotspot aufgerufen, wenn keine der vorangegangenen if-Abfragen (die sinnvolle Aktionen des Spielers prüfen) true ergeben hat.
3. Klickt der Spieler auf einen Character, und im Skript wird diese Aktion nicht als sinnvoll erkannt, schaut der Spieler den Charakter an, bevor er seine "Ich habe nichts zu sagen."-message losläßt. Dazu dient die Codezeile.
4. Da der Aufruf normalerweise unmittelbar erfolgt, liefert GetCharacterAt (mouse.x, mouse.y) auch den angeklickten Charakter und nicht -1 wie in MMM3s Fall, was zum Fehler führt.
5. DEIN FEHLER, LAK, war es einfach, diese Funktion trotzdem noch aufzurufen, obwohl Bernard Purpur die .... übergeben hat.
6. Deswegen sagt Bernard nach dem Gespräch auch völlig sinnlos "Besser nicht." (wie an anderer Stelle wohl auch).

Aber ich fand die Erklärung mit dem langsam erst Gib und dann langsam Früchte klicken usw. auch sehr lustig.
Use gopher repellent on funny little man

Benutzeravatar
max_power
Zombiepirat
Zombiepirat
Beiträge: 10065
Registriert: 16.04.2002, 20:30
Wohnort: Uppsala
Kontaktdaten:

Beitrag von max_power »

Lak hat geschrieben:Man ich hab doch keine ahnung der Script is nicht von mir der is da schon von LucasFan drin ...
Jetzt verstehe ich, warum LucasFan seinen kompletten Quellcode unveröffentlicht lassen möchte. ;)
„Es müsste immer Musik da sein, bei allem was du machst. Und wenn's so richtig Scheiße ist, dann ist wenigstens noch die Musik da. Und an der Stelle, wo's am allerschönsten ist, da müsste die Platte springen und du hörst immer nur diesen einen Moment.“ (Floyd, Absolute Giganten)

Benutzeravatar
LAF
Oldschool RPG King
Oldschool RPG King
Beiträge: 6361
Registriert: 30.03.2005, 20:13
Wohnort: Tulln(Ö)

Beitrag von LAF »

aber nur durch lucas fan ist di mmm erst ins rollen kommen oder !
Just the old one's
Oldschool RPG's: auf http://www.rpg-atelier.net/ :)

Benutzeravatar
Lak
Rätselmeister
Rätselmeister
Beiträge: 1586
Registriert: 27.02.2005, 10:43
Wohnort: London (England)

Beitrag von Lak »

Natürlich, das war wieder so 'ne geniale Idee von LucasFan...
Ich sag ja, der iss'n Genie 8) Was wir ohne den jetzt wieder verpasst hätten ;)
...

Benutzeravatar
DernetteEddy
Süßwasserpirat
Süßwasserpirat
Beiträge: 298
Registriert: 30.06.2004, 00:31

Beitrag von DernetteEddy »

Da Du ihn ja so gern hast,Lak, nenn Dich doch einfach um in "LUCASFAN-FAN" :lol: :wink:
Mit * markierte Felder sind erforderlich

Benutzeravatar
Lak
Rätselmeister
Rätselmeister
Beiträge: 1586
Registriert: 27.02.2005, 10:43
Wohnort: London (England)

Beitrag von Lak »

Mann (oder Frau) kann's auch übertreiben ;)
...

Antworten