home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!mcsun!news.funet.fi!hydra!klaava!hurtta
- From: Kari.Hurtta@Helsinki.FI (Kari E. Hurtta)
- Newsgroups: vmsnet.sources.games
- Subject: Monster Helsinki V 1.04 - part 30/32
- Keywords: Monster, a multiplayer adventure game
- Message-ID: <1992Jun14.104914.14391@klaava.Helsinki.FI>
- Date: 14 Jun 92 10:49:14 GMT
- Sender: hurtta@klaava.Helsinki.FI (Kari Hurtta)
- Followup-To: vmsnet.sources.d
- Organization: University of Helsinki
- Lines: 1463
-
- Archieve-name: monster_helsinki_104/part30
- Author: Kari.Hurtta@Helsinki.FI
- Product: Monster Helsinki V 1.04
- Environment: VMS, Pascal
- Part: 30/32
-
- -+-+-+-+-+-+-+-+ START OF PART 30 -+-+-+-+-+-+-+-+
- X Palauttaa arvonaan (toiminnan laukaisseen) pelaajan mukana olevien`032
- X esineiden listan.
- X
- X Tulkinta:
- X tulos - lista
- X4 players
- X Funktio: players ()
- X
- X Palauttaa arvonaan niiden pelaajien listan, jotka ovat samas-
- X sa huoneessa kuin monster.
- X
- X Virhetilanteet:
- X - Suorituksessa oleva koodi ei ohjaa monsteria
- X > Tulos: niiden pelaajien lista, jotka ovat samassa huone-
- X essa kuin (toiminnan laukaissut) pelaaja.
- X
- X Tulkinta:
- X tulos - lista
- X4 objects
- X Funktio: objects ()
- X
- X Palauttaa arvonaan niiden esineden listan, jotka ovat samassa`032
- X huoneessa kuin monster.
- X
- X Virhetilanteet:
- X - Suorituksessa oleva koodi ei ohjaa monsteria
- X > Tulos: Niiden esineiden lista, jota ovat samassa huone-
- X essa kuin (toiminnan laukaissut) pelaaja.
- X
- X Tulkinta:
- X tulos - lista
- X4 get
- X Funktio: get (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Ottaa maasta monsterin mukaan p1:n ilmoittamat esineet.
- X
- X Palauttaa arvonaan niiden esineiden lista, jotka todella saa-
- X tiin otettua.
- X
- X Virhetilanteet:
- X - Suorituksessa oleva koodi ei ohjaa monsteria
- X > Ei toimintaa, tulos: Tyhj`228 merkkijono/lista
- X
- X Tulkinta:
- X p1 - lista
- X tulos - lista
- X4 drop
- X Funktio: drop (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Pudottaa maahan monsterilta p1:n ilmoittamat esineet.
- X
- X Palauttaa arvonaan listan niist`228 esineist`228, jotka`032
- X todella saatiin pudotettua.
- X
- X Virhetilanteet:
- X - Suorituksessa oleva koodi ei ohjaa monsteria
- X > Ei toimintaa, tulos: Tyhj`123 merkkijono/lista
- X
- X Tulkinta:
- X p1 - lista
- X tulos - lista
- X4 and
- X Funktio: and (p1,p2)
- X
- X Laskee parametrien p1 ja p2 arvon.
- X
- X Palauttaa listan, jossa on ne alkiot, jotka ovat sek`228 p1:ss`228`032
- X ett`228 p2:ssa. Jokainen alkio esiintyy tuloksessa vain kerran.
- X
- X Tulkinta:
- X p1 - lista
- X p2 - lista
- X tulos - lista
- X4 move
- X Funktio: move (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Siirt`228`228 monsterin p1:n ilmoittamaan huoneeseen.
- X
- X Palauttaa huoneen nimen, jonne siirsi monsterin.
- X
- X Vaatimukset:
- X - Jos kohde huone ei ole julkinen eik`228 monsterin omistajan`032
- X omistuksessa, niin monsterilla pit`228`228 olla poof -privile-
- X gio.
- X
- X Virhetilanteet:
- X - Kohde ei ole huone
- X > Tulos: tyhj`123 nimi/merkkijono
- X - Siirto ei onnistu jostain syyst`228 (esim. poof privilegio-
- X ta olisi tarvittu)
- X > Tulos: tyhj`228 nimi/merkkijono
- X - Suoritettava koodi ei ohjaa monsteria
- X > Tulos: tyhj`228 nimi/merkkijono
- X
- X Tulkinta:
- X p1 - nimi
- X tulos - nimi
- X4 pmove
- X Funktio: pmove (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Siirt`228`228 (toiminnan laukaisseen) pelaajan p1:n ilmoittamaan`032
- X huoneeseen.
- X
- X Palauttaa huoneen nimen, jonne siirsi pelaajan.
- X
- X Vaatimukset:
- X - Jos kohde huone ei ole julkinen eik`228 monsterin omistajan`032
- X omistuksessa, niin monsterilla pit`228`228 olla poof -privilegio.
- X - Koodi pit`228`228 olla privileged moodissa.
- X
- X Virhetilanteet:
- X - Kohde ei ole huone
- X > Tulos: tyhj`228 nimi/merkkijono
- X - Siirto ei onnistu jostain syyst`228 (esim. poof privilegio-
- X ta olisi tarvittu)
- X > Tulos: tyhj`228 nimi/merkkijono
- X - Suoritettava koodi ei ohjaa monsteria ja poof privile-
- X giota olisi tarvittu
- X > Tulos: tyhj`228 nimi/merkkijono
- X - Koodi ei ole privileged-moodissa
- X > Tulos: tyhj`228 nimi/merkkijono
- X
- X Tulkinta:
- X p1 - nimi
- X tulos - nimi
- X4 if
- X Funktio: if (p1,p2,p3)
- X
- X Laskee parametrin p1 arvon.
- X
- X Laskee parametrin p2 arvon, jos p1 ei ollut tyhj`228, muutoin`032
- X laskee parametrin p3 arvon.
- X
- X Palauttaa p2 tai p3, riippuen siit`228 kumman arvon laski.
- X
- X Tulkinta:
- X p1 - merkkijono
- X p2 - merkkijono
- X p3 - merkkijono
- X tulos - merkkijono
- X
- X Huomautus:
- X - Puuttuvat parametrit tulkitaan tyhjiksi (t`228m`228 koskee`032
- X my`246s muita funktiota).
- X - Koodin ei siis tarvitse ohjata monsteria, jos poof`032
- X privilegiota ei tarvita.
- X4 where
- X Funktio: where (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Palauttaa huoneen, jossa pelaaja p1 on.
- X
- X Virhetilanteet:
- X - p1 ei ole pelajan nimi
- X > tulos: tyhj`228 nimi/merkkijono
- X - Pelaaja p1 ei pelaa funktion kutsuhetkell`228
- X > tulos: huone, johon pelaaja lopetti pelaamisen
- X
- X Tulkinta:
- X p1 - nimi
- X tulos - nimi
- X4 null
- X Funktio: null (p1,p2,p3,...)
- X
- X Laskee parametrien p1, p2 ja p3 arvon.
- X
- X Palautaa tyhj`228n merkkijonon.
- X
- X Tulkinta:
- X p1 - merkkijono
- X p2 - merkkijono
- X p3 - merkkijono
- X
- X Huomautus:
- X - Sopii per`228kk`228isen toiminnan toteuttamiseen.
- X4 prog
- X Funktio: prog (p1, p2, p3, ...)
- X
- X Palauttaa viimeisen parameterin arvon.
- X
- X Palautaa tyhj`228n merkkijonon.
- X
- X Tulkinta:
- X p1 - merkkijono
- X p2 - merkkijono
- X .
- X .
- X .
- X Huomautus:
- X - Sopii per`228kk`228isen toiminnan toteuttamiseen.
- X
- X4 not
- X Funktio: not (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Palauttaa "TRUE", jos p1 on "", muutoiin palauttaa "".
- X
- X Tulkinta:
- X p1 - merkkijono
- X tulos - merkkijono (?) / totuusarvo
- X4 random
- X Funktio: random (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Palauttaa yhden satunnaisesti valitun alkion p1:n listasta.
- X
- X Virhetilanteet:
- X - p1 on tyhj`228
- X > Tulos: tyhj`228 nimi/merkkijono
- X
- X Tulkinta:
- X p1 - lista
- X tulos - nimi
- X4 strip
- X Funktio: strip (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Palauttaa p1:n muutettuna kirjaimet A-Z kirjaimiksi a-z ja`032
- X muut merkit korvattuna v`228lily`246nnill`228.
- X
- X Tulkinta:
- X p1 - merkkijono
- X tulos - merkkijono
- X
- X Huomatus:
- X - Useiden v`228lily`246ntien sarja (kuten kaikissa muissakin`032
- X funktiossa) korvaatuu yhdell`228 v`228lilynill`228.
- X - Funktio on k`228ytt`246kelpoinen poistettaessa v`228limerkke-
- X j`228 pelaajan puheesta (valitettvasti samalla menee`032
- X skanditkin...).
- X4 experience
- X Funktio: experience (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Palauttaa pelaajan p1 pisteet.
- X
- X Virhetilanteet:
- X - p1 ei ole pelaajan nimi
- X > Tulos: Tyhj`228 merkkijono
- X
- X Tulkinta:
- X p1 - nimi
- X tulos - luku
- X4 set_experience
- X Funktio: set experience (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Asettaa (toiminnnan laukaisseen) pelaajan kokemukseksi p1:n.
- X
- X Palauttaa p1:n.
- X
- X Vaatimukset:
- X - Monserilla pit`228`228 olla experience -privilegio.
- X - Pelaaja ei voi olla monsterin omistaja tai se, joka
- X on ladannut koodin.
- X
- X Virhetilanteet:
- X - Koodi ei ohjaa monsteria
- X > Ei toimintaa, tulos: tyhj`228 merkkijono
- X - Monsterilla ei experience privilegiota
- X > Ei toimintaa, tulos: tyhj`228 merkkijono
- X - (Toiminnan laukaissut) pelaaja on monsterin omistaja tai
- X koodin lataaja.
- X > Ei toimintaa, tulos: tyhj`228 merkkijono
- X
- X Tulkinta:
- X p1 - luku
- X tulos - luku
- X
- X Huomautus:
- X - Funktiolla ei voi muuttaa omaa kokemusta.
- X4 plus
- X Funktio: plus (p1,p2)
- X
- X Laskee parametrien p1 ja p2 arvon.
- X
- X Palauttaa lukujen p1 ja p2 summan.
- X
- X Virhetilanteet:
- X - p1 tai p2 ei ole luku
- X > Tulos: tyhj`228 merkkijono
- X - Lukualueen ylivuoto
- X > Tulos: tyhj`228 merkkijono
- X
- X Tulkinta:
- X p1 - luku
- X p2 - luku
- X tulos - luku
- X4 difference
- X Funktio: difference(p1,p2)
- X
- X Laskee parametrien p1 ja p2 arvon.
- X
- X Palauttaa erotuksen p1 miinus p2.
- X
- X Virhetilanteet:
- X - p1 tai p2 ei ole luku
- X > Tulos: Tyhj`228 merkkijono
- X - Lukualueen ylivuoto
- X > Tulos: Tyhj`228 merkkijono
- X
- X Tulkinta:
- X p1 - luku
- X p2 - luku
- X tulos - luku
- X4 times
- X Funktio: times(p1,p2)
- X
- X Laskee parametrien p1 ja p2 arvon.
- X
- X Palauttaa parametrien p1 ja p2 tulon.
- X
- X Virhetilanteet:
- X - Lukualueen ylivuoto
- X > Tulos: Tyhj`228 merkkijono
- X - p1 tai p2 eiv`123t ole lukuja
- X > Tulos: Tyhj`228 merkkijono
- X
- X Tulkinta:
- X p1 - luku
- X p2 - luku
- X tulos - luku
- X4 quotient
- X Funktio: quotient(p1,p2)
- X
- X Laskee parametrien p1 ja p2 arvon.
- X
- X Palauttaa p1 jaettuna p2:lla (kokonaislukujako).
- X
- X Virhetilanteet;
- X - p1 tai p2 ei ole luku
- X > Tulos: Tyhj`228 merkkijono
- X - p2 on nolla
- X > Tulos: Tyhj`228 merkkijono
- X
- X Tulkinta:
- X p1 - luku
- X p2 - luku
- X tulos - luku
- X4 set_state
- X Funktio: set state(p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Sijoittaa p1 koodikohtaiseen pysyv`123`123n muuttujaan.
- X
- X Palauttaa p1:n.
- X
- X Tulkinta:
- X p1 - merkkijono
- X tulos - merkkijono
- X
- X Huomatus:`032
- X - Muuttuja on koodikohtainen eli jokaisella monsterilla,`032
- X ja huoneen ja esineen hookilla on oma muuttuja.`032
- X - control -funktio ei vaikuta siihen, ett`123 mihin muuttu-
- X jaan set state vaikuttaa.
- X4 get_state
- X Funktio: get state(p1)
- X
- X Lukee koodikohtaisen pysyv`228n muuttujan arvon.
- X
- X Palauttaa muuttujan arvon.
- X
- X Tulkinta:
- X tulos - merkkijono
- X
- X Huomatus:`032
- X - Muuttuja on koodikohtainen eli jokaisella monsterilla,`032
- X ja huoneen ja esineen hookilla on oma muuttuja. Saman
- X esineen eri ilmentymill`228 on sama koodi, joten muuttu-
- X jakin on yhteinen. `032
- X - control -funktio ei vaikuta siihen, ett`228 mist`228 muuttu-
- X jasta get state lukee arvon.
- X4 less
- X Funktio: less(p1,p2)
- X
- X Laskee parametrien p1 ja p2 arvon.
- X
- X Jos p1 on pienempi kuin p2 palauttaa "TRUE", muutoin tyhj`228n`032
- X merkkijonon.
- X
- X Virhetilanteet:
- X - p1 tai p2 ei ole luku
- X > Tulos: Tyhj`228 merkkijono
- X
- X Tulkinta:
- X p1 - luku
- X p2 - luku
- X tulos - merkkijono, totuusarvo (?)
- X4 number
- X Funktio: number(p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Palauttaa p1, jos p1 on luku, muutoin palauttaa tyhj`228n merkki-
- X jonon.
- X
- X Tulkinta:
- X p1 - luku (?)
- X tulos - luku (?)
- X4 health
- X Funktio: health(p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Palauttaa pelaajan tai monsterin p1 voiman lukuarvon.
- X
- X Virhetilanteet:
- X - p1 ei ole palaajan tai monsterin nimi
- X > Tulos: Tyhj`228 merkkijono
- X
- X Tulkinta:
- X p1 - nimi
- X tulos - luku
- X4 all_objects
- X Funktio: all objects()
- X
- X Funktio palauttaa listan kaikkista esineist`123.
- X
- X Virhetilanteet:
- X - Esineit`228 on enemm`228n kuin mahtuu 1000 merkin listaan
- X > Tulos: Niin monen ensimm`123isen esineen lista, jotka mah-
- X tuivat 1000 merkkiin.
- X
- X Tulkinta:
- X - tulos: lista
- X
- X Huomautus:
- X - Jokainen m`228`228ritelty esine esiintyy listassa kerran riip-
- X pumatta siit`228 kuinka monta kappaletta sit`228 on olemassa`032
- X (vaikka sit`228 olisi olemassa 0 kappaletta).
- X4 all_players
- X Funktio: all players()
- X
- X Funktio palauttaa listan kaikkista pelaajista ja hirvi`228ist`228.
- X
- X Virhetilanteet:
- X - Pelaajia on enemm`228n kuin mahtuu 1000 merkin listaan
- X > Tulos: Niin monen ensimm`228isen pelaajan lista, jotka`032
- X mahtuivat 1000 merkkiin.
- X
- X Tulkinta:
- X - tulos: lista
- X4 all_rooms
- X Funktio: all rooms()
- X
- X Funktio palauttaa listan kaikkista huoneista.
- X
- X Virhetilanteet:
- X - Huoneita on enemm`228n kuin mahtuu 1000 merkin listaan
- X > Tulos: Niin monen ensimm`123isen huoneen lista, jotka mah-
- X tuivat 1000 merkkiin.
- X
- X Tulkinta:
- X - tulos: lista
- X4 control
- X Funktio: control(p1,p2)
- X
- X Funktio laskee parametrin p1 arvon.
- X
- X Funktio asettaa parametrin p2 laskemisen ajaksi ohjattavaksi`032
- X monsteriksi p1:n. Suoritettavalla koodilla ja monsterilla`032
- X pit`228`228 olla sama omistaja.
- X
- X Palauttaa p2:n.
- X
- X Virhetilanteet:
- X - p1 ei ole monsterin nimi
- X > Funktio ei laske paramerin p2 arvoa - Tulos: Tyhj`228 merk-
- X kijono
- X - Suoritettavalla koodilla ja p1 m`228`228r`228`228mm`228ll`228 monster
- Villa ei`032
- X ole sama omistaja
- X > Funktio ei laske parametrin p2 arvoa - Tulos: Tyhj`228 merk-
- X kijono
- X
- X Tulkinta:
- X p1 - nimi
- X p2 - merkkijono
- X tulos - merkkijono
- X
- X Huomautus:
- X - Vaadittavat privilegiot katsotaan ohjattavalta monseril-
- X ta, joten funktio vaikuttaa niihin
- X - Funktio ei vaikuta privileged -moodiin
- X - p2:n suorituksen ajaksi funktio sijoittaa muuttujaan`032
- X monster name ohjattavan monserin nimen eli p1:n
- X4 include
- X Funktio: include(p1,p2)
- X
- X Funktio laskee parametrien p1 ja p2 arvon.
- X
- X Palauttaa p2:n, jos p1 sis`228lt`228`228 p2:n, muutoin tyhj`123n merkki-
- X jonon.
- X
- X Virhetilanteet:
- X - p2 on tyhj`228 merkkijono
- X > Tulos: Tyhj`228 merkkijono
- X - p1 on tyhj`123 merkkijono
- X > Tulos: tyhj`228 merkkijono
- X
- X Tulkinta:
- X p1 - merkkijono
- X p2 - merkkijono
- X tulos - merkkijono
- X
- X Huomautus:
- X - Nuo 'virhetilanteet' sopivat kyll`228 funktion normaalik`228y-
- X t`246ksen puitteisiin eli kyseess`228 ei ole todellisia virhe-
- X tilanteita - mutta tilanteet ovat sen verran erikoisia,`032
- X ett`228 ne oli syyt`228 mainita erikseen.
- X4 exclude
- X Funktio: exclude (p1,p2)
- X
- X Laskee parametrien p1 ja p2 arvon.
- X
- X Palauttaa arvonaan ne alkiot listasta p1, joita ei ole listas-
- X sa p2.
- X
- X Tulkinta:
- X p1 - lista
- X p2 - lista
- X tulos - lista
- X4 get_remote_state
- X Funktio: get remote state (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Palauttaa arvonaan p1 ilmoittaman monsterin pysyv`228n muuttujan`032
- X arvon (eli state kent`228n arvon). Monsterilla pit`228`228 olla sama`032
- X omistaja kuin suoritettavalla koodilla tai monsteri pit`228`228 olla`032
- X julkinen ja koodin ohjaamalla monsterilla pit`228`228 olla object`032
- X -privilegio.
- X
- X Virhetilanteet:
- X - p1 ei ole monsterin nimi
- X > Tulos: Tyhj`228 merkkijono
- X - p1:ll`228 on eri omistaja kuin suoritettavalla koodilla
- X > Tulos: Tyhj`228 merkkijono
- X - p1 on julkinen ja koodi ei ohjaa monsteria
- X > Tulos: Tyhj`228 merkkijono
- X - p1 on julkinen ja koodin ohjaamalla monsterilla ei ole`032
- X object -privilegiota
- X > Tulos: Tyhj`228 merkkijono
- X
- X Tulkinta:
- X p1 - nimi
- X tulos - merkkijono
- X4 set_remote_state
- X Funktio: set remote state (p1,p2)
- X
- X Laskee parametrien p1 ja p2 arvon.
- X
- X Sijoittaa p1 ilmoittaman monsterin pysyv`228n muuttujaan p2:n`032
- X arvon (eli state kent`228`228n). Monsterilla pit`228`228 olla sama omista-
- X ja kuin suoritettavalla koodilla tai monsteri pit`228`228 olla jul-
- X kinen ja koodin ohjaamalla monsterilla pit`228`228 olla object -pri-
- X vilegio.
- X
- X Palauttaa p2:n arvon.
- X
- X Virhetilanteet:
- X - p1 ei ole monsterin nimi
- X > Ei toimintaa - tulos: Tyhj`228 merkkijono
- X - p1:ll`228 on eri omistaja kuin suoritettavalla koodilla
- X > Ei toimintaa - tulos: Tyhj`228 merkkijono
- X - p1 on julkinen ja koodi ei ohjaa monsteria
- X > Ei toimintaa - tulos: Tyhj`228 merkkijono
- X - p1 on julkinen ja koodin ohjaamalla monsterilla ei ole`032
- X object -privilegiota
- X > Ei toimintaa - tulos: Tyhj`228 merkkijono
- X
- X Tulkinta:
- X p1 - nimi
- X p2 - merkkijono
- X tulos - merkkijono
- X4 remote_objects
- X Funktio: remote objects (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Palauttaa huoneessa p1 (maassa) olevien esineiden nimet.
- X
- X Virhetilanteet:
- X - p1 ei ole huoneen nimi
- X > Tulos: Tyhj`123 merkkijono
- X
- X Tulkinta:
- X p1 - nimi
- X tulos - lista
- X4 remote_players
- X Funktio: remote players (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Palauttaa huoneessa p1 olevien pelaajien nimet.
- X
- X Virhetilanteet:
- X - p1 ei ole huoneen nimi
- X > Tulos: Tyhj`228 merkkijono
- X
- X Tulkinta:
- X p1 - nimi
- X tulos - lista
- X
- X Huomautus:
- X - Pelaajien listaan ei sis`123lly monstereita toisin kuin all`032
- X players(), lookup player() ja parse player() funktioiden`032
- X kohdalla
- X - Funktio toimii vastaavasti kuin players() funktio - pait-
- X si, ett`228 huone valitaan parametrin avulla
- X4 heal
- X Funktio: heal (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Nostaa toiminnan laukaiseen pelaajan terveytt`228 (voimia) para-
- X metrin ilmoittmalla m`228`228r`228ll`228.
- X
- X Palauttaa p1:n.
- X
- X Virhetilanteet:
- X - p1 ei ole luku
- X > Ei toimintaa - tulos: Tyhj`228 merkkijono
- X - p1 on negatiivinen
- X > Ei toimintaa - tulos: Tyhj`228 merkkijono
- X
- X Tulkinta:
- X`255 p1 - luku
- X tulos - luku
- X
- X Huomautus:`032
- X - Mik`228li (toiminnan laukaisseen) pelaajan nykyisen ter-
- X veyden ja lis`228yksen summa on suurempi kuin pelaajan`032
- X tason maksimiterveys, funktio asettaa pelaajalle t`228m`228n`032
- X tason maksimiterveyden - t`228m`228 ei kuitenkaan vaikuta
- X funktion palauttamaan arvoon.
- X4 duplicate
- X Funktio: duplicate (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Tekee niist`228 esineist`228, jotka on mainittu listassa p1 monste-
- X rin mukaan uuden kappaleen. Esineill`228 ja monsterilla pit`228`228 ol-
- X la sama omistaja tai monsterilla pit`228`228 olla object -privilegio.
- X
- X Palauttaa listan niist`228 esineist`228, jotka todella sai tehty`228.
- X
- X Virhetilanteet:
- X`009 - Koodi ei ohjaa monsteria
- X`009 > Ei toimintaa: tulos: Tyhj`228 merkkijono
- X - Esineell`228 ei ole sama omistaja kuin monsterilla ja`032
- X monsterilla ei ole object -privilegiota
- X`009 > Esinett`228 ei tule palautettavaan listaan eik`228 mons-
- X terin mukaan.
- X - Esine ei mahdu mukaan
- X`009 > Esinett`228 ei tule palautettavaan listaan eik`228 mons-
- X terin mukaan.
- X
- X Tulkinta:
- X p1 - lista
- X tulos - lista
- X4 pprint
- X Funktio: pprint (p1,p2,p3,...)
- X Funktio: pprint raw (p1,p2,p3,...)
- X
- X Laskee parametrin p1,p2 ja p3 arvon.
- X
- X Tulostaa (toiminnan laukaiseelle) pelaajalle parametrien teks-
- X tin. Edellisen parametrin per`228`228n funktio lis`228`228 v`228lily`24
- V6nnin,`032
- X jos seuraava alkaa kirjaimella tai numerolla. Tekstin per`228`228n`032
- X funktio lis`228`228 pisteen, jos se loppuu kirjaimeen tai numeroon.`032
- X Funktio aloittaa virkeen isolla kirjaimella. raw -versio ei`032
- X muokkaa teksti`228.
- X
- X Palauttaa tulostamansa tekstin.
- X
- X Virhetilanteet:
- X - Teksti on pitempi kuin 1000 merkki`228
- X > Osa tekstist`228 j`228`228 pois (sek`228 tuloksesta, ett`228 tulost
- Veesta).
- X
- X Tulkinta:
- X p1 - merkkijono
- X p2 - merkkijono
- X p3 - merkkijono
- X tulos - merkkijono
- X
- X Huomautus:
- X - Rivijakoon ei ole mahdollista vaikuttaa. Funktio p`228`228tt`228`228`
- V032
- X rivijaon itse.
- X4 print
- X Funktio: print (p1,p2,p3,...)
- X Funktio: print raw (p1,p2,p3,...)
- X
- X Laskee parametrin p1,p2 ja p3 arvon.
- X
- X Tulostaa monsterin kanssa samassa huoneessa oleville pelaa-
- X jille parametrin tekstin. Edellisen parametrin per`228`228n funktio`032
- X lis`228`228 v`228lily`246nnin, jos seuraava alkaa kirjaimella tai numerol-
- X la. Tekstin per`228`228n funktio lis`228`228 pisteen, jos se loppuu kir-
- X jaimeen tai numeroon. Funktio aloittaa virkkeen isolla kirjai-
- X mella. raw -versio ei muokkaa teksti`228.
- X
- X Palauttaa tulostamansa tekstin.
- X
- X Virhetilanteet:
- X - Suoritettava koodi ei ohjaa monsteria
- X > Tulostaa toiminnan laukaisseen pelaajan kanssa samas-
- X sa huoneessa oleville pelaajille parametrien tekstin,`032
- X tulos: parametrien teksti
- X - Teksti on pitempi kuin 1000 merkki`228
- X > Osa tekstist`228 j`228`228 pois (sek`228 tuloksesta, ett`228 tulost
- Vees-
- X ta).
- X
- X Tulkinta:
- X p1 - merkkijono
- X p2 - merkkijono
- X p3 - merkkijono
- X tulos - merkkijono
- X
- X Huomautus:
- X - Jos (toiminan laukaissut) pelaaja on siis samassa huo-
- X neessa kuin monster, niin teksti tulostuu my`246s h`228nelle.
- X - Eritt`228in monirivisill`228 viesteill`228 on mahdollista yli
- X kuormittaa Monsterin tapahtumienv`228litysj`228rjestelm`228 (jo-
- X kainen rivi on yksi tapahtuma), jolloin osaa tapahtumis-
- X ta on mahdollista hukkua.
- X - Rivijakoon ei ole mahdollista vaikuttaa. Funktio p`228`228tt`228`228
- V`032
- X rivijaon itse.
- X4 oprint
- X Funktio: oprint (p1,p2,p3,...)
- X Funktio: oprint raw (p1,p2,p3,...)
- X
- X Laskee parametrin p1,p2 ja p3 arvon.
- X
- X Tulostaa monsterin kanssa samassa huoneessa oleville pelaajil-
- X le parametrien tekstin, paitsi toiminnan laukaiseelle pelaajal-
- X le. Edellisen parametrin per`228`228n funktio lis`228`228 v`228lily`246nn
- Vin, jos`032
- X seuraava alkaa kirjaimella tai numerolla. Tekstin per`228`228n funk-
- X tio lis`228`228 pisteen, jos se loppuu kirjaimeen tai numeroon. Funk-
- X tio aloittaa virkkeen isolla kirjaimella. raw -versio ei muok-
- X kaa teksti`228.
- X
- X Palauttaa tulostamansa tekstin.
- X`032
- X Virhetilanteet:
- X - Suoritettava koodi ei ohjaa monsteria
- X > Tulostaa toiminnan laukaisseen pelaajan kanssa samas-
- X sa huoneessa oleville pelaajille parametrien tekstin`032
- X (paitsi toiminnan laukaiseelle pelaajalle), tulos:`032
- X tulostettava teksti
- X - Teksti on pitempi kuin 1000 merkki`228
- X > Osa tekstist`228 j`228`228 pois (sek`228 tuloksesta, ett`228 tulos-
- X teesta).
- X
- X Tulkinta:
- X p1 - merkkijono
- X p2 - merkkijono
- X p3 - merkkijono
- X tulos - merkkijono
- X
- X Huomautus:
- X - Eritt`228in monirivisill`228 viesteill`228 on mahdollista yli-
- X kuormittaa Monsterin tapahtumienv`228litysj`228rjestys (jo-
- X kainen rivi on yksi tapahtuma), jolloin osan tapahtu-
- X mista on mahdollista hukkua.
- X - Rivijakoon ei ole mahdollista vaikuttaa. Funktio p`228`228t-
- X t`228`228 rivijaon itse.
- X4 pget
- X Funktio: pget (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Ottaa maasta (toiminnan laukaisseen) pelaajan mukaan p1:n il-
- X moittamat esineet.
- X
- X Palauttaa arvonaan listan niist`228 esineist`228, jotka todella saa-
- X tiin otettua.
- X
- X Vaatimukset:
- X - koodi pit`228`228 olla privileged-moodissa
- X
- X Virhetilanteet:
- X - koodi ei ole privileged moodissa
- X > Ei toimintaa, funktio ei laske parametrin p1 arvoa,
- X tulos: Tyhj`228 merkkijono/lista `032
- X
- X Tulkinta:
- X p1 - lista
- X tulos - lista
- X4 pdrop
- X Funktio: pdrop (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Pudottaa (toiminnan laukaisseen) pelaajalta maahan p1:n il-
- X moittamat esineet.
- X
- X Palauttaa arvonaan lista esineist`228, jotka todella saatiin pu-
- X dotettua.
- X
- X Vaatimukset:
- X - koodi pit`228`228 olla privileged-moodissa
- X
- X Virhetilanteet:
- X - koodi ei ole privileged moodissa
- X > Ei toimintaa. Funktio ei laske parametrin p1 arvoa
- X - tulos: Tyhj`228 merkkijono/lista
- X
- X Tulkinta:
- X p1 - lista
- X tulos - lista
- X
- X Huomautus:`032
- X Ilmoittaa (toiminnan laukaisseelle) pelaajalle ja muille`032
- X pelaajille, jos esineen pudottaminen aiheutti esineen`032
- X riisumisen (vertaa: wear ja wield komennot.)
- X4 pduplicate
- X Funktio: pduplicate (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Tekee niist`228 esineist`228, jotka on mainittu listassa p1 pelaajan `032
- X mukaan uuden kappaleen. Esineill`228 ja koodilla pit`228`228 olla sama`032
- X omistaja tai monsterilla pit`228`228 olla object -privilegio.`032
- X
- X Palauttaa listan niist`228 esineist`228, jotka todella sai tehty`228.
- X
- X Vaatimukset:
- X`009- koodi pit`228`228 olla privileged -moodissa.
- X
- X Virhetilanteet:
- X`009- Koodi ei ole privileged tilassa
- X`009 > Ei toimintaa. Funktio ei laske parametrin p1 arvoa,
- X tulos: Tyhj`228 merkkijono
- X - Esineell`228 ei ole sama omistaja kuin koodilla ja koodi`032
- X ei ohjaa monsteria
- X`009 > Esinett`228 ei tule palautettavaan listaan eik`228 pelaa-
- X jan mukaan.
- X - Esineell`228 ei ole sama omistaja kuin koodilla ja mons-
- X terilla ei ole object -privilegiota.
- X`009 > Esinett`228 ei tule palautettavaan listaan eik`228 pelaa-
- X jan mukaan.
- X - Esine ei mahdu mukaan
- X`009 > Esinett`228 ei tule palautettavaan listaan eik`228 pelaajan
- X`009 mukaan.
- X
- X Tulkinta:
- X p1 - lista
- X tulos - lista
- X4 destroy
- X Funktio: destroy (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Tuhoaa monsterilta ne esineet jotka on mainittu listassa p1.`032
- X Esineill`228 ja monsterilla pit`228`228 olla sama omistaja tai monste-
- X rilla pit`228`228 olla object -privilegio.
- X
- X Palauttaa listan niist`228 esineist`228, jotka todella sai tuhottua.
- X
- X Virhetilanteet:
- X`009- Koodi ei ohjaa monsteria
- X`009 > Ei toimintaa: tulos: Tyhj`228 merkkijono
- X - Esineell`228 ei ole sama omistaja kuin monsterilla ja`032
- X monsterilla ei ole object -privilegiota
- X`009 > Esinett`228 ei tule palautettavaan listaan eik`228 esine`032
- X tuhoudu.
- X
- X Tulkinta:
- X p1 - lista
- X tulos - lista
- X4 pdestroy
- X Funktio: pdestroy (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Tuhoaa pelaajalta ne esineet jotka on mainittu listassa p1.`032
- X Esineill`228 ja monsterilla pit`228`228 olla sama omistaja tai monste-
- X rilla pit`228`228 olla object -privilegio.
- X
- X Palauttaa listan niist`228 esineist`228, jotka todella sai tuhottua.
- X
- X Vaatimukset:
- X`009- koodi pit`228`228 olla privileged -moodissa.
- X
- X Virhetilanteet:
- X`009- Koodi ei ole privileged tilassa
- X`009 > Ei toimintaa. Funktio ei laske parametrin p1 arvoa,
- X tulos: Tyhj`228 merkkijono
- X - Esineell`228 ei ole sama omistaja kuin koodilla ja koodi
- X ei ohjaa monsteria
- X`009 > Esinett`228 ei tule palautettavaan listaan eik`228 esine`032
- X tuhoudu.
- X - Esineell`228 ei ole sama omistaja kuin koodilla ja mons-
- X terilla ei ole object -privilegiota.
- X`009 > Esinett`228 ei tule palautettavaan listaan eik`228 esine`032
- X tuhoudu.
- X
- X Tulkinta:
- X p1 - lista
- X tulos - lista
- X4 or
- X Funktio: or (p1,p2,p3)
- X
- X Laskee parametrien p1, p2 ja p3 arvon.
- X
- X Palauttaa listan, jossa on ne alkiot, jotka ovat p1:ss`228,`032
- X p2:ssa tai p3:ssa. Jokainen alkio esiintyy tuloksessa`032
- X vain kerran.
- X
- X Virhetilanteet:
- X - Tuloksena syntyv`228 lista on pitempi kuin 1000 merkki`228
- X > Tulos: lista, jossa on vain niin monta alkiota, ett`228 ne`032
- X mahtuvat 1000 merkkiin.
- X
- X Tulkinta:
- X p1 - lista
- X p2 - lista
- X p3 - lista
- X `255 tulos - lista
- X4 string_head
- X Funktio: string head (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Palauttaa merkkijonosta p1 ensimm`228isen sanan (merkkijonon ekaan `032
- X v`228lily`246ntiin saakka).
- X
- X Virhetilanteet:
- X`009- p1 on tyhj`228 merkkijono
- X`009 > Tulos: Tyhj`228 merkkijono
- X
- X Tulkinta:
- X p1 - merkkijono
- X tulos - merkkijono
- X4 string_tail
- X Funktio: string tail (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Palauttaa merkkijonon p1 ensimm`228ist`228 sanaa lukuunottamatta`032
- X (merkkijonon ekasta v`228lily`228nnist`228 alkaen).
- X
- X Virhetilanteet:
- X`009- p1 on tyhj`228 merkkijono
- X`009 > Tulos: Tyhj`228 merkkijono
- X`009- p1:ss`228 vain yksi sana
- X`009 > Tulos: Tyhj`228 merkkijono
- X
- X Tulkinta:
- X p1 - merkkijono
- X tulos - merkkijono
- X4 tail
- X Funktio: tail (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Palauttaa listan p1 ensimm`228ist`228 alkiota lukuunottamatta.
- X
- X Virhetilanteet:
- X`009- p1 on tyhj`228 lista
- X`009 > Tulos: Tyhj`228 lista/merkkijono
- X`009- p1:ss`228 vain yksi alkio
- X`009 > Tulos: Tyhj`228 lista/merkkijono
- X
- X Tulkinta:
- X p1 - lista
- X tulos - lista
- X4 head
- X Funktio: head (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Palauttaa listan p1 ensimm`228isen alkion.
- X
- X Virhetilanteet:
- X`009- p1 on tyhj`228 lista
- X`009 > Tulos: Tyhj`228 merkkijono
- X
- X Tulkinta:
- X p1 - lista
- X tulos - alkio
- X4 lookup_room
- X Funktio: lookup room (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X T`228ydent`228`228 listan p1 alkiot huoneiden nimiksi. Jos jonkin alki-
- X on t`228ydennys ei onnistu, kyseinen alkio j`228`228 pois tuloslistasta.
- X
- X Tulkinta:
- X p1 - lista
- X tulos - lista
- X4 lookup_player
- X Funktio: lookup player (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X T`228ydent`228`228 listan p1 alkiot pelaajien ja monsterien nimiksi.`032
- X Jos jonkin alkion t`228ydennys ei onnistu, kyseinen alkio j`228`228`032
- X pois tuloslistasta.
- X
- X Tulkinta:
- X p1 - lista
- X tulos - lista
- X4 lookup_object
- X Funktio: lookup object (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X T`228ydent`228`228 listan p1 alkiot esineiden nimiksi. Jos jonkin alki-
- X on t`228ydennys ei onnistu, kyseinen alkio j`228`228 pois tuloslistasta.
- X
- X Tulkinta:
- X p1 - lista
- X tulos - lista
- X4 parse_player
- X Funktio: parse player (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Funktio tarjoaa samanlaisen parametrin tulkintapalvelun kuin`032
- X on k`228yt`246ss`228 monsterin komennoissa, joissa voi k`228ytt`228`228 jo
- Vkeri-
- X merkki`228.
- X
- X Palauttaa parametria p1 vastaavan pelaaja ja monster -listan.`032
- X
- X Virhetilanteet:
- X - p1 on tyhj`228 merkkijono
- X > Tulos: Tyhj`228 merkkijono
- X - parametrin tulkinnassa tapahtuu virhe
- X > Tulos: Tyhj`228 merkkijono
- X
- X Tulkinta:
- X p1 - merkkijono
- X tulos - lista
- X4 parse_object
- X Funktio: parse object (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Funktio tarjoaa samanlaisen parametrin tulkintapalvelun kuin`032
- X on k`228yt`246ss`228 monsterin komennoissa, joissa voi k`228ytt`228`228 jo
- Vkeri-
- X merkki`228.
- X
- X Palauttaa parametria p1 vastaavan esinelistan.`032
- X
- X Virhetilanteet:
- X - p1 on tyhj`228 merkkijono
- X > Tulos: Tyhj`228 merkkijono
- X - parametrin tulkinnassa tapahtuu virhe
- X > Tulos: Tyhj`228 merkkijono
- X
- X Tulkinta:
- X p1 - merkkijono
- X tulos - lista
- X4 parse_room
- X Funktio: parse room (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Funktio tarjoaa samanlaisen parametrin tulkintapalvelun kuin`032
- X on k`228yt`246ss`228 monsterin komennoissa, joissa voi k`123ytt`228`228 jo
- Vkeri-
- X merkki`228.
- X
- X Palauttaa parametria p1 vastaavan huonelistan.`032
- X
- X Virhetilanteet:
- X - p1 on tyhj`228 merkkijono
- X > Tulos: Tyhj`228 merkkijono
- X - parametrin tulkinnassa tapahtuu virhe
- X > Tulos: Tyhj`228 merkkijono
- X
- X Tulkinta:
- X p1 - merkkijono
- X tulos - lista
- X4 privilege
- X Funktio: privilege (p1,p2)
- X
- X Laskee parametrien p1 ja p2 arvon.
- X
- X Palauttaa listan niist`228 pelaajan (taikka monsterin) p1 pri-
- X vilegeista, jotka ovat mainittu listassa p2. Mahdolliset pri-
- X vileget: wizard, manager, experience, quota, object, poof,`032
- X special ja monster. wizard -privilege tarkoittaa, ett`123 pelaaja`032
- X on Monster Manager.
- X
- X Virhetilanteet:
- X`009- p1 ei ole pelaajan tai monsterin nimi
- X`009 > Tulos: Tyhj`228 merkkijono/lista
- X`009- p2:ssa on mainittu privilege, jota ei ole olemassa
- X`009 > Tulos: Kyseinen privilege ei tule tulokseen mukaan
- X
- X Tulkinta:
- X p1 - nimi
- X p2 - lista
- X tulos - lista
- X
- X4 userid
- X Funktio: userid (p1)
- X
- X Funktio laskee parametrin p1 arvon.
- X
- X Funktio vaatii toimiakseen, ett`228 ohjattavalla monsterilla on`032
- X experience -privilegio.
- X
- X Palauttaa listan, jossa p1:n pelaajien nimet on vaihdettu vas-
- X taaviksi k`228ytt`228j`228tunnuksiksi.
- X
- X Virhetilanteet:
- X`009- koodi ei ohjaa monsteri taikka ohjattavalla monsteril-
- X la ei ole experience -privilegiota
- X`009 > Funktio ei laske parametrin p1 arvoa, Tulos: Tyhj`228`032
- X merkkijono
- X`009- Listassa p1 on nimi, joka ei ole pelaajan taikka mons-
- X terin nimi
- X`009 > Ei tule mukaan tulokseen
- X`009- listssa on nimi, joka on monsterin nimi
- X`009 > Tulle mukaan tulokseen, userid -k`228ytt`228`228 monsterien
- X`009 k`228ytt`228j`228tunnuksina ohjelman sis`228ist`228 esitysmuotoa`032
- X (monster id), joka on yksik`123sitteinen
- X
- X Tulkinta:
- X p1 - lista
- X tulos - lista
- X4 attack
- X Funktio: attack (p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X V`228hent`228`228 (toiminnan laukaisseen) pelaajan voimina p1:n ilmoit-
- X taman m`228`228r`228n, kuitenkaan ei enemm`123n kuin monsterin kokemus an-
- X taa my`246t`228. Per`228kk`228isten hy`246kk`228ysten summa ei saa ylitt`2
- V28`228 mons-
- X terin kokemuksen m`228`228r`228`228m`123`123 rajaa.
- X
- X Palauttaa mill`228 voimalla hy`246k`228ttiin.
- X
- X Vaatimukset:
- X - Monsteri ei saa olla hy`246k`228nnyt jo kokemuksen m`123`123r`123`123
- Vn rajan`032
- X verran
- X - Pelaaja ei saa olla suojattu.
- X - Hookeilla vaatii privileged -moodin
- X
- X Virhetilanteet:
- X - Monsteri on hy`246k`228nnyt jo kokemuksen m`228`228r`228`228m`228n ra
- Vjan verran
- X > Ei toimintaa - Tulos: tyhj`228 merkkijono
- X - pelaaja on suojattu
- X > Ei toimintaa - Tulos: tyhj`228 merkkijono
- X - p1 ei ole luku
- X > Ei toimintaa - Tulos: tyhj`228 merkkijono
- X - p1 on suurempi kuin kokemus antaa my`124t`123
- X > Hy`246k`228t`228`228n voimalla jonka kokemus antaa my`124ten, Tulos
- V:`032
- X voima jolla hy`246k`228ttiin
- X - koodi ei ohjaa monsteria ja privileged -moodi p`228`228ll`228
- X > ei rajaa hy`246kk`228yksen voimakkuudella
- X - koodi ei ohjaa monsteria ja ei privileged -moodia
- X > Ei toimintaa - Tulos: tyhj`228 merkkijono
- X`032
- X Tulkinta:
- X p1 - luku
- X tulos - luku
- X
- X Huomautus:
- X - Funktio ei kerro, kuinka hyvin hy`246kk`228ys todelisuudessa`032
- X onnistui. (On mahdollista saada selville funktion health`032
- X avulla.)
- X - Funktio ei vaadi en`123`123n privileged moodia monsterilta
- X4 spell_level
- X Funktio: spell level()
- X
- X Palauttaa taian k`228ytt`228j`228n kyseisen tain taitotason. Toimii vain`0
- V32
- X suoritettaessa tain koodissa (labelit summon ja learn).`032
- X
- X Virhetilanteet:
- X - K`228ytet`228`228n muualla kuin taissa
- X > Tulos: Tyhj`228 (merkkijono)
- X
- X Tulkinta:
- X tulos - luku
- X
- X Huomaa:
- X - Taian k`228ytt`228j`228 (muutujassa summoner name) on eri kuin
- X koodin suorittaja (poikkeus: learn -label)
- X4 set_spell_level
- X Funktio: set spell level(p1)
- X
- X Laskee parametrin p1 arvon.
- X
- X Asettaa taian k`228ytt`228j`228n kyseisen tain taitotason. Toimii vain`032
- X suoritettaessa tain koodissa (labelit summon ja learn). Taso 0`032
- X merkitsee, ett`123 pelaaja ei osa taikaa, positiivinen luku merkit-
- X see, ett`123 pelaaja osaa taian.`032
- X
- X Palautaa asetetun taian tason.
- X
- X Virhetilanteet:
- X - K`228ytet`228`228n muualla kuin taissa
- X > Tulos: Tyhj`228 (merkkijono)
- X - p1 ei luku
- X > Tulos: Tyhj`228 (merkkijono)
- X - p1 < 0
- X > Tulos: Tyhj`228 (merkkijono)
- X
- X Tulkinta:
- X p1 - luku
- X tulos - luku
- X
- X Huomaa:
- X - Taian k`228ytt`228j`228 (muuttujassa summoner name) on eri kuin
- X koodin suorittaja (poikkeus: learn -label)
- X
- X - T`228m`228 funktio on tarkoitettu taian opettamiseen pelajalle
- X (learn -labelissa)
- X
- X - Muuttujasta book name voi tarkistaa mik`228 kirja (magic book) `0
- V32
- X on k`228ynist`228nyt taian learn -labelin. `032
- X2 Fixing_Database `032
- X Start monster with MONSTER/FIX -command.
- X
- X Fix-subsystem uses file level locks to prevent other players to`032
- X playing monster, when you fixing database.
- X
- X If someone is playing, when you want fix-database, it's better run
- X monster down with D -commands in subsystem -menu (in system-menu).
- X `032
- X3 Menu
- X Follow menu you get with ? -command in /FIX -system:
- X
- X A Clear/create privileges database.
- X B Clear/create health database.
- X C Create event file.
- X D Reallocate describtins
- X E (Exit subsystem) Start monster playing.
- X F Clear/create experience database.
- X G Calculate objects' number in existence.
- X GL Clear/create global database.
- X GS Mark moster shutdown to global database.
- X GU Mark monster active to global database.
- X GV Show global database.
- X G- Mark monster database as invalid.
- X G+ Mark monster database as valid.
- X H This list
- X I Repair index file.
- X J Repair paths.
- X K Reallocate MDL codes.
- X L Repair monsters' location.
- X M Clear/create MDL database.
- X N Clear/create and recount quota database.
- X O Clear/create object database.
- X OW Check owners of objects, rooms and monsters.
- X P Clear/create player database.
- X Q (Quit) Leave monster.
- X R Clear/create room database.
- X S Clear/create password database.
- X SP Clear/create spell database.
- X V View database capacity.
- X ? This list
- X
- X3 Partial_rebuild
- X Follow commands make partial rebuild of Monster database. After`032
- X these command use fix -commands to fix pointers in database.
- X
- X A Clear/create privileges database.
- X B Clear/create health database.
- X C Create event file.
- X F Clear/create experience database.
- X M Clear/create MDL database.
- X N Clear/create and recount quota database.
- X O Clear/create object database.
- X P Clear/create player database.
- X GL Clear/create global database.
- X R Clear/create room database.
- X S Clear/create password database.
- X SP Clear/create spell database.
- X
- X Recommented order: GL R O P M C F N S SP
- X
- X You can do only one of R, O and P. Use /REBUILD istead, if you`032
- X need more.
- X
- X3 Fix_commands
- X Follow commands can fix small errors in database without disaster:
- X
- X C Create event file.
- X D Reallocate descriptions
- X G Calculate objects' number in existence.
- X I Repair index file.
- X J Repair paths.
- X K Reallocate MDL codes.
- X L Repair monsters' location.
- X N Clear/create and recount quota database.
- X OW Check owners of objects, rooms and monsters.
- X
- X Recommented order: C I N G J K L D OW
- $ CALL UNPACK MONSTER_E.HLP;31 2091529618
- $ create/nolog 'f'
- X$! Install Monster`032
- X$ SET NOON
- X$ SET ON
- X$ ON WARNING THEN $ STOP
- X$
- X$! Questions
- X$ CALL PATHNAME bn 'F$ENVIRONMENT("PROCEDURE")
- X$ source_directory == ""
- X$ CALL QUERY_DIR source_directory "Give source (distribution) directory" 'bn
- X$ df = F$ENVIRONMENT("DEFAULT")
- X$ work_directory == ""
- X$ CALL ASK_DIR work_directory "Give work directory for compilation" 'df
- X$ image_directory == ""
- X$ CALL ASK_DIR image_directory "Give directory for installed MON.EXE"
- X$ database_directory == ""
- X$ CALL ASK_DIR database_directory "Give directory for Monster database"
- X$ option == ""
- X$ CALL ASK_OPTION
- X$ old_database == ""
- X$ IF option .eq. 2`032
- X$ THEN
- X$ CALL QUERY_DIR old_database "Give old monster database" 'database_direc
- Vtory
- X$ CALL CHECK_FILE 'old_database'DESC.MON
- X$ CALL CHECK_FILE 'old_database'EVENTS.MON
- X$ CALL CHECK_FILE 'old_database'INDEX.MON
- X$ CALL CHECK_FILE 'old_database'INTFILE.MON
- X$ CALL CHECK_FILE 'old_database'LINE.MON
- X$ CALL CHECK_FILE 'old_database'NAMS.MON
- X$ CALL CHECK_FILE 'old_database'OBJECTS.MON
- X$ CALL CHECK_FILE 'old_database'ROOMS.MON
- X$ ENDIF
- X$ IF option .eq. 3 THEN CHECK_FILE 'source_directory'CASTLE.DMP
- X$
- X$
- X$! Actions
- X$ SET DEFAULT 'work_directory'
- X$ CALL CHECK_FILE 'source_directory'MONSTER.HELP
- X$ CALL CHECK_FILE 'source_directory'COMMANDS.PAPER
- X$ CALL CHECK_FILE 'source_directory'ILMOITUS.TXT
- X$ CALL CHECK_FILE 'source_directory'CLD.PROTO
- X$ CALL CHECK_FILE 'source_directory'INIT.PROTO
- X$ CALL CHECK_FILE 'source_directory'CONVERT.BATCH
- X$ CALL CHECK_FILE 'source_directory'FIX.BATCH
- X$
- X$ CALL MAKE_HELP `124 Produce MONSTER_E.HLB
- X$ CALL MAKE_DUMP ! Produce MONSTER_DUMP.EXE
- X$ CALL MAKE_WHO ! Produce MONSTER_WHO.EXE
- X$ CALL MAKE_MON ! Produce MON.EXE
- X$
- X$ CALL CHECK_FILE MON.EXE
- X$ CALL CHECK_FILE MONSTER_DUMP.EXE
- X$ CALL CHECK_FILE MONSTER_WHO.EXE
- X$
- X$ CALL CREATE_SUBDIR 'database_directory' DB DBDIR
- X$ CALL CREATE_SUBDIR 'database_directory' C CODEDIR
- X$ COPY/LOG MON.EXE,MONSTER_DUMP.EXE,MONSTER_WHO.EXE,MONSTER_E.HLB 'image_dir
- Vectory
- X$ IF .not. $SEVERITY THEN CALL FATAL "Copy failed"
- X$ COPY/LOG 'source_directory'CONVERT.BATCH,FIX.BATCH 'image_directory
- X$ IF .not. $SEVERITY THEN CALL FATAL "Copy failed"
- X$ SET FILE/PROTECTION=(W:E)/LOG 'image_directory'MON.EXE,MONSTER_DUMP.EXE,MO
- VNSTER_WHO.EXE
- X$ IF .not. $SEVERITY THEN CALL FATAL "Set file/protection failed"
- X$ COPY/LOG 'source_directory'CONVERT.BATCH,FIX.BATCH 'image_directory
- X$ IF .not. $SEVERITY THEN CALL FATAL "Copy failed"
- X$ COPY/LOG 'source_directory'ILMOITUS.TXT,MONSTER.HELP 'DBDIR'
- X$ IF .not. $SEVERITY THEN CALL FATAL "Copy failed"
- X$ SET FILE/PROTECTION=(W:R)/LOG 'DBDIR'MONSTER.HELP
- X$ IF .not. $SEVERITY THEN CALL FATAL "Set file/protection failed"
- X$ COPY/LOG 'source_directory'COMMANDS.PAPER 'DBDIR'
- X$ IF .not. $SEVERITY THEN CALL FATAL "Copy failed"
- X$ SET FILE/PROTECTION=(W:R)/LOG 'DBDIR'COMMANDS.PAPER
- X$ IF .not. $SEVERITY THEN CALL FATAL "Set file/protection failed"
- X$ SB_IMAGE_DIR = image_directory
- X$ CALL MAKE_FILE 'source_directory'CLD.PROTO 'image_directory'MONSTER.CLD
- X$ SB_MANAGER = F$EDIT(F$GETJPI("","USERNAME"),"LOWERCASE")
- X$ SB_DB1 = DBDIR
- X$ SB_DB2 = CODEDIR
- X$ CALL MAKE_FILE 'source_directory'INIT.PROTO 'image_directory'MONSTER.INIT
- X$
- X$ CALL DEFINE_MONSTER
- X$
- X$ IF option .eq. 1 THEN CALL BUILD_DATABASE
- X$ IF option .eq. 2 THEN CALL CONVERT_DATABASE
- X$ IF option .eq. 3 THEN CALL BUILD_CASTLE
- X$
- X$ WRITE SYS$OUTPUT ""
- X$ WRITE SYS$OUTPUT "Add to your LOGIN.COM command:"
- X$ WRITE SYS$OUTPUT "$ SET COMMAND ''image_directory'MONSTER.CLD"
- X$ WRITE SYS$OUTPUT ""
- X$ SET DEFAULT 'df'
- X$ EXIT
- X$!
- X$ CHECK_FILE: SUBROUTINE
- X$ file = F$PARSE(P1)
- X$ IF file .eqs. "" THEN CALL FATAL "File ''P1' not found - bad path?"
- X$ if F$SEARCH(file) .eqs. "" THEN CALL FATAL "File ''file' not found."
- X$ EXIT
- X$ ENDSUBROUTINE`032
- X$!
- X$ FATAL: SUBROUTINE
- X$ WRITE SYS$ERROR "Install failed: ", p1
- X$ SET DEFAULT 'df'
- X$ STOP
- X$ ENDSUBROUTINE
- X$!
- X$ ASK_DIR: SUBROUTINE
- X$again1:
- X$ write SYS$OUTPUT P2
- X$ IF P3 .nes. "" THEN WRITE SYS$OUTPUT "Default: ",P3
- X$ INQUIRE dir "Directory"
- X$ IF dir .eqs. "" .and. P3 .nes. "" THEN dir = P3
- X$ full = F$PARSE(dir,,,,"SYNTAX_ONLY") - ".;"
- X$ IF full .eqs. ""`032
- X$ THEN
- X$ WRITE SYS$ERROR "Bad directory specification: ''dir'"
- X$ GOTO again1
- X$ ENDIF
- X$ WRITE SYS$OUTPUT "''full' - OK?"
- X$ INQUIRE OK "Ok (Y/N)"
- X$ IF OK .nes. "Y" THEN GOTO again1
- X$ IF F$PARSE(full) .eqs. ""
- X$ THEN
- X$ WRITE SYS$ERROR "Directory ''full' not exist - create it?"
- X$ INQUIRE OK "Create (Y/N)"
- X$ IF OK .nes. "Y" THEN GOTO again1
- X$ CREATE/DIRECTORY/LOG 'full
- +-+-+-+-+-+-+-+- END OF PART 30 +-+-+-+-+-+-+-+-
-