extends Spatial export var camera_path: NodePath export var camera_pos_path: NodePath export var camera_rot_y_path: NodePath export var camera_rot_x_path: NodePath export var camera_offset_path: NodePath export var camera_arm_path: NodePath export var fps_camera_scene: PackedScene export var fps_camera_rot_y_node: String = "fps_cam_rot_y" export var fps_camera_rot_x_node: String = "fps_cam_rot_x" export var fps_camera_node: String = "fps_camera" var door_sc = preload("res://scenes/door_control.tscn") # Declare member variables here. Examples: # var a = 2 # var b = "text" # Called when the node enters the scene tree for the first time. func _ready(): $waiting.show() characters.set_navmesh(null, Transform()) var start_delay0 = 8.0 var start_delay1 = 2.0 var start_delay2 = 2.0 var start_delay3 = 2.0 var state = 0 var viewer func _process(delta): match state: 0: state = 1 1: start_delay1 -= delta if start_delay1 < 0: var player var cam: Camera var fps_cam: Camera var cam_pos var cam_rot_y var cam_rot_x var cam_offset var cam_arm var fps_cam_rot_y var fps_cam_rot_x var default_offset if has_node("Roads") && get_node("Roads") is Roads: for site in range(RoadsData.get_site_count()): if site == 0: streaming.setup_first_town() var v = RoadsData.get_site_pos(0) var sdf = RoadsData.get_sdf(v.x, 300, v.y) var d = 300 - sdf $player.global_transform.origin.x = v.x $player.global_transform.origin.y = d + 12 $player.global_transform.origin.z = v.y else: streaming.setup_town(site) if streaming.towns > 30: break print("towns done: ", streaming.towns) player = characters.replace_character($player, "male", ["player", "cmdq", "player_clothes"]) player.add_child(VoxelViewer.new()) player.set_script(load("res://characters/character.gd")) var fps_cam_pos = fps_camera_scene.instance() player.add_child(fps_cam_pos) fps_cam = fps_cam_pos.find_node(fps_camera_node, true, false) cam = get_node(camera_path) cam.current = true cam_pos = get_node(camera_pos_path) cam_rot_y = get_node(camera_rot_y_path) cam_rot_x = get_node(camera_rot_x_path) cam_offset = get_node(camera_offset_path) cam_arm = get_node(camera_arm_path) fps_cam_rot_y = fps_cam_pos.find_node(fps_camera_rot_y_node, true, false) fps_cam_rot_x = fps_cam_pos.find_node(fps_camera_rot_x_node, true, false) default_offset = cam_offset.translation cam.set_meta("cam_pos", cam_pos) cam.set_meta("cam_rot_y", cam_rot_y) cam.set_meta("cam_rot_x", cam_rot_x) cam.set_meta("cam_offset", cam_offset) cam.set_meta("cam_arm", cam_arm) cam.set_meta("default_offset", default_offset) fps_cam.set_meta("fps_cam_rot_y", fps_cam_rot_y) fps_cam.set_meta("fps_cam_rot_x", fps_cam_rot_x) cam_arm.add_excluded_object(player.get_rid()) cam.set_meta("player", player) fps_cam.set_meta("player", player) player.set_meta("cam", cam) player.set_meta("fps_cam", fps_cam) print(player) controls.switch_fps_mode(false) state = 2 2: start_delay2 -= delta if start_delay2 < 0: state = 3 3: start_delay2 -= delta if start_delay2 < 0: $waiting.hide() state = 4 4: RoadsData.save_json("user://world-gen.json") state = 5