RPG-pelin esineet ja tallentaminen

Voit pyytää apua ohjelmointiongelmiin täältä.
Post Reply
regalis
Advanced Member
Posts: 268
Joined: Mon Aug 27, 2007 9:44 pm

RPG-pelin esineet ja tallentaminen

Post by regalis »

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.
User avatar
Dibalo
Advanced Member
Posts: 298
Joined: Mon Aug 27, 2007 8:12 pm
Location: Espoo, Finland
Contact:

Re: RPG-pelin esineet ja tallentaminen

Post by Dibalo »

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ä. :)
The darkest spells can be found from
http://tunkkaus.blogspot.fi
regalis
Advanced Member
Posts: 268
Joined: Mon Aug 27, 2007 9:44 pm

Re: RPG-pelin esineet ja tallentaminen

Post by regalis »

Dibalo wrote:Tietysti omalla savegame-tiedostolla!
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. :)

mikäkuva$ = ReadString(f)
uusiEsine.ESINEET= New(ESINEET)
uusiEsine\obj = CloneObject(mikäkuva$)

Miten tuon saisi toimimaan? ^^
TheFish
Developer
Developer
Posts: 477
Joined: Mon Aug 27, 2007 9:28 pm
Location: Joensuu

Re: RPG-pelin esineet ja tallentaminen

Post by TheFish »

Yritäppä laittaa cloneobjectin tilalle loadobject.
CoolBasic henkilökuntaa
Kehittäjä
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: RPG-pelin esineet ja tallentaminen

Post by koodaaja »

regalis wrote:
Dibalo wrote:Tietysti omalla savegame-tiedostolla!
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. :)

mikäkuva$ = ReadString(f)
uusiEsine.ESINEET= New(ESINEET)
uusiEsine\obj = CloneObject(mikäkuva$)

Miten tuon saisi toimimaan? ^^
Älä käytä tuon tallentamiseen tiedostopolkua, vaan indeksilukua;

Code: Select all

mikäkuva = ReadInt(f)
uusiEsine.ESINEET = New(ESINEET)
uusiEsine\obj = CloneObject( masterit(mikäkuva) )
Tässä siis taulukko "masterit" sisältää masterobjektit, ja objekti kloonataan jostain näistä, riippuen luetusta tiedosta. Toki vastaavan voi tehdä select...end select -rakenteella, mutta itse koen sen aika purkaksi ratkaisuksi ;D
regalis
Advanced Member
Posts: 268
Joined: Mon Aug 27, 2007 9:44 pm

Re: RPG-pelin esineet ja tallentaminen

Post by regalis »

koodaaja wrote:Älä käytä tuon tallentamiseen tiedostopolkua, vaan indeksilukua
Joo, noinhan sen saa tehtyä suht helposti. :) Kiitoksia neuvoista, nyt varmaankin saan homman toimimaan...
Post Reply