Node connect.tcsn = node2d, button host and join, multiplayersspawn
In inspector auto spawn list, you can add your packedscene that you wanna reload
code connect.tcsn
extends Node2D
var peer = ENetMultiplayerPeer.new()
#@export var player_scene: PackedScene
func _on_host_pressed():
peer.create_server(135)
# HEY I'M CREATING A NEW SERVER
multiplayer.multiplayer_peer = peer
# HEY MULTIPLAYER SYSTEM, USE THIS SERVER CONNECTION
print(multiplayer, peer)
# THEN I WILL MAKE THE ADDITIONAL SERVICE IN CASE THERES NEW CLIENT
multiplayer.peer_connected.connect(_add_player)
# AND I AM SPAWNING THE HOST'S OWN PLAYER RIGHT NOW!
_add_player()
# This runs immediately - spawns the HOST's player with ID = 1
# When clients join LATER, peer_connected will spawn THEIR players automatically
func _add_player(id = 1):
# WHEN NEW CLIENT CONNECTS, THIS RUNS WITH THEIR ID
# id = 1 (host), id = 2 (first client), id = 3 (second client), etc.
var player = preload("res://player.tscn").instantiate()
player.name = str(id)
call_deferred("add_child",player)
func _on_join_pressed():
peer.create_client("localhost", 135)
# HEY I'M CREATING A CONNECTION TO THE HOST
multiplayer.multiplayer_peer = peer
# HEY MULTIPLAYER SYSTEM, USE THIS CONNECTION TO TALK TO THE HOST
# NOW THE HOST'S peer_connected SIGNAL WILL FIRE AND SPAWN ME!
Node player.tcsn = characterbody,collision,sprite2d and MultiplayerSynchronizer
And add property synchronizer -> characterbody -> position
code player.tcsn
extends CharacterBody2D
func _enter_tree():
set_multiplayer_authority(name.to_int())
print(name)
func _physics_process(delta):
if is_multiplayer_authority():
velocity = Input.get_vector("ui_left","ui_right","ui_up","ui_down") * 400
move_and_slide()
Thats all, dont forget to try it use two godot project and run use f6(run current scene)
Posting Komentar untuk "Basic Multiplayer Godot (Learn Basic)"