Please login or register.

Login with username, password and session length
Advanced search  

News:

This forum provides RSS feed. To query recent posts use this url. More...


Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Prot

Pages: [1]
1
Technické fórum / Dialogy
« on: December 04, 2008, 11:24:05 PM »
Zdravíčko,
v prvé řadě chci poděkovat tvůrcům WME a lidem zde pomáhajícím ostatním. Bohužel jsem se ve vývoji ale zaseknul na začátku u dialogů.

Mám scénu, ve které není actor, ale je tam pouze entita Strážce. Kliknu na Strážce a jemu se nad hlavou objeví pozdrav. Objeví se dialogové okno (response box), ve kterém mám otázky od actora. Ale

1) Když kliknu na otázku, Strážce odpoví textem nad jeho hlavou a hned za ním má mluvit actor, jehož text se nikde neobjeví, pak opět mluví Strážce a Strážcův text se normálně nad ním objeví. Nějak blbě jsem se v tom pohrabal a actor nemluví (resp. mluví pouze tehdy, když tam dám actor.Active = true; , ale to je zase vidět). Ve skriptu iniciujícím scénu (scene_init.script) mám

Code: [Select]

#include "scripts\base.inc"

var Strazce = Scene.LoadEntity("entities\Strazce\Strazce.entity");
 Strazce.Active = true;

global EmptyActor;
 actor.Active = false;

 global StateSchody;




Script entity Strážce je následující:


Code: [Select]
#include "scripts\base.inc"

function StrazceDialogue()
{
  var Responses;
  var Selected;
  var Loop = true;

  while(Loop)
  {
    // prepare the sentences
    Responses[0] = "Kdo jsi?";
Responses[1] = "Jak jsem se tady ocitnul?";
    Responses[2] = "Co mi můžeš říct o tom, kdo jsem?";
Responses[3] = "Jsem připravený ať už půjde o cokoli.";
    Responses[4] = "Myslím, že ještě nejsem na tuto cestu připravený.";

    // fill the response box
    Game.AddResponseOnceGame(0, Responses[0]);
    Game.AddResponse(1, Responses[1]);

    Selected = Game.GetResponse();

    if(Selected==0)
    {
  this.Talk("Test 1");
    actor.Talk("Actor mluvi 1a");
  this.Talk("Strazce mluvi 1");
  actor.Talk("Actor mluvi 1b");
        }

    else if(Selected==1)

 {
  this.Talk("Test 2");
    actor.Talk("Actor mluvi 2a");
  this.Talk("Strazce mluvi 2");
  actor.Talk("Actor mluvi 2b");
   
}
}
}


on "LeftClick"
{

  this.Talk("Vítej, už jsem tě očekával!");
  StrazceDialogue();
}



Bohužel jsem se hrabal ve všem možném a už nevím, kde je chyba :-(( Response box jsem vrátil na defaultní a pořád stejný problém - actor nemluví.


2) Rád bych udělal to, aby mi v Response boxu mluvila entita Strážce a actor (který na scéně není) - aby se jejich větičky střídaly a když by domluvily, objevilo by se mi tam dialogové okno s otázkama. Pak bych zase kliknul na otázku a v tomto samém okně by opět probíhal rozhovor.


Nějak jsem se v tom zaseknul a prosím tedy o pomoc...

Pages: [1]

Page created in 0.034 seconds with 19 queries.