Milionerzy

Milionerowy Quiz 3.1.1

Autor pierwotnej wersji: Dizzy

Rozbudowa do wersji 3.00: KrzS

Rozbudowa do wersji 3.1: k4be i Andrrew

Poprawki do wersji 3.1.1: snajperx

Opis

Milionerzy to jedyny typ quizu, w którym gracz nie musi umieć szybko pisać na klawiaturze, gdyż wybiera poprawną odpowiedź spośród kilku podanych. Wybór następuje poprzez wprowadzenie jednej z liter - a, b, c, d - odpowiadającej wytypowanej opcji odpowiedzi. Dobry wybór nagradzany jest punktem (lub punktami), natomiast wybór niepoprawnej odpowiedzi może prowadzić do utraty punktów. Po upłynięciu określonego czasu runda na pytanie zostaje zakończona, a program wyświetla informacje o tym kto podał poprawną odpowiedź, kto błędną oraz odpowiadającą tym odpowiedziom punktację za pytanie. Od 2014 roku skrypt typu milionerzy jest najpopularniejszym quizem IRC-owym.

Historia

Pierwotna wersja skryptu Milionerowy Quiz nawiązujący luźno do teleturnieju o podobnej nazwie powstała w styczniu 2001 roku. Ostatnią aktualizację tej wersji autor wykonał w kwietniu 2001. W obu tych wersjach oprócz quizu ręcznego istniała już możliwość prowadzenia autoquizu, jednak punktowanie każdego pytania wydawało się monotonne, gdyż każdy kto odpowiedział na pytanie zyskiwał bądź tracił tylko jeden punkt, niezależnie od innych okoliczności, np. od tego kto jako pierwszy podał poprawną odpowiedź. Prowadziło to często do tego, że kolejne osoby niekoniecznie znając odpowiedź powtarzały czyjś wybór i hurtem większość bądź wszyscy gracze zdobywali bądź tracili jeden punkt, co skutkowało tym, że różnice między graczami w końcowej punktacji były często bardzo małe.

Z powyższych powodów w czerwcu 2007 quizowicz KrzS na swoją rękę zmodyfikował skrypt znacząco uatrakcyjniając punktowanie odpowiedzi. Odtąd bardziej premiowane są w nim osoby, które mają ciąg dobrych odpowiedzi oraz te, które wprowadzą poprawną odpowiedź najszybciej. Jednocześnie skrypt odejmuje więcej punktów m.in. osobom, które odpowiedziały najszybciej, ale błędnie (co sugeruje "strzelanie") bądź takim, które przerwały ciąg dobrych odpowiedzi błędną (ale nie brakiem odpowiedzi). Poza tym ważną zmianą było każdorazowe automatyczne wyświetlanie czwórki najlepszych graczy co 5 rund. Z jednej strony daje to na bieżąco informacje o wynikach rozgrywki, z drugiej jednak może powodować lagi u prowadzącego quiz. Od tej wersji zrezygnowano z opcji ręcznego wprowadzania pytań. Od września 2007 Milionerowy Quiz, po korektach, jako pierwszy skrypt quizowy, wyświetla antygooglową treść pytań, tj. w taki sposób, że nie ma możliwości bezpośredniego przeklejenia ich treści do przeglądarki internetowej celem szybkiego znalezienia odpowiedzi. Skrypt przez prawie rok od powstania nie był udostępniany. Dopiero 2 maja 2008 roku, na prośbę autora niniejszej strony, KrzS zgodził się odtajnić skrypt i zezwolnił na udostępnienie i rozpowszechnianie tutaj.

W październiku 2008 nastąpiła kolejna modyfikacja skryptu milionerowego przez KrzS-ia, oznaczonego wersją 3.00, w której dodano m.in. opcjonalny tryb, który powoduje iż za każdą podaną odpowiedź (niezależnie od tego czy poprawną czy nie) otrzymuje się jeden punkt. Punkt ten jest niezależny od odpowiedniej punktacji (dodatniej lub ujemnej) z uwagi na poprawność odpowiedzi, nie jest też ujawniany w punktacji po każdej rundzie. Tryb ten ma na celu zminimalizowanie prawdopodobieństwa zdarzenia, w którym to osoby dołączające do gry pod koniec quizu, odpowiadając zaledwie na kilka lub wręcz jedno pytanie, zdobywały czołowe miejsca z uwagi na to, że znaczna część pozostałych uczestników miała ujemny bilans punktów. Tryb ten premiuje osoby aktywnie odpowiadające na pytania.

Po ośmiu latach przerwy pojawiła się nowsza odsłona quizu ze sporą ilością usprawnień i zmian. Milionerowy Quiz 3.1 wykonali i testowali od czerwca do sierpnia 2016 quizowicze k4be i Andrrew. W stosunku do poprzedniej wersji pojawiło się kilka dodatkowych możliwości, m.in. opcja odpowiadania na pytania nie tylko na kanale, ale i poprzez wiadomość prywatną do prowadzącego quiz. Częściowo zmienił się też system punktowania. Od tej pory bardziej premiowane są osoby, które jako jedyne odpowiedziały na dane pytanie poprawnie (bonus +2 pkt zamiast wcześniejszego +1) oraz te, które odpowiedziały dobrze jako pierwsze, także wtedy gdy inna osoba wcześniej odpowiedziała źle. Dotychczas gdy odpowiadający jako pierwszy zrobił błąd rzutowało to na zmniejszenie liczby punktów, które mógł zdobyć gracz odpowiadający poprawnie lecz później. Nadto usprawnione i uszczegółowione zostały rankingi: obecnie drugim kryterium po liczbie zdobytych punktów jest stosunek odpowiedzi poprawnych do niepoprawnych. Powoduje to znacznie mniejsze prawdopodobieństwo wyświetlania miejsc remisowych. Wśród modyfikacji jest też nieco ułatwień dla prowadzącego quiz, m.in. brak konieczności każdorazowego wprowadzania nazwy kanału, pliku z pytaniami, zapisywanie raz wybranych ustawień w osobnym pliku, automatyczne wyświetlanie pełnych wyników po wyczerpaniu się listy pytań, większe możliwości w ustalaniu czasu na odpowiedź lub opóźnień między pytaniami, możliwość wielokrotnego wprowadzania pytań z nowych plików bez zakłóceń numeracji liczby pytań quizu. W wersji tej zniesiono również ograniczenia w ilości graczy wyświetlanych w rankingu.

Aktualizacje mIRC-a z końca 2018 roku ujawniły błąd w ówcześnie najnowszych wersjach skryptu. Uruchomienie quizu milionerowego w wersji co najmniej od 3.00 do 3.1 w programie mIRC w wersji od 7.53 wzwyż powodowało błędne sortowanie odpowiedzi, co uniemożliwiało rozgrywkę. W związku z tym quizowicz snajperx na prośbę autora strony na początku lutego 2019 r. wprowadził poprawki w kodzie skryptu, które zlikwidowały błąd, nie wprowadzając żadnej funkcjonalnej zmiany w grze.

Działanie

Quiz milionerzy polega na tym, że prowadzący rozgrywkę w postaci autoquizu zadaje kolejne pytania podając jednocześnie do wyboru cztery odpowiedzi, z których tylko jedna jest poprawna. Każda z osób na kanale ma możliwość wyboru jednej z nich przez wpisanie litery przypisanej do danej odpowiedzi. W przypadku gdy gracz wybierze kilka odpowiedzi skrypt quizowy uwzględnia tylko pierwszą. Po upłynięciu określonego czasu od momentu zadania pytania runda zostaje zakończona. Jednocześnie wyświetlane na kanał zostają informacje o tym kto otrzymał jaką ilość punktów (dodatnią bądź ujemną) w zależności od tego jaką udzielił odpowiedź. Jeśli ktoś nie udzielił żadnej odpowiedzi to jego stan punktowy nie ulega zmianie.

W najnowszej wersji skryptu jest możliwość ustalenia przez prowadzącego sposobu odpowiadania. Odpowiedzi mogą być przyjmowane zarówno publicznie, na kanał, jak również prywatnie do prowadzącego quiz. Opcja druga domyślnie jest wyłączona, głównie z uwagi na ograniczoną możliwość weryfikacji sprawiedliwości takiej rozgrywki. Prowadzący quiz może także konfigurować podstawowe parametry gry, czyli czas na odpowiedź (minimum 5 sekund, domyślnie wynosi 15 sekund) oraz opóźnienie między rundami (domyślnie 10 sekund, by uniknąć lagów nie zaleca się ustawienia mniej niż 5 sekund). W wersji tej, w stosunku do poprzedniej, zniknęło niepotrzebne i niezmienialne trzysekundowe opóźnienie między zadaniem pytania a wyświetleniem opcji odpowiedzi.

Punkty za wprowadzoną odpowiedź zmieniają się w następujący sposób: pierwszy (najszybszy) odpowiadający za poprawną odpowiedź otrzymuje +3 pkt, za błędną -3 pkt, drugi odpowiadający odpowiednio +/-2 pkt, pozostali +/-1 pkt, jeśli poprawnie odpowiedziała tylko jedna osoba otrzymuje ona bonus +2 pkt (w poprzednim skrypcie +1). Dodatowo, błędy pierwszych odpowiadających nie ograniczają premiowania osób, które jako pierwsze odpowiedziały poprawnie (czyli podczas gdy pierwszy odpowiadający za błąd otrzymał -3 pkt, drugi -2 pkt, to trzeci i czwarty, którzy odpowiedzieli poprawnie otrzymają kolejno +3 i +2 punkty). Ponadto, poprawna odpowiedź oznacza, że w następnym pytaniu punkty mnożone są razy 2 (combo), dwie i więcej poprawnych odpowiedzi z rzędu powoduje mnożenie punktów w nastęnych pytaniach razy 3 (trimbo). Przy czym liczba przyznanych punktów jest mnożona niezależnie od tego czy są to dodatnie punkty (po poprawnej odpowiedzi) czy ujemne (po błędnej odpowiedzi). Różnica jest taka, że po jednej niepoprawnej odpowiedzi i odpowiednio ujemnej punktacji mnożnik się kasuje, natomiast przy ciągu poprawnych odpowiedzi mnożnik trimbo powoduje skokowe zwiększanie puli punktów, które zostaje przerwane dopiero błędną odpowiedzią lub brakiem odpowiedzi na pytanie.

Dodatkowo, w trybie gry "punkt za odpowiedź" (zalecana opcja, domyślnie włączona) niezależnie od powyższej punktacji za każdą podaną odpowiedź (poprawną bądź nie) uzyskuje się +1 punkt. Podyktowane jest to promowaniem osób aktywnie grających, aby ustrzec się sytuacji, w której na koniec quizu wchodzi do gry uczestnik, który jednym czy dwoma pytaniami zwycięża rozgrywkę w sytuacji gdy inni gracze mają ujemną punktację. Uwzględniając te zasady można stwierdzić, że mając mnożnik (zwłaszcza trimbo) nie opłaca się wprowadzać odpowiedzi, której nie jesteśmy pewni, zwłaszcza gdy nikt inny dotąd nie odpowiadał, natomiast po przerwaniu mnożnika możemy pokusić się, zwłaszcza w przypadku trybu dodawania punktu za każdą odpowiedź, nawet o zupełny strzał (choć nie jako pierwsi).

Skrypt podczas rozgrywki automatycznie co pięć rund wyświetla ranking - pięć pierwszych pozycji. Dzięki temu na bieżąco można śledzić zmiany punktacji na szczycie tabeli. Po wyczerpaniu się listy pytań ze wskazanego pliku skrypt także automatycznie wyświetla ranking końcowy obejmujący wyniki wszystkich uczestników. Ranking oprócz zdobytych przez graczy miejsc i punktów podaje również statystyki odpowiedzi (ilość poprawnych, niepoprawnych, łącznie). Przy jednakowej punktacji drugim kryterium pozycjonowania jest stosunek odpowiedzi poprawnych do błędnych. Dopiero gdy i tutaj jest remis rankign wskazuje miejsca ex aequo.


Dla graczy

Komendy, które może używać każdy gracz znajdujący się na kanale podczas quizu:

!ile - wyświetlenie quizowiczowi jego bieżącej pozycji i liczby punktów,
!ile [nick] - wyświetlenie na kanał bieżącego rankingu i liczby punktów wybranego gracza,
!zasady - wyświetlenie na kanał zasad punktacji.

Uwaga - nie należy nadużywać stosowania powyższych komend (zwłaszcza w przypadku quizu z dużą ilością uczestników: ~10 lub więcej) gdyż każde jej wykonanie obciąża połączenie prowadzącego quiz i może powodować lagi.


Dla autorów

Sugerowana liczba rund na pojedynczy quiz to 25 do 60 pytań; optymalna i najczęściej stosowana jest ilość ok. 30 do 40 pytań na quiz. Quiz z 35 pytaniami (przy opóźnieniu pomiędzy pytaniami: 20 sec i czasie na odpowiedź 15 sec) będzie trwać ok. 20 minut.

W najnowszej (opisywanej) wersji skryptu domyślny czas na odpowiedź wynosi 15 sekund. Warto pamiętać, że wydłużanie czasu na odpowiedź powyżej tej wartości znacznie ułatwia ewentualne googlowanie graczy, co może przyczynić się do mniejszej sprawiedliwości rozgrywki.

Format pytań i odpowiedzi:

Treść pytania
Poprawna odpowiedź
Błędna odpowiedź nr 1
Błędna odpowiedź nr 2
Błędna odpowiedź nr 3

Czyli w pierwszej linijce pliku tekstowego musi być treść pytania, w drugiej poprawna odpowiedź, w kolejnych trzech wierszach muszą znajdować się trzy niepoprawne odpowiedzi, lecz merytorycznie też powinny nawiązywać do tematu pytania. W kolejnej (czyli szóstej) linii ma być drugie pytanie, w kolejnych wierszach odpowiedzi do niego i tak dalej aż do końca pliku. Widokiem złamania linii w edytorach tekstu, np. w Notatniku nie należy się przejmować, gdyż to tylko estetyczny efekt powodujący to, by tekst był dobrze widoczny i nie wychodził poza okno. Jeśli nie używaliśmy enteru częściej niż po treści pytania i każdej z czterech odpowiedzi to format pliku z pytaniami będzie odpowiedni.

W Notatniku plik z pytaniami mógłby wyglądać np. tak:

Przykładowy plik z pytaniami do milionerów

Poza liniami z pytaniem i z odpowiedziami nie powinno być w pliku żadnego innego tekstu. Poczas quizu skrypt przed wyświetleniem wariantów odpowiedzi wymiesza je losowo w momencie podawania pytania na kanał.


Wgranie skryptu do mIRC-a:

Usunięcie skryptu z mIRC-a:

/load -a milioner.ini

/unload -a milioner.ini


Przykład typowej rozgrywki:

Najpierw upewniamy się, że nie mamy włączonych żadnych innych quizów. Aby ustrzec się przed ewentualnym konfliktem oprogramowania sugerujemy odinstalować, przynajmniej na czas prowadzenia quizu, inne skrypty. Następnie wczytujemy skrypt quizowy do pamięci mIRC-a.

/load -a milioner.ini

Następnie uruchomiamy quiz na kanale #kanal. Jeśli nie podamy nazwy quiz włączy się na bieżącym kanale.

/mon #kanal

W następnej kolejności warto wprowadzić polecenie wyświetlające na kanał zasady punktowania w grze i odczekać kilka chwil by każdy zainteresowany mógł się z nimi zapoznać.

/mzasady

Następnie wybieramy plik z pytaniami (znajdujący się w katalogu źródłowym mIRC-a). Po wprowadzeniu poniższej komendy skrypt rozpocznie automatyczne podawanie pytań z pliku na kanał. Jeśli nie podamy nazwy pliku pojawi się okienko wyboru, przy pomocy którego będziemy mogli wskazać dowolny plik z pytaniami.

/mplik [nazwa_pliku]

Po wyczerpaniu się pytań z pliku skrypt automatycznie wyświetli pełne wyniki. Następnie wyłączamy quiz (zerując punktację i czasomierz) komendą:

/moff

Na końcu wyładowujemy skrypt quizowy z pamięci mIRC-a:

/unload -a milioner.ini

W razie potrzeby, w trakcie trwania quizu, można użyć komend:

/mczas [liczba_sekund] - zmiana czasu trwania rundy (komenda nie ma wpływu na aktywną rundę); domyślnie trwa 15 sekund; nie można wybrać mniej niż 5,
/minterwal [liczba_sekund] - zmiana czasu przerwy między rundami; domyślnie trwa 10 sekund; dla uniknięcia lagów nie zaleca się ustawienia mniej niż 5 sekund,
/mprywatne [0|1] - wyłącza lub włącza akceptowanie odpowiedzi wprowadzanych w wiadomościach prywatnych do prowadzącego quiz; domyślnie wyłączone,
/mkanalowe [0|1] - wyłącza lub włącza akceptowanie odpowiedzi wprowadzanych na kanale; domyślnie włączone,
/mczysc - przywraca ustawienia domyślne skryptu,
/mstat [liczba] - wyświetlenie bieżącego wyniku quizu dla podanej liczby miejsc; jeśli nie podano liczby wyświetli całość,

Dokładny opis wszystkich komend dla prowadzącego

/mkom - wyświetlenie się opisu skryptu, w tym dostępnych komend dla prowadzącego; przy użyciu tej komendy na kanał nie zostaną wysłane żadne informacje,
/mon [kanał] - uruchomienie quizu na podanym kanale; jeśli nie podamy nazwy quiz włączy się na kanale bieżącym,
/mplik [nazwa_pliku] - włączenie autoquizu pobierającego pytania ze wskazanego pliku; jeśli nie podamy nazwy pliku pojawi się okienko wyboru; quiz można dowolnie przedłużać pobierając pytania z kolenych plików,
/mtryb punkt - ustawienie trybu - dodawanie punktu za każdą udzieloną odpowiedź (niezależnie od poprawności); włączenie tego trybu zostanie zakomunikowane na kanale odpowiednią informacją,
/mtryb bezpunkt - wyłączenie trybu - dodawanie punktu za każdą udzieloną odpowiedź (niezależnie od poprawności); wyłączenie tego trybu zostanie zakomunikowane na kanale odpowiednią informacją,
/mprywatne [0|1] - wyłącza lub włącza akceptowanie odpowiedzi wprowadzanych w wiadomościach prywatnych do prowadzącego quiz; domyślnie wyłączone; zmiana tego trybu zostanie zakomunikowane na kanale odpowiednią informacją,
/mkanalowe [0|1] - wyłącza lub włącza akceptowanie odpowiedzi wprowadzanych na kanale; domyślnie włączone; zmiana tego trybu zostanie zakomunikowane na kanale odpowiednią informacją,
/mczas [liczba_sekund] - zmiana czasu trwania rundy (komenda nie ma wpływu na aktywną rundę); domyślnie trwa 15 sekund; nie można wybrać mniej niż 5,
/minterwal [liczba_sekund] - zmiana czasu przerwy między rundami; domyślnie trwa 10 sekund; dla uniknięcia lagów nie zaleca się ustawienia mniej niż 5 sekund,
/mdelay [liczba_sekund] - zmiana czasu przerwy między rundami; domyślnie trwa 10 sekund; dla uniknięcia lagów nie zaleca się ustawienia mniej niż 5 sekund,
/mczysc - przywraca ustawienia domyślne skryptu; uruchomione podczas quizu wyświetli na kanał całość ustawień,
/mstat [liczba] - wyświetlenie bieżącego wyniku quizu dla podanej liczby miejsc; jeśli nie podano liczby wyświetli całość,
/mzasady - wyświetlenie na kanale zasad punktowania,
/mpauza - wstrzymanie i wznowienie quizu; jeśli wstrzymanie zostało wprowadzone podczas aktywnej rundy zostanie ona normalnie ukończona, po czym wyświetlanie kolejnych pytań zostanie wstrzymane do odwołania,
/mpodp [tresc_podpowiedzi] - podanie na kanał podpowiedzi o wprowadzonej treści,
/mwersja - wyświetlenie na kanale wersji skryptu quizowego,
/mpunkt [nick] [ilość_punktów] - dodanie graczowi o danym nicku danej liczby punktów (jeden punkt jeśli nie podano liczby),
/mile [nick] - skrypt wysyła do wskazanego gracza wiadomość notice z informacjami o bieżącym rankingu i punktacji,
/mblokuj [nick] [powód] - włączenie ignorowania odpowiedzi danego gracza, można dodać powód wszczęcia czynności,
/modblokuj [nick] [powód] - wyłączenie ignorowania odpowiedzi danego gracza, można dodać powód wszczęcia czynności,
/mkanal [kanał] - przeniesienie quizu na podany kanał; zmiana zostanie zakomunikowana na obu kanałach,
/moff - zakończenie quizu, wyzerowanie punktacji i czasomierzu.

Słowniczek pojęć:

Autoquiz
Quiz, który działa w sposób automatyczny. Polega to na tym, że zestawy pytań i odpowiedzi pobierane są przez skrypt quizowy automatycznie ze wskazanego, wcześniej przygotowanego pliku tekstowego. Niektóre (zwłaszcza starsze) skrypty quizowe nie posiadają funkcji autoquizu, wtedy pytania oraz odpowiedzi osoba prowadząca quiz musi wprowadzać ręcznie, na bieżąco.
Lag (latencja)
Opóźnienie między wysłaniem informacji a jej odebraniem. W normalnych warunkach wynosi w internecie kilkadziesiąt milisekund, w przypadku wystąpienia problemów z funkcjonowaniem sieci (spowodowanych np. przeciążeniem połączenia) może dojść do jego wydłużenia - nawet do kilku lub więcej sekund.