extends Control
var current_level = 1
var current = 0
var unfinished = 1
@export var world_1 = ["one", "too", "thriii", "for", "fyve"]
var world_2 = ["Sigma", "too", "thriii", "for", "fyve"]
@export var world_2_links = ["res://scenes/levels/First Level.tscn", "res://scenes/levels/First Level.tscn", "res://scenes/levels/First Level.tscn", "res://scenes/levels/First Level.tscn", "res://scenes/levels/First Level.tscn"]
var save_path = "user://skibidi.save"
var save_path2 = "user://skibido.save"
var points = 0
var current_world = [0, 2, 3 , 1, "0h10"]
var current_world_link = [1, 1]# Called when the node enters the scene tree for the first time.
var land_list = [world_1, world_2]
var beaten_levels = [false, false, false, true, false]
var levels_done = ["him", "she", "her", "new"]
@export var world_index = 1
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
var file = FileAccess.open(save_path, FileAccess.READ)
points = file.get_var()
$Label3.text = str(points)
print(levels_done)
file.close()
$Label2.text = str(world_index)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta: float) -> void:
current_world = (land_list[0])
current_world_link = world_2_links
$Label.text = str(current_level + 1)
func _on_button_pressed() -> void:
if (current_world[current_level]) == (current_world.back()):
current_level = 0
else: if not (current_world[current_level]) == (current_world.back()):
current_level += 1
func _on_button_2_pressed() -> void:
if (current_world[current_level]) == (current_world.front()):
current_level = (current_world.back())
else: if not (current_world[current_level]) == (current_world.front()):
current_level -= 1
func _on_button_3_pressed() -> void:
print((beaten_levels[4]))
if current_level == 4:
if (beaten_levels[4]) == true or world_index < unfinished + 1:
var file = FileAccess.open(save_path, FileAccess.WRITE)
print((beaten_levels[4]))
file.store_var(points)
file.store_var(beaten_levels)
file.store_var(current_level)
file.store_var(world_index)
file.store_var(unfinished)
get_tree().change_scene_to_file(current_world_link[current_level])
# get_tree().change_scene_to_file(current_world_link[current_level])
if not current_level == 4:
var file = FileAccess.open(save_path, FileAccess.WRITE)
file.store_var(points)
file.store_var(beaten_levels)
file.store_var(current_level)
file.store_var(world_index)
file.store_var(unfinished)
get_tree().change_scene_to_file(current_world_link[current_level])
Probably because currently the levels beaten array is the first var stored in the save file?
func _ready() -> void:
var file = FileAccess.open(save_path, FileAccess.READ)
points = file.get_var()
points always receives the first var of your save file. If that (for any reason) is not the value you want, it will still get that value and store it to the same position later.
Pretty sure posting a question multiple times is considered spamming. I’d refrain from doing that. I provided an answer earlier, fyi.