summaryrefslogtreecommitdiff
path: root/godot/scripts/Server.gd
diff options
context:
space:
mode:
authorAnson Bridges <bridges.anson@gmail.com>2022-10-19 14:13:47 -0400
committerAnson Bridges <bridges.anson@gmail.com>2022-10-19 14:13:47 -0400
commit5100ec45264ff36a2558757e76198b8b25866992 (patch)
treecd1fd239fe0380028c1d77e456a49ecf186830d6 /godot/scripts/Server.gd
parente826b74a104e72ec398aa55bd5dceb13b5a0dae1 (diff)
server work
Diffstat (limited to 'godot/scripts/Server.gd')
-rw-r--r--godot/scripts/Server.gd23
1 files changed, 14 insertions, 9 deletions
diff --git a/godot/scripts/Server.gd b/godot/scripts/Server.gd
index e360703..b4ab995 100644
--- a/godot/scripts/Server.gd
+++ b/godot/scripts/Server.gd
@@ -6,6 +6,7 @@ var server_name : String
var player_limit : int
var connected_player_count : int = 0
var connected_players = {}
+enum {PLAYER_NAME, PLAYER_TEAM}
var server_enet : NetworkedMultiplayerENet
var output
@@ -52,6 +53,7 @@ func start_server(_server_name: String, _motd: String, max_players: int, map_pat
world.client_id = 1
print_line("Server started successfully.")
+ NavigationServer.set_active(false)
func stop_server():
print_line("Shutting down server...")
@@ -93,14 +95,14 @@ func _client_connection_confirmed(arguments):
world.rpc("update_players_info", connected_players)
func _client_change_teams(arguments):
- print_line(connected_players[arguments["id"]][0] + " ("+ str(arguments["id"]) +") changed to team " + arguments["team"])
- connected_players[arguments["id"]][1] = arguments["team"]
+ print_line(connected_players[arguments["id"]][PLAYER_NAME] + " ("+ str(arguments["id"]) +") changed to team " + arguments["team"])
+ connected_players[arguments["id"]][PLAYER_TEAM] = arguments["team"]
world.rpc("update_players_info", connected_players)
func _client_request_change_character(arguments):
var dest = world.get_node("PLAYERS/"+arguments["char_name"])
if dest != null and dest.get_network_master() == 1:
- print_line(connected_players[arguments["id"]][0] + " selected character " + arguments["char_name"])
+ print_line(connected_players[arguments["id"]][PLAYER_NAME] + " selected character " + arguments["char_name"])
dest.rpc("set_net_owner", arguments["id"])
if arguments["current_char_name"] != "NULL":
var old = world.get_node("PLAYERS/"+arguments["current_char_name"])
@@ -108,21 +110,24 @@ func _client_request_change_character(arguments):
func _client_request_control_vehicle(arguments):
var dest_machine = world.get_node(arguments["machine_path"])
- var name = "BOT" if arguments["id"] == 1 else connected_players[arguments["id"]][0]
+ var name = "BOT" if arguments["id"] == 1 else connected_players[arguments["id"]][PLAYER_NAME]
if dest_machine != null and dest_machine.get_network_master() == 1 and !dest_machine.in_use:
print_line(arguments["char_name"] + "(" + name + ") is controlling " + dest_machine.name)
dest_machine.rpc("set_net_owner", arguments["id"], arguments["char_name"])
func _character_death(arguments):
- var victim_player = connected_players[arguments["victim_mp_id"]][0] if arguments["victim_mp_id"] != 1 else ""
- print_line(arguments["victim"] + " ("+victim_player+") killed by " + arguments["killer"] + " " + arguments["extra"] + ".")
- world.rpc("game_chat_msg", arguments["victim"] + " ("+victim_player+") killed by " + arguments["killer"] + " " + arguments["extra"] + ".")
- world.get_node("PLAYERS/"+arguments["victim"]).rpc("remove_dead_character")
+ if world.get_node("PLAYERS/"+arguments["victim_name"]) == null:
+ return
+ var victim_player: String = connected_players[arguments["victim_mp_id"]][PLAYER_NAME] if arguments["victim_mp_id"] != 1 else arguments["victim_name"]
+ var killer_player: String = connected_players[arguments["killer_id"]][PLAYER_NAME] if arguments["killer_id"] != 1 else arguments["killer_name"]
+ print_line(victim_player+" killed by " +killer_player+ " using " + arguments["extra"] + ".")
+ world.rpc("game_chat_msg", victim_player+" killed by " +killer_player+ " using " + arguments["extra"] + ".")
+ world.get_node("PLAYERS/"+arguments["victim_name"]).rpc("remove_dead_character")
world.rpc("game_update_chars")
func _send_chat(arguments):
if !("name" in arguments):
- arguments["name"]=connected_players[arguments["id"]][0]
+ arguments["name"]=connected_players[arguments["id"]][PLAYER_NAME]
print_line(arguments["name"]+ ": " + arguments["msg"])
world.rpc("game_chat_msg", arguments["name"]+ ": " + arguments["msg"])