This commit is contained in:
Tim
2026-01-08 22:12:00 +01:00
parent e81b74601c
commit 842893afc4
6 changed files with 0 additions and 0 deletions

27
guide/level5/typewrite.sh Normal file
View File

@@ -0,0 +1,27 @@
#!/bin/bash
type_text() {
local text="$1"
local delay="$2"
local char
while IFS= read -r -n1 char; do
printf "%b" "$char"
sleep "$delay"
done <<< "$text"
printf "\n"
}
type_text "$(echo -e "\e[3;37mNein… du hast es wirklich geschafft.\e[0m")" 0.05
type_text "$(echo -e "\e[3mAber glaub ja nicht, dass ich es dir nun einfacher mache.\e[0m")" 0.03
type_text "$(echo -e "\033[3mWer oder was glaubst du eigentlich, hier zu sein?\033[0m\n")" 0.03
type_text "$(echo -e "")" 1
type_text "$(echo -e "\033[3mAb diesem Moment bleiben dir exakt \033[0m\033[1;3m10 Minuten\033[0m\033[3m, um die Aufgabe zu lösen.\033[0m")" 0.03
type_text "$(echo -e "\033[3mWenn die Zeit abläuft… nun ja… dann verschwindet deine Chance genauso lautlos wie das Flüstern hinter dir.\033[0m")" 0.03
type_text "$(echo -e "\n")" 0.9
type_text "$(echo -e "\033[3mDie Uhr beginnt jetzt zu ticken.\033[0m")" 0.05
type_text "$(echo -e "\033[3mTipp: Versuche den Timer zu Stoppen!\033[0m")" 0.02

View File

@@ -0,0 +1,59 @@
#!/bin/bash
type_text() {
local text="$1"
local delay="$2"
local target_tty="$3"
local char
while IFS= read -r -n1 char; do
if [ -n "$target_tty" ]; then
printf "%b" "$char" > "$target_tty" 2>/dev/null
else
printf "%b" "$char"
fi
sleep "$delay"
done <<< "$text"
if [ -n "$target_tty" ]; then
printf "\n" > "$target_tty" 2>/dev/null
else
printf "\n"
fi
}
# Win message für level5 mit Typewriter-Effekt
WIN_MSG="$(echo -e "\033[1;38;2;255;255;0mHerzlichen Glückwunsch! Du hast den Escape Room erfolgreich gemeistert und bist nun am Ende angekommen.\033[0m")"
WIN_MSG2="$(echo -e "\n\033[1;38;2;255;255;128mVielen Dank fürs Spielen!\033[0m")"
# TTY von level5 aus gespeicherter Datei lesen (vom login_wrapper.sh gesetzt)
level5_TTY=""
if [ -f /home/level5/.timer/current_tty ]; then
level5_TTY=$(cat /home/level5/.timer/current_tty 2>/dev/null | tr -d '\n')
fi
echo "DEBUG: Gefundenes TTY aus Datei: $level5_TTY" >> /tmp/win-debug.log
# Prüfe ob TTY existiert und schreibbar ist
if [ -n "$level5_TTY" ] && [ -e "$level5_TTY" ] && [ -w "$level5_TTY" ]; then
echo "DEBUG: Schreibe an TTY: $level5_TTY" >> /tmp/win-debug.log
# Typewriter-Effekt direkt an level5's Terminal
type_text "$WIN_MSG" 0.02 "$level5_TTY"
type_text "$WIN_MSG2" 0.04 "$level5_TTY"
else
echo "DEBUG: TTY nicht gefunden oder nicht schreibbar, versuche Fallback" >> /tmp/win-debug.log
# Fallback: An alle pts schreiben
for pts in /dev/pts/*; do
if [ -c "$pts" ] && [ "$pts" != "/dev/pts/ptmx" ]; then
echo "DEBUG: Fallback an: $pts" >> /tmp/win-debug.log
type_text "$WIN_MSG" 0.02 "$pts"
type_text "$WIN_MSG2" 0.04 "$pts"
break
fi
done
fi
# Zusätzlich für level5 in eine Datei schreiben
echo "$WIN_MSG" > /home/level5/gewonnen.txt
echo "$WIN_MSG2" >> /home/level5/gewonnen.txt
chown level5:level5 /home/level5/gewonnen.txt 2>/dev/null