Auf dem Boden habe ich eine Region erstellt.
Wenn aber auf ein Hotspot geklickt wird in der Nähe von dieser Region, dann durchläuft der Charakter diese und sie wird ignoriert.
Gibt es da einen Script, dass selbst beim Betreten dieser Region durch Anklicken von einem Hotspot über der Region, sie aktiviert wird?
Charakter durchläuft eine Region
- Rayman
- Logik-Lord
- Beiträge: 1388
- Registriert: 07.01.2006, 20:08
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Sie wird zwar nicht ignoriert, aber die Verarbeitung landet in der queue und wird erst ausgeführt, nachdem der Charakter gestoppt hat.
Workaround:
Ziemlich am Anfang des global scripts wird die repeatedly_execute_always definiert.
Folgendes setzt man direkt davor:
Als Beispiel mal Region 1 in Raum 1 schon eingetragen.
In die repeatedly_execute_always fügt man direkt am Anfang noch folgende Zeile ein:
Workaround:
Ziemlich am Anfang des global scripts wird die repeatedly_execute_always definiert.
Folgendes setzt man direkt davor:
Code: Alles auswählen
function doRegion(int r) {
if (r>0) { // walk on
if (player.Room==1 && r==1) PlaySound(94);
}
else { // walk off
r=-r;
if (player.Room==1 && r==1) SayBackgroundEx(cSyd, "Runtergelaufen!");
}
}
int or;
function checkRegion(Region*r) {
int cr=r.ID;
if (cr!=or) {
if (or!=0 && region[or].Enabled) doRegion(-or);
if (cr!=0 && region[cr].Enabled) doRegion(cr);
or=cr;
}
}
In die repeatedly_execute_always fügt man direkt am Anfang noch folgende Zeile ein:
Code: Alles auswählen
checkRegion(Region.GetAtRoomXY(player.x, player.y));
Use gopher repellent on funny little man