From e839f41985e1842d91a53d1a3d489e321116953d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A0=91=E8=90=8C=E8=8A=BD?= <3205788256@qq.com> Date: Mon, 21 Jul 2025 09:12:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=B9=E9=87=8F=E4=BF=AE=E6=94=B9=E6=80=BB?= =?UTF-8?q?=E6=B8=B8=E7=8E=A9=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Script/BigPanel/PlayerRankingPanel.gd | 2 +- Server/TCPGameServer.py | 30 +++++++++---------- Server/__pycache__/TCPGameServer.py | 26 ++++++++-------- .../config/initial_player_data_template.json | 2 +- Server/game_saves/2143323382.json | 4 +-- Server/game_saves/2804775686.json | 18 ++++++----- server/game_saves/3205788256.json | 2 +- 7 files changed, 43 insertions(+), 41 deletions(-) diff --git a/Script/BigPanel/PlayerRankingPanel.gd b/Script/BigPanel/PlayerRankingPanel.gd index f7c60ac..b050bd5 100644 --- a/Script/BigPanel/PlayerRankingPanel.gd +++ b/Script/BigPanel/PlayerRankingPanel.gd @@ -217,7 +217,7 @@ func add_player_entry(player_data): player_level.text = "等级: " + str(int(player_data.get("level", 0))) player_money.text = "金币: " + str(int(player_data.get("money", 0))) player_seed_num.text = "种子: " + str(int(player_data.get("seed_count", 0))) - player_online_time.text = "游玩时间: " + player_data.get("total_login_time", "0时0分0秒") + player_online_time.text = "游玩时间: " + player_data.get("总游玩时间", "0时0分0秒") player_last_login_time.text = "最后登录: " + player_data.get("最后登录时间", "未知") # 设置在线状态显示 diff --git a/Server/TCPGameServer.py b/Server/TCPGameServer.py index adbecde..2e9ca0c 100644 --- a/Server/TCPGameServer.py +++ b/Server/TCPGameServer.py @@ -470,12 +470,12 @@ class TCPGameServer(TCPServer): # 注意:在线礼包时间累计现在由新系统管理,此处不再需要更新旧格式 self.save_player_data(username, player_data) - self.log('INFO', f"用户 {username} 本次游玩时间: {play_time_seconds} 秒,总游玩时间: {player_data['total_login_time']}", 'SERVER') + self.log('INFO', f"用户 {username} 本次游玩时间: {play_time_seconds} 秒,总游玩时间: {player_data['总游玩时间']}", 'SERVER') #更新总游玩时间 def _update_total_play_time(self, player_data, play_time_seconds): """更新总游玩时间""" - total_time_str = player_data.get("total_login_time", "0时0分0秒") + total_time_str = player_data.get("总游玩时间", "0时0分0秒") time_parts = re.match(r"(?:(\d+)时)?(?:(\d+)分)?(?:(\d+)秒)?", total_time_str) if time_parts: @@ -490,7 +490,7 @@ class TCPGameServer(TCPServer): new_seconds = total_seconds % 60 # 更新总游玩时间 - player_data["total_login_time"] = f"{new_hours}时{new_minutes}分{new_seconds}秒" + player_data["总游玩时间"] = f"{new_hours}时{new_minutes}分{new_seconds}秒" # 检查玩家是否享受新玩家注册奖励 def _is_new_player_bonus_active(self, player_data): @@ -1138,8 +1138,8 @@ class TCPGameServer(TCPServer): # 设置新玩家的注册时间(不同于模板中的默认时间) player_data["注册时间"] = time_str - if "total_login_time" not in player_data: - player_data["total_login_time"] = "0时0分0秒" + if "总游玩时间" not in player_data: + player_data["总游玩时间"] = "0时0分0秒" # 保存新用户数据 file_path = os.path.join("game_saves", f"{username}.json") @@ -5815,7 +5815,7 @@ class TCPGameServer(TCPServer): # 获取最后登录时间和总游玩时间 last_login_time = player_data.get("最后登录时间", "未知") - total_login_time = player_data.get("total_login_time", "0时0分0秒") + total_login_time = player_data.get("总游玩时间", "0时0分0秒") self.log('INFO', f"玩家 {username} 请求游玩时间统计", 'SERVER') @@ -5823,7 +5823,7 @@ class TCPGameServer(TCPServer): "type": "play_time_response", "success": True, "最后登录时间": last_login_time, - "total_login_time": total_login_time, + "总游玩时间": total_login_time, "current_session_time": current_session_time }) @@ -5845,7 +5845,7 @@ class TCPGameServer(TCPServer): play_time_seconds = int(time.time() - login_timestamp) # 解析现有的总游玩时间 - total_time_str = player_data.get("total_login_time", "0时0分0秒") + total_time_str = player_data.get("总游玩时间", "0时0分0秒") time_parts = re.match(r"(?:(\d+)时)?(?:(\d+)分)?(?:(\d+)秒)?", total_time_str) if time_parts: @@ -5860,7 +5860,7 @@ class TCPGameServer(TCPServer): new_seconds = total_seconds % 60 # 更新总游玩时间 - player_data["total_login_time"] = f"{new_hours}时{new_minutes}分{new_seconds}秒" + player_data["总游玩时间"] = f"{new_hours}时{new_minutes}分{new_seconds}秒" # 保存玩家数据 self.save_player_data(username, player_data) @@ -5868,13 +5868,13 @@ class TCPGameServer(TCPServer): # 重置登录时间戳,以便下次计算 self.user_data[client_id]["login_timestamp"] = time.time() - self.log('INFO', f"已更新玩家 {username} 的游玩时间,当前游玩时间: {play_time_seconds} 秒,总游玩时间: {player_data['total_login_time']}", 'SERVER') + self.log('INFO', f"已更新玩家 {username} 的游玩时间,当前游玩时间: {play_time_seconds} 秒,总游玩时间: {player_data['总游玩时间']}", 'SERVER') return self.send_data(client_id, { "type": "update_time_response", "success": True, "message": "游玩时间已更新", - "total_login_time": player_data["total_login_time"] + "总游玩时间": player_data["总游玩时间"] }) else: self.log('ERROR', f"解析玩家 {username} 的游玩时间失败", 'SERVER') @@ -5937,7 +5937,7 @@ class TCPGameServer(TCPServer): continue # 解析总游玩时间为秒数(用于排序) - total_time_str = player_data.get("total_login_time", "0时0分0秒") + total_time_str = player_data.get("总游玩时间", "0时0分0秒") total_time_seconds = self._parse_time_to_seconds(total_time_str) # 解析最后登录时间为时间戳(用于排序) @@ -5959,7 +5959,7 @@ class TCPGameServer(TCPServer): "seed_count": seed_count, "最后登录时间": last_login_str, "last_login_timestamp": last_login_timestamp, - "total_login_time": total_time_str, + "总游玩时间": total_time_str, "total_time_seconds": total_time_seconds, "like_num": player_data.get("点赞数", 0), "is_online": is_online @@ -6127,7 +6127,7 @@ class TCPGameServer(TCPServer): "小卖部格子数": target_player_data.get("小卖部格子数", 10), # 添加小卖部格子数 "点赞数": target_player_data.get("点赞数", 0), # 添加点赞数 "最后登录时间": target_player_data.get("最后登录时间", "未知"), - "total_login_time": target_player_data.get("total_login_time", "0时0分0秒"), + "总游玩时间": target_player_data.get("总游玩时间", "0时0分0秒"), "total_likes": target_player_data.get("total_likes", 0) } @@ -9774,7 +9774,7 @@ class ConsoleCommands: print(f"体力: {player_data.get('体力值', 20)}") print(f"注册时间: {player_data.get('注册时间', '未知')}") print(f"最后登录: {player_data.get('最后登录时间', '从未登录')}") - print(f"总在线时长: {player_data.get('total_login_time', '0时0分0秒')}") + print(f"总在线时长: {player_data.get('总游玩时间', '0时0分0秒')}") # 显示土地信息 farm_lots = player_data.get("farm_lots", []) diff --git a/Server/__pycache__/TCPGameServer.py b/Server/__pycache__/TCPGameServer.py index fb88519..0dc3759 100644 --- a/Server/__pycache__/TCPGameServer.py +++ b/Server/__pycache__/TCPGameServer.py @@ -315,7 +315,7 @@ class TCPGameServer(TCPServer): import re # 解析现有的总游玩时间 - total_time_str = player_data.get("total_login_time", "0时0分0秒") + total_time_str = player_data.get("总游玩时间", "0时0分0秒") time_parts = re.match(r"(?:(\d+)时)?(?:(\d+)分)?(?:(\d+)秒)?", total_time_str) if time_parts: @@ -330,12 +330,12 @@ class TCPGameServer(TCPServer): new_seconds = total_seconds % 60 # 更新总游玩时间 - player_data["total_login_time"] = f"{new_hours}时{new_minutes}分{new_seconds}秒" + player_data["总游玩时间"] = f"{new_hours}时{new_minutes}分{new_seconds}秒" # 保存玩家数据 self.save_player_data(username, player_data) - self.log('INFO', f"用户 {username} 本次游玩时间: {play_time_seconds} 秒,总游玩时间: {player_data['total_login_time']}", 'SERVER') + self.log('INFO', f"用户 {username} 本次游玩时间: {play_time_seconds} 秒,总游玩时间: {player_data['总游玩时间']}", 'SERVER') self.log('INFO', f"用户 {username} 登出", 'SERVER') @@ -608,8 +608,8 @@ class TCPGameServer(TCPServer): time_str = current_time.strftime("%Y年%m月%d日%H时%M分%S秒") player_data["最后登录时间"] = time_str - if "total_login_time" not in player_data: - player_data["total_login_time"] = "0时0分0秒" + if "总游玩时间" not in player_data: + player_data["总游玩时间"] = "0时0分0秒" # 保存新用户数据 with open(file_path, 'w', encoding='utf-8') as file: @@ -1158,7 +1158,7 @@ class TCPGameServer(TCPServer): # 获取最后登录时间和总游玩时间 last_login_time = player_data.get("最后登录时间", "未知") - total_login_time = player_data.get("total_login_time", "0时0分0秒") + total_login_time = player_data.get("总游玩时间", "0时0分0秒") self.log('INFO', f"玩家 {username} 请求游玩时间统计", 'SERVER') @@ -1166,7 +1166,7 @@ class TCPGameServer(TCPServer): "type": "play_time_response", "success": True, "最后登录时间": last_login_time, - "total_login_time": total_login_time, + "总游玩时间": total_login_time, "current_session_time": current_session_time }) @@ -1196,7 +1196,7 @@ class TCPGameServer(TCPServer): # 解析现有的总游玩时间 import re - total_time_str = player_data.get("total_login_time", "0时0分0秒") + total_time_str = player_data.get("总游玩时间", "0时0分0秒") time_parts = re.match(r"(?:(\d+)时)?(?:(\d+)分)?(?:(\d+)秒)?", total_time_str) if time_parts: @@ -1211,7 +1211,7 @@ class TCPGameServer(TCPServer): new_seconds = total_seconds % 60 # 更新总游玩时间 - player_data["total_login_time"] = f"{new_hours}时{new_minutes}分{new_seconds}秒" + player_data["总游玩时间"] = f"{new_hours}时{new_minutes}分{new_seconds}秒" # 保存玩家数据 self.save_player_data(username, player_data) @@ -1219,13 +1219,13 @@ class TCPGameServer(TCPServer): # 重置登录时间戳,以便下次计算 self.user_data[client_id]["login_timestamp"] = time.time() - self.log('INFO', f"已更新玩家 {username} 的游玩时间,当前游玩时间: {play_time_seconds} 秒,总游玩时间: {player_data['total_login_time']}", 'SERVER') + self.log('INFO', f"已更新玩家 {username} 的游玩时间,当前游玩时间: {play_time_seconds} 秒,总游玩时间: {player_data['总游玩时间']}", 'SERVER') return self.send_data(client_id, { "type": "update_time_response", "success": True, "message": "游玩时间已更新", - "total_login_time": player_data["total_login_time"] + "总游玩时间": player_data["总游玩时间"] }) else: self.log('ERROR', f"解析玩家 {username} 的游玩时间失败", 'SERVER') @@ -1283,7 +1283,7 @@ class TCPGameServer(TCPServer): "experience": player_data.get("experience", 0), "seed_count": seed_count, "最后登录时间": player_data.get("最后登录时间", "未知"), - "total_login_time": player_data.get("total_login_time", "0时0分0秒") + "总游玩时间": player_data.get("总游玩时间", "0时0分0秒") } players_data.append(player_info) @@ -1472,7 +1472,7 @@ class TCPGameServer(TCPServer): "farm_lots": target_player_data.get("farm_lots", []), "player_bag": target_player_data.get("player_bag", []), "最后登录时间": target_player_data.get("最后登录时间", "未知"), - "total_login_time": target_player_data.get("total_login_time", "0时0分0秒") + "总游玩时间": target_player_data.get("总游玩时间", "0时0分0秒") } current_username = self.user_data[client_id]["username"] diff --git a/Server/config/initial_player_data_template.json b/Server/config/initial_player_data_template.json index 118534c..63b40b1 100644 --- a/Server/config/initial_player_data_template.json +++ b/Server/config/initial_player_data_template.json @@ -7,7 +7,7 @@ "user_name": "用户名", "user_password": "密码", "最后登录时间": "2025年07月20日17时19分16秒", - "total_login_time": "0时0分0秒", + "总游玩时间": "0时0分0秒", "farm_lots": [], "player_bag": [], "作物仓库": [], diff --git a/Server/game_saves/2143323382.json b/Server/game_saves/2143323382.json index 1e2ad0c..38b3406 100644 --- a/Server/game_saves/2143323382.json +++ b/Server/game_saves/2143323382.json @@ -7,7 +7,7 @@ "user_name": "2143323382", "user_password": "tyh@19900420", "最后登录时间": "2025年07月20日22时15分13秒", - "total_login_time": "6时47分9秒", + "总游玩时间": "6时47分9秒", "farm_lots": [ { "crop_type": "", @@ -144,7 +144,7 @@ }, { "crop_type": "杂交树2", - "grow_time": 22356, + "grow_time": 23736, "is_dead": false, "is_diged": true, "is_planted": true, diff --git a/Server/game_saves/2804775686.json b/Server/game_saves/2804775686.json index f25cc58..1038ae6 100644 --- a/Server/game_saves/2804775686.json +++ b/Server/game_saves/2804775686.json @@ -1,13 +1,13 @@ { - "experience": 877, + "experience": 927, "level": 11, - "money": 1231231162929, + "money": 1231231163029, "farm_name": "123", "player_name": "123", "user_name": "2804775686", "user_password": "123", - "最后登录时间": "2025年07月21日08时26分48秒", - "total_login_time": "0时5分47秒", + "最后登录时间": "2025年07月21日09时07分52秒", + "总游玩时间": "0时7分23秒", "注册时间": "2025年07月20日23时08分10秒", "个人简介": "啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊", "farm_lots": [ @@ -558,12 +558,12 @@ { "name": "小麦", "quality": "普通", - "count": 9 + "count": 14 }, { "name": "胡萝卜", "quality": "普通", - "count": 11 + "count": 14 }, { "name": "稻谷", @@ -2018,8 +2018,10 @@ }, "在线礼包": { "当前日期": "2025-07-21", - "今日在线时长": 0.0, - "已领取礼包": [], + "今日在线时长": 110.85636234283447, + "已领取礼包": [ + "1分钟" + ], "登录时间": 1753054985.2239232 }, "点赞系统": { diff --git a/server/game_saves/3205788256.json b/server/game_saves/3205788256.json index 85e24cf..0ff46f3 100644 --- a/server/game_saves/3205788256.json +++ b/server/game_saves/3205788256.json @@ -579,7 +579,7 @@ "level": 64, "money": 615197019864, "最后登录时间": "2025年07月19日21时52分29秒", - "total_login_time": "162时47分40秒", + "总游玩时间": "162时47分40秒", "user_name": "3205788256", "user_password": "tyh@19900420", "个人简介": "人生啊,就这样吧",