🤔 Interesujące
Zapisywanie i wczytywanie¶
Możesz umożliwić graczom zapis stanu rozgrywki w dowolnym momencie oraz wczytanie tego zapisu - tak jak w typowej grze komputerowej. W tym celu wykorzystaj specjalnie przygotowane makra (save-game: ) oraz (load-game: )
Po prostu w wybranym przez ciebie miejscu wstaw link do zapisywania:
(link: "Zapisz stan gry")[(save-game: "plik A")]
w wybranym przez ciebie miejscu wstaw link do wczytywania:
(link: "Wczytaj stan gry")[(load-game: "plik A")]
W przypadku kiedy gracz/ka kliknie link "Zapisz stan gry" nastąpi zapis do pliku o nazwie "plik A" w przeglądarce, a następnie tekst linku zniknie. Przy wczytywaniu gracz/ka przejdzie do momentu, w którym zapisał/a grę.
W sytuacji kiedy gracz/ka będzie próbował/a wczytać stan gry, który wcześniej nie został jednak zapisany (gracz/ka nie kliknął/kliknęła na link "Zapisz stan gry" - tylko przeszedł/przeszła dalej do kolejnej części opowieści) możesz dla bezpieczeństwa użyć instrukcji warunkowej if.
Jeżeli jest zapisany stan gry w pliku o nazwie "plik A" to wyświetl link do wczytania stanu gry, w przeciwnym razie nie wyświetlaj go.
{
(if: (saved-games:) contains "plik A")
[(link: "Wczytaj stan gry")[(load-game: "plik A")]]
}
Powtarzanie wyrazów¶
(str-repeated: 5, "Cześć! ")
otrzymamy: Cześć! Cześć! Cześć! Cześć! Cześć!
Odwracanie wyrazów¶
(str-reversed: "Cześć!")
otrzymamy: !ćśezC
Makra data/czas¶
Jeżeli potrzebujesz użyć w swojej opowieści aktualnej daty/godziny pobieranej z urządzenia gracza/ki skorzystaj z makr podanych w poniższym przykładzie. Pamiętaj, że informacje będą wygenerowane w języku angielskim.
Przykład
Aktualna data: (current-date:)
Aktualny czas: (current-time:)
Aktualny dzień miesiąca: (monthday:)
Aktualny dzień tygodnia: (weekday:)
Rezultat
Makro (live: )¶
Makro (live: ) pozwala odczekać określony czas (podany w sekundach) i wykonać np. inne makro lub po prostu wyświetlić tekst.
Cykliczność
Pamiętaj, że jeżeli wykorzystasz makro (live: ) do wykonywania co jakiś czas innego makra lub wyświetlania tekstu to będzie ono powtarzane w nieskończoność co określony czas, np. co 2 sekundy losuj jakieś słowo z listy słów.
Automatyczny powrót
Możesz połączyć makra (live: ) oraz (undo: ), aby wykonać automatyczny powrót z drugiej karteczki na pierwszą po określonym czasie w sekundach. Przykład: (live: 2s)[(undo:)]
Karteczka: start
## (live: 0.5s)[(either: "Bang!", "Kaboom!", "Whammo!", "Pow!")]
(live: 2s)[Zwykły tekst 1.(stop:)]
(live: 3s)[Zwykły tekst 2.(stop:)]
(live: 4s)[Zwykły tekst 3.(stop:)]
[[tajemnica]]
Karteczka: tajemnica
Straszna tajemnica
(live: 2s)[(undo:)]
Rezultat - możesz przetestować:
Makro (event: )¶
Jeżeli chcesz, aby tekst, link, makro itd. pojawiło się po określonym czasie (bez cyklicznego powtarzania - makro zostanie wykonane tylko raz) to skorzystaj z makra (event: ).
Przykład
(event: when time > 3s)[O nie! Miałem ci jeszcze powiedzieć o pewnej [[tajemnicy]]]
Rezultat
Po 3 sekundach pojawi się ukryty tekst z linkiem:
Makro (transition: )¶
Makro (transition: ) pozwala ci wyróżnić wybrany tekst zaraz po wejściu na określoną karteczkę (fragment opowieści). Na przykład przechodzisz z karteczki "start" na karteczkę "przygoda". Zaraz po wejściu na karteczce "przygoda" pierwsze zdanie jest animowane przez 1s.
Przykład
(t8n: "instant")[Zwykły tekst 1 - instant].
(t8n: "dissolve")[Zwykły tekst 2 - dissolve]
(t8n: "flicker")[Zwykły tekst 3 - flicker]
(t8n: "shudder")[Zwykły tekst 4 - shudder]
(t8n: "rumble")[Zwykły tekst 5 - rumble]
(t8n: "slide-right")[Zwykły tekst 6 - slide-right]
(t8n: "slide-left")[Zwykły tekst 7 - slide-left]
(t8n: "pulse")[Zwykły tekst 8 - pulse]
Rezultat - możesz przetestować: