Platzsparen bei einem längeren Monolog

Das Board für Schwierigkeiten beim Adventure-Machen und zum Melden von Bugs
Post Reply
Jar0fDirt
PaC-DK Newby
Posts: 7
Joined: 14 Jun 2016, 23:34
Location: Thüringen

Platzsparen bei einem längeren Monolog

Post: # 83278Post Jar0fDirt
15 Jun 2016, 00:20

Hallöle.

Ich komme an folgender Stelle nicht weiter und zwar möchte ich gerne wissen wie man , wenn die Figur spricht, mehrere Sätze nacheinander erscheinen lasse.
Also z. B. wenn ich ein Objekt, NPC, etc. anschaue soll meine Figur etwas mehr darüber erzählen, aber soll nicht den ganzen Bildschirm mit Text zuknallen.

Danke im Vorraus.

P.S.: Ein Muster wäre nett ^^
Grüße

Jar0fDirt
_________________________________________________________________________________________________
This is the winning formula!

Zimond
Der Engine Papa
Posts: 3420
Joined: 06 Apr 2003, 19:34
Location: Krefeld
Contact:

Re: Platzsparen bei einem längeren Monolog

Post: # 83279Post Zimond
15 Jun 2016, 06:35

dazu gibt es den Befehl Minicut. Sieht so aus :

on (look)
{
minicut (donthide)
speech 1
speech 2
speech 3...
}

Das sorgt dafür das das anschauen für den Moment wie eine Cutscene abläuft ohne den Ärger dafür extra eine erstellen zu müssen. Das "donthide" sorgt dafür das Menüs nicht ausgeblendet werden, kann man machen wie man mag.
Image

japanhonk
PaC-DK God
Posts: 1716
Joined: 05 Feb 2009, 20:36
Location: NRW
Contact:

Re: Platzsparen bei einem längeren Monolog

Post: # 83280Post japanhonk
15 Jun 2016, 06:48

Hi,

wie regelst Du denn die Textausgabe ?

Ich mache das per Textout Befehl. Ist aber etwas aufwändiger zu programmieren, als Speech, aber Speech nutze ich nicht, da der Text dann nahe der Figur ausgegeben wird - ich möchte das Ganze aber in einem festen Fenster darstellen.

Ansonsten gibt es für Dich den Befehl Minicut in Verbindung mit Speech.

Außerdem ist es dann sinnvoll, einen Button zu setzen, der den Text weiterschaltet.

Vom Prinzip her habe ich es so gemacht :

Variable Textnumber setzen : Eine Variable bekommt die Nummer des auzugebenden Textes. Die jeweils nummerierten Textblöcke stehen alle in einer einzigen Funktion. Das erleichtert das Ausrichten und editieren.

Textfenster öffnen mit Close Button daran

Das ist ein halbtransparenter Rahmen , damit der Text bei jeder Hintergrundfarbe gut zu lesen ist. Alternativ kann
man bei jedem Textout auch die Farbe ändern, ist aber mehr Aufwand.

Close Button : Ein Schaltfeld, das ich am Textfenster im gleichen Subroom einblende ( z.B. im Überall Raum )

Dieser Button erhöht beim Draufklicken die Variable Textnumber um 1 und ruft die Funktion auf, wo die Textblöcke stehen. Dort prüft die Funktion, welche Textnummer aktuell ist und zeigt diese an.
Wenn der letzte Textblock ausgegeben wurde, setzt dieser die Variable auf 0 und beim Klicken auf den Button wird geprüft : if_num (textnumber;0) ---> dann werden die Texte per hidealltext() gelöscht, die GRafiken auf 0 gesetzt und der Subroom kann verlassen werden.

Mit speech müsste das ähnlich zu realisieren sein


Prinzip : Figur soll den ersten Teil sagen :

Textnumber auf 1 und Funktion Textscripts aufrufen

Closebutton Skript muss u.A. enthalten :

if_num (textnumber;0) -> kein Text mehr zum Ausgeben ?
{
hidealltext()
setobj (textwindow;0)
setobj (closebutton;0)
return()
break()
}

Funktion Textscripts :

hidealltext()

if_num (textnumber;0) -> vorsichtshalber nochmal : kein Text mehr zum Ausgeben ?
{
setobj (textwindow;0)
setobj (closebutton;0)
return()
break()
}

Wenn doch :


-Textfenster und Close Button einblenden

setobj (textwindow;1)
setobj (closebutton;1)

if_num (textnumber;2)
{
textout (...)
textout (...)
break()
}

if_num (textnumber;3) -> letzter Textblock, setzt Variable Textnumber auf 0, damit der Closebutton nicht weiterschaltet, sondern alles schließt
{
textout (...)
textout (...)
setnum (textnumber;0)
break()
}

if_num (textnumber;2)
{
textout (...)
textout (...)
break()
}



Soweit mal das Grundprinzip.

Bei mir sieht das noch komplizierter aus, da der Button mehrere Funktionen hat und ich mit unterschiedlich froßen Textfenster arbeite ( damit wenig Text in einem großen Fenster nicht verloren geht, habe ich 3 Zustände in den Grafiken, die nach Bedarf aufgerufen werden )
Die Funktionen unterscheiden außerdem zwischen allen Figuren im Spiel, die etwas sagen können, darum hantiere ich da mit enorm viel Text.

Außerdem läuft ein Timer mit, der den Text nach einer Weile automatisch weiterschaltet, damit es beim Vertonen nicht zu Differenzen kommt

Gruß

Manni
Es gibt 10 Arten von Usern :
die, die Binärcode verstehen und die, die es nicht tun....
----------------------------------------------------------
STAR TREK FYNE :
http://www.fynegames.homepage.t-online.de

Jar0fDirt
PaC-DK Newby
Posts: 7
Joined: 14 Jun 2016, 23:34
Location: Thüringen

Re: Platzsparen bei einem längeren Monolog

Post: # 83281Post Jar0fDirt
15 Jun 2016, 15:23

Ich danke recht herzlich für die Möglichkeiten :)
Grüße

Jar0fDirt
_________________________________________________________________________________________________
This is the winning formula!

Post Reply