From 4edf90374fbcd480fcd7abe4fd2bfb77d31a43f2 Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Fri, 19 Aug 2016 18:42:14 -0300 Subject: [PATCH] Some fixed to networking demo --- networking/simple_multiplayer/bomb.gd | 1 - networking/simple_multiplayer/gamestate.gd | 10 ++++++---- networking/simple_multiplayer/player.gd | 2 ++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/networking/simple_multiplayer/bomb.gd b/networking/simple_multiplayer/bomb.gd index faecd532..d9278df6 100644 --- a/networking/simple_multiplayer/bomb.gd +++ b/networking/simple_multiplayer/bomb.gd @@ -12,7 +12,6 @@ func explode(): if (not is_network_master()): #but will call explosion only on master return - for p in in_area: if (p.has_method("exploded")): p.rpc("exploded",owner) #exploded has a master keyword, so it will only be received by the master diff --git a/networking/simple_multiplayer/gamestate.gd b/networking/simple_multiplayer/gamestate.gd index fbbe8088..e6e28fc4 100644 --- a/networking/simple_multiplayer/gamestate.gd +++ b/networking/simple_multiplayer/gamestate.gd @@ -72,7 +72,7 @@ remote func unregister_player(id): emit_signal("player_list_changed") remote func pre_start_game(spawn_points): -#change scene + #change scene var world = load("res://world.tscn").instance() get_tree().get_root().add_child(world) @@ -105,7 +105,9 @@ remote func pre_start_game(spawn_points): world.get_node("score").add_player(pn,players[pn]) if (not get_tree().is_network_server()): - rpc("ready_to_start", get_tree().get_network_unique_id() ) + #tell server we are ready to start + rpc_id(1,"ready_to_start", get_tree().get_network_unique_id() ) + elif players.size()==0: post_start_game() @@ -124,7 +126,7 @@ remote func ready_to_start(id): if (players_ready.size() == players.size()): for p in players: - rpc( "post_start_game" ) + rpc_id(p, "post_start_game" ) post_start_game() @@ -158,7 +160,7 @@ func begin_game(): spawn_point_idx+=1 #call to pre-start game with the spawn points for p in players: - rpc( "pre_start_game", spawn_points ) + rpc_id(p, "pre_start_game", spawn_points ) pre_start_game( spawn_points ) diff --git a/networking/simple_multiplayer/player.gd b/networking/simple_multiplayer/player.gd index 31dcf033..cf931771 100644 --- a/networking/simple_multiplayer/player.gd +++ b/networking/simple_multiplayer/player.gd @@ -14,6 +14,8 @@ sync func setup_bomb(name,pos,by_who): bomb.set_name( name ) #ensure unique name for the bomb bomb.set_pos( pos ) bomb.owner=by_who + #no need to set network mode to bomb, will be owned by master by + #default get_node("../..").add_child(bomb) var current_anim=""