批量修改最后登录时间
This commit is contained in:
@@ -218,7 +218,7 @@ func add_player_entry(player_data):
|
|||||||
player_money.text = "金币: " + str(int(player_data.get("money", 0)))
|
player_money.text = "金币: " + str(int(player_data.get("money", 0)))
|
||||||
player_seed_num.text = "种子: " + str(int(player_data.get("seed_count", 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("total_login_time", "0时0分0秒")
|
||||||
player_last_login_time.text = "最后登录: " + player_data.get("last_login_time", "未知")
|
player_last_login_time.text = "最后登录: " + player_data.get("最后登录时间", "未知")
|
||||||
|
|
||||||
# 设置在线状态显示
|
# 设置在线状态显示
|
||||||
var is_online = player_data.get("is_online", false)
|
var is_online = player_data.get("is_online", false)
|
||||||
|
|||||||
@@ -922,7 +922,7 @@ class TCPGameServer(TCPServer):
|
|||||||
|
|
||||||
# 更新最后登录时间
|
# 更新最后登录时间
|
||||||
current_time = datetime.datetime.now()
|
current_time = datetime.datetime.now()
|
||||||
player_data["last_login_time"] = current_time.strftime("%Y年%m月%d日%H时%M分%S秒")
|
player_data["最后登录时间"] = current_time.strftime("%Y年%m月%d日%H时%M分%S秒")
|
||||||
|
|
||||||
# 检查并更新体力值
|
# 检查并更新体力值
|
||||||
stamina_updated = self._check_and_update_stamina(player_data)
|
stamina_updated = self._check_and_update_stamina(player_data)
|
||||||
@@ -1133,7 +1133,7 @@ class TCPGameServer(TCPServer):
|
|||||||
# 更新注册时间和登录时间
|
# 更新注册时间和登录时间
|
||||||
current_time = datetime.datetime.now()
|
current_time = datetime.datetime.now()
|
||||||
time_str = current_time.strftime("%Y年%m月%d日%H时%M分%S秒")
|
time_str = current_time.strftime("%Y年%m月%d日%H时%M分%S秒")
|
||||||
player_data["last_login_time"] = time_str
|
player_data["最后登录时间"] = time_str
|
||||||
|
|
||||||
# 设置新玩家的注册时间(不同于模板中的默认时间)
|
# 设置新玩家的注册时间(不同于模板中的默认时间)
|
||||||
player_data["注册时间"] = time_str
|
player_data["注册时间"] = time_str
|
||||||
@@ -2032,7 +2032,7 @@ class TCPGameServer(TCPServer):
|
|||||||
def _is_player_long_offline(self, player_data, current_time):
|
def _is_player_long_offline(self, player_data, current_time):
|
||||||
"""检查玩家是否长时间离线"""
|
"""检查玩家是否长时间离线"""
|
||||||
# 获取玩家最后登录时间
|
# 获取玩家最后登录时间
|
||||||
last_login_time_str = player_data.get("last_login_time", "")
|
last_login_time_str = player_data.get("最后登录时间", "")
|
||||||
if not last_login_time_str:
|
if not last_login_time_str:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@@ -5814,7 +5814,7 @@ class TCPGameServer(TCPServer):
|
|||||||
current_session_time = f"{current_hours}时{current_minutes}分{current_seconds}秒"
|
current_session_time = f"{current_hours}时{current_minutes}分{current_seconds}秒"
|
||||||
|
|
||||||
# 获取最后登录时间和总游玩时间
|
# 获取最后登录时间和总游玩时间
|
||||||
last_login_time = player_data.get("last_login_time", "未知")
|
last_login_time = player_data.get("最后登录时间", "未知")
|
||||||
total_login_time = player_data.get("total_login_time", "0时0分0秒")
|
total_login_time = player_data.get("total_login_time", "0时0分0秒")
|
||||||
|
|
||||||
self.log('INFO', f"玩家 {username} 请求游玩时间统计", 'SERVER')
|
self.log('INFO', f"玩家 {username} 请求游玩时间统计", 'SERVER')
|
||||||
@@ -5822,7 +5822,7 @@ class TCPGameServer(TCPServer):
|
|||||||
return self.send_data(client_id, {
|
return self.send_data(client_id, {
|
||||||
"type": "play_time_response",
|
"type": "play_time_response",
|
||||||
"success": True,
|
"success": True,
|
||||||
"last_login_time": last_login_time,
|
"最后登录时间": last_login_time,
|
||||||
"total_login_time": total_login_time,
|
"total_login_time": total_login_time,
|
||||||
"current_session_time": current_session_time
|
"current_session_time": current_session_time
|
||||||
})
|
})
|
||||||
@@ -5941,7 +5941,7 @@ class TCPGameServer(TCPServer):
|
|||||||
total_time_seconds = self._parse_time_to_seconds(total_time_str)
|
total_time_seconds = self._parse_time_to_seconds(total_time_str)
|
||||||
|
|
||||||
# 解析最后登录时间为时间戳(用于排序)
|
# 解析最后登录时间为时间戳(用于排序)
|
||||||
last_login_str = player_data.get("last_login_time", "未知")
|
last_login_str = player_data.get("最后登录时间", "未知")
|
||||||
last_login_timestamp = self._parse_login_time_to_timestamp(last_login_str)
|
last_login_timestamp = self._parse_login_time_to_timestamp(last_login_str)
|
||||||
|
|
||||||
# 获取所需的玩家信息
|
# 获取所需的玩家信息
|
||||||
@@ -5957,7 +5957,7 @@ class TCPGameServer(TCPServer):
|
|||||||
"experience": player_data.get("experience", 0),
|
"experience": player_data.get("experience", 0),
|
||||||
"体力值": current_stamina,
|
"体力值": current_stamina,
|
||||||
"seed_count": seed_count,
|
"seed_count": seed_count,
|
||||||
"last_login_time": last_login_str,
|
"最后登录时间": last_login_str,
|
||||||
"last_login_timestamp": last_login_timestamp,
|
"last_login_timestamp": last_login_timestamp,
|
||||||
"total_login_time": total_time_str,
|
"total_login_time": total_time_str,
|
||||||
"total_time_seconds": total_time_seconds,
|
"total_time_seconds": total_time_seconds,
|
||||||
@@ -6126,7 +6126,7 @@ class TCPGameServer(TCPServer):
|
|||||||
"玩家小卖部": target_player_data.get("玩家小卖部", []), # 添加小卖部数据
|
"玩家小卖部": target_player_data.get("玩家小卖部", []), # 添加小卖部数据
|
||||||
"小卖部格子数": target_player_data.get("小卖部格子数", 10), # 添加小卖部格子数
|
"小卖部格子数": target_player_data.get("小卖部格子数", 10), # 添加小卖部格子数
|
||||||
"点赞数": target_player_data.get("点赞数", 0), # 添加点赞数
|
"点赞数": target_player_data.get("点赞数", 0), # 添加点赞数
|
||||||
"last_login_time": target_player_data.get("last_login_time", "未知"),
|
"最后登录时间": target_player_data.get("最后登录时间", "未知"),
|
||||||
"total_login_time": target_player_data.get("total_login_time", "0时0分0秒"),
|
"total_login_time": target_player_data.get("total_login_time", "0时0分0秒"),
|
||||||
"total_likes": target_player_data.get("total_likes", 0)
|
"total_likes": target_player_data.get("total_likes", 0)
|
||||||
}
|
}
|
||||||
@@ -9744,7 +9744,7 @@ class ConsoleCommands:
|
|||||||
nickname = player_data.get("player_name", "未设置")
|
nickname = player_data.get("player_name", "未设置")
|
||||||
level = player_data.get("level", 1)
|
level = player_data.get("level", 1)
|
||||||
money = player_data.get("money", 0)
|
money = player_data.get("money", 0)
|
||||||
last_login = player_data.get("last_login_time", "从未登录")
|
last_login = player_data.get("最后登录时间", "从未登录")
|
||||||
|
|
||||||
print(f"{qq_number:<12} {nickname:<15} {level:<6} {money:<10} {last_login:<20}")
|
print(f"{qq_number:<12} {nickname:<15} {level:<6} {money:<10} {last_login:<20}")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@@ -9773,7 +9773,7 @@ class ConsoleCommands:
|
|||||||
print(f"金币: {player_data.get('money', 0)}")
|
print(f"金币: {player_data.get('money', 0)}")
|
||||||
print(f"体力: {player_data.get('体力值', 20)}")
|
print(f"体力: {player_data.get('体力值', 20)}")
|
||||||
print(f"注册时间: {player_data.get('注册时间', '未知')}")
|
print(f"注册时间: {player_data.get('注册时间', '未知')}")
|
||||||
print(f"最后登录: {player_data.get('last_login_time', '从未登录')}")
|
print(f"最后登录: {player_data.get('最后登录时间', '从未登录')}")
|
||||||
print(f"总在线时长: {player_data.get('total_login_time', '0时0分0秒')}")
|
print(f"总在线时长: {player_data.get('total_login_time', '0时0分0秒')}")
|
||||||
|
|
||||||
# 显示土地信息
|
# 显示土地信息
|
||||||
|
|||||||
Binary file not shown.
@@ -437,7 +437,7 @@ class TCPGameServer(TCPServer):
|
|||||||
# 更新最后登录时间
|
# 更新最后登录时间
|
||||||
import datetime
|
import datetime
|
||||||
current_time = datetime.datetime.now()
|
current_time = datetime.datetime.now()
|
||||||
player_data["last_login_time"] = current_time.strftime("%Y年%m月%d日%H时%M分%S秒")
|
player_data["最后登录时间"] = current_time.strftime("%Y年%m月%d日%H时%M分%S秒")
|
||||||
|
|
||||||
# 保存用户会话信息
|
# 保存用户会话信息
|
||||||
self.user_data[client_id] = {
|
self.user_data[client_id] = {
|
||||||
@@ -606,7 +606,7 @@ class TCPGameServer(TCPServer):
|
|||||||
import datetime
|
import datetime
|
||||||
current_time = datetime.datetime.now()
|
current_time = datetime.datetime.now()
|
||||||
time_str = current_time.strftime("%Y年%m月%d日%H时%M分%S秒")
|
time_str = current_time.strftime("%Y年%m月%d日%H时%M分%S秒")
|
||||||
player_data["last_login_time"] = time_str
|
player_data["最后登录时间"] = time_str
|
||||||
|
|
||||||
if "total_login_time" not in player_data:
|
if "total_login_time" not in player_data:
|
||||||
player_data["total_login_time"] = "0时0分0秒"
|
player_data["total_login_time"] = "0时0分0秒"
|
||||||
@@ -1157,7 +1157,7 @@ class TCPGameServer(TCPServer):
|
|||||||
current_session_time = f"{current_hours}时{current_minutes}分{current_seconds}秒"
|
current_session_time = f"{current_hours}时{current_minutes}分{current_seconds}秒"
|
||||||
|
|
||||||
# 获取最后登录时间和总游玩时间
|
# 获取最后登录时间和总游玩时间
|
||||||
last_login_time = player_data.get("last_login_time", "未知")
|
last_login_time = player_data.get("最后登录时间", "未知")
|
||||||
total_login_time = player_data.get("total_login_time", "0时0分0秒")
|
total_login_time = player_data.get("total_login_time", "0时0分0秒")
|
||||||
|
|
||||||
self.log('INFO', f"玩家 {username} 请求游玩时间统计", 'SERVER')
|
self.log('INFO', f"玩家 {username} 请求游玩时间统计", 'SERVER')
|
||||||
@@ -1165,7 +1165,7 @@ class TCPGameServer(TCPServer):
|
|||||||
return self.send_data(client_id, {
|
return self.send_data(client_id, {
|
||||||
"type": "play_time_response",
|
"type": "play_time_response",
|
||||||
"success": True,
|
"success": True,
|
||||||
"last_login_time": last_login_time,
|
"最后登录时间": last_login_time,
|
||||||
"total_login_time": total_login_time,
|
"total_login_time": total_login_time,
|
||||||
"current_session_time": current_session_time
|
"current_session_time": current_session_time
|
||||||
})
|
})
|
||||||
@@ -1282,7 +1282,7 @@ class TCPGameServer(TCPServer):
|
|||||||
"money": player_data.get("money", 0),
|
"money": player_data.get("money", 0),
|
||||||
"experience": player_data.get("experience", 0),
|
"experience": player_data.get("experience", 0),
|
||||||
"seed_count": seed_count,
|
"seed_count": seed_count,
|
||||||
"last_login_time": player_data.get("last_login_time", "未知"),
|
"最后登录时间": player_data.get("最后登录时间", "未知"),
|
||||||
"total_login_time": player_data.get("total_login_time", "0时0分0秒")
|
"total_login_time": player_data.get("total_login_time", "0时0分0秒")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1471,7 +1471,7 @@ class TCPGameServer(TCPServer):
|
|||||||
"experience": target_player_data.get("experience", 0),
|
"experience": target_player_data.get("experience", 0),
|
||||||
"farm_lots": target_player_data.get("farm_lots", []),
|
"farm_lots": target_player_data.get("farm_lots", []),
|
||||||
"player_bag": target_player_data.get("player_bag", []),
|
"player_bag": target_player_data.get("player_bag", []),
|
||||||
"last_login_time": target_player_data.get("last_login_time", "未知"),
|
"最后登录时间": target_player_data.get("最后登录时间", "未知"),
|
||||||
"total_login_time": target_player_data.get("total_login_time", "0时0分0秒")
|
"total_login_time": target_player_data.get("total_login_time", "0时0分0秒")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
"player_name": "玩家名称",
|
"player_name": "玩家名称",
|
||||||
"user_name": "用户名",
|
"user_name": "用户名",
|
||||||
"user_password": "密码",
|
"user_password": "密码",
|
||||||
"last_login_time": "2025年07月20日17时19分16秒",
|
"最后登录时间": "2025年07月20日17时19分16秒",
|
||||||
"total_login_time": "0时0分0秒",
|
"total_login_time": "0时0分0秒",
|
||||||
"farm_lots": [],
|
"farm_lots": [],
|
||||||
"player_bag": [],
|
"player_bag": [],
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
"player_name": "柚大青",
|
"player_name": "柚大青",
|
||||||
"user_name": "2143323382",
|
"user_name": "2143323382",
|
||||||
"user_password": "tyh@19900420",
|
"user_password": "tyh@19900420",
|
||||||
"last_login_time": "2025年07月20日22时15分13秒",
|
"最后登录时间": "2025年07月20日22时15分13秒",
|
||||||
"total_login_time": "6时47分9秒",
|
"total_login_time": "6时47分9秒",
|
||||||
"farm_lots": [
|
"farm_lots": [
|
||||||
{
|
{
|
||||||
@@ -132,35 +132,27 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"crop_type": "杂交树1",
|
"crop_type": "杂交树1",
|
||||||
"grow_time": 21042,
|
"grow_time": 21642,
|
||||||
"is_dead": false,
|
"is_dead": false,
|
||||||
"is_diged": true,
|
"is_diged": true,
|
||||||
"is_planted": true,
|
"is_planted": true,
|
||||||
"max_grow_time": 21600,
|
"max_grow_time": 21600,
|
||||||
"已浇水": false,
|
"已浇水": false,
|
||||||
"已施肥": true,
|
"已施肥": false,
|
||||||
"土地等级": 3,
|
"土地等级": 3,
|
||||||
"施肥时间": 1753019866.8176558,
|
|
||||||
"施肥类型": "农家肥",
|
|
||||||
"施肥倍数": 2.0,
|
|
||||||
"施肥持续时间": 1800,
|
|
||||||
"浇水时间": 1753019871.817958
|
"浇水时间": 1753019871.817958
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"crop_type": "杂交树2",
|
"crop_type": "杂交树2",
|
||||||
"grow_time": 21636,
|
"grow_time": 22356,
|
||||||
"is_dead": false,
|
"is_dead": false,
|
||||||
"is_diged": true,
|
"is_diged": true,
|
||||||
"is_planted": true,
|
"is_planted": true,
|
||||||
"max_grow_time": 25200,
|
"max_grow_time": 25200,
|
||||||
"已浇水": false,
|
"已浇水": false,
|
||||||
"已施肥": true,
|
"已施肥": false,
|
||||||
"土地等级": 3,
|
"土地等级": 3,
|
||||||
"浇水时间": 1753019874.5774846,
|
"浇水时间": 1753019874.5774846
|
||||||
"施肥时间": 1753019862.2419734,
|
|
||||||
"施肥类型": "农家肥",
|
|
||||||
"施肥倍数": 2.0,
|
|
||||||
"施肥持续时间": 1800
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"crop_type": "",
|
"crop_type": "",
|
||||||
|
|||||||
@@ -6,10 +6,10 @@
|
|||||||
"player_name": "123",
|
"player_name": "123",
|
||||||
"user_name": "2804775686",
|
"user_name": "2804775686",
|
||||||
"user_password": "123",
|
"user_password": "123",
|
||||||
"last_login_time": "2025年07月21日07时55分08秒",
|
"最后登录时间": "2025年07月21日08时26分48秒",
|
||||||
"total_login_time": "0时4分18秒",
|
"total_login_time": "0时5分47秒",
|
||||||
"注册时间": "2025年07月20日23时08分10秒",
|
"注册时间": "2025年07月20日23时08分10秒",
|
||||||
"个人简介": "我要女朋友",
|
"个人简介": "啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊",
|
||||||
"farm_lots": [
|
"farm_lots": [
|
||||||
{
|
{
|
||||||
"crop_type": "",
|
"crop_type": "",
|
||||||
|
|||||||
@@ -578,7 +578,7 @@
|
|||||||
"player_name": "树萌芽",
|
"player_name": "树萌芽",
|
||||||
"level": 64,
|
"level": 64,
|
||||||
"money": 615197019864,
|
"money": 615197019864,
|
||||||
"last_login_time": "2025年07月19日21时52分29秒",
|
"最后登录时间": "2025年07月19日21时52分29秒",
|
||||||
"total_login_time": "162时47分40秒",
|
"total_login_time": "162时47分40秒",
|
||||||
"user_name": "3205788256",
|
"user_name": "3205788256",
|
||||||
"user_password": "tyh@19900420",
|
"user_password": "tyh@19900420",
|
||||||
|
|||||||
Reference in New Issue
Block a user