Please login or register.

Login with username, password and session length
Advanced search  

News:

For WME related articles and tutorials visit WME Resource Center.

Author Topic: Poradie odpovedi pri viacerych osobach  (Read 4114 times)

0 Members and 1 Guest are viewing this topic.

BlueNomad

  • Lurker
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
    • View Profile
Poradie odpovedi pri viacerych osobach
« on: October 09, 2009, 01:55:08 AM »

Zdravim vsetkych!

Prosim poradte mi (chybaju mi uplne zaklady matematickej logiky a neviem aku funkciu mam pouzit), ako mam naskriptovat nasledujucu vec:

- v hre sa pytam troch postav na spravnu cestu; postavy su na jednej scene (postavy su nadefinovane ako 3 samostatne entity)

- dialog prebehne formou otazka - odpoved
            actor.Talk("......");       <-- otazka
         this.Talk(".....");          <-- odpoved

- teda mam 3 odpovede a az tretia je ta spravna

OTAZKA: ako naskriptujem to, aby vzdy spravna odpoved pripadla na poslednu opytanu postavu (teda hrac sa moze pytat postav na smer v akomkolek poradi, no odpoved dostate vzdy az u poslednej postavy - tretej; medzitym sa u uz opytanej postavy deaktivuje moznost rozhovoru)

Prosim poradte.
Za odpoved uz vopred dakujem.
Logged

PeterSVK

  • Lurker
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 41
    • View Profile
Re: Poradie odpovedi pri viacerych osobach
« Reply #1 on: October 09, 2009, 01:08:50 PM »

Pri opýtani otázky si nastav globalnu premennu napriklad pocet_opytanych na 1. Ku kazdej osobe daj script :

Code: [Select]
If (pocet_opytanych = 3) {
this.Talk("Spravna odpoved");
}

else {
this.Talk("Nespravna odpoved");
pocet_opytanych = pocet_opytanych + 1;
}

Podmienka skontroluje z kolkymi postavami si uz rozpraval a ak to niesu 3 tak potom ti povi ezlu odpoved a prirata dalsiu postavu, u druhej postavy spravi to iste a akonahle bude rozpravat s 3tou rak povie spravnu odpoved  ;)

EDIT: Vysvetlenie zas trochu inak: Ak sa hrac spyta nakej osoby 1 krat, premenna bude nastavena na 1, takze neprejde podmienkov a namiesto toho sa pripocita +1, premenna teda bude 2.Ked sa hrac spyta druhej osoby tak tiez neprejde podmienkov a namiesto toho sa pripocita +1, teda bude premenna 3.Ak sa hrac spyta hocijakej osoby treti krat, prejde podmienkov, pretoze premenna bude uz 3 a dostane spravnu odpoved.
« Last Edit: October 09, 2009, 01:13:04 PM by PeterSVK »
Logged

BlueNomad

  • Lurker
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
    • View Profile
Re: Poradie odpovedi pri viacerych osobach
« Reply #2 on: October 09, 2009, 04:09:06 PM »

VELKA VDAKA PeterSVK!

Myslim, ze som to zvladol s tvojou pomocou. Este raz vdaka.  ::thumbup Tu je vysledok, ak by to mohlo pomoct niekomu (pre pokrocilejsich to bude asi banalita  :)  ).


OPIS CO SOM CHCEL DOSIAHNUT:

- actor sa pyta na smer svojej cesty troch osob no vzdy az na tretie opytanie dostane spravnu odpoved (kazdej osoby - entity sa pyta len jedenkrat - potom je dalsie pytanie deaktivovane)
- odpovede napr.: 1. Neotravuj ma!, 2. Neviem., 3. Musite ist doprava a potom rovno.
- hrac sa moze pytat osob v lubovolnom poradi, no odpovede budu vzdy zaznievat v poradi 1., 2., 3.

RIESENIE:

(skript priradeny k entite alebo aktivnemu regionu; pri kazdom dalsom skripte pre dalsiu osobu sa nutne zmenit poradove cislo osoby samozrejme)

Code: [Select]
var EntOsoba1 = Scene.GetNode("osoba1");

global pocet_opytanych;

pocet_opytanych = 1;

////////////////////////////////////////////////////////////////////////////////

on "Talk"
{
  if(pocet_opytanych == "3")
{
this.Talk("Spravna odpoved.");
EntOsoba1.Active = false;
}

else

{
if(pocet_opytanych == "1")
{
this.Talk("Odpoved jedna.");
pocet_opytanych = pocet_opytanych + 1;
        EntOsoba1.Active = false;


else

{
this.Talk("Odpoved dva.");
pocet_opytanych = pocet_opytanych + 1;
        EntOsoba1.Active = false;
}
}
}

VDAKA!
Logged

PeterSVK

  • Lurker
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 41
    • View Profile
Re: Poradie odpovedi pri viacerych osobach
« Reply #3 on: October 09, 2009, 07:34:34 PM »

Nieje začo   ::beer som rád že som pomohol  :)
Pekne si to rozpisal,nieje to sice nic zložite ale nováčikom to určite pomôže, aj keď sa sám za jedného pokladám  :P
Logged
 

Page created in 0.185 seconds with 24 queries.