# Проверка карты Parkour «по существу» после прохода через портал с настоящими пакетами. # Вставь в tools/test/bot.gd ВРЕМЕННОЙ копии проекта (make_test_project.sh) перед строкой print("[%s] t=%4.1f сцена=...") # и запусти: godot --headless --main-pack /index.pck -- --client --name=T --pack-url=http://127.0.0.1:<порт>/ --tp=2:4.5,1,-8 # Ожидание: скрипт=true, шейдерных_мешей>=1, небо_панорама=true, музыка_играет=true, лазеров_и_ворот=10. # Если в пакете не хватает файла, вместо этого будут false/0 (а имя сцены всё равно «Parkour»). var sc := get_tree().current_scene if sc != null and sc.name == "Parkour" and int(t) % 3 == 0: var shaded := 0 for mi in sc.find_children("*", "MeshInstance3D", true, false): if mi.get_surface_override_material_count() > 0 and mi.get_surface_override_material(0) is ShaderMaterial: shaded += 1 var music := false var areas := 0 for n in sc.get_children(): if n is AudioStreamPlayer and n.stream is AudioStreamOggVorbis and n.playing: music = true if n is Area3D and n.get_child_count() == 2: areas += 1 var env := sc.find_children("*", "WorldEnvironment", false, false) var sky_ok: bool = env.size() > 0 and env[0].environment.sky != null and env[0].environment.sky.sky_material is PanoramaSkyMaterial and env[0].environment.sky.sky_material.panorama != null print(" ПРОВЕРКА Parkour: скрипт=%s шейдерных_мешей=%d небо_панорама=%s музыка_играет=%s лазеров_и_ворот=%d" % [sc.get_script() != null, shaded, sky_ok, music, areas])