niin mul ois semmonen ongelma et en tiiä miten ladataan ja tallennetaan peli kunnolla?
(ei CB:n omia komentoja hajeta,ne ei toimi kunolla)
lataa ja tallenna peli
Re: lataa ja tallenna peli
Code: Select all
AddText "Liiku nuolista"
AddText "F5 = Tallenna"
AddText "F7 = Lataa"
'Default Position
x=200
y=150
Repeat
'Upadte controls
If LeftKey() Then x=x-1
If RightKey() Then x=x+1
If UpKey() Then y=y-1
If DownKey() Then y=y+1
'draw the ball
Color cbred
Circle x-16,y-16,32,32
'Save/load
If KeyHit(cbkeyf5) Then Gosub TALLENNUS
If KeyHit(cbkeyf7) Then Gosub LATAUS
Text 300,0,x
Text 300,20,y
DrawScreen
Until EscapeKey()
TALLENNUS:
l=OpenToWrite("media\joku.joku")//Avataan tidosto kirjoittamista varten jos sitä ei ole luodaan se
WriteInt l,x//Kirjoitetaan tiedostoon muuttuja X:än tiedot
WriteInt l,y//ja sama taas mutta Y:llä
CloseFile l//suljetaan tiedosto käytön jälkeen
Return
LATAUS:
l=OpenToRead("media\joku.joku")
x=ReadInt(l)//Luetaan tiedostosta muuttujan x tiedot
y=ReadInt(l)//ja sama y:llä
CloseFile l//suljetaan tiedosto käytön jälkeen
Return
Vähän muunneltu manuaalin esimerkki
Re: lataa ja tallenna peli
Looppaa kaikkien objektien läpi NextObject() ja InitObjectList() komennoilla ja tallenna jokaisen objektin koordinaatit ja kääntymiskulman ObjectAngle(objekti) komennolla. Tallenna nämä tiedot vaikkapa .dat tiedostoon tietyssä järjestyksessä ja ladatessasi pelin tarkistat nuo tiedot ja asetat objekteille nämä arvot.
Kannattaa käyttää "ObjectString objekti, arvo" komentoa asettamaan objekteille "otsikon" ja tallennat nämä siihen tiedostoon myös, että tiedät mikä arvo kuuluu millekin objektille.
Apuna voisit käyttää Config -komentoja, jotka löydät CBKK:sta -> http://cbkk.systec.fi/koodi.php?id=29
Vielä siihen loppuun suosittelisin kryptaamaan tiedoston, ettei tietoja voisi muuttaa ja näin esim. asettaa pelaajalle täydet elämät, kun näin ei ole. Käytä Encrypt(lähde, kohde, salasana$ ) ja Decrypt(lähde, kohde, salasana$ ) komentoja tähän.
Kannattaa käyttää "ObjectString objekti, arvo" komentoa asettamaan objekteille "otsikon" ja tallennat nämä siihen tiedostoon myös, että tiedät mikä arvo kuuluu millekin objektille.
Apuna voisit käyttää Config -komentoja, jotka löydät CBKK:sta -> http://cbkk.systec.fi/koodi.php?id=29
Vielä siihen loppuun suosittelisin kryptaamaan tiedoston, ettei tietoja voisi muuttaa ja näin esim. asettaa pelaajalle täydet elämät, kun näin ei ole. Käytä Encrypt(lähde, kohde, salasana$ ) ja Decrypt(lähde, kohde, salasana$ ) komentoja tähän.
EDIT:
Tuo sopii kyllä yhden objektin (tai tässä tapauksessa pallon) tietojen tallentamiseksi, mutta entäs sitten kun palloja onkin kaksi? Tai viisi? Tai sata??[/edit]vilQuri wrote:Elikkä katso toi, saat lisää tietoa noista OpenToWrite ja OpenToRead käskyistä manuaalistaCode: Select all
koodia...
Vähän muunneltu manuaalin esimerkki
Last edited by valscion on Fri Dec 28, 2007 7:36 pm, edited 1 time in total.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
Re: lataa ja tallenna peli
for-looppilla on ihan mahdollista ja helppoa jos vain pikkuisen virittääOonSuomesta wrote:Looppaa kaikkien objektien läpi NextObject() ja InitObjectList() komennoilla ja tallenna jokaisen objektin koordinaatit ja kääntymiskulman ObjectAngle(objekti) komennolla. Tallenna nämä tiedot vaikkapa .dat tiedostoon tietyssä järjestyksessä ja ladatessasi pelin tarkistat nuo tiedot ja asetat objekteille nämä arvot.
Kannattaa käyttää "ObjectString objekti, arvo" komentoa asettamaan objekteille "otsikon" ja tallennat nämä siihen tiedostoon myös, että tiedät mikä arvo kuuluu millekin objektille.
Apuna voisit käyttää Config -komentoja, jotka löydät CBKK:sta -> http://cbkk.systec.fi/koodi.php?id=29
Vielä siihen loppuun suosittelisin kryptaamaan tiedoston, ettei tietoja voisi muuttaa ja näin esim. asettaa pelaajalle täydet elämät, kun näin ei ole. Käytä Encrypt(lähde, kohde, salasana$ ) ja Decrypt(lähde, kohde, salasana$ ) komentoja tähän.
EDIT:Tuo sopii kyllä yhden objektin (tai tässä tapauksessa pallon) tietojen tallentamiseksi, mutta entäs sitten kun palloja onkin kaksi? Tai viisi? Tai sata??[/edit]vilQuri wrote:Elikkä katso toi, saat lisää tietoa noista OpenToWrite ja OpenToRead käskyistä manuaalistaCode: Select all
koodia...
Vähän muunneltu manuaalin esimerkki
Re: lataa ja tallenna peli
Höh, CB:ssä on komennot SaveProgram, LoadProgram ja GotoSavedLocation. SaveProgram tallettaa kaikki pelin muuttujat ja LoadProgram lataa ne. GotoSavedLocation taas siirtää ohjelman talletuspaikkaan.
Katso manuaalin esimerkki niin hoksaat, miten homma pelaa
Katso manuaalin esimerkki niin hoksaat, miten homma pelaa
Kiinnostuin pelien tekemisestä ennen 1. luokkaa.
Sitten 3. luokalla tuli CB. Ja siitä se alkoi.
Blender! TF2! CB! Game Maker! Nokia-mollaus! Kitaransoitto! Breakdance! MadTracker! Minecraft!
Sitten 3. luokalla tuli CB. Ja siitä se alkoi.
Blender! TF2! CB! Game Maker! Nokia-mollaus! Kitaransoitto! Breakdance! MadTracker! Minecraft!
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: lataa ja tallenna peli
Mutta katso manuaalista myös komentojen tiedot, niin huomaat Zeron kehottavan koodaamaan omat, nuo kun ovat virhealttiita. Sitäpaitsi on aivan turha ruveta tallentamaan kaikkien objektien paikkoja, tuskin nyt räiskintäpelissä kesken taistelun haluaa kukaan tallentaa? (Quicksave on toki oma lukunsa) Asettaa objektit samoihin aloituspaikkoihin joka kerta, toimii vallan hyvin eikä tule isoja tiedostoja.elmo123 wrote:Höh, CB:ssä on komennot SaveProgram, LoadProgram ja GotoSavedLocation. SaveProgram tallettaa kaikki pelin muuttujat ja LoadProgram lataa ne. GotoSavedLocation taas siirtää ohjelman talletuspaikkaan.
Katso manuaalin esimerkki niin hoksaat, miten homma pelaa