DEV (dev) - Script 
Educators & Designers: help improving this quest!
Comments and feedback: discuss in the Forum
Improve translations: comment the Google Sheet
Improve the script: propose an edit here
quest_start 
// dev | DEV
// 
// Country: Italy - Firenze
// Content: Living document for testing Yarn features
// and documenting available commands
//--------------------------------------------
// INIT
// every quest starts with an INIT node
// to initialize existing variables and declare new ones
// title of a node must be unique to this quest
// create a new node for anything that must be referenced multiple times
// that makes understanding of the flow easier
// position is used to place the node in the Graph view in the Editor
// group is used to organize the nodes in the Graph view in the Editor
group: docs
// tags are used to add metadata to the node
// actor is the speaking character, used mostly for voice overs
// - Default | female, neutral, clear diction, mid pitch, minimal emotion
// - SILENT | no spoken words, but can use non-verbal sounds
// - NARRATOR | male, warm, engaging, enthusiastic
// - SPECIAL | fx voice, like a robot or an animal
// - ADULT_F | warm, conversational, adaptable
// - ADULT_M | natural, medium pitch, flexible tone
// - SENIOR_F | warm, gentle rasp, storyteller cadence
// - SENIOR_M | deeper, slower, authoritative but kind
// - KID_F | bright, energetic, quick speech, high pitch
// - KID_M | playful, curious, lively tone, mid-high pitch
actor: NARRATOR
// color us used like this:
//  - red for important nodes like init and quest end
//  - blue for NPCs
//  - yellow for items
//  - green for tasks
//  - purple for activities
color: red
// type is used to identify special nodes like panel, Quiz
// - panel is fullscreen
// - panel_endgame is a special panel that shows the endgame screen
// - quiz shows a quiz with image choiches
type: panel
---
// these are the common variables
<<set $EASY_MODE = false>>
<<set $IS_DESKTOP = false>>
<<set $TOTAL_COINS = 0>>
<<set $COLLECTED_ITEMS = 0>>
<<set $MAX_PROGRESS = 0>>
<<set $CURRENT_PROGRESS = 0>>
<<set $CURRENT_ITEM = "">>
// here we declare new variables for this quest
<<declare $doorUnlocked = false>>
Witamy w zadaniu DEV! #line:0973921 
<<card food_baguette>>
Możesz użyć tego zadania, aby przetestować funkcje i polecenia. #line:0196a6d 
<<asset backpack>>
// shadow line example
[MISSING TRANSLATION: You played the activity well!] #line:0597e46 
DOCS_GLOBAL_VARIABLE 
group: docs
---
<<if $EASY_MODE >>
    [MISSING TRANSLATION:     You are in EASY MODE!] #line:006edd6 
<<else>>    
    [MISSING TRANSLATION:     You are in NORMAL MODE!] #line:02f8aaa 
<<endif>>
<<if $IS_DESKTOP >>
    [MISSING TRANSLATION:     You are on DESKTOP!] #line:0afe11a 
<<else>>
    [MISSING TRANSLATION:     You are on MOBILE!] #line:0245038 
<<endif>>
DOCS_ACTIONS 
//--------------------------------------------
// DOCS COMMANDS
// these are the commands available in all Scripts
//--------------------------------------------
group: docs
---
// execute the configured action in the actionManager
<<action action_id>>
DOCS_ACTIVITY 
group: docs
actor:
---
// launches an activity and set a yarn node to jump when completed
<<activity activity_setting_id return_node>>
// a third optional parameter can set the difficulty
<<activity activity_setting_id return_node tutorial>>
<<activity activity_setting_id return_node easy>>
<<activity activity_setting_id return_node normal>>
<<activity activity_setting_id return_node expert>>
// to get the result of a specific activity
// (0 = failed, >= 1 = completed)
<<if GetActivityResult("id_activity_setting") > 0>>
Świetnie wykonałeś zadanie! #line:0872c3a 
<<endif>>
// this returns the result of the activity played
<<if GetActivityResult("") > 0>>
<<endif>>
DOCS_AREA 
group: docs
---
// set the area (walls), turnng off the previous one
<<area full_area>>
// switch off the current area.
<<area off>>
DOCS_ASSETS 
group: docs
---
// instead of a card, uses a direct Asset Id
<<asset id_asset>> 
// hides the current image
<<asset_hide>>
DOCS_CAMERA 
group: docs
---
// focus the camera on a target (interactable, area, map point)
<<camera_focus palace>>
// back to player
<<camera_reset>>
DOCS_CARDS 
group: docs
---
// uses the card Id to show a card
<<card food_baguette>>
// if accepts 2 additional parameters
// zoom - shows the card in zoom mode
// silent - shows the card without title / audio
<<card food_baguette zoom silent>>
// obviously can set just one of them
<<card food_baguette silent>>
<<card food_baguette zoom>>
// hides the current card
<<card_hide>>
DOCS_COOKIES 
group: docs
---
// adds cookies to the player (can be negative)
<<cookies_add 5>>
<<if GetCookies() >= 10>>
<<endif>>
DOCS_INVENTORY 
group: docs
actor: ADULT_F
---
// adds the item = card to the inventory (needs to be collectable!)
<<inventory id_card add>>
<<inventory id_card>> // same as add
<<inventory id_card remove>>
// Inventory has custom functions to check items
<<if item_count("flag_france") >= 2>>
    Masz więcej niż 2 flagi Francji #line:08a1058 #native
    kolejna linia #line:0563122 
<<endif>>
<<if has_item("flag_france")>>
    Masz flagę Francji #line:kidm_0b932d0 
<<endif>>
<<if has_item_at_least("flag_france", 3)>>
    Masz co najmniej 3 flagi Francji #line:0d694f1 
<<endif>>
<<if can_collect("flag_france")>>
    Możesz zebrać flagę Francji #line:03da430 
<<endif>>
DOCS_TASKS 
group: docs
---
// starts a task
[MISSING TRANSLATION: You can add the decription with #task:id_task_configuration]
<<task_start id_task_configuration>>
// end a task... if you say nothing, its a success
<<task_end id_task_configuration>>
<<task_end id_task_configuration fail>>
<<task_end>> // or even without the id to end current task
DOCS_PARTY 
group: docs
---
// makes a NPC join a party following the player
<<party_join interactable_id>>
// asks a NPC to leave the party
<<party_release interactable_id>>
// if no id, remove all
<<party_release>> 
// the default formation in "line", but other are available
<<party_formation "line">>
<<party_formation "circle">>
<<party_formation "V">>
DOCS_QUEST 
group: docs
---
// end current quest and calculate stars based on progress
<<quest_end>>
// end the current quest with n (0, 1,2,3) stars
<<quest_end 3>>
DOCS_TARGET 
group: docs
---
// put a target element on a target
<<target target_chest>>
// removes any target
<<target off>>
DOCS_YARN_BUILTIN 
group: docs
---
// --- Yarn built-in commands ---
<<wait 3>> // waits for 3 seconds
<<stop>> // stops the current dialogue>>
test_dialog 
group: dialog
tags: noRepeatLastLine
---
[MISSING TRANSLATION: Enter the house #shadow:0f92df5]
ryba nadal tu jest #line:08da0cf #customtag #native
Masło! #line:05edb53 
    <<card butter>>
    Dobre masło #line:090e4bd 
Opcja 2 #line:07243c2 
    Wybrałeś 2 #line:03649cf 
Opcja 3 #line:0c56f8c 
    Wybrałeś 3 #line:0278662 
Opcja 4 #line:0131912 
    Wybrałeś 4 #line:077dcad 
A to jest ryba #line:099d213 
<<card food_fish>>
<<card food_fish zoom>>
Podoba nam się! #line:04d8ba8 
Pierwsza linia v1 #line:04a8afc 
Pierwsza linia v2 #line:08cbb53 
test_inventory 
group: inventory
---
Jestem głodny. Co powiesz na coś do jedzenia? #line:0bdf566 
<<if has_item_at_least("food_baguette", 3)>>
    Potrzebuję 3 bagietek! #line:00c341e 
    <<inventory food_baguette remove>>
    <<inventory food_baguette remove>>
    <<inventory food_baguette remove>>
<<else>>
    Nie masz wystarczającej ilości bagietek! #line:0c0d786 
    <<if has_item("food_fish")>>
        Ale masz rybę! #line:06c9370 
    <<endif>>
    Dziękuję. #line:0a7921b 
<<endif>>
got_baguette 
group: inventory
---
Znalazłeś bagietkę! #line:dev_got_baguette 
<<inventory food_baguette add>>
got_fish 
group: inventory
---
Zdrowa ryba! #line:dev_got_fish 
<<inventory food_fish add>>
area_change 
group: area 
---
Teraz pozwolę ci się rozejść. #line:0aa3b5d 
<<area full_area>>
test_cards 
group: cards 
---
Teraz pokażę ci kilka kart #line:05edfca 
<<card food_fish>>
Proszę zapoznać się ze szczegółami #line:0adbe4f 
<<card food_fish zoom>>
wróć do menu i przeglądaj karty #line:017a620 
a teraz... #line:04ade19 
<<card food_baguette>>
Dobrze, prawda? #line:04b02ce 
<<card_hide>>
Wróć teraz do pracy. #line:0970ed1 
test_cookies 
group: cookies
---
Chcesz 5 ciasteczek? #line:0eb42ea 
Tak #line:027a7a8 
    Proszę bardzo! Miłej zabawy! #line:0e5578d 
    <<cookies_add 5>>
NIE #line:0675243 
    Ok, nie dostaniesz żadnych ciasteczek! #line:0662df0 
<<if GetCookies() >= 10>>
    Masz dużo ciasteczek! #line:0d2d1d7 
<<endif>>
test_camera 
group: camera 
---
Teraz pokażę ci mapę placu zabaw #line:0c58bd8 
<<camera_focus map_tutorial>>
Rozumiesz o co chodzi? #line:03e0224 
<<camera_focus map_tutorial_detail>>
A teraz spójrz na ten pałac! #line:0c1b2e4 
<<camera_focus palace>>
Ładne, prawda? #line:04daace 
<<camera_reset>>
test_actions 
tags:
group: actions
actor: KID_F
---
<<action activate_elevator>>
Akcja Pre „pre_actions” i akcja_post „post_actions” #line:0a67b25 
Czy chcesz otworzyć skrzynię? #line:03cae39 
Tak #line:067231b 
    <<action open_chest>>
NIE #line:05d9657 
<<action stop_elevator>>
task_collect_apples 
tags:
group: tasks
color: green
---
<<if HasCompletedTask("collect_apples")>>
    Dziękuję! Udało Ci się ukończyć to zadanie #line:dev_task_collect_apples_2
<<elseif GetCollectedItem("collect_apples") > 0 >>
    Potrzebuję więcej jabłek! #line:dev_task_collect_apples_3
<<else>>
    <<jump task_collect_apples_info>>
<<endif>>
task_collect_apples_info 
tags:
group: tasks
color: green
type: task
---
Zbierz 4 jabłka! #line:dev_task_collect_apples_1 #task:collect_apples
[MISSING TRANSLATION: This is the description of this task.] #line:063c743 
<<task_start collect_apples task_collect_apples_done>>
task_collect_apples_done 
tags:
group: tasks
color: green
---
Dobra robota! Wróć do robota. #line:dev_test_task_done_1 
task_open_chest 
tags:
group: tasks
color: green
---
<<if HasCompletedTask("open_chest")>>
    Dziękuję! Tego potrzebowałem. #line:073d718 
<<else>>
    Sięgnij i otwórz tę skrzynię! #line:0c31fab 
    <<area off>>
    <<target target_chest>>
    <<task_start open_chest task_open_chest_done>>
<<endif>>
task_open_chest_done 
tags:
group: tasks
color: green
---
Brawo! Otworzyłeś skrzynię. #line:04e697a 
<<target off>>
item_chest 
tags:
group: actions
color: yellow
actor: NARRATOR
---
Dobra skrzynia! #line:dev_item_chest_1 
<<action open_chest>>
npc_join_party 
group: party
---
Chcesz dołączyć do mojej imprezy? #line:0b1f3e1 
Tak #line:0d1f4e3 
    <<party_join npc_party_1>>
    Teraz ja cię obserwuję! #line:019353a 
NIE #line:0a8e1c3 
    OK #line:0c4e4ec 
npc_leave_party 
group: party
---
Chcesz zmienić partię? #line:048e84e 
Krąg formacyjny #line:00c2f84 
    <<party_formation circle >>
Linia formacyjna #line:03d5333 
    <<party_formation line >>
Formacja V #line:08ea78a 
    <<party_formation v >>
Impreza z okazji wydania #line:01f2e9a 
    <<party_release>>
test_quiz 
group: quiz
tags:
type: quiz
---
Oblicz 3*2 #line:dev_test_quiz_1 #card:fr_figure_triangle
cztery #line:dev_test_quiz_2 #card:number_4
    <<jump test_quiz_wrong>>
sześć #line:dev_test_quiz_3 #card:bouillabaisse
    <<jump test_quiz_correct>>
osiem #line:dev_test_quiz_4 #card:food_bread
    <<jump test_quiz_wrong>>
[MISSING TRANSLATION: -> ten] #line:03cdf2b #card:food_olive_oil 
    <<jump test_quiz_wrong>>
test_quiz_correct 
group: quiz
---
TAK! Zgadza się. #line:0eb010e 
test_quiz_wrong 
group: quiz
---
Nie. Czy chcesz spróbować ponownie? #line:0e2b8d7 
Tak #line:08ff2b9 
<<jump test_quiz>>
NIE #line:042881c 
endgame 
group: endgame
color: red
---
Możesz zakończyć to zadanie w następujący sposób: #line:027bdca 
NIEEEEE nie chcę końca #line:014a238 
TAK, zakończmy #line:0751111 
    <<quest_end>>
    <<jump close_game>>
close_game 
group: endgame
color: red
type: panel_endgame
---
To ostatnia wiadomość! Do widzenia #line:01c70f4 
NPCGIoconda 
assetimage: antura_hero
---
<<asset food_tomato>>
cześć, Stefano #line:0c0329c 
ti piacciono le foto? #line:0b9b60d 
<<asset food_fish>>
vuoi arancia? #line:0c2bd41 
    <<asset food_orange>>
    <<action play_sfx>>
vuoi olio? #line:034ed48 
    <<asset food_oil>>
    <<action play_sfx>>
ora chiudo #line:0baeb5f 
<<asset_hide>>
Kolejność działań #line:0087ab1 
    <<activity activity_test>>
    <<jump activity_done>>
Dźwięk sfx #line:0f02889 
    <<action play_sfx>>
Kwiecień Baule #line:053f800 
    <<action open_chest>>
activity_done 
---
Aktywność zakończona. #line:0ce187d 
test_setactive 
---
Teraz aktywuję gameObject test_setactive #line:0ef2850 
<<SetActive TestSetActive_Crate>>
A teraz to wyłączę #line:0a360b1 
<<SetActive TestSetActive_Crate false>>
Ładne, prawda? #line:06bd992 
NPCGreeting2 
assetimage: pirates
---
// <<activity activity_memory>>
Cześć #line:08ecb6c 
Jak się masz? #line:00b7839 
Dobry #line:0991140 
    Miło to słyszeć #line:0b3477e 
Zły #line:08607a4 
    Och, przykro mi to słyszeć #line:0e6ecb2 
Neutralny #line:05f3ea5 
    Rozumiem, mam nadzieję, że wkrótce będzie lepiej #line:0802baf 
Co chcesz zrobić z monetami? #line:0bcd506 
NPCGreeting3 
tags:
---
<<declare $coins = 0>>
Co chcesz zrobić z {0} monetami? #line:0a1994c 
Otwórz drzwi #line:0e11bee 
<<set $doorUnlocked = true>>
 Drzwi są otwarte #line:0cac01d 
Siedzieć w domu #line:07f4239 
 Ty zostajesz w domu #line:079b16e 
<<set $coins = $coins + 10>>
Chest_01 
---
<<if $doorUnlocked>>
 Drzwi są otwarte #line:0e22a89 
 <<jump EntroInCasa>>
<<else>>
 Drzwi są zamknięte #line:05086bc
<<endif>>
note_for_the_editors 
style: note
---
Notatka niestandardowa #line:04d621e 
przydaje się do zostawiania notatek dla redaktorów #line:0520fb4 
jak przypomnienia o rzeczach do zrobienia #line:078fe99 
lub rzeczy do sprawdzenia #line:0982259 
lub rzeczy do naprawienia #line:096379b 
EntroInCasa 
---
wejście do domu #line:0f92df5 
coin_machine 
tags:
group: variables
---
Dam ci 100 monet. #line:06427f9 
<<set $TOTAL_COINS = $TOTAL_COINS + 100>>
test_mood 
tags: mood=HAPPY
actor: GUIDE_F
---
Szczęśliwy nastrój #line:0a6e648 
random_lines 
actor: SENIOR_F
group: random
---
Inteligentna losowa linia 1 #line:07193d8 
Inteligentna losowa linia 2 #line:06fe9a7 
Inteligentna losowa linia 3 #line:032e777 
multiple_lines 
group: random
actor: KID_M
---
To jest wskazówka 1 #line:0423295 
To jest wskazówka 2 #line:00d69e5 
Wskazówka 3 #line:08966ba 
activity_canvas 
group: activities
color: purple
---
<<if GetActivityResult("canvas_beach_settings") > 0>>
    [MISSING TRANSLATION:     You already completed canvas 1!] #line:00dc701 
<<endif>>
Aktywność CANVAS! #line:0532f99 
[MISSING TRANSLATION: -> Yes #highlight] #line:0103ffa 
    <<activity canvas_beach_settings activity_canvas_result>>
[MISSING TRANSLATION: -> No] #line:08a0b03 
activity_canvas2 
group: activities
color: purple
---
<<if GetActivityResult("canvas_beach2_settings") > 0>>
    [MISSING TRANSLATION:     You already completed canvas 2!] #line:006bcc5 
<<endif>>
[MISSING TRANSLATION: Do you want to play Activity CANVAS 2?] #line:0fbe532 
[MISSING TRANSLATION: -> Yes #highlight] #line:03b9f38 
    <<activity canvas_beach2_settings activity_canvas2>>
[MISSING TRANSLATION: -> No] #line:09e165e 
activity_canvas_result 
group: activities
color: purple
---
<<if GetActivityResult("") > 0>>
Świetnie wykonałeś zadanie CANVAS! #line:04fd2ce 
<<else>>
Spróbuj ponownie. #line:0797e1e 
<<endif>>
activity_jigsaw 
group: activities
color: purple
---
Aktywność - UKŁADANKA! #line:0d97ed9 
<<activity jigsaw_toureiffel_settings activity_jigsaw_result>>
activity_jigsaw_result 
group: activities
color: purple
---
<<if GetActivityResult("jigsaw_toureiffel_settings") > 0>>
Świetnie sobie poradziłeś z układanką! #line:041075b 
<<else>>
Spróbuj ponownie. #line:0921ca5 
<<endif>>
activity_memory 
group: activities
color: purple
---
<<if GetActivityResult("memory_baguette_settings") > 0>>
[MISSING TRANSLATION: You played MEMORY activity well!] #line:0940d53 
<<endif>>
PAMIĘĆ aktywności! #line:0727144
<<activity memory_baguette_settings activity_memory_result expert>>
activity_memory_result 
group: activities
color: purple
---
<<if GetActivityResult("memory_baguette_settings") > 0>>
Świetnie wykonałeś zadanie MEMORY! #line:03121d7 
<<else>>
Spróbuj ponownie. #line:0d146ef 
<<endif>>
activity_match 
group: activities
color: purple
---
Aktywność MATCH! #line:0949b00 
<<activity match_zoo_1_settings activity_match_result>>
activity_match_result 
group: activities
color: purple
---
<<if GetActivityResult("match_zoo_1_settings") > 0>>
Dobrze wykonałeś zadanie MATCH! #line:0426701 
<<else>>
Spróbuj ponownie. #line:07643ad 
<<endif>>
activity_money 
group: activities
color: purple
---
Aktywność PIENIĄDZE! #line:05b81d1 
<<activity money_level_1_settings activity_money_result>>
activity_money_result 
group: activities
color: purple
---
<<if GetActivityResult("money_level_1_settings") > 0>>
Świetnie bawiłeś się w grę PIENIĘŻNĄ! #line:0a63bb1 
<<else>>
Spróbuj ponownie. #line:02b103d 
<<endif>>
activity_order 
group: activities
color: purple
---
ZAMÓWIENIE aktywności! #line:08e289f 
<<activity order_baguetterecipe_settings activity_order_result>>
activity_order_result 
group: activities
color: purple
---
<<if GetActivityResult("order_baguetterecipe_settings") > 0>>
Świetnie wykonałeś zadanie ORDER! #line:05527db 
<<else>>
Spróbuj ponownie. #line:04681e2 
<<endif>>
activity_piano 
group: activities
color: purple
---
Zagraj tę melodię fortepianową! #line:0e11b77 
<<activity piano_framartino_settings activity_piano_result>>
activity_piano_result 
group: activities
color: purple
---
<<if GetActivityResult("piano_framartino_settings") > 0>>
Dobrze wykonałeś ćwiczenie na FORTEPIANIE! #line:0b9f1af 
<<else>>
Spróbuj ponownie. #line:04c91cd 
<<endif>>
