客户端问题修改

This commit is contained in:
shen
2026-09-07 14:53:36 +08:00
parent b19d5b5dd3
commit 61272b75e9
32 changed files with 1023 additions and 95 deletions
+11
View File
@@ -41,6 +41,12 @@ var _reconnecting_game := false
var _mark_redl_after := 0 # guild-mark re-download cooldown (ticks_msec)
# MT_AUTOLOGIN=1:进 LOGIN 自动连接,收到角色列表自动选第一个(冒烟 / CI 用)。
var auto_login := OS.get_environment("MT_AUTOLOGIN") == "1" and not _id.is_empty() and not _pw.is_empty()
var _auto_char_slot := -1 # MT_CHAR_SLOT:自动登录时优先选择的角色槽位。
func _init() -> void:
var raw_slot := OS.get_environment("MT_CHAR_SLOT").strip_edges()
if raw_slot.is_valid_int():
_auto_char_slot = int(raw_slot)
func start(assets_root: String = "", injected_client: Node = null) -> void:
_assets = assets_root
@@ -110,6 +116,11 @@ func _on_char_list(list: Array) -> void:
_goto_select()
if auto_login and not _chars.is_empty():
var idx := int(_chars[0].get("index", 0))
if _auto_char_slot >= 0:
for character in _chars:
if int(character.get("index", -1)) == _auto_char_slot:
idx = _auto_char_slot
break
if client.has_method("enter_game"):
client.enter_game(idx)
elif client.has_method("select_character"):