Blogger Jateng

Basic Multiplayer Godot (Learn Basic)

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)"