Maniac Mansion Mania Forum
MMM-Werkzeugkiste => Technik => Thema gestartet von: Rondo am 06. Oktober 2007, 23:29:29
-
Mein Raum dürfte euch schon aus dem Ressourcenthread bekannt sein. Ich wollte einbauen das sich der Charakter je nachdem wo er steht den Lichtverhältnisse anpasst.
(http://img.photobucket.com/albums/v643/Rondo/screenshot1.png)
Ich versuchte es mit zwei Regionen und jeweils in dem Player Walks onto skript dieser Befehl
character[GetPlayerCharacter()].Tint(169,163,115,30,100);
Es funktioniert im Grunde auch, nur wenn ich einen Hotspot anklicke der in einer anderen Region liegt, ändert der Playercharakter erst die Farbe sobald er sein Ziel erreicht und sein Kommentar abgegeben hat.
Ich vermute es liegt dran das der Programmcode nicht angehalten wird, und der Änderungscode hinten angestellt, und erst abgespielt wird wenn der erste Code fertig ist. Gibt es eine Möglichkeit dies zu umgehen?
-
Das Wichtigste zuerst: ;)
Statt "character[GetPlayerCharacter()]" genügt "player".
Deine Vermutung ist richtig; da das Verhalten von LA-Spielen originalgetreu wiedergegeben werden sollte, sprich: MovePlayer() eine while-Schleife laufen lässt, die Mausklicks abfängt, setzt in dieser Zeit das Region-handling aus.
Eine Möglichkeit ist, das Handling manuell in rep_ex_always zu machen. Es gibt dazu einen thread im AT-AGS-Forum.
Edit: http://www.adventure-treff.de/forum/viewtopic.php?t=11977
Eine andere Möglichkeit: benutz einfach die Colour tint-Einstellung in Room editor -> Areas -> Regions ;)
-
danke, funktioniert ohne Probleme
-
Gibt es einen Script, der den Raum mitsamt Chars abdunkelt,
ohne dass die Objects dunkler werden?
-
Du könntest eine Region über den ganzen Raum machen und dann per Script das Tint ändern. Allerdings musst du bei allen Objekten das häkchen mit dem "use Region Tints and Lightning" rausmachen.
PS:Glück gehabt,ich dachte, man kann heute nur AGS anwerfen, wenn man die Systemzeit ändert.Puh ;)