Add check availability of a map

This commit is contained in:
leca 2024-03-04 20:49:27 +03:00
parent 8457172c53
commit e3241121da
1 changed files with 27 additions and 5 deletions

View File

@ -1,6 +1,6 @@
extends Node
var player_script := preload("res://scripts/Player.gd")
var player_script := preload("res://scripts/Player.gd")
var server_map
@onready var Weapons = GameData.Weapons
var player_model = preload("res://scenes/models/player.tscn")
@ -14,6 +14,10 @@ var map_root_name
var spawnpoints_os = []
var spawnpoints_cs = []
var cs_score = 0
var os_score = 0
var round_number = 0
func parse_arguments():
var arguments = {}
for argument in OS.get_cmdline_args():
@ -26,6 +30,15 @@ func parse_arguments():
arguments[argument.lstrip("--")] = ""
return arguments
func check_map_availability(path):
var maps = DirAccess.open("res://scenes/maps").get_files()
for map in maps:
var map_name = str(map.split(".")[0])
print(map_name + " " + map_root_name)
if(map_root_name == map_name):
return true
return false
func _ready():
var arguments = parse_arguments()
if "--server" in OS.get_cmdline_args():
@ -34,10 +47,19 @@ func _ready():
map_root_name = str(arguments["map"])
path = "res://scenes/maps/" + str(arguments["map"]) + ".tscn"
else:
map_root_name = "OffisMi"
path = "res://scenes/maps/OffisMi.tscn"
StartServer(path)
map_path = path
map_root_name = "training"
path = "res://scenes/maps/training.tscn"
if (check_map_availability(path)):
map_path = path
else:
print("Unknown map. Available maps:")
for map in DirAccess.open("res://scenes/maps").get_files():
print(str(map.split(".")[0]))
get_tree().quit()
return
StartServer(map_path)
#######################################SERVER####################################
func find_playermodel_by_internal_id(internal_id):