iQuiz
irssi quiz, v130627 Autor: wilk |
Opis
Jest to skrypt quizowy napisany dla programu irssi. Obsługuje w obecnej postaci quizy klasyczne, czyli wyświetla pytania i oczekuje na wprowadzenie jednej, prawidłowej odpowiedzi oraz quizy typu mieszacz, gdzie należy ułożyć poprawną odpowiedź ze składających się na nią losowo pomieszanych liter. Skrypt iQuiz działa jedynie w formie autoquizu.
Historia
Skrypt powstał 23 maja 2010 roku w wyniku zapotrzebowania na skrypt quizowy funkcjonujący w popularnym kliencie IRC – irssi. W oficjalnym repozytorium skryptów dla tego programu nie było skryptów stricte quizowych. Początkowym założeniem projektu było przeniesienie podstawowych funkcjonalności jakie oferował skrypt dizzy, wraz z utrzymaniem kompatybilności co do formatu plików z pytaniami. Z biegiem czasu skrypt był rozbudowywany i uzyskał możliwość realizacji innych quizów.
Działanie
Quiz polega na wyświetleniu pytania i oczekiwaniu na podanie prawidłowej odpowiedzi. W trybie mieszacza wyświetlane są losowo pomieszane litery składające się na hasło, które jest jednocześnie odpowiedzią. Pierwsza osoba, która udzieli poprawnej odpowiedzi zdobywa stałą, określoną liczbę punktów (zazwyczaj jeden). W trakcie trwania pytania gracze mogą odpowiednim poleceniem poprosić o kolejną podpowiedź lub o powtórzenie pytania (w przypadku mieszacza, w domyślnej konfiguracji, powoduje to ponowne przemieszanie rozsypanki liter). Po wyczerpaniu się zestawu pytań quiz dobiega końca, a prowadzący może wyświetlić punktację wszystkich graczy.
Dla graczy
Komendy, które może używać każdy gracz znajdujący się na kanale podczas quizu:
!podp | - | wyświetlenie podpowiedzi, |
!przyp | - | ponowne wyświetlenie treści pytania lub hasła, |
!ile | - | skrypt wysyła na kanał informację o liczbie punktów gracza, który wywołał komendę, |
!ile [nick] | - | skrypt wysyła na kanał informację o liczbie punktów gracza o podanym nicku. |
Polecenia wyświetlenia podpowiedzi i przypomnienia pytania są zabezpieczone przed floodem i oszukiwaniem, poprzez wprowadzenie opóźnienia przed ponowną możliwością ich użycia.
Dla autorów
• Format pytań i odpowiedzi (quiz klasyczny):
pyt Tresc pytania
odp prawidlowa odpowiedz
pyt Jak nazywa się przyrzad do pomiaru wartosci dzialajacej sily?
odp silomierz
pyt Podaj Mistrza Polski w pilce noznej w sezonie 2006/2007
odp Zaglebie Lubin
W Notatniku plik z pytaniami mógłby wyglądać np. tak:
Poza liniamy zaczynającymi się od pyt i odp w pliku nie powinno być żadnego innego tekstu.
• Format pytań i odpowiedzi (mieszacz):
1 haslo nr1
2 haslo_nr2
3 haslo numer 3
4 haslo nr 4
W kazdym wierszu ma być jedna odpowiedź poprzedzona kolejnym numerem.
W Notatniku plik z pytaniami o tematyce "rzeki" mógłby wyglądać np. tak:
Poza wierszami z numerem i treścią haseł (odpowiedzi) nie powinno być w pliku żadnych innych znaków.
Uwaga – skrypt przyjmuje także pliki bez wymaganego dla innych skryptów formatu, tj. „pyt”/„odp” w przypadku quizu klasycznego oraz numeracji linii w mieszaczu.
Wgranie skryptu do irssi: |
Usunięcie skryptu z irssi: |
/script load quiz.pl |
/script unload quiz.pl |
Przykład typowej rozgrywki:
Skrypt należy umieścić w katalogu skryptów swojego irssi (jest to zwykle "~/.irssi/scripts"). W irssi wczytujemy go do pamięci poleceniem:
/script load quiz.pl
Jeśli mamy zamiar puścić quiz typu mieszacz, to należy ustawić odpowiednią zmienną (wartość 1: quiz klasyczny, 2: mieszacz):
/set quiz_type 2
Następnie uruchamiamy quiz na kanale #kanal korzystając z pliku z pytaniami o nazwie np. pytania.txt:
/qon #kanal pytania.txt
Po wyczerpaniu się pytań z pliku wyświetlamy punktację graczy:
/qstat
Po wyświetleniu się wyników quiz kończymy komendą:
/qoff
W następnej kolejności opcjonalnie usuwamy skrypt z pamięci irssi:
/script unload quiz.pl
Dodatkowe polecenia:
Wyświetlenie pomocy skryptu – wszystkie polecenia i ustawienia z opisem:
/quiz
Ustawienie opóźnienia wyświetlania kolejnych pytań na np. 10 sekund:
/qdelay 10
Pominięcie bieżącego pytania:
/qskip
Wymuszenie wyświetlenia kolejnej podpowiedzi:
/qhint
Ustawienia skryptu (dla zaawansowanych quizowiczy):
Zmienne ustawiamy korzystając z poniższego polecenia:
/set zmienna wartość
quiz_type | - | rodzaj quizu (1: klasyczny, 2: mieszacz) |
quiz_delay | - | opóźnienie między pytaniami w sekundach (domyślnie: 7) |
quiz_anticheat_delay | - | ochrona przed floodem w sekundach (domyślnie: 3) |
quiz_points_per_answer | - | ilość punktów przyznawanych za poprawną odpowiedź (domyślnie: 1) |
quiz_random_hints | - | czy litery w podpowiedziach odsłaniać losowo? (domyślnie: tak) |
quiz_show_first_hint | - | czy wyświetlać pierwszą podpowiedź razem z pytaniem? (domyślnie: nie) |
quiz_first_hint_dots | - | czy pierwsza podpowiedź to tylko kropki? (domyślnie: tak) |
quiz_mix_on_remind | - | czy mieszać litery przy każdym przypomnieniu? (domyślnie: tak, tylko mieszacz) |
quiz_cmd_hint | - | czy polecenie !podp jest aktywne? (domyślnie: tak) |
quiz_cmd_remind | - | czy polecenie !przyp jest aktywne? (domyślnie: tak) |