Punkt-Dialog Problem

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Okami Joe
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 13
Registriert: 28.01.2007, 13:53
Kontaktdaten:

Punkt-Dialog Problem

Beitrag von Okami Joe »

Ein fester Bestandteil meiner Dialoge wird mit "........." (sprachlosen) Kommentaren geschmückt, allerdings, wenn ein Dialog nur aus Punkten besteht, werden diese als Text nicht angezeigt sondern es wird eine kleine Pause eingelegt und dann wird das Gespräch weitergeführt. Meine Frage ist jetzt, kann man die Punkte auch irgendwie anzeigen lassen, statt dieser Pause?
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

AFAIK nur durch ein entsprechendes Skript.

Code: Alles auswählen

function dialog_request(int parameter) {
  String dots;
  int delay;
  
  dots="........";  // Werte festlegen
  delay=80;
  
  Character*c;
  if (parameter==-1) c=player;
  else c=character[parameter];
  ViewFrame*vf=Game.GetViewFrame(c.View, c.Loop, c.Frame);
  DynamicSprite*ds=DynamicSprite.CreateFromExistingSprite(vf.Graphic);
  int h=(ds.Height*c.Scaling)/100;
  ds.Delete();
  int w=GetTextWidth(dots, Game.SpeechFont);
  Overlay*o=Overlay.CreateTextual(c.x-w/2, c.y-h-14, 60, Game.SpeechFont, c.SpeechColor, dots);
  WaitMouseKey(delay);
  o.Remove();
}
Jetzt schreibst Du im Dialogskript z.B. statt typ: ....... einfach run-script 3 und im Skript statt cTyp.Say("......."); schreibst Du dialog_request(cTyp.ID);

Der Parameter ist die Nummer des Charakters, übergibst Du -1, ist es der momentane player.

EDIT: Die 14 muss eventuell angepasst werden, falls die SpeechFont kleiner oder größer ist.
Use gopher repellent on funny little man
xeres
Frischling
Frischling
Beiträge: 7
Registriert: 02.04.2007, 16:10

Beitrag von xeres »

Will ja nicht gleich klugscheißen... aber ich mach das einfacher...

Code: Alles auswählen

# = leerzeichen

ego:...
gibt eine Pause aus

ego:#...#
gibt ... aus
Edit: Wie es scheint hängt es von dem leerzeichen am ende ab... ob zwischen : und ... ein leerzeichen ist, scheint egal...
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Kommt wohl auf die Schriftart an; bei mir erscheinen die Rauten, wenn ich "#...#" benutze.
Meine Lösung funktioniert jedenfalls unabhängig von der Schriftart :mrgreen:

EDIT: Oops. Es war spät. :D
EDIT2: Kleiner Schönheitsfehler: Die drei Punkte sind nicht zentriert (da das Leerzeichen auch "gesagt" wird.)
Zuletzt geändert von KhrisMUC am 05.04.2007, 10:49, insgesamt 2-mal geändert.
Use gopher repellent on funny little man
Totoro
Profi-Abenteurer
Profi-Abenteurer
Beiträge: 915
Registriert: 26.07.2003, 19:10
Wohnort: Osaka

Beitrag von Totoro »

Meinte Xeres nicht vielleicht, dass man eben da, wo er Routen gesetzt hat, Leerzeichen setzen soll?
Okami Joe
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 13
Registriert: 28.01.2007, 13:53
Kontaktdaten:

Beitrag von Okami Joe »

Habt vielen Dank, jetzt geht's! 8)
Antworten