Character schauen sich nicht an

Der Anlaufpunkt für alle, die selbst ein Adventure programmieren wollen.
Antworten
Stöpsel

Character schauen sich nicht an

Beitrag von Stöpsel »

Hallo an alle Bastler!

Mein Problem ist, dass sich die Charactere nicht anschauen oder der Spielcharakter generell nicht dahin schaut , wohin er soll.

Die meisten Scripts fangen mit dem "movecharacterblocking" Befehl an.
Danach probier ichs mit Character schauen sich an oder (weils nicht geht), Character schaut auf Koordinaten.
*die Befehle schreib ich schon richtig*
Beides geht jedenfalls nicht :-(

Mein Char läuft kurz vor dem Sprechen mit dem anderen Char eher nach oben, sodaß ich beim Gespräch nur seine Hinteransicht habe.

Ich habs so gemacht, das er nach dem hochlaufen, 1 Schritt nach links zum anderen Char macht. Das ist natürlich eine ungeschöne Lösung.
Der Gesprächspartner ist ein Objekt.
Kann es daran liegen, daß dieser nicht auf der "Walkable Areas" des Spielchar liegt?

Oder jemand ne andere Idee?

Danke

mfg
Stöpsel

Beitrag von Stöpsel »

Sorry, ist im falschen Thread gelandet.

Vielleicht kann ein Admin es ja verschieben.

thx
Benutzeravatar
Rocco
Adventure-Treff
Adventure-Treff
Beiträge: 1019
Registriert: 25.11.2003, 16:20
Wohnort: Ronville
Kontaktdaten:

Beitrag von Rocco »

wenn du mit dem ManiacMasionMania template arbeitest
ist die eleganteste lösung folgender befehl:

Code: Alles auswählen

FaceDirection (GetPlayerCharacter (), DIR_UP);
wobei du mit DIR_UP, DIR_DOWN, DIR_RIGHT, DIR_LEFT
die blickrichtung änderst.

wenn nicht dann könntest du folgendes in dein global script schreiben

Code: Alles auswählen

function face_up() {
  FaceLocation (GetPlayerCharacter(),160,-1000); }
function face_down() {
  FaceLocation (GetPlayerCharacter(),160,1000); }
function face_left() {
  FaceLocation (GetPlayerCharacter(),-1000,100); }
function face_right() {
  FaceLocation (GetPlayerCharacter(),1000,100); } 
im script header dann dieses:

Code: Alles auswählen

import int face_up();
import int face_down();
import int face_left();
import int face_right();
undverwenden kannst du das dann überall einfach mit
face_left(); zB
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Re: Character schauen sich nicht an

Beitrag von KhrisMUC »

Stöpsel hat geschrieben:Der Gesprächspartner ist ein Objekt.
Daran liegt es.

Wenn Dein Charakter sowieso zu festgesetzten Koordinaten läuft, kannst Du ihn ganz einfach manuell ausrichten.
Angenommen, im Script steht folgendes:
MoveCharacterBlocking(EGO,150,135);
Jetzt kannst Du ihn hiermit nach links schauen lassen:
FaceLocation(EGO,149,135);

Du könntest Dir auch eine Funktion schreiben, die das übernimmt.

Code: Alles auswählen

function face_ego(int dir)
{
  int x=character[EGO].x;
  int y=character[EGO].y;
  if (dir==0) y += 10; // nach unten
  if (dir==1) x -= 10;  // nach links
  if (dir==2) x += 10; // nach rechts
  if (dir==3) y -= 10; // nach oben
  FaceLocation(EGO, x, y);
}
Edit: Na toll ;)
Use gopher repellent on funny little man
Stöpsel

Beitrag von Stöpsel »

Na das geht ja schnell mit den Antworten.

Danke , ich probier mal beides aus.

mfg
Antworten