Edit: Problem ist Dank Eurer Hilfe gelöst! Danke!
Eins vorneweg: Ich bin ein Anfänger, der sich zum ersten Mal mit AGS und MMM beschäftigt.
Ich habe mir auf Basis des "Maniac Mansion Starterpack für AGS 3.2.1" ein eigenes Haus erstellt, durch das ich munter durchspaziere. Skripte usw. habe ich alle aus dem original Starterpack drin gelassen.
Jetzt soll es an die Türen gehen, auf Basis des Starterpacks und des Tutorials hier:
http://www.maniac-mansion-mania.de/forum/index.php?topic=15.msg36729#msg36729 Also habe ich mal eine eigene Tür gebastelt, die ich TuerKuecheneu genannt habe, damit sie der TuerKueche, die bereits in der originalen Edison-Villa ist, nicht in die Quere kommt.
Funktionieren tut folgendes: Tür angucken, hinlaufen, öffnen, schließen.
Aber durchgehen klappt nicht. Es passiert nichts.
Im Skript des Raums steht:
function room_Load()
{
Door[eDoorNumKuecheneu].Init(oTuerKuecheneu, hTuerKuecheneu);
}
function hTuerKuecheneu_AnyClick()
{
if ( Door[eDoorNumKuecheneu].ClickSpecial(2, 3, 1000, 0) == 0 ) Unhandled();
}
In doors.ash habe ich die Zeile "eDoorNumKuecheneu," eingefügt:
enum eDoorNum
{
...
eDoorNumKuecheneu,
};
In doors.asc folgendes:
Door[eDoorNumKuecheneu].l_Room = 66;
Door[eDoorNumKuecheneu].i_XPosition = 600;
Door[eDoorNumKuecheneu].i_YPosition = 130;
Door[eDoorNumKuecheneu].l_Direction = eDirUp;
Door[eDoorNumKuecheneu].l_NewRoom = 67;
Door[eDoorNumKuecheneu].i_NewXPosition = 60;
Door[eDoorNumKuecheneu].i_NewYPosition = 132;
Door[eDoorNumKuecheneu].l_NewDirection = eDirUp;
Door[eDoorNumKuecheneu].s_LookAt = "Das ist die Tür zur Küche.";
Door[eDoorNumKuecheneu].s_NewLookAt = "Das ist die Tür zum Speisesaal.";
Im Skript des Raumes steht:
function room_Load()
{
Door[eDoorNumKuecheneu].Init(oTuerKuecheneu, hTuerKuecheneu);
}
function hTuerKuecheneu_AnyClick()
{
if ( Door[eDoorNumKuecheneu].ClickSpecial(2, 3, 1000, 0) == 0 ) Unhandled();
}
Das Object oTuerKuecheneu ist einfach nur da.
Der Hotspot hTuerKuecheneu ist verknüpft mit "Any click on hotspot".