Page 1 of 1
write to file
Posted: Tue Nov 26, 2013 9:04 am
by pielago
okay I have a question
when i do
love.filesystem.write('score.lua','score: ')
It doesn't write it to score.lua in side the folder already made where i have my main.lua pictures maps etc..
instead it makes a folder under user/roaming/love/ etc.. ( windows)
is it possible to write it to the one you made already?
i have try but nothing it keeps on making it where i don't want too or that's the right way?
and if that's the right way when i do the .exe will it work?
Re: write to file
Posted: Tue Nov 26, 2013 9:26 am
by Plu
It always writes to the save directory, which is indeed a different one from the game directory. This will continue to work when you make a .exe; Löve always writes to whatever save directory is said and will read from it as well if you try to open files.
Re: write to file
Posted: Tue Nov 26, 2013 12:32 pm
by Daniel Eakins
You can write elsewhere on the disk using
Lua's native commands, but in that case you'd have to make sure that you pick a directory which will still work when the game is a .exe file (for example, using if-then statements).
Re: write to file
Posted: Tue Nov 26, 2013 9:19 pm
by pielago
okay let me try to understand.... regardless it will save it there right?
so when i make my (a.exe) my save score and save game will work as well? once the game is install in any other pc?
that doesnt have a love.exe install?
I just need to understand this 100% wiki its to difficult to get for beginners like me...
Re: write to file
Posted: Wed Nov 27, 2013 2:02 am
by pielago
Can someone help me fix this save score i don't know what am i mising
i still trying to learn the write file
if someone so kind to help me with this code or give me a better way to save the score ?
Code: Select all
function love.load()
g=love.graphics
k={}
k.x=50
k.y=100
k.w=50
k.h=50
k.speed=200
k.highscore=0
k.sc=0
u={}
u.x=200
u.y=100
u.w=50
u.h=50
Over_LAP=false
TT = false
--save score
file = love.filesystem.newFile("score.lua")
love.filesystem.write("score.lua", 'k.highscore\n='..k.highscore)
hs={}
for lines in love.filesystem.lines("score.lua") do
table.insert(hs,lines)
end
k.highscore = hs[2]
end
function love.draw()
g.setColor(255,255,255,255)
g.rectangle('line',k.x,k.y,k.w,k.h)
g.rectangle('line',u.x,u.y,u.w,u.h)
g.print('COLLISION: '..k.highscore,10,10)
g.print('scores: '..k.sc,10,25)
end
function love.update(dt)
if love.keyboard.isDown("d") then
k.x=k.x+k.speed*dt
end
if love.keyboard.isDown("a") then
k.x=k.x-k.speed*dt
end
--collision--
if (k.y + k.h > u.y ) and ( k.y < u.y + u.h ) and
(k.x + k.w > u.x ) and ( k.x < u.x + u.w ) then
Over_LAP=true
else
Over_LAP=false
end
if Over_LAP then
if not TT then
k.highscore = k.highscore + 1
TT = true
end
else
TT = false
end
--save game
if k.sc > tonumber (k.highscore)then
k.sc =k.highscore
love.filesystem.write("score.lua", 'k.highscore\n=\n'..k.highscore)
end
end
function love.quit()
love.event.quit()
love.filesystem.write("score.lua", 'k.highscore\n=\n ' ..k.highscore)
end