Prkl, olen miettinyt aivot solmussa miten saisin RPG-pelini esineet pysymään oikeilla paikoillaan peliä ladatessa.
Pelin alussa asetetaan tyypeillä tehtyjä esineitä tiettyihin paikkoihin, eli esimerkiksi sieniä randomilla ympäri metsiä ja miekkoja luolastoihin yms... Tällä hetkellä niiden koordinaatit tallennetaan tekstitiedostoon, ja kun peli ladataan, ne asetetaan näiden koordinaattien mukaan. Aluksi tein niin, että esine-objekti poistetaan kun pelaaja poimii sen, mutta silloin peliä ladatessa laitettaisiin aina ne samat sienet randomilla ympäri metsiä ja miekat luolastoihin. Tällöin lataamalla peliä uudestaan, saman esineen saa poimittua niin monta kertaa kuin haluaa.
Kokeilin tehdä niin, että esine siirretään johonkin -10 000, -10 000 -koordinaatteihin, mutta sekään ei (tietenkään) toiminut. Kaikki koordinaatit menevät aivan sekaisin kun pelaaja pudottaa esimerkiksi questeista saamiaan esineitä ja keräilee pelimaailmassa valmiiksi olevia.
Eli miten saisin tyypeillä tehtyjen esineiden koordinaattien tallentamisen toimimaan?
Toivottavasti joku tajusi.
RPG-pelin esineet ja tallentaminen
- Dibalo
- Advanced Member
- Posts: 298
- Joined: Mon Aug 27, 2007 8:12 pm
- Location: Espoo, Finland
- Contact:
Re: RPG-pelin esineet ja tallentaminen
Tietysti omalla savegame-tiedostolla! Kun uusi peli aloitetaan, ladataan objektien koordinaatit jostain aloitustiedostosta, jota ei muuteta missään vaiheessa pelin kulkua. Kun pelaaja lopettaa pelin, tallennetaan esineiden koordinaatit omaan tiedostoon (esim. world_items.sav). Kun peli seuraavan kerran avataan, ladataan koordinaatit tästä tiedostosta. Kun peli lopetetaan ylikirjoitetaan tämän tiedoston sisältö uusilla koordinaateilla. Kun peli taas avataan ladataan koordinaatit tästä tiedostosta jne...
Toivottavasti sait ideaa, miten lähteä toteuttamaan systeemiä.
Toivottavasti sait ideaa, miten lähteä toteuttamaan systeemiä.
Re: RPG-pelin esineet ja tallentaminen
Olen yrittänyt tehdä tällaista, mutta koordinaatit menevät aina sekaisin kun esineitä poimitaan ja pudotetaan eri paikkoihin, eli esineet laitetaan väärien esineiden paikoille. Voisin tehdä niin, että jokaisen esineen kaikki tiedot (id, kuva ja koordinaatit) tallennetaan tiedostoon, ja kun peli ladataan, esineitä luodaan sen mukaan. Siinä on vain yksi yksinkertainen onglema: En keksi, miten objektin kuvan saa ladattua. :)Dibalo wrote:Tietysti omalla savegame-tiedostolla!
mikäkuva$ = ReadString(f)
uusiEsine.ESINEET= New(ESINEET)
uusiEsine\obj = CloneObject(mikäkuva$)
Miten tuon saisi toimimaan? ^^
Re: RPG-pelin esineet ja tallentaminen
Yritäppä laittaa cloneobjectin tilalle loadobject.
CoolBasic henkilökuntaa
Kehittäjä
Kehittäjä
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: RPG-pelin esineet ja tallentaminen
Älä käytä tuon tallentamiseen tiedostopolkua, vaan indeksilukua;regalis wrote:Olen yrittänyt tehdä tällaista, mutta koordinaatit menevät aina sekaisin kun esineitä poimitaan ja pudotetaan eri paikkoihin, eli esineet laitetaan väärien esineiden paikoille. Voisin tehdä niin, että jokaisen esineen kaikki tiedot (id, kuva ja koordinaatit) tallennetaan tiedostoon, ja kun peli ladataan, esineitä luodaan sen mukaan. Siinä on vain yksi yksinkertainen onglema: En keksi, miten objektin kuvan saa ladattua.Dibalo wrote:Tietysti omalla savegame-tiedostolla!
mikäkuva$ = ReadString(f)
uusiEsine.ESINEET= New(ESINEET)
uusiEsine\obj = CloneObject(mikäkuva$)
Miten tuon saisi toimimaan? ^^
Code: Select all
mikäkuva = ReadInt(f)
uusiEsine.ESINEET = New(ESINEET)
uusiEsine\obj = CloneObject( masterit(mikäkuva) )
Re: RPG-pelin esineet ja tallentaminen
Joo, noinhan sen saa tehtyä suht helposti. :) Kiitoksia neuvoista, nyt varmaankin saan homman toimimaan...koodaaja wrote:Älä käytä tuon tallentamiseen tiedostopolkua, vaan indeksilukua