Volledige versie bekijken : save rpg game
Lenn
%Europe/Berlin %584 %2005, 14:01
Hallo,
ik ben opzoek naar een methode om een flashgame te saven, en ik bedoel écht saven, niets met wachtwoorden enzo.. het is voor een RPG game, dus alle gegevens moeten er nog zijn als je het spel weer laadt.
Kan iemand mij hiermee helpen?
Lenn
Dopefish
%Europe/Berlin %597 %2005, 14:20
dan zou je als het ware al je variable in een tekstbestandje in de cookie directory moeten knallen
zoek eens op save en cookie, ik denk dat je dan een stuk verder komt.
Roenes
%Europe/Berlin %724 %2005, 17:22
Volgens mij kun je dit wel doen met een SharedObject. Deze werkt net zoals een cookie en wordt dus lokaal opgeslagen. In dat object zet je een aantal variabelen die waardes bevatten die voor je game van belang zijn. Ik denk aan het aantal levels, je kracht, intelligentie, whatever.
Als je de game gaat "laden", dan vraag je de SharedObject op van de pc en ga je die waardes gebruiken in je game. Op deze manier kun je het laden van een game simuleren. Flash heeft niet de mogelijkheid om de status van een swf echt op te slaan. Dus het zal op zo'n manier moeten.
Mocht je de savegame niet op de pc van de gebruiker willen opslaan, dan kun je hetzelfde trucje uithalen met een database ipv een SharedObject :)
Dopefish
%Europe/Berlin %604 %2005, 14:31
natuurlijk dat ik daar niet aan heb gedacht,... een DB lijkt me inderdaad het slimst
en makkelijker
Chrono
%Europe/Berlin %318 %2005, 07:38
Hey!
Ik probeer ook een spelletje te maken, het moet een ruimteschipspelletje worden waarbij je
van planeet naar planeet reist en allerlei goederen kunt verhandelen en upgrades
voor je schip kopen etc..
Daarvoor heb ik ook een save game mogelijkheid nodig, voor als je bijvoorbeeld weer op de zelfde planeet wilt beginnen waar je geeindigd bent, maar ik snap niet echt wat jullie met Cookie enzo bedoelen :# , kan iemand misschien een heel basic voorbeeld sturen van hoe het moet, of anders een site waar ik de techniek kan leren?
Roenes
%Europe/Berlin %461 %2005, 11:04
Hier (http://www.flashfocus.nl/forum/showthread.php?t=257) staat een beknopte uitleg hoe een SharedObject werkt. Wellicht is deze uitleg al voldoende :)
Dauntless
%Europe/Berlin %470 %2005, 11:18
Denk er wel aan: Als de user ooit zijn cookies verwijdert, is alle data verloren! Het simpelste is om alles op te slaan in een Dbase en dan te werken met een username en paswoord.
TheDutch
%Europe/Berlin %472 %2005, 11:20
Dauntless, Shared Objects kunnen alleen verwijderd worden met Flash en worden niet verwijderd wanneer de Cookies verwijderd worden :).
Roenes
%Europe/Berlin %483 %2005, 11:36
Dauntless, Shared Objects kunnen alleen verwijderd worden met Flash en worden niet verwijderd wanneer de Cookies verwijderd worden :).Maar dat neemt niet weg dat je ze ook met de hand kan verwijderen ;) Ik denk dat Dauntless daarvoor wilde waarschuwen :)
TheDutch
%Europe/Berlin %495 %2005, 11:53
Dauntless had het volgensmij over browser cookies want die zijn redelijk eenvoudig te verwijderen. Shared Objects zijn voor iemand die geen verstand van Flash heeft zowat onmogelijk te vinden. De kans dat iemand ze dus verwijderd is enorm klein :).
Roenes
%Europe/Berlin %498 %2005, 11:57
Daar heb je wel gelijk in :)
Dauntless
%Europe/Berlin %509 %2005, 12:14
Ow, daar zat ik idd mis :D. Sorry ;).
FantasTies
%Europe/Berlin %512 %2005, 12:17
Alles opslaan met een ip in de database en aan de hand van de ip eruit halen!
Dauntless
%Europe/Berlin %514 %2005, 12:20
Ties, in België en Nederland zijn er ERG veel mensen met een dynamisch ip... Dus als je ip verandert ben je ook al je data kwijt.
FantasTies
%Europe/Berlin %520 %2005, 12:28
Ow ok, ja dan mischien toch beter de cookies of het sharedObject!
xtr0
%Europe/Berlin %526 %2005, 12:37
Je kan ook een account systeem maken en dat je de waarde gewoon met een account in het database stopt
Roenes
%Europe/Berlin %528 %2005, 12:40
Ik wilde net zeggen, als je met een database werkt moet je iets van een ID maken per persoon. Een inlogsysteem lijkt me dan de manier :)
Fatty Owl
%Europe/Berlin %535 %2005, 12:50
Ik zou het toch maar bij SO's houden als je het niet te moeilijk wil maken ;). kijk naar de AS tutorial sticky bij SharedObjects :).
Dauntless
%Europe/Berlin %544 %2005, 13:03
Maar, als je dan WEL iets van Flash kent, dan kan je gemakkelijk valsspelen ...
FantasTies
%Europe/Berlin %562 %2005, 13:29
Mischien met een acount dan, en dan de acount gegevens opslaan in een cookie zodat als je je cookies niet wist je niet opnieuw hoeft in te loggen, maar wis je ze wel dan is niet heel je zooi verloren.
Dus acount in een database met daarin een wachtwoord, gebruikersnaam, en alle gegevens voor het verdergaan.
Dan de gebruikersnaam en wachtwoord osplaan in een cookie en alle gegevens uit de database halen waar de gebruikersnaam gelijk is aan de cookie gebruikersnaam en het wachtwoord gelijk is aan de cookie wachtwoord, dan krijg je dus die gegevens en die gebruik je weer in je spel.
100% CHRISIS
%Europe/Berlin %571 %2005, 13:43
Wat ik nog niemand heb horen zeggen is dat het een online game betreft is dat wel zo?
Zo nee, dan laat de database maar zitten.
Een SO is alleen handing als je zeker weet dat de gebruiker telkens vanaf dezelfde pc werkt.
Zo ja, waarschijnlijk is dan een unieke gebruikersnaam zonder wachtwoord bij de start van
het spel het makkelijkst en minst hinderlijk. Deze koppel je dan wel aan je online database
met gegevens....
TheDutch
%Europe/Berlin %811 %2005, 19:28
Een SO is alleen handing als je zeker weet dat de gebruiker telkens vanaf dezelfde pc werkt.
Dat is toch bij elk spel zo ;).
Shared Objects lijkt me voor het bewaren van Flash game gegevens de meest geschikte manier.
Chrono
%Europe/Berlin %818 %2005, 19:39
Roenes, nog even over mijn vraag van eerder...
Ik kan de code waarnaar hier gelinkt is niet lezen! :O
Er staat dan Code: en dan een witte balk er onder! :O
Weet je misschien wat het probleem is? (ik heb een mac, OS 9.1 en Flash 5)
Stuur please de code als gewoon tekststukje.
alvast bedankt. ;)
TheDutch
%Europe/Berlin %821 %2005, 19:42
Misschien handig als je even een eigen topic begint Chrono. Dit omdat jij een totaal andere Flash versie gebruikt dan de eigenaar van deze topic. Shared Objects zijn niet beschikbaar in Flash 5 :).
Chrono
%Europe/Berlin %823 %2005, 19:45
O.K. bedankt Dutch, ik open mijn eigen topic.
Roenes, laat maar, ik heb een nieuwere browser geprobeerd, toen kon ik het wel lezen.
allan
%Europe/Berlin %647 %2006, 16:32
ik heb hier een manier van het saven van de score
als je er ook score in stopt
Save score van een spel
Nodig:
3 scene
3 knoppen
2 dynamic text (iets meer vanwege de frames)
5 static text (ook iets meer vanwege de frames)
Een hoop actionscripts
Een hoop instantie namen
Scène 1
Frame 1
Knop1 = new game
As:
on(release) {
gotoAndStop("Scene 3", 1);
}
Knop2 = load game
As:
on(release) {
gotoAndStop("Scene 2", 1);
}
Frame 1 as:
aad = 0;
aac = 0;
aaq = 1;
stop();
Scène 2
Frame 1
Frame 1 as:
stop();
score = 0;
localInfo = SharedObject.getLocal("test");
to the main page
if (localInfo.data.score == undefined) {
gotoAndPlay(5);
} else {
gotoAndStop(2);
}
function saveScore(score1) {
localInfo.data.score = score1;
}
frame 2
Frame2 as:
display.text = localInfo.data.score+","+" is current score"+newline+"Click on add more to score to add 1 to score"+newline+"Click Subtract to take away 1";
score = localInfo.data.score;
knop 3 = (een rondje)
1 groot dynamic text met instantie naam : display
1 Klein dynamic text met instantie naam : score1
1 static text met: Add more to Score (hier achter knop3)
1 static text met: Subtract From Score(hier achter knop3)
1 static text met: Current Score = (hier komt de kleine dynamic text achter)
1 static text met: Save Score(hier achter knop3 met instantie naam: c)
1 static text met: EXIT(hier achter knop3 met instantie naam: submit)
1 static text met: Reset Score(hier achter knop3 met instantie naam: submit)
As:
(Add more to Score) knop3:
on (release) {
_root.score += 1;
}
(Subtract From Score) knop3:
on (release) {
_root.score -= 1;
}
(Save Score) knop3:
on (release) {
aad = 0;
saveScore(score1.text);
gotoAndPlay(3);
}
(EXIT) knop3:
on (release) {
gotoAndStop("Scene 1", 1);
}
(Reset Score) knop3:
on (release) {
aaq = 0;
localInfo.data.score = undefined;
gotoAndPlay("Scene 3", 2);
}
Frame3
Frame3 as:
if (aad == 15) {
gotoAndStop(2);
}
aad = aad+1;
1 static text met: score saved
Frame3 instantie naam:
Scoresave
Frame4
Frame4 as:
gotoAndPlay("scoresave");
1 static text met: score saved
Frame 5
Frame5 as:
if (aac == 15) {
gotoAndStop("Scene 1", 1);
}
aac = aac+1;
1 static text met: NO SAVED DATA
Frame5 instantie naam: nodata1
Frame 6
Frame 6 as:
gotoAndPlay("nodata1");
1 static text met: NO SAVED DATA
Scene 3
Frame 1
Het zelfde als scene2 frame2
Alleen frame 1 as:
stop();
score = 0;
localInfo = SharedObject.getLocal("test");
function saveScore(score1) {
localInfo.data.score = score1;
}
display.text = "NEWGAME"+newline+"Click on add more to score to add 1 to score"+newline+"Click Subtract to take away 1";
frmae 2
static text met: score reset
frmae 2 as:
if (aaq == 15) {
gotoAndStop(1);
}
aaq = aaq+1;
frame 2 instantie naam: scre
frame 3
frame 3 as :
gotoAndPlay("scre");
static text met: score reset
end
test het spelletjes en maak een moie score (maakt niet uit hoeveel zelfs 0 is ook goed of minder) save je score en sluit het venster waar het spel op staat en open het opnieuw en klik op load game je hebt nu als je het allemaal goed had gedaan de zelfde score weer
allan
%Europe/Berlin %863 %2006, 21:44
en heeft het gewerkt?
Emveedee
%Europe/Berlin %878 %2006, 22:05
Gast, dit topic is van 12 december vorig jaar..
Denk niet dat hij nog gaat reageren..
allan
%Europe/Berlin %246 %2006, 06:55
Gast, dit topic is van 12 december vorig jaar..
Denk niet dat hij nog gaat reageren..
oke dan
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.