Der Vorschlag von Mister L hab ich versucht, leider ohne Erfolg. Es scheint egal zu sein wo der Befehl steht (oder wie oft

). Selbst wenn ich im Dialog als erstes ein script aufrufe, dreht er sich trotzdem nicht um. Auch ein veränderter Befehl funktioniert nicht.
character[4].FaceLocation(character[4].x, character[4].y-1);
Der Fehler mach mich noch verrückt.

€ Ich finde leider den Beitrag im AT Forum nicht
€2: Ich hab die Lösung, aber warum es geht ist mir ein Rätsel

, der einzige Unterschied ist ein sehr kurzes Wait().
// script for Character 8 (Dr. Fred): Any click on character
if(MovePlayer(100, 140)) {
FaceDirection(GetPlayerCharacter(), DIR_UP);
if(UsedAction(A_WALK_TO)) {}
else if(UsedAction(A_LOOK_AT)){
character[4].Say("Das ist Dr.Fred,");
character[4].Say("er ist fast so oft blau wie ein Alkoholiker.");
}
else if(UsedAction(A_USE_INV)){
if (character [GetPlayerCharacter ()].activeinv == 15) {
LoseInventory(15);
PlaySound(28);
character[8].Say("Danke,");
character[8].Say("hier nimm mein Handy,");
character[8].Say("aber gib es mir wieder!");
AddInventory(21);
PlaySound(28);
object[5].Visible = false;
}
else character[8].Say("Damit kann ich nichts anfangen.");
}
else if(UsedAction(A_TALK_TO)){
Wait(1);
if (GetGlobalInt(433) == 1){
dialog[19].Start();
}
else if (character[4].InventoryQuantity[ihg.ID] == 15){
dialog[20].Start();
}
else {
dialog[18].Start();
}
}
else Unhandled();
}