Punkt-Dialog Problem
-
- Komplettlösungsnutzer
- Beiträge: 13
- Registriert: 28.01.2007, 13:53
- Kontaktdaten:
Punkt-Dialog Problem
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?
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
AFAIK nur durch ein entsprechendes Skript.
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.
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();
}
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
-
- Frischling
- Beiträge: 7
- Registriert: 02.04.2007, 16:10
Will ja nicht gleich klugscheißen... aber ich mach das einfacher...
Edit: Wie es scheint hängt es von dem leerzeichen am ende ab... ob zwischen : und ... ein leerzeichen ist, scheint egal...
Code: Alles auswählen
# = leerzeichen
ego:...
gibt eine Pause aus
ego:#...#
gibt ... aus
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Kommt wohl auf die Schriftart an; bei mir erscheinen die Rauten, wenn ich "#...#" benutze.
Meine Lösung funktioniert jedenfalls unabhängig von der Schriftart
EDIT: Oops. Es war spät.
EDIT2: Kleiner Schönheitsfehler: Die drei Punkte sind nicht zentriert (da das Leerzeichen auch "gesagt" wird.)
Meine Lösung funktioniert jedenfalls unabhängig von der Schriftart
EDIT: Oops. Es war spät.
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
-
- Komplettlösungsnutzer
- Beiträge: 13
- Registriert: 28.01.2007, 13:53
- Kontaktdaten: