Wintermute Engine Forum

Czech forum - fórum v češtině => Technické fórum => Topic started by: michal on September 26, 2003, 01:45:11 AM

Title: Rozhovory
Post by: michal on September 26, 2003, 01:45:11 AM
Cau to jsem jeste ja:)Jak udelam v rozhovoru to ze kdyz kliknu na treba v rozhovrou na otazku   Game.AddResponse(1,"Dobr den"); tak se da promena na jdeto na true.Jde mi o to,,ze kdyz zvolim v dialogu tuhle otazku tak pak treba muzu dat ty postave predmet atd diky te promene,jenom jak zjistit kdyz je vybrana tahle otazka.Jo v helpu jsem nic nenasel:)Cau
Title: Re:Rozhovory
Post by: michal on September 26, 2003, 01:51:22 AM
Tak to jsem jeste uz jsem na to prisel doufam,ze to je
global promena;
if (Game.AddResponce==1){
promena=true;
}

kdyby to vsak slo jeste jinak tak to napiste,budu rad za kazdy jiny zpusob.Ahoj
Title: Re:Rozhovory
Post by: michal on September 26, 2003, 02:31:15 AM
teda responce.Jinak zkousel jsem neco jako    

if (Game.AddResponce==1)
{
Game.AddResponce(4,"Nova otazka");
}

ale kdyz kliknu na 1 otazku tak se tahle ve rhe nevytvori:(
Title: Re:Rozhovory
Post by: Mnemonic on September 26, 2003, 08:59:04 AM
Ty ses jeste vetsi sklerotik, nez ja, poslys ;) Vzdyt uz jsi to minimalne jednou delal u toho bezdomovce.

S tou globalni promennou jsi na dobry stope:

Game.AddResponse(1, "Odpoved 1");
Game.AddResponse(2, "Odpoved 2");
Game.AddResponse(3, "Odpoved 3");

var VybranaOdpoved = Game.GetResponse();

switch(VybranaOdpoved)
{
  case 1:
    // tady si nastavis tu svoji promennou
  break;

  case 2:
    // neco
  break;

  case 3:
    // neco jinyho
  break;
}

Title: Re:Rozhovory
Post by: Kevinekss on September 26, 2003, 02:44:40 PM
ne,ne tohle ja chapu,ale jako chci rozsirir rozhovor.Cili dam priklad.Zeptam se naotazku cislo a bezdkomovec mi rekne neco dulezityho a tim padem se mi prida dalsi nova otazka ohledne toho co mi rekl:)Doufam,ze si me dobre pochopil:)
Title: Re:Rozhovory
Post by: Mnemonic on September 26, 2003, 03:14:34 PM
No takze nastavit promennou uz umime ;) tak proste zavolas AddResponse jenom kdyz je splnena nejaka podminka...

Game.AddResponse(1, "Odpoved 1");
Game.AddResponse(2, "Odpoved 2");
Game.AddResponse(3, "Odpoved 3");

if(NejakaPodminka) Game.AddResponse(4, "Odpoved 4");

Title: Re:Rozhovory
Post by: michal on September 26, 2003, 11:31:48 PM
tak jsem to delal podobne a ted jenom zjistim ze kdyz byla vybrana otazka 2 terba tak promena   dialog se da true a pak overim if(dialog)
{
Game.AddResponse atd atd
Title: Re:Rozhovory
Post by: michal on September 27, 2003, 04:39:46 PM
Jenomze je tady problem.

mam  promenou global vybral2; //ta pak jestli hrac vybral otazku dva
a pak
mam switch atd a u case 2 mam
case 2:
//hrac se tedy zepta
a rybar pak neco odpovi
rybar.Talk("Hm");
mluvilsnim=true; //da se na true
if(mluvilsnim==true) //kdyz je promena true tak pridej   novou Otazku
{
Game.AddResponse(4,"A nechtelo by to neco jinyho?");
}

No a ted kdyz to dam ve hre tak dam otazku dva po dokecani rybare se ale nova otazka neobjevi,objevi se az kdyz ukoncim rozhovor a pak ho zas zacnu.tak nevim potreboval bych to hned,jak rybar odpovi.Jinak ve wme demo se to resilo pres funkce co jsem videl jako ze se udela uplne jinej dialog,ale prijdo mi to zbytecny,na tohle.Tak kdyz nekdo vite tak zkuste pomoct.Diky.Cau
Title: Re:Rozhovory
Post by: Mnemonic on September 27, 2003, 04:55:36 PM
Pockej, to jsi me spatne pochopil. V tom tvym "case" jenom nastavis tu promennou. Ale vlastni pridani odpovedi bude na zacatku, tak kde pridavas vsechny ostatni.

Predpokladam, ze tam mas neco jako:

global Podminka;

while(BeziDialog)
{
  Game.AddResponse(1, "aaaa");
  Game.AddResponse(2, "bbbb");
  if(Podminka) Game.AddResponse(3, "cccc");

  var Odpoved = Game.GetResponse();

  switch(Odpoved)
  {
   ...
  }
}
Title: Re:Rozhovory
Post by: michal on September 27, 2003, 05:43:15 PM
Presne takhle to mam,jenom me nenapadlo ze kdyz to vlozim tam kam ty pises,tak se nemusim o nic starat,me fakt uz hrabe:)diky moc.Jinak jaktoze nejsi online icq,prace co?
Title: Re:Rozhovory
Post by: michal on September 27, 2003, 05:58:58 PM
Jinak jeste jsem si vzpomnel hele mam proste tohle.Mam rybare,kterej kazdejch 5 sekund ma rict rybar.Talk("Nebere to,nebere to");
a pritom samozrejme hejbe pusou:)
a ted chci ze presne ze kdyz zacne mluvi tak se to vypise cili treba tech 5 sekund
cili jak bude to neco s tim
sleep ne?
ale jak to udelate ze kdyz to rekne tak aby to po 5 sekundach rekl znova?
dik

jak
Title: Re:Rozhovory
Post by: Mnemonic on September 27, 2003, 06:20:05 PM
Jednoduse ;) Rybari pripoj tenhle skript:

while(true)
{
  Sleep(5000);
  if(this.Ready) this.Talk("Nebere to,nebere to");
}


Bacha, musis mit posledni verzi, aby tohle fungovalo. Pokud nemas, tak "this" nahrad slovem "self". (this je objekt, jehoz skript zrovna bezi).
Ta podminka s tim Ready tam je proto, aby nerikal ze neberou, pokud s nim zrovna mluvis.
Title: Re:Rozhovory
Post by: Michal on September 27, 2003, 07:16:28 PM
Skveli to jsem presne chtel a jinak proc je za while (true)to byl jenom priklad?:)
Title: Re:Rozhovory
Post by: Michal-SanDiego on September 27, 2003, 07:26:46 PM
Tak jsem to zkusil,ale ted kdyz na nej kliknu levmy jako kdyz s nim chci mluvit tak to nereaguje
Title: Re:Rozhovory
Post by: Mnemonic on September 27, 2003, 08:52:37 PM
To while(true) je takova finta, aby to behalo porad dokola. A pokud ti to nic nedela, je tam nejaka chyba. Podivej se do logu.
Title: Re:Rozhovory
Post by: Michal-SanDiego on September 27, 2003, 09:22:56 PM
Dela mi to,ale od ty doby co jsem to tam dal,tak nejde kliknout pravym na rybare jakoze nenabehne rozhovor:)
Title: Re:Rozhovory
Post by: Michal on September 28, 2003, 05:42:56 PM
No on to rika,dokola,ale nereaguje na stisk pravyho tlacitka:)
Title: Re:Rozhovory
Post by: Mnemonic on September 29, 2003, 11:08:24 AM
Dotaz: dal jsi ten while(true) cyklus do stejnyho skriptu, jako je on "RightClick" ?
Title: Re:Rozhovory
Post by: Michal on September 30, 2003, 12:09:13 AM
Ne,ne co se divam tak ne
Title: Re:Rozhovory
Post by: Kevinekss on September 30, 2003, 11:02:14 PM
Teda spatnwe jsem te pohcopil,jo ten cyklus je ve scriptu rybar,cili i ten right click tam,je.tak nevim ten skript dam sem

#include "scripts\base.inc"
var rybar=Scene.GetNode("rybar");
global chcenavnadu; //jestli chce navnadu
global muzuvzithak;//jestli muzu vzit hak
global dialog;
global mluvilsnim;


on "LeftClick"
{
//kdyz prozkoumam rybare,tak se da navnada true,muzu mu dat drobky
actor.Talk("Rybř,zřejmě mu to moc nebere,protoe kdyby mu to bralo tak se určitě tolik nevztek.No popravdě se ani nedivm,e mu to nebere,kdy nem nvnadu.Mon bych mu mohl pomoct");
}
while(true)
{
  Sleep(5000);
  if(self.Ready) self.Talk("Nebere to,nebere to");
}


on "RightClick"
{
dialog=true;
actor.Talk("Ahoj");



while(dialog){
Game.AddResponse(1,"Tak co berou,berou?");
Game.AddResponse(2,"Sedte tady kad den?");
Game.AddResponse(3,"Tak j jdu");
if (mluvilsnim==true)
{
Game.AddResponse(4,"Mon by to chtělo nějakou jinou nvnadu");
}
var Res =Game.GetResponse();
actor.Talk(Game.LastResponse);
switch (Res)
{
case 1:
rybar.Talk("Neberou,neberou,asi to za chvili zabalim,tohle nem cenu.Celej den tady člověk sed jak blbec a ono nic");
break;

case 2:
rybar.Talk("No kdy je čas,tak jo,ale nějak u nemm nladu,protoe posledn dobu to nebere");

mluvilsnim=true;
break;
case 3:

rybar.Talk("Čau");
dialog=false;
break;

case 4:
chcenavnadu=true;
rybar.Talk("Mysl?");
actor.Talk("No můeme to zkusit");
rybar.Talk("Mohl by jsi zkusit něco sehnat?");
actor.Talk("Pokusm se");
rybar.Talk("Dobře dky");
dialog=false;
}
}

}


on "drobky" //kdyz dam rybari drobky
{
if(chcenavnadu==true) //kdyz jsem prozkoumal rybare da se true a ja mu muzu dat drobky
{
muzuvzithak=true;
Game.DropItem("drobky"); //dam mu drobky
rybar.Talk("To je pro mě?Dky moc,bude se mi to hodit,třeba jetě něco chytm");
actor.Talk("Nemte zač.Prosim vs č je tmhleten hk?");
rybar.Talk("Můj.Za to,e jsi mi dal to krmen,si ho můes vzt");
actor.Talk("Děkuju");

}
else actor.Talk("Nevidm,jedinej důvod,proč bych mu to dval");




}

Ahoj
Title: Re:Rozhovory
Post by: Michal on October 01, 2003, 05:04:44 AM
Jinak me jeste trapi jedna vec:).Vzdycky,nez nactu nejakou postavu(entitu) do sceny,tak si ji zkusim dat ve scene editoru jako add sprite entity,abych so vyzkousel kde ta postava nejlip vypada a abych mel souradnice,potom to samozrejme smazu.Pak to nactu a ejhle dneska se mi stalo,ze ta postava kterou jsem nacet pres scene script jako Scene.LoadEntity atd atd tak byla mnohem mensi nez kdyz jsem ji zkousel ve scene editu,fakt nevim cim to muze bejt,kdyby nekdo vedel nebo s tim mel nekdo podobne zkusenosti tak prosim poradte.Diky Ahoj
Title: Re:Rozhovory
Post by: Michal-SanDiego on October 01, 2003, 11:55:07 PM
Tak co uz si to prelouskal?:)
Title: Re:Rozhovory
Post by: Mnemonic on October 02, 2003, 09:30:32 AM
Cus, plz dej ten cyklus

while(true)
{
  Sleep(5000);
  if(self.Ready) self.Talk("Nebere to,nebere to");
}

do zvlastniho skriptu. Tim jak ten cyklus beha do nekonecna, tak vlastne blokuje zpracovani udalosti od mysi (on "LeftClick" ...). Kdyz to das zvlast, melo by to fungovat spravne.

Co se tyce problemu s velikosti entity, pujde asi o to, jestli je tvoje entita ovlivnena zvetsenim, jake mas nastavene ve scene. (scale-levels, neboli ty zeleny cary). Pokud nechces, aby se ti velikost entity menila, pridej do jeji definice

SCALABLE = FALSE
Title: Re:Rozhovory
Post by: Kevinekss on October 02, 2003, 03:02:48 PM
Skveli hned jak prijud ze skoly tak to zkusim:)Ahoj.Jinak mas asi hodne prace co?Na icq te vube nevidim.Jinak cetl jsi to preview na plnychhrach?I kdyz to bylo pomerne z rane faze,tak to jde,jinak za 14 planujeme demp.Ahoj Kevinekss
Title: Re:Rozhovory
Post by: Michal on October 03, 2003, 01:02:36 AM
Tak jsem to zkousel,ale jedna ve me zarazila nemuzu preci pouzit presne tenhle script zvlast protooze pak engine nevi kdo to ma rikat cili jsem slova this(self)nahradil rybar,ale stejne to nejde
Title: Re:Rozhovory
Post by: Michal on October 03, 2003, 01:03:14 AM
Jinak ty entity uz jsem vyresil asi to bylo tim diky moc:))
Title: Re:Rozhovory
Post by: Mnemonic on October 03, 2003, 09:57:39 AM
Tak jsem to zkousel,ale jedna ve me zarazila nemuzu preci pouzit presne tenhle script zvlast protooze pak engine nevi kdo to ma rikat cili jsem slova this(self)nahradil rybar,ale stejne to nejde

Vi to, vi. Udelej novy skript, do nej den JENOM ten while(true) cyklus a tenhle skript prirad rybari (takze rybar bude mit dva skripty). Tim, ze skript priradis rybari, tak uz engine vi, ze "self" je rybar.
Title: Re:Rozhovory
Post by: Michal on October 03, 2003, 06:11:11 PM
Diky moc jde to:)a ted jeste musim to smazat protoze tam je reseni par ukolu  ve hre:))Diky mo caz:))
Title: Re:Rozhovory
Post by: Kevinekss on October 03, 2003, 06:12:01 PM
Sakra ja nemuzu smaz to ty prosimte.Co nejdriv.Diky moc:)
Title: Re:Rozhovory
Post by: jnsfbi on October 03, 2003, 07:55:32 PM
 ;)
Title: Re:Rozhovory
Post by: Mnemonic on October 04, 2003, 09:48:14 AM
To by bylo skoda, mazat tak hezkej thread, ne? Stejne uz si to vsichni precetli, jak vidis ;)

BTW kdyby ses zaregistroval, tak muzes opravovat vlastni zpravy :P
Title: Re:Rozhovory
Post by: Kevinekss on October 04, 2003, 04:39:24 PM
Sakra berte to jako mensi navod na tu cast hry,ale stejne to nejak zmenim:)
Title: Re:Rozhovory
Post by: jnsfbi on October 04, 2003, 08:27:48 PM
Zacnes delat jinou hru? :-)))
Title: Re:Rozhovory
Post by: Kevinekss on October 05, 2003, 01:29:54 AM
Ne,to ne:)Po ty vsi praci ne,jenom zmenim trochu ten script:)a co jak jde  tvoje adventura?Preju Ti at Ti to vyjde,priste chci taky udelat s postavou.Ale je to zdlouhavejsi,ale co se da delat:)
Title: Re:Rozhovory
Post by: jnsfbi on October 05, 2003, 12:27:52 PM
Co nevidet budu mit demo, urcene pro betaterstery pouze. Prakticky uz je hotovo, ted jen prolezam lokace a upravuji sceny a takove drobnustky...obcas nejakou animaci upravim jeste:) Postava je mrcha, taky mi dala dost prace:( Coz mi pripomina, ze jsem ostuda, ze jsem si jeste tvou hru nestahla a nezahrala, napravim, napravim...:)
Title: Re:Rozhovory
Post by: Mnemonic on October 05, 2003, 12:40:01 PM
No ona taky ke stazeni jeste neni, pokud vim ;)
Title: Re:Rozhovory
Post by: jnsfbi on October 05, 2003, 12:58:29 PM
Aha....:) cili predtim nez neco napisu, musim zacit zase sledovat jine projekty, mam v tom nejaky gulash:))
Title: Re:Rozhovory
Post by: Kevinekss on October 05, 2003, 03:54:31 PM
Jj jeste neni,ale mam special demo for Mnemonic.Kdyztak se ozvi na icq:)
Title: Re:Rozhovory
Post by: Mnemonic on October 05, 2003, 04:17:54 PM
jnsfbi: Vidis? Z nej si ber priklad :))))
Title: Re:Rozhovory
Post by: Kevinekss on October 05, 2003, 05:34:19 PM
Lol:)
Title: Re:Rozhovory
Post by: jnsfbi on October 05, 2003, 08:13:44 PM
Mnemonic: spesl demo? to jedine, ze bych tam zabudovala old guye:))))
Title: Re:Rozhovory
Post by: Mnemonic on October 05, 2003, 08:23:16 PM
Nemusi bejt spesl, staci kdyz bude nejaky :P
Title: Re:Rozhovory
Post by: Kevinekss on October 05, 2003, 09:15:59 PM
Lol old guy ten je nej:))
Title: Re:Rozhovory
Post by: jnsfbi on October 05, 2003, 10:41:24 PM
Kevkes(nebo tak nejak:) : Old guy je idealni parner: stoji v rohu, nikam nechodi a mluvi k veci az pote, co se ho nekdo zepta:) navrhovala jsem tady mnemonicovi jistou upravu wme dema, ale nejak jsme nedokoncili scenario..:)
Title: Re:Rozhovory
Post by: Kevinekss on October 06, 2003, 12:48:52 AM
Partner s posera a sakra,vis ze poser neni moc user friendly,takze oldguy zas takovej svatousek nebude,ja nevim,moc bych mu neveril:)
Title: Re:Rozhovory
Post by: jnsfbi on October 07, 2003, 09:15:05 PM
Partner s posera a sakra,vis ze poser neni moc user friendly,takze oldguy zas takovej svatousek nebude,ja nevim,moc bych mu neveril:)

Ja myslim, ze partner z Posera je porad lepsi, nez posera coby partner:))))))