Godot Version
4.7.2
Question
When trying to click the host or join button for my game, it doesn’t click, the buttons don’t even change color while hovering towards them [the line edit doesn’t work either]. I made a temporary grab focus so I can still hit the button using enter, but when the game starts the mouse goes into MOUSE_MODE_CAPTURED like it should, but I can’t look around.
#PART OF PLAYER SCRIPT
func _enter_tree():
set_multiplayer_authority(str(name).to_int())
print(name)
func _ready():
if !is_multiplayer_authority(): return
if multiplayer.is_server:
$"../Timer".wait_time = 10
$"../Timer".start()
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
camera.current = true
func _unhandled_input(event):
if not is_multiplayer_authority(): return
if event is InputEventMouseMotion:
rotate_y(-event.relative.x * .005)
camera.rotate_x(-event.relative.y * .005)
camera.rotation.x = clamp(camera.rotation.x, -PI/2, PI/2)
#PART OF SERVER/WORLD SCRIPT
func _ready() -> void:
$CanvasLayer/MainMenu/MarginContainer/VBoxContainer/Host.grab_focus()
func _unhandled_input(_event):
if Input.is_action_just_pressed("quit"):
get_tree().quit()
func _on_host_button_pressed():
main_menu.hide()
hud.show()
enet_peer.create_server(PORT)
multiplayer.multiplayer_peer = enet_peer
multiplayer.peer_connected.connect(add_player)
multiplayer.peer_disconnected.connect(remove_player)
add_player(multiplayer.get_unique_id())
upnp_setup()
func _on_join_button_pressed():
main_menu.hide()
hud.show()
enet_peer.create_client(address_entry.text, PORT)
multiplayer.multiplayer_peer = enet_peer
add_player(multiplayer.get_unique_id())
func add_player(peer_id):
var player = Player.instantiate()
player.name = str(peer_id)
add_child(player)
if player.is_multiplayer_authority():
pass
func remove_player(peer_id):
var player = get_node_or_null(str(peer_id))
if player:
player.queue_free()
func _on_multiplayer_spawner_spawned(node):
if self.get_child_count() > 12:
$"Barrier/Starting Barrier".queue_free()
if node.is_multiplayer_authority():
pass
func upnp_setup():
var upnp = UPNP.new()
var discover_result = upnp.discover()
assert(discover_result == UPNP.UPNP_RESULT_SUCCESS, \
"UPNP Discover Failed! Error %s" % discover_result)
assert(upnp.get_gateway() and upnp.get_gateway().is_valid_gateway(), \
"UPNP Invalid Gateway!")
var map_result = upnp.add_port_mapping(PORT)
assert(map_result == UPNP.UPNP_RESULT_SUCCESS, \
"UPNP Port Mapping Failed! Error %s" % map_result)
print("Success! Join Address: %s" % upnp.query_external_address())
