335 {
 336 #objectid=postava1;
 337   #name=postava1;
 338  
 339   #description=Postava cislo 1.;
 340   #location=room_start;
 341  
 342   #showAsSeparateObject=#true;
 343   #nonPortable=#false;
 344   #visibility=#true;
 345  
 346   #talk=scrTalk;
 347  
 348   $talk[3][4]; #note 3 temy rozhovorov;
 349   $talk[][]=#null;
 350  
 351   $talk[1][1]=auto; #note tema rozhovoru;
 352   $talk[1][2]=1; #note tema je zapnuta (0/1);
 353   $talk[1][3]={ #note akcia rozhovoru;
 354     #if #this.$talk[1][1]=auto; #note zmena temy;
 355       ##this.$talk[1][1]=doprava;
 356       #printLn Co najvacsie.;
 357     #else;
 358       #printLn Doprava je narocna.;
 359     #endif;
 360   };
 361   #note $talk[1][4] je pomocna premenna pre vyhodnotenie klavesy;
 362  
 363   $talk[2][1]=pocasie;
 364   $talk[2][2]=1;
 365   $talk[2][3]={
 366     #printLn Brbli brbli oblaky si prdli.;
 367     #this.$talk[2][2]=0; #note vypnutie temy;
 368   };
 369  
 370   $talk[3][1]=pomoc;
 371   $talk[3][2]=1;
 372   $talk[3][3]={
 373     #printLn Lary fary pomoc.;
 374   };
 375 }
 376  
 377 {
 378 #objectid=postava2;
 379   #name=postava2;
 380  
 381   #description=Postava cislo 2.;
 382   #location=room_start;
 383  
 384   #showAsSeparateObject=#true;
 385   #nonPortable=#false;
 386   #visibility=#true;
 387  
 388   #talk=scrTalkInput;
 389  
 390   $talk[3][4]; #note 3 temy rozhovorov;
 391   $talk[][]=#null;
 392  
 393   $talk[1][1]=auto; #note tema rozhovoru;
 394   $talk[1][2]=1; #note tema je zapnuta (0/1);
 395   $talk[1][3]={ #note akcia rozhovoru;
 396     #if #this.$talk[1][1]=auto; #note zmena temy;
 397       ##this.$talk[1][1]=doprava;
 398       #printLn Co najvacsie.;
 399     #else;
 400       #printLn Doprava je narocna.;
 401     #endif;
 402   };
 403   #note $talk[1][4] je pomocna premenna pre vyhodnotenie klavesy;
 404  
 405   $talk[2][1]=pocasie;
 406   $talk[2][2]=1;
 407   $talk[2][3]={
 408     #printLn Brbli brbli oblaky si prdli.;
 409     #this.$talk[2][2]=0; #note vypnutie temy;
 410   };
 411  
 412   $talk[3][1]=pomoc;
 413   $talk[3][2]=1;
 414   $talk[3][3]={
 415     #printLn Lary fary pomoc.;
 416   };
 417 }
 418  
 419 {
 420 #objectid=postava3;
 421   #name=postava3;
 422  
 423   #description=Postava cislo 3.;
 424   #location=room_start;
 425  
 426   #showAsSeparateObject=#true;
 427   #nonPortable=#false;
 428   #visibility=#true;
 429  
 430   #talk=scrTalk;
 431 }
 432  
 433 {
 434 #actionid=scrTalk;
 435   #localVar $identifyTalk[6];
 436   #identifyVar #this.$talk,$identifyTalk; #note ziskaj informacie o premennej;
 437  
 438   #if $identifyTalk[1]==#false; #note nema zadefinovanu premennu $talk;
 439     #printLn S nim si nepokecas.;
 440     #return;
 441   #endif;
 442  
 443   #localVar $key;
 444   #localVar $virtualPos;
 445   #do;
 446     $virtualPos=1; #note virtualna pozicia je kvoli moznosti vypnut jednotlive temy pocas rozhovoru, pouziva na vyber temy;
 447     
 448     #do $pos=1,$pos<=$identifyTalk[4]; #note prejdi vsetky temy;
 449       #if #this.$talk[$pos][2]==1; #note kontrola ci je tema zapnuta;
 450         #vPrintLn [<#var>$virtualPos</#var>] - <#var>#this.$talk[$pos][1]</#var>; #note napis temu;
 451         #this.$talk[$pos][4]=$virtualPos;
 452         #inc $virtualPos;
 453       #else;
 454         #this.$talk[$pos][4]=#null; #note tema je vypnuta;
 455       #endif;
 456     #loop;
 457  
 458     #resetKeyBuffer;
 459     #getKey $key; #note vyber temy;
 460     #if (($key>0) && ($key<$virtualPos))=#false;
 461       #printLn Tak o tom si nepokecas.;
 462       #break;
 463     #endif;
 464     
 465     #do $pos=1,$pos<=$identifyTalk[4]; #note prejdi vsetky temy;
 466       #if $key==#this.$talk[$pos][4]; #note spusti zadefinovanu akciu rozhovoru;
 467         #run #this.$talk[$pos][3];
 468         #break;
 469       #endif;
 470     #loop;
 471   #loop;
 472 }
 473  
 474 {
 475 #actionid=scrTalkInput;
 476   #localVar $identifyTalk[6];
 477   #identifyVar #this.$talk,$identifyTalk;
 478  
 479   #localVar $input,#null;
 480   #if $rom_exec_commandline_without_primary_object==#null; #note nebola zadana tema;
 481     #enablescrolling;
 482       #println <c>action</c>Tema rozhovoru?;
 483       #input $input;
 484     #disablescrolling;
 485   #else;
 486     $input=$rom_exec_commandline_without_primary_object;
 487   #endif;
 488   #trim $input;
 489   #removeDiacritics $input;
 490   #toLower $input;
 491  
 492   #localVar $result;
 493   #localVar $resultClasic;
 494   #localVar $resultDLD;
 495   #localVar $resultJW;
 496   #localVar $resultIsSymbol;
 497  
 498   #localVar $theme,#null;
 499   #do $pos=1,$pos<=$identifyTalk[4]; #note prejdi vsetky temy;
 500     #if #this.$talk[$pos][2]==1; #note kontrola ci je tema zapnuta;
 501       $theme=#this.$talk[$pos][1];
 502  
 503       #note vyhodnot zhodu s temou;
 504       $result=#false;
 505       #compare $input,$theme,$resultClasic;
 506       #compareDLD $input,$theme,$resultDLD; #note Damerau Levenshtein Distance;
 507       #compareJW $input,$theme,$resultJW; #note Jaro Winkler Distance;
 508  
 509       #isSymbol $resultClasic,1,1,$resultIsSymbol; #note kontrola ci to nevratilo #false;
 510       #if $resultIsSymbol=#false;
 511         #if $resultClasic<=1;
 512           $result=#true;
 513         #endif;
 514       #endif;
 515  
 516       #isSymbol $resultDLD,1,1,$resultIsSymbol;
 517       #if $resultIsSymbol=#false;
 518         #if $resultDLD<=1;
 519           $result=#true;
 520         #endif;
 521       #endif;
 522  
 523       #isSymbol $resultJW,1,1,$resultIsSymbol;
 524       #if $resultIsSymbol=#false;
 525         #if $resultJW>=900;
 526           $result=#true;
 527         #endif;
 528       #endif;
 529  
 530       #if $result=#true;
 531         #run #this.$talk[$pos][3]; #note spusti zadefinovanu akciu rozhovoru;
 532         #return;
 533       #endif;
 534     #endif;
 535   #loop;
 536  
 537   #printLn Tak o tom si nepokecas.;
 538 }