Haastecheckerit

Haastekätköjen nykyiset ohjesäännöt vaativat checkerin jokaiseen kätköön. Tällä hetkellä ainoa hyväksytty checkereitä ylläpitävä sivusto on tilastosivusto Project-GC. Perehdyimme haastecheckerien maailmaan ja selvitimme miten sellaisen saa omalle haastekätkölleen.

Haastecheckerit helpottavat merkittävästi haasteen ehtojen täyttymisen tarkastamista. Etsijän tai haasteen tekijän ei enää tarvitse kahlata tilastoja läpi varmistaessaan suoritusta, vaan checkeri käy kätköilijän tilastot läpi (Project-GC:n tietokannasta) ja katsoo täyttyvätkö haasteen ehdot.

Periaatteessa kuka tahansa voi kirjoittaa uusia haastecheckereitä. Checkerin tekeminen vaatii kuitenkin vähän ymmärrystä ohjelmoinnista, sillä checkerit kirjoitetaan Lua-ohjelmointikielellä, eli samalla jolla Wherigo-kasetitkin tehdään. Jos ohjelmointi jollain muulla kielellä on tuttua, niin Luan kyllä oppii nopeasti.

Haastecheckerin kirjoittajaksi pääseminen vaatii Project-GC:n erillisen hyväksynnän. Tällä hetkellä uusia kirjoittajia ei hyväksytä Project-GC:n viimeistellessä teknistä toteutustaan. Checkerien teon lupaillaan avautuvan kaikille lähiaikoina.

Skriptit ja tagit – haastecheckerin rakenne

Checkerin rakenne

Haastecheckerit koostuvat kahdesta osasta, Lua-kielisestä tarkistusskriptistä ja JSON-muotoisesta tagista.

Lua-kielinen skripti sisältää varsinaisen tarkastuslogiikan. Se ottaa tagin muuttujat huomioon ja selvittää tekee niiden perusteella tarkastuksen kirjautuneen käyttäjän tilastoihin. Muiden tekemien checkerien lähdekoodia pääsee katsomaan checkerin View source -napin kautta. Tämä on hyvä tapa opiskella tarkistusskriptin rakennetta. Ennen lähdekoodin tutkimista kannattaa lukea Project-GC:n dokumentaatio, jotta ymmärtää mitä skripti pitää sisällään.

Tagissa on tarkastusksriptin muuttujat. Eri puolilta maailmaa löytyy hyvin samantyylisiä haasteita ja samaa tarkastusskriptiä voidaan hyödyntää useassa haasteessa tagilla säädettävien arvojen perusteella. Tagin arvoilla voi esimerkiksi rajata mistä maasta tai mitä kätkötyyppejä tarkastusskripti hyväksyy.

Checkeri omalle haasteelle

Jos löydät jostain päin maailmaa identtisen haasteen, niin voit luoda uuden checkerin klikkaamalla Clone tag… -nappia haasteen checkerin kohdalla ja linkittämällä sen omaan kätköösi. Toisen kätkön olemassaolevaa checkeriä ei pitäisi käyttää suoraan vaikka ehdot olisivatkin samat. Jokaisen tagin pitäisi liittyä yhteen haastekätköön.

Valmiin tagin kloonaaminen vaatii, että haasteesi on tarkastettavissa samalla skriptilla ja tagilla kuin toinen haaste. Esimerkiksi maata ei voi vaihtaa, vaan haasteesi täytyy olla tarkalleen samoilla ehdoilla kuin toinen haaste. D/T-taulukon täyttämiseen ja vastaaviin haasteisiin todennäköisesti löytyy valmis checkeri ja käyttökelpoinen kloonattava tagi.

Mikäli sopivaa valmista checkeriä ei löydy, eikä sinua ei ole jo aiemmin hyväksytty checkerien tai tagien kirjoittajaksi, niin tällä hetkellä ainoa mahdollisuus on pyytää checkerin tekemistä Project-gc.com:n foorumin Checker Requests -palstalla, jossa aiemmin hyväksytyt vapaaehtoiset tekevät uusia checkereitä ja uusia tageja olemassa oleville checkereille.

Mistä aloittaa uuden haasteen kanssa?

Uuden haasteen kanssa on pieni muna-kana -ongelma. Uutta haastecheckeriä ei välttämättä kannata tehdä valmiiksi, ennen kuin tietää haasteen menevän kätkötarkastuksesta läpi. Toisaalta haastecheckerin toteutuksessakin voi tulla teknisiä haasteita, jotka pakottavat tekemään muutoksia haasteideaan.

Jos olet epävarma haasteen läpimenosta, niin suosittelemme varmistamaan ensin, että checkeri on teknisesti toteutettavissa. Tämä onnistuu kysymällä foorumilla checkerien tekijöiltä. Voit samalla saada arvokasta palautetta ja kehitysideoita haasteideastasi. Kun tiedät checkerin olevan teknisesti mahdollinen, voit laittaa haasteidean tarkastettavaksi kätkötarkastajille.