Zufällig eine von x antworten geben

Das Board für Schwierigkeiten beim Adventure-Machen und zum Melden von Bugs
Post Reply
TheWae
Tutorial Reader
Posts: 53
Joined: 05 Nov 2011, 12:10

Zufällig eine von x antworten geben

Post: # 81944Post TheWae
24 Dec 2014, 22:34

Ich würde gerne ein Scrip schreiben mit dem ich zufällig(in diesem Fall wenn etwas nicht funktioniert) einen Satz zurück geben kann.

Es soll so sein das wenn ich etwas so benutzen will das es nicht geht eine antwort bekomme... diese soll immer eine von 5 sein zufällig ausgewählt.
Wie würdet ihr das machen?

snake1978
Tutorial Reader
Posts: 51
Joined: 16 Dec 2014, 22:00

Re: Zufällig eine von x antworten geben

Post: # 81946Post snake1978
24 Dec 2014, 23:15

Ich würde es so versuchen:

Im startscript die antworten per setstring eingeben
setstring(antwort1;deine antwort)
setstring(antwort2:deine antwort)
setstring(antwort3;deine antwort)
setstring(antwort4:deine antwort)

im charakterscript:
on (cantall)
{
randomnum(x;4)
speech (self ; [antwort[x]])
}

lässt sich einfach erweitern. desto mehr antworten desto höher muss der wert im randomnum.

frohe weihnachten
Ich bin ein kind aus der 8-Bit Ära!!! :-)

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

Re: Zufällig eine von x antworten geben

Post: # 81947Post japanhonk
24 Dec 2014, 23:24

Genau so !

Alternativ :

randomnum (Antworten_ich;4)

if_num (Antworten_ich;1)
speech (...)
if_num (Antworten_ich;2)
speech (...)
if_num (Antworten_ich;3)
speech (...)
if_num (Antworten_ich;4)
speech (...)

Das käme direkt ins Characterskript, z.B. bei on(talk) oder so.

Gruss

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

TheWae
Tutorial Reader
Posts: 53
Joined: 05 Nov 2011, 12:10

Re: Zufällig eine von x antworten geben

Post: # 81948Post TheWae
25 Dec 2014, 11:55

Mein Problem ist jetzt nur wie ich dann ein Sound/Voice abspielen kann.

Code: Select all

setstring(antwort1;Das geht so nicht.;Vogel_schauen)
setstring(antwort2;So wird das nicht gehen.;Vogel_schauen)
setstring(antwort3;Beim Barte von König Wrynn, so geht das nicht.;Vogel_schauen)
setstring(antwort4;Haha,guter Versuch.;Vogel_schauen)
so geht das nicht und wenn ich noch nen String anlege für jede antwort und die Sounddatei "Vogel_schauen" darüber einfüge geht es auch nicht

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

Re: Zufällig eine von x antworten geben

Post: # 81949Post japanhonk
25 Dec 2014, 13:42

Das kannst Du doch per speech machen...

Speech (dein_Text;soundfile;true/false)

Die Figur führt dabei solange die Speech Animation aus, wie das Soundfile dauert. Das Programm wartet solange.

Alternativ :

if_num (zufallszahl;)
{
playsound (...)
textout (....)
}

usw.

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

TheWae
Tutorial Reader
Posts: 53
Joined: 05 Nov 2011, 12:10

Re: Zufällig eine von x antworten geben

Post: # 81950Post TheWae
25 Dec 2014, 13:55

Ich mache es doch aktuell mit speech so sieht das bei mir aus gerade, funktioniert aber mit dem audio nicht sprich er spielt das file nicht ab. "Vogel_schauen" ist nur zum testen deswegen überall.

Startscript:

Code: Select all

setstring(antwort1;Das geht so nicht.;Vogel_schauen)
setstring(antwort2;So wird das nicht gehen.;Vogel_schauen)
setstring(antwort3;Beim Barte von König Wrynn, so geht das nicht.;Vogel_schauen)
setstring(antwort4;Haha, guter Versuch.;Vogel_schauen)
Charakterscript

Code: Select all

on (cantall)
{
randomnum(x;4) 
speech (self ; [antwort[x]])
}

EDIT//

Habe es jetzt so gelöst, ist ja das einfachste

Code: Select all

on(cantall)
 {
   randomnum(x;4)
   if_num (x;1)
   {
     speech(self;Das geht so nicht.;vogel_schauen)
   }
      if_num (x;2)
   {
     speech(self;So wird das nicht gehen.;Vogel_schauen)
   }
      if_num (x;3)
   {
     speech(self;Beim Barte von König Wrynn, so geht das nicht.;Vogel_schauen)
   }
      if_num (x;4)
   {
     speech(self;Haha,guter Versuch.;Vogel_schauenn)
   }
 }

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

Re: Zufällig eine von x antworten geben

Post: # 81951Post japanhonk
25 Dec 2014, 15:15

Wenn Du nur eine Bedingung hinter dem If hast, kannst Du Dir die geschweiften Klammern da sparen.

Klappt es denn jetzt mit dem Sound ?

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

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

Re: Zufällig eine von x antworten geben

Post: # 81952Post Zimond
25 Dec 2014, 20:16

wenn du die Soundfiles entsprechend durchnummerierst sollte das dort auch wie beim ersten Beispiel mit den Strings funktionieren. Es sollten ja dann auch 4 verschiedene Sounds sein oder?
Image

TheWae
Tutorial Reader
Posts: 53
Joined: 05 Nov 2011, 12:10

Re: Zufällig eine von x antworten geben

Post: # 81953Post TheWae
25 Dec 2014, 22:20

Das mit den Klammern finde ich schöner :-) hab ich einfach so drinne vom proggen
Und das was Zimond sagt hatte, hab ich gemacht ca. so:

speech (self ; [antwort[x]]; [voiceantwort[y]])


Also miut einer eigenen Variable, aber das hat nicht funltioniert

snake1978
Tutorial Reader
Posts: 51
Joined: 16 Dec 2014, 22:00

Re: Zufällig eine von x antworten geben

Post: # 81954Post snake1978
25 Dec 2014, 22:38

Noch ein versuch:

setstring(antwort1;Das geht so nicht.)
setstring(antwort2;So wird das nicht gehen.)
setstring(antwort3;Beim Barte von König Wrynn, so geht das nicht.)
setstring(antwort4;Haha, guter Versuch.)
setstring(voice1;vogel schauen)
setstring(voice2;vogel schauen)
setstring(voice3;vogel schauen)
setstring(voice4;vogel schauen)


als speechbefehl:
speech (self ; [antwort[x]]; voice[x];true)

das antwort doppetl geklammert ist, ist glaube ich nur dafür da das der spechbefehl bemerkt das es eine variable ist und kein text.

Für den soundfile reicht eine eckige klammer.

Aber ok, deine variante ist auch gut. vor allem wenn wenn mehrere chars hat und die alle mehrere antworten und verschiedene stimmen haben.

meine Variante war gedacht für antworten ohne soundfiles damit man in jedem char sich das viele scripten sparen kann.
Ich bin ein kind aus der 8-Bit Ära!!! :-)

Post Reply