@@ -30,6 +30,7 @@ var session_token: String = ""
3030var user_id : String = ""
3131var display_name : String = ""
3232var is_new_account : bool = false
33+ var ban_message : String = ""
3334var local_skin : String = "cvc:1"
3435var current_scene_name : String = "village"
3536var current_lobby_id : String = ""
@@ -112,11 +113,17 @@ func _process(_delta: float) -> void:
112113 else :
113114 _handle_voice_packet (pkt )
114115 elif state == WebSocketPeer .STATE_CLOSED :
115- if _connected :
116+ var was_connected := _connected
117+ _connected = false
118+ if was_connected :
116119 var code = _socket .get_close_code ()
117120 if code == 4001 :
118121 clear_session ()
119- _connected = false
122+ elif code == 4003 :
123+ ban_message = _socket .get_close_reason ()
124+ if ban_message == "" :
125+ ban_message = "You are banned from Pixl."
126+ get_tree ().change_scene_to_file ("res://scenes/login.tscn" )
120127 emit_signal ("disconnected_from_server" )
121128
122129func start_login () -> void :
@@ -262,8 +269,7 @@ func _handle_message(raw: String) -> void:
262269 local_skin = sk
263270 emit_signal ("player_skin_changed" , uid , sk )
264271 "chat" :
265- if String (json ["userId" ]) != user_id :
266- emit_signal ("chat_message" , json ["userId" ], String (json .get ("displayName" , "" )), String (json .get ("text" , "" )))
272+ emit_signal ("chat_message" , json ["userId" ], String (json .get ("displayName" , "" )), String (json .get ("text" , "" )))
267273 "emote" :
268274 emit_signal ("emote_received" , json ["userId" ], String (json .get ("key" , "" )))
269275 "npc_init" :
@@ -359,7 +365,6 @@ func send_chat(text: String) -> void:
359365 if not _is_socket_open ():
360366 return
361367 _socket .send_text (JSON .stringify ({"type" : "chat" , "text" : text }))
362- emit_signal ("chat_message" , user_id , display_name , text )
363368
364369func send_scene_change (scene_name : String ) -> void :
365370 var actual := scene_name
0 commit comments