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 }