Istuntojen aloittaminen ja niihin liittyminen

Kun yhdistät tietokoneesi verkkoon, tässä verkossa voi olla monta peliä yhtäaikaisesti käynnissä. Kutsumme näitä istunnoiksi (session). Nämä eri istunnot voivat vastata eri peliä tai samaa peliä. Pelin on ilmoitettava itsensä yksilöllisesti verkkoon. Onneksi Game Maker tekee tämän puolestasi. Ainoa asia, joku sinun tulee tietää on, että kun muutat pelin id-arvoa asetuksista, tämä yksilöllistäminen muuttuu. Tällä tavoin voit välttää sen, että pelin vanhan version pelaajat voisivat pelata peliä uuden version käyttäjiä vastaan.

Jos haluat aloittaa uuden moninpelin, sinun on aloitettava ensin istunto. Tähän voit käyttää seuraavaa keinoa:

mplay_session_create(sesname,playnumb,playername) aloittaa uuden istunnon nykyiseen yhteyteen. sesname on merkkijono, joka ilmaisee session nimeä. playnumb on luku, joka ilmaisee sallittua pelaajien enimmäismäärää (käytä arvoa 0, jos et halua rajoittaa tätä). playname on pelaajanimesi. Funktio palauttaa totuusarvon, joka ilmaisee, onnistuiko istunnon luominen.

Yhden pelin instanssin on luotava istunto. Muiden pelin instanssien tulisi sitten liittyä näihin istuntoihin. Tämä on hiukan monimutkaisempaa. Sinun on ensin tarkistettava, mitä istuntoja on valittavissa ja sitten valita se, johon haluat liittyä. Tähän tarkoitukseen on kolme tärkeää keinoa:

mplay_session_find() etsii kaikki istunnot, jotka hyväksyvät vielä pelaajia ja palauttaa löytyneiden istuntojen lukumäärän.
mplay_session_name(numb) palauttaa istunnon numb nimen (0 on ensimmäinen istunto). Tätä funktiota voi käyttää vasta edellisen funktion kutsumisen jälkeen.
mplay_session_join(numb,playername) liittää sinut istuntoon numb (0 on ensimmäinen istunto). playername on pelaajanimesi. Funktio palauttaa totuusarvon, joka ilmaisee, onnistuiko liittyminen.

on vielä yksi keino, jolla voidaan muuttaa istuntotilaa. Sitä tulisi kutsua ennen istunnon luomista:

mplay_session_mode(move) määrää, tuleeko istunnon isännäksi muuttaa toinen tietokone, kun isäntä lopettaa. moven tulisi olla joko tosi tai epätosi (oletus).

Nykyisen istunnon tilan voit tarkistaa seuraavalla funktiolla:

mplay_session_status() palauttaa nykyisen istunnon tilan. 0 = ei istuntoa, 1 = luotu istunto, 2 = liitytty istunto.

Pelaaja voi lopettaa istunnon seuraavalla funktiolla:

mplay_session_end() lopettaa pelaajan kohdalla istunnon.