local find = string.find local sub = string.sub local firstLevel = ".fpm" local fileRead = false local levelName = nil local function getLevelName( str ) local spos = 1 local epos = 0 while epos < #str do epos = find( str, '\\', spos + 1 ) or #str if epos < #str then spos = epos + 1 end end return sub( str, spos, epos ) end local filename = "saveforlevel.dat" function _main( e ) if not fileRead then local thisLevel = getLevelName( g_LevelFilename ) local fl = firstLevel if strLevelFilename ~= nil then local strLevel = getLevelName( strLevelFilename ) if strLevel = thisLevel then fl = strLevel end end if thisLevel ~= fl then local file = assert( io.open( filename, "r") ) if file ~= nil then local level = file:read() if thisLevel ~= level then --------- carry overs ---------------- g_plr_money = tonumber( file:read() ) g_medkits = tonumber( file:read() ) g_radkits = tonumber( file:read() ) -------------------------------------- end io.close( file ) end end fileRead = true levelName = thisLevel end end -- add this code to winzone or other place where going to next level file = io.open( , "w+" ) io.output( file ) io.write( levelName, "\n" ) ------ carry overs ---------- io.write( g_plr_money, "\n" ) io.write( g_medkits, "\n" ) io.write( g_radkits, "\n" ) ----------------------------- io.close( file )