Maniac Mansion Mania Forum
MMM-Werkzeugkiste => Technik => Thema gestartet von: 1mal_volltanken am 10. Mai 2010, 12:58:46
-
Hallo Leutz!
Habe mal wieder eine technische Frage. Und zwar:
Wenn man für "Walk-onto-region" und "Leave-region" jeweils eine Funktion (Walk-onto = aktiv ; Leave = inaktiv) festlegt und ein Charakter sich auf dieser Region befindet und von dort aus zu einem anderen Charakter wechselt, was passiert dann?
Bleibt in diesem Falle das Script von "Walk-onto-region" aktiv oder löst er nun das Script für "Leave-Region" aus? WEIL, nach dem CharChange ist es ja nicht mehr der PlayerCharakter, der auf der Region steht.
Das wäre z.B. interessant um eine seperate Funktion zu scripten, wenn man bspw. einen Fall hat, wo 2 Bodenplatten seperat betreten werden müssen, damit ein Ereignis eintritt:
Bspw. Dave geht auf Bodenplatte 1 (Region 1 --> Walk-onto-Region-Script wird ausgelöst und Bodenplatte 1 = aktiv) und wechselt dann bspw. zu Syd, damit Syd auf Bodenplatte 2 tritt um Ereignis A auszulösen. Bleibt dabei Daves Bodenplatte 1 auf aktiv stehen oder spielt AGS dann das "Leave-Region --> Bodenplatte 1 = inaktiv" ab?
Falls jemand etwas in dieser Art gescriptet hat oder genau weiss, wie das ablaufen würde, bitte posten! ;) Danke!
BG
der Volltanker
-
was hindert dich daran, es selbst auszuprobieren?
das verfassen deines posts hat wahrscheinlich ungefähr so lange gedauert wie wenn du schnell eine region in einen raum gezeichnet und die 2 funktionen gescriptet hättest ;)
-
;D ;D ;D ;D ;D ;D
Das habe ich mir auch gerade gedacht.
-
Ja. Hab ich jetzt auch gemacht. ;)
Also das klappt tatsächlich. Allerdings muss der gleiche Script von Walk-onto auch in While-player-stands-on stehen. Sonst klappt es nicht. Wunderbar! ;)
BG
der Volltanker
-
Du musst eigentlich nur bei beiden "Walk on"-events checken, ob der andere Charakter auf der anderen Region steht.
Character*other = cSyd;
if (player == cSyd) other = cDave;
if (Region.GetAtRoomXY(other.x, other.y) == 2) {
bla();
}