forked from interstellar_development/freeftf
Milestone 2: Beast
This update to the code adds a fully working beast, which is randomly selected and can capture any of the other players.
This commit is contained in:
parent
dfe714044d
commit
812821b510
7 changed files with 242 additions and 14 deletions
|
|
@ -22,7 +22,6 @@ func join_game(ip):
|
|||
var peer = ENetMultiplayerPeer.new()
|
||||
var error = peer.create_client(ip, PORT)
|
||||
if error:
|
||||
print("error")
|
||||
return error
|
||||
multiplayer.multiplayer_peer = peer
|
||||
|
||||
|
|
@ -31,10 +30,8 @@ func create_game():
|
|||
var peer = ENetMultiplayerPeer.new()
|
||||
var error = peer.create_server(PORT, MAX_CONNECTIONS)
|
||||
if error:
|
||||
print("error")
|
||||
return error
|
||||
multiplayer.multiplayer_peer = peer
|
||||
print("done")
|
||||
|
||||
@rpc("any_peer", "call_remote", "reliable")
|
||||
func send_playerinfo(name, id):
|
||||
|
|
@ -43,6 +40,7 @@ func send_playerinfo(name, id):
|
|||
players[id] = name
|
||||
label = get_tree().root.get_node("create/player_list/list")
|
||||
label.text = ""
|
||||
print(players)
|
||||
for w in players:
|
||||
if done == 1:
|
||||
label.text = str(label.text +"\n" + players[w])
|
||||
|
|
@ -62,8 +60,11 @@ func start_game(server_players):
|
|||
var player = character.instantiate()
|
||||
player.name = "player" + str(i)
|
||||
i += 1
|
||||
player.position.z = -i*1.5
|
||||
player.position.z = -i*2.5
|
||||
map.add_child(player)
|
||||
if multiplayer.is_server():
|
||||
var random = randi() % Server.players.size()
|
||||
sync_beast.rpc(random)
|
||||
|
||||
@rpc("any_peer", "call_remote", "unreliable")
|
||||
func sync_player(node_name, position, rotation):
|
||||
|
|
@ -71,8 +72,24 @@ func sync_player(node_name, position, rotation):
|
|||
current_character.position = position
|
||||
current_character.rotation = rotation
|
||||
|
||||
@rpc("authority", "call_local", "reliable")
|
||||
@rpc("authority", "call_remote", "reliable")
|
||||
func sync_computers(node_name, current):
|
||||
var current_character = get_tree().root.get_node("./map/"+node_name)
|
||||
print(current_character)
|
||||
current_character.current = current
|
||||
|
||||
@rpc("authority", "call_local", "reliable")
|
||||
func sync_beast(player):
|
||||
var current_character = get_tree().root.get_node("./"+"player"+str(player))
|
||||
current_character.beast_init()
|
||||
|
||||
@rpc("any_peer", "call_local", "reliable")
|
||||
func player_hit(target, beast):
|
||||
target = get_tree().root.get_node("./"+target)
|
||||
beast = get_tree().root.get_node("./"+beast)
|
||||
map = get_tree().root.get_node(".")
|
||||
print(target)
|
||||
print(beast)
|
||||
print(map)
|
||||
target.captured(beast)
|
||||
beast.got_one(target)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue