Animation soll nicht unterbrochen werden

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Fabulous_87

Animation soll nicht unterbrochen werden

Beitrag von Fabulous_87 »

Also ich hab folgendes Problem! In meinem Adventure soll ein Character eine gewissen Animation die ganze Zeit machen, doch wenn man in anspricht soll er aufhören und nach Beendigung des dialogs wieder bei dieser Animation fortsetzen. Und leider hört er bei mir immer nach dem Gespräch auf und macht nix mehr. Wie kann ich das am einfachsten realisieren.
Danke im vorraus
Benutzeravatar
Rocco
Adventure-Treff
Adventure-Treff
Beiträge: 1019
Registriert: 25.11.2003, 16:20
Wohnort: Ronville
Kontaktdaten:

Beitrag von Rocco »

Zuerst gehst du in das Room-script wo der character ist mit der animation, dort schreibst du unter
Player enter screen(before fadein):

Code: Alles auswählen


SetCharacterView(JEFF,9);       // Die View mit der Ani auswählen
AnimateCharacter(JEFF,0,9,1);  // In Endlosschleife abspielen

Unter characters Interaction schreibst du in dein
Run script unter TAlk to Character:

Code: Alles auswählen

ReleaseCharacterView(JEFF); // Die Animation wird gestoppt
RunDialog(5);    
damit hört er damit auf sobald ihn wer anquatscht

Am Ende vom Dialog brauchst du einen run-script befehl:

Code: Alles auswählen

JEFF: "Ok, have a nice Time."
run-script 2
stop
damit rufst du folgende funktion im global script mit dem in diesem fall wert (xvalue) 2 auf:

Code: Alles auswählen

function dialog_request (int xvalue) {
  if(xvalue == 1) {		
    BlaBlaBla     }
   else if(xvalue == 2) {	    
	    SetCharacterView(JEFF,9);  //ANIMATION auswählen
	    AnimateCharacter(JEFF,0,3,1); //In Schleife wiederholen
	       }
}

und der gute freund macht wieder das was er immer tut :-)
Fabulous_87

Beitrag von Fabulous_87 »

wunderbar, danke für diese ausführliche und verständliche Erklärung.
Fabulous_87

Beitrag von Fabulous_87 »

Also ich hätte noch eine Frage!
Wie kann ich eine einfache Animation eines Object oder eines Characters im Hintergrund ablaufen lassen und trotzdem mit meinem Player herumlaufen? Wenn ich z.B. sag MoveObject dann wartet mein Character bis es fertig ist und geht nicht weiter.
Naja vielelicht kann mir ja auch hier jemand helfen.
Benutzeravatar
Rocco
Adventure-Treff
Adventure-Treff
Beiträge: 1019
Registriert: 25.11.2003, 16:20
Wohnort: Ronville
Kontaktdaten:

Beitrag von Rocco »

im obigen fall kannst du herumlaufen so viel du willst und die animation wird abgespielt, erst wenn du den character ansprichst wird unterbrochen, nach dem dialog wird die animation wieder abgespielt und du kannst mit deinem player wieder machen was du willst.
falls es das war was du gemeint hast, wenn nicht schau dir mal in der hilfe die MoveObject und MoveCharacter Befehle an, da gibt es mehrere möglichkeiten bezüglich des verhaltens.
Fabulous_87

Beitrag von Fabulous_87 »

Eigentlich mein ich eine Animation die ständig abgespielt wird.
In meinem Fall handelt es sich um ein HUhn das im HIntergrund die ganze von einem zum anderen Ort laufen soll, aber wenn ich den Befehl MoveObject oder MoveCharacter verwende wartet der Player, dabei soll es ohne Unterbrechung abgespielt werden.
Fabulous_87

Beitrag von Fabulous_87 »

Also leider weiß ich immer noch nicht wie man mein Problem löst und deshalb frag ich einfach nochmal. Es geht darum:
Ich habe einen Hintergrund und auf dem sollen verschiedene Animationen die ganze Zeit ablaufen (z.B. ein Huhn soll herumfliegen und herumlaufen) und sollen aber den allgemeinen Spielablauf (herumgehen mit Character) nicht unterbrechen.
In meinem Fall wartet der Character immer bis die Animation vorbei ist und dann kann ich erst weitergehen.
Hoffe auf baldige Hilfe
a-v-o
Süßwasserpirat
Süßwasserpirat
Beiträge: 258
Registriert: 22.09.2002, 21:28
Kontaktdaten:

Beitrag von a-v-o »

Vermutlich ist es am einfachsten, du verwendest für jedes Huhn einen Character mit einer entsprechenden normal view mit frames für ein laufendes oder fliegendes Huhn.

In repreatedly_execute kannst du dann einen Bewegungsablauf immer wieder starten:

if (character [HUHNA].x <= 17)
{
MoveCharacterPath (HUHNA, 310, 130);
MoveCharacterPath (HUHNA, 170, 150);
MoveCharacterPath (HUHNA, 100, 90);
MoveCharacterPath (HUHNA, 17, 100);
}

Das Huhn A sollte nun immer wieder die Strecke über die 4 Punkte ablaufen, ohne dass es einen Einfluss auf die Steuerung des PC hat.

Hinweis: MoveCharacterPath ignoriert Walkable Areas (der Character läuft geradlinig zum Zielpunkt)
Fabulous_87

Beitrag von Fabulous_87 »

Ok, ich hab das auch gleich probiert und im Prinzip funktipniert es auch, es hat keinen EInfluss auf den Spieler. Aber ich bekomm trotzdem immer eine Fehlermeldung wenn das Huhn beginnt loszugehen (Error: MoveCharacterPath: move is too complex, cannot add any further paths). Was kann ich da machen.
a-v-o
Süßwasserpirat
Süßwasserpirat
Beiträge: 258
Registriert: 22.09.2002, 21:28
Kontaktdaten:

Beitrag von a-v-o »

Dann versuch statt des ersten Befehls ein MoveCharacterDirect und wenn das auch nicht geht eine MoveCharacter.
Antworten