...
This commit is contained in:
parent
c0021b5240
commit
c1c5541ccd
24 changed files with 5977 additions and 692 deletions
|
|
@ -0,0 +1,88 @@
|
|||
Preparing the signals
|
||||
```gdscript
|
||||
func _ready():
|
||||
host_button.pressed.connect(_on_host_pressed)
|
||||
join_button.pressed.connect(_on_join_pressed)
|
||||
multiplayer.peer_connected.connect(_on_peer_connected)
|
||||
```
|
||||
|
||||
```gdscript
|
||||
func _on_peer_connected(id: int):
|
||||
print("my peer id: %s" % multiplayer.get_unique_id())
|
||||
print("peer connected: %s" % id)
|
||||
```
|
||||
Starting a server
|
||||
```gdscript
|
||||
func _on_host_pressed() -> void:
|
||||
const PORT=3000
|
||||
|
||||
var server_peer := ENetMultiplayerPeer.new()
|
||||
server_peer.create(PORT)
|
||||
multiplayer.multiplayer_peer = server_peer
|
||||
```
|
||||
|
||||
Joining a server
|
||||
```gdscript
|
||||
func _on_join_pressed() -> void:
|
||||
var client_peer := ENetMultiplayerPeer.new()
|
||||
client_peer.create_client("127.0.0.1", PORT)
|
||||
multipler.multiplayer_peer = client_peer
|
||||
```
|
||||
|
||||
Sending RPC to server
|
||||
```gdscript
|
||||
|
||||
```
|
||||
|
||||
Receiving RPC from host
|
||||
```gdscript
|
||||
|
||||
```
|
||||
|
||||
|
||||
Aus AWA:
|
||||
```gdscript
|
||||
func create_server():
|
||||
log.start("create_server")
|
||||
log.debug("port: "+str(port))
|
||||
|
||||
peer.peer_connected.connect(_on_peer_connected)
|
||||
peer.peer_disconnected.connect(_on_peer_disconnected)
|
||||
|
||||
multiplayer_api = MultiplayerAPI.create_default_interface()
|
||||
get_tree().set_multiplayer(multiplayer_api, self.get_path())
|
||||
|
||||
peer.create_server(port, 2000) # Max 2000 Scenes
|
||||
if peer.get_connection_status()==MultiplayerPeer.CONNECTION_DISCONNECTED:
|
||||
log.debug("Verbindungsaufbau fehlgeschlagen")
|
||||
get_tree().quit()
|
||||
|
||||
multiplayer_api.multiplayer_peer = peer
|
||||
```
|
||||
|
||||
```gdscript
|
||||
func connect_client():
|
||||
|
||||
log.start("connect_client")
|
||||
peer = ENetMultiplayerPeer.new()
|
||||
log.debug("host=" + host + ", port=" + str(port))
|
||||
|
||||
multiplayer_api = MultiplayerAPI.create_default_interface()
|
||||
get_tree().set_multiplayer(multiplayer_api, self.get_path())
|
||||
peer.create_client(host, port)
|
||||
peer.peer_connected.connect(_on_peer_connected)
|
||||
peer.peer_disconnected.connect(_on_peer_disconnected)
|
||||
if peer.get_connection_status() == MultiplayerPeer.CONNECTION_DISCONNECTED:
|
||||
log.debug("Verbindungsaufbau fehlgeschlagen. SceneHost="+str(host)+", port="+str(port))
|
||||
#get_tree().quit()
|
||||
|
||||
multiplayer_api.multiplayer_peer=peer
|
||||
```
|
||||
|
||||
```gdscript
|
||||
func request_send_chatline(txt:String):
|
||||
rpc_id(1,"rpc_cs_send_chatline", txt) # 1=peer_id vom master server
|
||||
|
||||
@rpc("any_peer") func rpc_cs_send_chatline(txt:String):
|
||||
pass # Implementation not needed on client
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue