Ich arbeite an einem Edison-Villa Starterpack
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
-
- Süßwasserpirat
- Beiträge: 314
- Registriert: 17.02.2005, 15:46
-
- Süßwasserpirat
- Beiträge: 314
- Registriert: 17.02.2005, 15:46
Ich habe ein Problem mit dem Türenskript.
Es funktioniert alles, ausser das bei einer offenen Tür nicht das Schliessen im GUI aufleuchtet (für die rechte Maustaste)! Habe es genauso gemacht wie in dem Bernhard Startpaket!
Und noch eine Frage, müssen die Nummern der Türen gleich sein wenn sie auch in 2 versch. Räumen sind. Z.B. Nummer 1 für Die Haustür außen und innen?!
mfg hansa
Es funktioniert alles, ausser das bei einer offenen Tür nicht das Schliessen im GUI aufleuchtet (für die rechte Maustaste)! Habe es genauso gemacht wie in dem Bernhard Startpaket!
Und noch eine Frage, müssen die Nummern der Türen gleich sein wenn sie auch in 2 versch. Räumen sind. Z.B. Nummer 1 für Die Haustür außen und innen?!
mfg hansa
- Mister L
- Rätselmeister
- Beiträge: 1913
- Registriert: 21.03.2005, 01:55
- Kontaktdaten:
Der Global-Int für die Tür muss der gleiche sein.
Hast du dem Hotspot auch die Bezeichnung Tür>v gegeben?
Hast du dem Hotspot auch die Bezeichnung Tür>v gegeben?
My MMM-Episodes: #7 "Right said Fred", #32 "Secret of Maniac Mansion", # 33 "Carry on Smiley", H05 "Escape from Maniac Mansion", #45 "Maniac Monday", #54 "CSI:RONVILLE", #58 "The People's Court", #70 "Maniac Mansion Begins", #74 "The Curse of King RootenTooten", #93 "Murder a.t. Moonshine Mansion"
-
- Süßwasserpirat
- Beiträge: 314
- Registriert: 17.02.2005, 15:46
Ja!
Habe beim Hotspot der Tür unter any click on hotspot folgendes reingeschrieben >> if (any_click_on_door (1, 5, 402, 98, DIR_UP, 3, 69, 133, DIR_RIGHT) == 0) Unhandled ();
Die 5 ist das Objekt der offenen Tür und die 3 ist der Eingangsflur. Das Objekt der offenen Tür wird ja nicht weiter gescripted?! Unb beim Hotspot habe ich auch >v hinter. Schliessen kann ich sie ja, nur es leuchtet nicht im GUI auf, bzw. die rechte Maustaste funzt so nicht.
mfg hansa
Habe beim Hotspot der Tür unter any click on hotspot folgendes reingeschrieben >> if (any_click_on_door (1, 5, 402, 98, DIR_UP, 3, 69, 133, DIR_RIGHT) == 0) Unhandled ();
Die 5 ist das Objekt der offenen Tür und die 3 ist der Eingangsflur. Das Objekt der offenen Tür wird ja nicht weiter gescripted?! Unb beim Hotspot habe ich auch >v hinter. Schliessen kann ich sie ja, nur es leuchtet nicht im GUI auf, bzw. die rechte Maustaste funzt so nicht.
mfg hansa
Zuletzt geändert von hansa_export am 27.09.2006, 18:32, insgesamt 2-mal geändert.
- Mister L
- Rätselmeister
- Beiträge: 1913
- Registriert: 21.03.2005, 01:55
- Kontaktdaten:
Dann steckt der Fehler woanders.
Am Besten postet du mal das Skript aus dem Raum und den Eintrag im Global-Script dazu.
Am Besten postet du mal das Skript aus dem Raum und den Eintrag im Global-Script dazu.
My MMM-Episodes: #7 "Right said Fred", #32 "Secret of Maniac Mansion", # 33 "Carry on Smiley", H05 "Escape from Maniac Mansion", #45 "Maniac Monday", #54 "CSI:RONVILLE", #58 "The People's Court", #70 "Maniac Mansion Begins", #74 "The Curse of King RootenTooten", #93 "Murder a.t. Moonshine Mansion"
-
- Süßwasserpirat
- Beiträge: 314
- Registriert: 17.02.2005, 15:46
OK
Room Script >>>
Ist noch etwas durcheinander die anderen Hotspots fliegen da noch raus...wichtig ist hier der hotspot 1!
Welchen Teil aus dem globalen?
mfg hansa
Nachtrag: Die Grundlage bildete das Bernard Startpaket für 2.71! Habe die Räume geändert, bzw. ergänzt, also müsste im globalen Script/Script Header/GUI/Cursor/Einstellungen alles richtig sein!
Room Script >>>
Code: Alles auswählen
// room script file
#sectionstart hotspot7_a // DO NOT EDIT OR REMOVE THIS LINE
function hotspot7_a() {
// script for Hotspot 7 (Hotspot 7): Any click on hotspot
if (any_click_on_door (19, 0, 402, 98, DIR_UP, 34, 69, 133, DIR_RIGHT) == 0) Unhandled ();
}
#sectionend hotspot7_a // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart hotspot4_a // DO NOT EDIT OR REMOVE THIS LINE
#sectionend hotspot4_a // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart hotspot5_a // DO NOT EDIT OR REMOVE THIS LINE
#sectionend hotspot5_a // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart hotspot2_a // DO NOT EDIT OR REMOVE THIS LINE
function hotspot2_a() {
// script for Hotspot 2 (Gitter>v): Any click on hotspot
if (any_click_on_door (21, 2, 270, 132, DIR_UP, 44, 34, 123, DIR_DOWN) == 0) Unhandled ();
}
#sectionend hotspot2_a // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart hotspot4_b // DO NOT EDIT OR REMOVE THIS LINE
function hotspot4_b() {
// script for Hotspot 4 (Schild): Look at hotspot
character[GetPlayerCharacter()].FaceLocation(466, 65);
}
#sectionend hotspot4_b // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart hotspot1_a // DO NOT EDIT OR REMOVE THIS LINE
function hotspot1_a() {
// script for Hotspot 1 (Haustür>v): Any click on hotspot
if (any_click_on_door (1, 5, 402, 98, DIR_UP, 3, 69, 133, DIR_RIGHT) == 0) Unhandled ();
}
#sectionend hotspot1_a // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart room_a // DO NOT EDIT OR REMOVE THIS LINE
function room_a() {
// script for Room: Player enters room (before fadein)
SetObjectClickable (5, 0);
}
#sectionend room_a // DO NOT EDIT OR REMOVE THIS LINE
Welchen Teil aus dem globalen?
mfg hansa
Nachtrag: Die Grundlage bildete das Bernard Startpaket für 2.71! Habe die Räume geändert, bzw. ergänzt, also müsste im globalen Script/Script Header/GUI/Cursor/Einstellungen alles richtig sein!
Zuletzt geändert von hansa_export am 27.09.2006, 18:32, insgesamt 1-mal geändert.
- Mister L
- Rätselmeister
- Beiträge: 1913
- Registriert: 21.03.2005, 01:55
- Kontaktdaten:
Im Globalen-Script gibt es einige Zeilen, die man für neue Türen ergänzen muss.
such mal nach "OpenCloseExtension", da müssen noch neue Zeilen dahinter.
such mal nach "OpenCloseExtension", da müssen noch neue Zeilen dahinter.
My MMM-Episodes: #7 "Right said Fred", #32 "Secret of Maniac Mansion", # 33 "Carry on Smiley", H05 "Escape from Maniac Mansion", #45 "Maniac Monday", #54 "CSI:RONVILLE", #58 "The People's Court", #70 "Maniac Mansion Begins", #74 "The Curse of King RootenTooten", #93 "Murder a.t. Moonshine Mansion"
-
- Süßwasserpirat
- Beiträge: 314
- Registriert: 17.02.2005, 15:46
Das steht da bei mir >>>
Wie ist das zu verstehen? Habe schon lange nix mehr gescripted, aber das kann ich nicht ganz nachvollziehen!
mfg hansa
Ps.: Hbae z.B. mal folgendes ergänzt
R als Raumnummer? H als Hotspotnummer und die 1 hinten für die Tür Nr. 1 (GI) aber das funzte auch net!
Code: Alles auswählen
function OpenCloseExtension (int gi, string location){
if ((GetGlobalInt (gi) == 0) || (GetGlobalInt (gi) == 2)) AddExtension ('o', location);
else AddExtension ('c', location);
}
function VariableExtensions (string location){
// put here wich extension will show the things with variable extension (>v)
int r = character [GetPlayerCharacter ()].room;
int o = GetObjectAt (mouse.x, mouse.y);
int h = GetHotspotAt (mouse.x, mouse.y);
if ((r == 1) && (h == 4)) OpenCloseExtension (3, location);
else if ((r == 2) && (h == 2)) OpenCloseExtension (3, location);
else if ((r == 2) && (h == 1)) OpenCloseExtension (4, location);
else if ((r == 3) && (h == 1)) OpenCloseExtension (4, location);
else if ((r == 2) && (h == 4)) OpenCloseExtension (5, location);
else if ((r == 4) && (h == 2)) OpenCloseExtension (5, location);
else if ((r == 2) && (h == 3)) OpenCloseExtension (6, location);
else if ((r == 5) && (h == 2)) OpenCloseExtension (6, location);
else if ((r == 6) && (h == 1)) OpenCloseExtension (7, location);
else if ((r == 7) && (h == 1)) OpenCloseExtension (7, location);
else if ((r == 6) && (h == 2)) OpenCloseExtension (8, location);
else if ((r == 9) && (h == 1)) OpenCloseExtension (8, location);
else if ((r == 9) && (h == 2)) OpenCloseExtension (9, location);
else if ((r == 10) && (h == 1)) OpenCloseExtension (9, location);
else if ((r == 10) && (h == 2)) OpenCloseExtension (10, location);
else if ((r == 11) && (h == 1)) OpenCloseExtension (10, location);
else if ((r == 8) && (h == 3)) OpenCloseExtension (11, location);
else if ((r == 12) && (h == 1)) OpenCloseExtension (11, location);
mfg hansa
Ps.: Hbae z.B. mal folgendes ergänzt
Code: Alles auswählen
else if ((r == 1) && (h == 1)) OpenCloseExtension (1, location);
Zuletzt geändert von hansa_export am 27.09.2006, 18:32, insgesamt 1-mal geändert.
-
- Süßwasserpirat
- Beiträge: 314
- Registriert: 17.02.2005, 15:46
Nachtrag: Es geht!
Danke!
mfg hansa
Ps.:
Fortschritt (15.09. 14:00):
Danke!
mfg hansa
Ps.:
Fortschritt (15.09. 14:00):
- Räume "verbinden": 83 %
Animationen/Objekte: 7 %
Gimmicks/Extras: 0 %
Zuletzt geändert von hansa_export am 27.09.2006, 18:32, insgesamt 1-mal geändert.
-
- Süßwasserpirat
- Beiträge: 314
- Registriert: 17.02.2005, 15:46
Habe fast alle Räume verbunden, habe noch zwei kleine Probleme:
mfg hansa
- Mit any_click.... behandle ich ja die Türen, das funktioniert soweit rebungslos wenn ich sie zuerst öffne und dann schließe. Wie mache ich das andersrum, d.h. eine Tür soll bereits offen sein. Das läuft so ab, das ich eine Leiter hinauf gehe und in den nächsten Raum wechsle (mit Region). Nun soll dort die Luke offen sein. Sie ist aber noch verschlossen und er zeigt das offene Bild an... Wie löse ich das?
- Und noch was zu der Option das man einzelne Räume sperrt, wie setze ich die GI's der Türen fest. Wollte da einen festen Platz für im Script integrieren wo man die GI's der Türen verändern kann. Ansonsten würde ich das selber über eigene Variablen regeln, aber du (MisterL) schriebst das es da ja eine Option gibt beim Türenscript!? Und was genau muss noch bei der funktion any_click... dafür geändert werden?
mfg hansa
Zuletzt geändert von hansa_export am 27.09.2006, 18:32, insgesamt 1-mal geändert.
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Setz die GI der Luke auf 1. Entweder in der game_start, oder in der "First time player enters screen" des Raumes.
Um einen Raum abzuschließen, nimmst Du any_click_on_door_special.
Beide Punkte sind hier gut erklärt:
http://www.adventure-treff.de/forum/vie ... php?t=7529 (2. Beitrag)
Um einen Raum abzuschließen, nimmst Du any_click_on_door_special.
Beide Punkte sind hier gut erklärt:
http://www.adventure-treff.de/forum/vie ... php?t=7529 (2. Beitrag)
Use gopher repellent on funny little man
-
- Süßwasserpirat
- Beiträge: 314
- Registriert: 17.02.2005, 15:46
Ok vielen Dank, werde das mal nachher ausprobieren!
mfg hansa
mfg hansa
Zuletzt geändert von hansa_export am 27.09.2006, 18:32, insgesamt 1-mal geändert.
-
- Süßwasserpirat
- Beiträge: 314
- Registriert: 17.02.2005, 15:46
Muss ich jetzt bei jedem Hotspot einer Tür anstatt any_click_on_door any...special nehmen? Um sie verschliessen zu können?
mfg hansa
Ps.: Das mit der Luke funzt einwandfrei!
mfg hansa
Ps.: Das mit der Luke funzt einwandfrei!
Zuletzt geändert von hansa_export am 27.09.2006, 18:32, insgesamt 1-mal geändert.