Jo aha, uz rozumim. Tak co treba takhle:
Ta funkce cela bezi v cyklu. Dokud hrac vybira odpovedi, tak se vzdycky ten cyklus zavola znovu, a predhodi dalsi odpovedi. Pokud bysme si interne pocitali, kolikrat ten cyklus uz probehnul, tak bysme vedeli, jestli se odpovedi nabizeji poprve (novy dialog), nebo po nekolikate. A podle toho se pak rozhodneme, jestli nabidneme tu odpoved "nashledanou", nebo proste jen suse oznamime, ze si s manikem nemame co rict. Dava to smysl?
function DialogInit()
{
var Selected;
var QuitDialog=false;
var PocetPrubehu = 0;
while( !QuitDialog )
{
PocetPrubehu = PocetPrubehu + 1;
Game.AddResponseOnce( 0, "Kdy to poleví?" );
Game.AddResponseOnce( 1, "Musí to nějak jít!?" );
Game.AddResponseOnce( 2, "Musím se zeptat někoho místního." );
if (Chapter03.TryKey)
{
Game.AddResponseOnce( 4, "Nemáte nějaký odmrazovací prostředek?" );
}
Game.AddResponse( 3, "Nashledanou." );
// pokud je v tuhle chvili jen jedna odpoved,
// zustalo nam jen "nashledanou" a koncime
if(PocetPrubehu==1 && Game.GetNumResponses()<=1)
{
Message("Nemam si s nim co rict");
break;
}
...
}
}