进一步完善服务器功能,添加远程命令系统,踢人系统
This commit is contained in:
90
Server/test/ConsoleCommandsAPI_README.md
Normal file
90
Server/test/ConsoleCommandsAPI_README.md
Normal file
@@ -0,0 +1,90 @@
|
||||
# 控制台命令API模块 (ConsoleCommandsAPI)
|
||||
|
||||
## 功能特性
|
||||
|
||||
### 基础游戏管理命令
|
||||
- `/addmoney <QQ号> <数量>` - 为玩家添加金币
|
||||
- `/addxp <QQ号> <数量>` - 为玩家添加经验值
|
||||
- `/addlevel <QQ号> <数量>` - 为玩家添加等级
|
||||
- `/addseed <QQ号> <作物名称> <数量>` - 为玩家添加种子
|
||||
- `/lsplayer` - 列出所有在线玩家
|
||||
- `/playerinfo <QQ号>` - 查看玩家详细信息
|
||||
- `/resetland <QQ号>` - 重置玩家土地
|
||||
- `/weather <天气类型>` - 设置天气
|
||||
|
||||
### 系统管理命令
|
||||
- `/help` - 显示帮助信息
|
||||
- `/save` - 保存所有玩家数据
|
||||
- `/reload` - 重新加载配置文件
|
||||
- `/stop` - 停止服务器
|
||||
|
||||
### MongoDB数据库管理命令
|
||||
- `/dbtest` - 测试数据库连接
|
||||
- `/dbconfig <操作> [参数]` - 数据库配置管理
|
||||
- `list` - 列出所有配置类型
|
||||
- `get <配置类型>` - 获取指定配置
|
||||
- `reload <配置类型>` - 重新加载指定配置到服务器
|
||||
- `/dbchat <操作> [参数]` - 聊天消息管理
|
||||
- `latest` - 获取最新聊天消息
|
||||
- `history [天数] [数量]` - 获取聊天历史
|
||||
- `clean [保留天数]` - 清理旧聊天消息
|
||||
- `/dbclean <类型>` - 数据库清理
|
||||
- `codes` - 清理过期验证码
|
||||
- `chat [保留天数]` - 清理旧聊天消息
|
||||
- `all` - 清理所有过期数据
|
||||
- `/dbbackup [类型]` - 数据库备份
|
||||
- `config` - 备份游戏配置
|
||||
- `chat` - 备份聊天消息
|
||||
|
||||
## 使用方法
|
||||
|
||||
### 1. 导入模块
|
||||
```python
|
||||
from ConsoleCommandsAPI import ConsoleCommandsAPI
|
||||
```
|
||||
|
||||
### 2. 初始化
|
||||
```python
|
||||
# 在服务器初始化时创建控制台命令实例
|
||||
console = ConsoleCommandsAPI(server)
|
||||
```
|
||||
|
||||
### 3. 处理命令
|
||||
```python
|
||||
# 在控制台输入处理函数中
|
||||
command_line = input("服务器控制台> ")
|
||||
console.process_command(command_line)
|
||||
```
|
||||
|
||||
## 扩展功能
|
||||
|
||||
### 添加自定义命令
|
||||
```python
|
||||
# 添加新命令
|
||||
console.add_custom_command("mycommand", my_command_function, "我的自定义命令")
|
||||
|
||||
# 移除命令
|
||||
console.remove_command("mycommand")
|
||||
|
||||
# 获取命令信息
|
||||
info = console.get_command_info("addmoney")
|
||||
|
||||
# 批量执行命令
|
||||
commands = ["addmoney 123456 1000", "addxp 123456 500"]
|
||||
console.execute_batch_commands(commands)
|
||||
```
|
||||
|
||||
## 依赖项
|
||||
|
||||
- `SMYMongoDBAPI` - MongoDB数据库操作模块
|
||||
- `json` - JSON数据处理
|
||||
- `os` - 操作系统接口
|
||||
- `datetime` - 日期时间处理
|
||||
- `typing` - 类型提示
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. **MongoDB集成**: 数据库相关命令需要服务器启用MongoDB支持
|
||||
2. **权限管理**: 所有命令都具有管理员权限,请谨慎使用
|
||||
3. **数据备份**: 建议定期使用 `/dbbackup` 命令备份重要数据
|
||||
4. **错误处理**: 所有命令都包含完善的错误处理和用户友好的提示信息
|
||||
120
Server/test/console_demo.py
Normal file
120
Server/test/console_demo.py
Normal file
@@ -0,0 +1,120 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
萌芽农场服务器控制台命令演示
|
||||
展示各种控制台命令的使用方法和效果
|
||||
"""
|
||||
|
||||
def show_console_demo():
|
||||
"""展示控制台命令使用示例"""
|
||||
print("🌱 萌芽农场服务器控制台命令演示")
|
||||
print("=" * 60)
|
||||
|
||||
print("\n📋 可用命令列表:")
|
||||
commands = [
|
||||
("help", "显示帮助信息"),
|
||||
("lsplayer", "列出所有已注册玩家"),
|
||||
("playerinfo <QQ号>", "查看玩家详细信息"),
|
||||
("addmoney <QQ号> <数量>", "为玩家添加金币"),
|
||||
("addxp <QQ号> <数量>", "为玩家添加经验"),
|
||||
("addlevel <QQ号> <数量>", "为玩家添加等级"),
|
||||
("addseed <QQ号> <作物> <数量>", "为玩家添加种子"),
|
||||
("resetland <QQ号>", "重置玩家土地状态"),
|
||||
("save", "立即保存所有数据"),
|
||||
("reload", "重新加载配置"),
|
||||
("stop", "停止服务器")
|
||||
]
|
||||
|
||||
for cmd, desc in commands:
|
||||
print(f" {cmd:<30} - {desc}")
|
||||
|
||||
print("\n" + "=" * 60)
|
||||
print("🎯 使用示例:")
|
||||
|
||||
examples = [
|
||||
{
|
||||
"title": "查看玩家信息",
|
||||
"commands": [
|
||||
"lsplayer",
|
||||
"playerinfo 2143323382"
|
||||
],
|
||||
"description": "首先列出所有玩家,然后查看特定玩家的详细信息"
|
||||
},
|
||||
{
|
||||
"title": "发放新手福利",
|
||||
"commands": [
|
||||
"addmoney 2143323382 5000",
|
||||
"addxp 2143323382 1000",
|
||||
"addseed 2143323382 番茄 50",
|
||||
"addseed 2143323382 胡萝卜 30"
|
||||
],
|
||||
"description": "为新玩家发放启动资金、经验和种子"
|
||||
},
|
||||
{
|
||||
"title": "活动奖励发放",
|
||||
"commands": [
|
||||
"addlevel 2143323382 3",
|
||||
"addmoney 2143323382 10000",
|
||||
"addseed 2143323382 龙果 5"
|
||||
],
|
||||
"description": "为参与活动的玩家发放等级、金币和稀有种子奖励"
|
||||
},
|
||||
{
|
||||
"title": "问题处理",
|
||||
"commands": [
|
||||
"playerinfo 2143323382",
|
||||
"resetland 2143323382",
|
||||
"save"
|
||||
],
|
||||
"description": "查看玩家状态,重置有问题的土地,保存数据"
|
||||
}
|
||||
]
|
||||
|
||||
for i, example in enumerate(examples, 1):
|
||||
print(f"\n{i}. {example['title']}")
|
||||
print(f" 说明: {example['description']}")
|
||||
print(" 命令序列:")
|
||||
for cmd in example['commands']:
|
||||
print(f" > {cmd}")
|
||||
|
||||
print("\n" + "=" * 60)
|
||||
print("⚠️ 注意事项:")
|
||||
notices = [
|
||||
"命令前的斜杠(/)是可选的,'addmoney' 和 '/addmoney' 效果相同",
|
||||
"QQ号必须是已注册的玩家账号",
|
||||
"数量参数必须是正整数",
|
||||
"作物名称必须在游戏配置中存在",
|
||||
"resetland 命令会清除玩家所有农场进度,请谨慎使用",
|
||||
"对在线玩家的修改会立即生效并推送到客户端",
|
||||
"所有修改都会自动保存到磁盘"
|
||||
]
|
||||
|
||||
for notice in notices:
|
||||
print(f" • {notice}")
|
||||
|
||||
print("\n" + "=" * 60)
|
||||
print("🔧 常见作物名称参考:")
|
||||
crops = [
|
||||
"基础作物: 小麦、胡萝卜、土豆、稻谷、玉米、番茄",
|
||||
"花卉类: 玫瑰花、向日葵、郁金香、百合花、康乃馨",
|
||||
"水果类: 草莓、蓝莓、苹果、香蕉、橘子、葡萄、西瓜",
|
||||
"高级作物: 人参、藏红花、松露、龙果、冬虫夏草",
|
||||
"特殊作物: 摇钱树、糖果树、月光草、凤凰木"
|
||||
]
|
||||
|
||||
for crop_group in crops:
|
||||
print(f" • {crop_group}")
|
||||
|
||||
print("\n" + "=" * 60)
|
||||
print("🚀 快速开始:")
|
||||
print("1. 启动服务器: python TCPGameServer.py")
|
||||
print("2. 等待看到控制台提示符: >")
|
||||
print("3. 输入命令,例如: help")
|
||||
print("4. 查看命令执行结果")
|
||||
print("5. 继续输入其他命令进行管理")
|
||||
|
||||
print("\n💡 提示: 输入 'help' 可以随时查看完整的命令帮助信息")
|
||||
print("=" * 60)
|
||||
|
||||
if __name__ == "__main__":
|
||||
show_console_demo()
|
||||
2578
Server/test/gameconfig/mengyafarm.gameconfig.json
Normal file
2578
Server/test/gameconfig/mengyafarm.gameconfig.json
Normal file
File diff suppressed because it is too large
Load Diff
22
Server/test/gameconfig/游戏小提示配置.jsonc
Normal file
22
Server/test/gameconfig/游戏小提示配置.jsonc
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"切换模式":"顺序",//可选,顺序,随机,倒序
|
||||
"切换速度":5,
|
||||
"游戏小提示":
|
||||
[
|
||||
"按住wsad可以移动游戏画面",
|
||||
"使用鼠标滚轮来缩放游戏画面",
|
||||
"移动端双指缩放游戏画面",
|
||||
"不要一上来就花光你的初始资金",
|
||||
"钱币是目前游戏唯一货币",
|
||||
"每隔一小时体力值+1",
|
||||
"不要忘记领取你的新手礼包!",
|
||||
"记得使用一键截图来分享你的农场",
|
||||
"新注册用户可享受三天10倍速作物生长",
|
||||
"偷别人菜时不要忘了给别人浇水哦",
|
||||
"你能分得清小麦和稻谷吗",
|
||||
"凌晨刷新体力值",
|
||||
"面板左上角有刷新按钮,可以刷新面板",
|
||||
"小心偷菜被巡逻宠物发现",
|
||||
"访问特殊农场来获得一些特殊的作物"
|
||||
]
|
||||
}
|
||||
84
Server/test/import_game_tips_config.py
Normal file
84
Server/test/import_game_tips_config.py
Normal file
@@ -0,0 +1,84 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
游戏小提示配置数据导入脚本
|
||||
将游戏小提示配置数据导入到MongoDB数据库中
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
|
||||
# 添加当前目录到Python路径
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
from SMYMongoDBAPI import SMYMongoDBAPI
|
||||
|
||||
def import_game_tips_config():
|
||||
"""导入游戏小提示配置数据到MongoDB"""
|
||||
|
||||
# 游戏小提示配置数据
|
||||
game_tips_config = {
|
||||
"切换模式": "顺序", # 可选:顺序,随机,倒序
|
||||
"切换速度": 5,
|
||||
"游戏小提示": [
|
||||
"按住wsad可以移动游戏画面",
|
||||
"使用鼠标滚轮来缩放游戏画面",
|
||||
"移动端双指缩放游戏画面",
|
||||
"不要一上来就花光你的初始资金",
|
||||
"钱币是目前游戏唯一货币",
|
||||
"每隔一小时体力值+1",
|
||||
"不要忘记领取你的新手礼包!",
|
||||
"记得使用一键截图来分享你的农场",
|
||||
"新注册用户可享受三天10倍速作物生长",
|
||||
"偷别人菜时不要忘了给别人浇水哦",
|
||||
"你能分得清小麦和稻谷吗",
|
||||
"凌晨刷新体力值",
|
||||
"面板左上角有刷新按钮,可以刷新面板",
|
||||
"小心偷菜被巡逻宠物发现",
|
||||
"访问特殊农场来获得一些特殊的作物"
|
||||
]
|
||||
}
|
||||
|
||||
try:
|
||||
# 创建MongoDB API实例
|
||||
mongo_api = SMYMongoDBAPI()
|
||||
|
||||
# 连接到数据库
|
||||
if not mongo_api.connect():
|
||||
print("错误:无法连接到MongoDB数据库")
|
||||
return False
|
||||
|
||||
print("成功连接到MongoDB数据库")
|
||||
|
||||
# 更新游戏小提示配置
|
||||
result = mongo_api.update_game_tips_config(game_tips_config)
|
||||
|
||||
if result:
|
||||
print("成功导入游戏小提示配置数据到MongoDB")
|
||||
print(f"配置内容:")
|
||||
print(f" 切换模式: {game_tips_config['切换模式']}")
|
||||
print(f" 切换速度: {game_tips_config['切换速度']}")
|
||||
print(f" 游戏小提示数量: {len(game_tips_config['游戏小提示'])}")
|
||||
return True
|
||||
else:
|
||||
print("错误:导入游戏小提示配置数据失败")
|
||||
return False
|
||||
|
||||
except Exception as e:
|
||||
print(f"导入过程中发生错误: {str(e)}")
|
||||
return False
|
||||
finally:
|
||||
# 断开数据库连接
|
||||
if 'mongo_api' in locals():
|
||||
mongo_api.disconnect()
|
||||
print("已断开MongoDB数据库连接")
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("开始导入游戏小提示配置数据...")
|
||||
success = import_game_tips_config()
|
||||
|
||||
if success:
|
||||
print("\n导入完成!")
|
||||
else:
|
||||
print("\n导入失败!")
|
||||
sys.exit(1)
|
||||
132
Server/test/item_config_debug.json
Normal file
132
Server/test/item_config_debug.json
Normal file
@@ -0,0 +1,132 @@
|
||||
{
|
||||
"type": "item_config_response",
|
||||
"success": true,
|
||||
"item_config": {
|
||||
"精准采集-镰刀": {
|
||||
"花费": 100,
|
||||
"描述": "可以在收获作物时必定掉落该作物的种子",
|
||||
"类型": "作物道具",
|
||||
"道具图片": "res://assets/道具图片/紫水晶镰刀.webp"
|
||||
},
|
||||
"时运-镰刀": {
|
||||
"花费": 100,
|
||||
"描述": "可以在收获作物时掉落更多的作物的收获物",
|
||||
"类型": "作物道具",
|
||||
"道具图片": "res://assets/道具图片/红宝石镰刀.webp"
|
||||
},
|
||||
"农家肥": {
|
||||
"花费": 100,
|
||||
"描述": "(施肥道具)可以在30分钟内2倍速作物生长",
|
||||
"类型": "作物道具",
|
||||
"道具图片": "res://assets/道具图片/农家肥.webp"
|
||||
},
|
||||
"金坷垃": {
|
||||
"花费": 100,
|
||||
"描述": "(施肥道具)可以在5分钟内5倍速作物的生长",
|
||||
"类型": "作物道具",
|
||||
"道具图片": "res://assets/道具图片/金坷垃2.webp"
|
||||
},
|
||||
"水壶": {
|
||||
"花费": 100,
|
||||
"描述": "(浇水道具)直接让作物生长进度+1%",
|
||||
"类型": "作物道具",
|
||||
"道具图片": "res://assets/道具图片/铁质洒水壶.webp"
|
||||
},
|
||||
"水桶": {
|
||||
"花费": 100,
|
||||
"描述": "(浇水道具)让作物生长进度+2%",
|
||||
"类型": "作物道具",
|
||||
"道具图片": "res://assets/道具图片/木质水桶2.webp"
|
||||
},
|
||||
"杀虫剂": {
|
||||
"花费": 100,
|
||||
"描述": "杀虫,暂时没什么用",
|
||||
"类型": "作物道具",
|
||||
"道具图片": "res://assets/道具图片/杀虫剂.webp"
|
||||
},
|
||||
"除草剂": {
|
||||
"花费": 100,
|
||||
"描述": "除草",
|
||||
"类型": "作物道具",
|
||||
"道具图片": "res://assets/道具图片/除草剂.webp"
|
||||
},
|
||||
"生长素": {
|
||||
"花费": 100,
|
||||
"描述": "时运可以10分钟内3倍速作物生长,而且作物生长速度+3%",
|
||||
"类型": "作物道具",
|
||||
"道具图片": "res://assets/道具图片/生长素.webp"
|
||||
},
|
||||
"铲子": {
|
||||
"花费": 100,
|
||||
"描述": "铲除作物",
|
||||
"类型": "作物道具",
|
||||
"道具图片": "res://assets/道具图片/附魔铁铲.webp"
|
||||
},
|
||||
"不死图腾": {
|
||||
"花费": 100,
|
||||
"描述": "让宠物死亡复活一次",
|
||||
"类型": "宠物道具",
|
||||
"道具图片": "res://assets/道具图片/不死图腾.webp"
|
||||
},
|
||||
"荆棘护甲": {
|
||||
"花费": 100,
|
||||
"描述": "宠物收到伤害时反弹伤害给敌人",
|
||||
"类型": "宠物道具",
|
||||
"道具图片": "res://assets/道具图片/荆棘护甲.webp"
|
||||
},
|
||||
"狂暴药水": {
|
||||
"花费": 100,
|
||||
"描述": "宠物血量低于某个值,进入狂暴模式",
|
||||
"类型": "宠物道具",
|
||||
"道具图片": "res://assets/道具图片/狂暴药水.webp"
|
||||
},
|
||||
"援军令牌": {
|
||||
"花费": 100,
|
||||
"描述": "血量低于某个值,召唤一堆宠物仆从帮助你战斗",
|
||||
"类型": "宠物道具",
|
||||
"道具图片": "res://assets/道具图片/援军令牌.webp"
|
||||
},
|
||||
"金刚图腾": {
|
||||
"花费": 100,
|
||||
"描述": "更改宠物元素为金元素",
|
||||
"类型": "宠物道具",
|
||||
"道具图片": "res://assets/道具图片/金元素图腾.webp"
|
||||
},
|
||||
"灵木图腾": {
|
||||
"花费": 100,
|
||||
"描述": "更改宠物元素为木元素",
|
||||
"类型": "宠物道具",
|
||||
"道具图片": "res://assets/道具图片/木元素图腾.webp"
|
||||
},
|
||||
"潮汐图腾": {
|
||||
"花费": 100,
|
||||
"描述": "更改宠物元素为水元素",
|
||||
"类型": "宠物道具",
|
||||
"道具图片": "res://assets/道具图片/水元素图腾.webp"
|
||||
},
|
||||
"烈焰图腾": {
|
||||
"花费": 100,
|
||||
"描述": "更改宠物元素为火元素",
|
||||
"类型": "宠物道具",
|
||||
"道具图片": "res://assets/道具图片/火元素图腾.webp"
|
||||
},
|
||||
"敦岩图腾": {
|
||||
"花费": 100,
|
||||
"描述": "更改宠物元素为土元素",
|
||||
"类型": "宠物道具",
|
||||
"道具图片": "res://assets/道具图片/土元素图腾.webp"
|
||||
},
|
||||
"小额经验卡": {
|
||||
"花费": 100,
|
||||
"描述": "让玩家立即获得500经验值",
|
||||
"类型": "农场道具",
|
||||
"道具图片": "res://assets/道具图片/小额经验卡.webp"
|
||||
},
|
||||
"小额金币卡": {
|
||||
"花费": 100,
|
||||
"描述": "让玩家立即获得500金币",
|
||||
"类型": "农场道具",
|
||||
"道具图片": "res://assets/道具图片/小额金币卡.webp"
|
||||
}
|
||||
}
|
||||
}
|
||||
155
Server/test/monitor_special_farm.py
Normal file
155
Server/test/monitor_special_farm.py
Normal file
@@ -0,0 +1,155 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
特殊农场系统性能监控脚本
|
||||
用于监控特殊农场系统的资源使用情况
|
||||
"""
|
||||
|
||||
import psutil
|
||||
import time
|
||||
import threading
|
||||
from datetime import datetime
|
||||
|
||||
class SpecialFarmMonitor:
|
||||
def __init__(self):
|
||||
self.monitoring = False
|
||||
self.monitor_thread = None
|
||||
self.stats = {
|
||||
'cpu_usage': [],
|
||||
'memory_usage': [],
|
||||
'thread_count': [],
|
||||
'start_time': None
|
||||
}
|
||||
|
||||
def start_monitoring(self, duration=60):
|
||||
"""开始监控指定时间(秒)"""
|
||||
if self.monitoring:
|
||||
print("监控已在运行中")
|
||||
return
|
||||
|
||||
self.monitoring = True
|
||||
self.stats['start_time'] = datetime.now()
|
||||
|
||||
def monitor_loop():
|
||||
print(f"开始监控特殊农场系统性能 - {self.stats['start_time']}")
|
||||
print(f"监控时长: {duration} 秒")
|
||||
print("=" * 50)
|
||||
|
||||
start_time = time.time()
|
||||
while self.monitoring and (time.time() - start_time) < duration:
|
||||
try:
|
||||
# 获取当前进程信息
|
||||
process = psutil.Process()
|
||||
|
||||
# CPU使用率
|
||||
cpu_percent = process.cpu_percent()
|
||||
self.stats['cpu_usage'].append(cpu_percent)
|
||||
|
||||
# 内存使用情况
|
||||
memory_info = process.memory_info()
|
||||
memory_mb = memory_info.rss / 1024 / 1024
|
||||
self.stats['memory_usage'].append(memory_mb)
|
||||
|
||||
# 线程数量
|
||||
thread_count = process.num_threads()
|
||||
self.stats['thread_count'].append(thread_count)
|
||||
|
||||
# 实时显示
|
||||
elapsed = int(time.time() - start_time)
|
||||
print(f"\r[{elapsed:3d}s] CPU: {cpu_percent:5.1f}% | 内存: {memory_mb:6.1f}MB | 线程: {thread_count:2d}", end="", flush=True)
|
||||
|
||||
time.sleep(1)
|
||||
|
||||
except Exception as e:
|
||||
print(f"\n监控出错: {str(e)}")
|
||||
break
|
||||
|
||||
self.monitoring = False
|
||||
print("\n" + "=" * 50)
|
||||
self._print_summary()
|
||||
|
||||
self.monitor_thread = threading.Thread(target=monitor_loop, daemon=True)
|
||||
self.monitor_thread.start()
|
||||
|
||||
def stop_monitoring(self):
|
||||
"""停止监控"""
|
||||
self.monitoring = False
|
||||
if self.monitor_thread:
|
||||
self.monitor_thread.join(timeout=2)
|
||||
|
||||
def _print_summary(self):
|
||||
"""打印监控摘要"""
|
||||
if not self.stats['cpu_usage']:
|
||||
print("没有收集到监控数据")
|
||||
return
|
||||
|
||||
print("监控摘要:")
|
||||
print(f"监控时间: {self.stats['start_time']} - {datetime.now()}")
|
||||
print(f"数据点数: {len(self.stats['cpu_usage'])}")
|
||||
|
||||
# CPU统计
|
||||
cpu_avg = sum(self.stats['cpu_usage']) / len(self.stats['cpu_usage'])
|
||||
cpu_max = max(self.stats['cpu_usage'])
|
||||
print(f"CPU使用率 - 平均: {cpu_avg:.1f}%, 最高: {cpu_max:.1f}%")
|
||||
|
||||
# 内存统计
|
||||
mem_avg = sum(self.stats['memory_usage']) / len(self.stats['memory_usage'])
|
||||
mem_max = max(self.stats['memory_usage'])
|
||||
print(f"内存使用量 - 平均: {mem_avg:.1f}MB, 最高: {mem_max:.1f}MB")
|
||||
|
||||
# 线程统计
|
||||
thread_avg = sum(self.stats['thread_count']) / len(self.stats['thread_count'])
|
||||
thread_max = max(self.stats['thread_count'])
|
||||
print(f"线程数量 - 平均: {thread_avg:.1f}, 最高: {thread_max}")
|
||||
|
||||
# 性能评估
|
||||
print("\n性能评估:")
|
||||
if cpu_avg < 1.0:
|
||||
print("✓ CPU使用率很低,性能良好")
|
||||
elif cpu_avg < 5.0:
|
||||
print("✓ CPU使用率正常")
|
||||
else:
|
||||
print("⚠ CPU使用率较高,可能需要优化")
|
||||
|
||||
if mem_avg < 50:
|
||||
print("✓ 内存使用量很低")
|
||||
elif mem_avg < 100:
|
||||
print("✓ 内存使用量正常")
|
||||
else:
|
||||
print("⚠ 内存使用量较高")
|
||||
|
||||
if thread_max <= 10:
|
||||
print("✓ 线程数量合理")
|
||||
else:
|
||||
print("⚠ 线程数量较多,注意资源管理")
|
||||
|
||||
def main():
|
||||
"""主函数"""
|
||||
print("特殊农场系统性能监控工具")
|
||||
print("使用说明:")
|
||||
print("1. 启动游戏服务器")
|
||||
print("2. 运行此监控脚本")
|
||||
print("3. 观察特殊农场系统的资源使用情况")
|
||||
print()
|
||||
|
||||
monitor = SpecialFarmMonitor()
|
||||
|
||||
try:
|
||||
# 监控60秒
|
||||
monitor.start_monitoring(60)
|
||||
|
||||
# 等待监控完成
|
||||
while monitor.monitoring:
|
||||
time.sleep(1)
|
||||
|
||||
print("\n监控完成")
|
||||
|
||||
except KeyboardInterrupt:
|
||||
print("\n用户中断监控")
|
||||
monitor.stop_monitoring()
|
||||
except Exception as e:
|
||||
print(f"\n监控过程中出错: {str(e)}")
|
||||
monitor.stop_monitoring()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
0
Server/test/special_farm.log
Normal file
0
Server/test/special_farm.log
Normal file
147
Server/test/test_client_data.py
Normal file
147
Server/test/test_client_data.py
Normal file
@@ -0,0 +1,147 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
测试发送给客户端的数据结构
|
||||
模拟服务器发送给客户端的数据格式
|
||||
"""
|
||||
|
||||
import json
|
||||
from SMYMongoDBAPI import SMYMongoDBAPI
|
||||
|
||||
def test_client_data_format():
|
||||
"""测试发送给客户端的数据格式"""
|
||||
print("=== 测试客户端数据格式 ===")
|
||||
|
||||
try:
|
||||
# 初始化MongoDB API
|
||||
mongo_api = SMYMongoDBAPI("test")
|
||||
|
||||
if not mongo_api.is_connected():
|
||||
print("❌ MongoDB连接失败")
|
||||
return
|
||||
|
||||
print("✅ MongoDB连接成功")
|
||||
|
||||
# 模拟_load_crop_data方法
|
||||
print("\n=== 测试作物数据 ===")
|
||||
crop_data = mongo_api.get_crop_data_config()
|
||||
|
||||
if crop_data:
|
||||
# 模拟服务器发送的crop_data_message
|
||||
crop_data_message = {
|
||||
"type": "crop_data_response",
|
||||
"success": True,
|
||||
"crop_data": crop_data
|
||||
}
|
||||
|
||||
print(f"作物数据类型: {type(crop_data)}")
|
||||
print(f"作物数据键数量: {len(crop_data)}")
|
||||
|
||||
# 检查是否有config_type字段
|
||||
if 'config_type' in crop_data:
|
||||
print(f"⚠️ 作物数据包含config_type: {crop_data['config_type']}")
|
||||
else:
|
||||
print("✅ 作物数据不包含config_type字段")
|
||||
|
||||
# 检查前几个作物的数据结构
|
||||
crop_count = 0
|
||||
for crop_name, crop_info in crop_data.items():
|
||||
if crop_name not in ['_id', 'config_type'] and crop_count < 3:
|
||||
print(f"\n作物 {crop_name}:")
|
||||
print(f" 数据类型: {type(crop_info)}")
|
||||
|
||||
if isinstance(crop_info, dict):
|
||||
# 检查关键字段
|
||||
key_fields = ['能否购买', '品质', '等级', '作物名称']
|
||||
for key in key_fields:
|
||||
if key in crop_info:
|
||||
value = crop_info[key]
|
||||
print(f" {key}: {value} (类型: {type(value)})")
|
||||
|
||||
# 特别检查能否购买字段
|
||||
if key == '能否购买':
|
||||
if isinstance(value, str):
|
||||
print(f" ⚠️ '能否购买'字段是字符串,这会导致Godot报错!")
|
||||
elif isinstance(value, bool):
|
||||
print(f" ✅ '能否购买'字段是布尔值,正确")
|
||||
elif isinstance(crop_info, str):
|
||||
print(f" ⚠️ 整个作物数据是字符串: '{crop_info[:50]}...'")
|
||||
print(f" 这会导致Godot调用.get()方法时报错!")
|
||||
|
||||
crop_count += 1
|
||||
|
||||
# 保存作物数据到文件以便检查
|
||||
with open('crop_data_debug.json', 'w', encoding='utf-8') as f:
|
||||
json.dump(crop_data_message, f, ensure_ascii=False, indent=2, default=str)
|
||||
print(f"\n✅ 作物数据已保存到 crop_data_debug.json")
|
||||
|
||||
# 测试道具数据
|
||||
print("\n=== 测试道具数据 ===")
|
||||
item_config = mongo_api.get_item_config()
|
||||
|
||||
if item_config:
|
||||
# 模拟服务器发送的item_config_message
|
||||
item_config_message = {
|
||||
"type": "item_config_response",
|
||||
"success": True,
|
||||
"item_config": item_config
|
||||
}
|
||||
|
||||
print(f"道具数据类型: {type(item_config)}")
|
||||
|
||||
# 检查是否有config_type字段
|
||||
if 'config_type' in item_config:
|
||||
print(f"⚠️ 道具数据包含config_type: {item_config['config_type']}")
|
||||
else:
|
||||
print("✅ 道具数据不包含config_type字段")
|
||||
|
||||
# 保存道具数据到文件
|
||||
with open('item_config_debug.json', 'w', encoding='utf-8') as f:
|
||||
json.dump(item_config_message, f, ensure_ascii=False, indent=2, default=str)
|
||||
print(f"✅ 道具数据已保存到 item_config_debug.json")
|
||||
|
||||
# 检查JSON序列化后的数据
|
||||
print("\n=== 测试JSON序列化 ===")
|
||||
if crop_data:
|
||||
try:
|
||||
# 模拟服务器发送数据时的JSON序列化过程
|
||||
json_str = json.dumps(crop_data_message, ensure_ascii=False, default=str)
|
||||
|
||||
# 模拟客户端接收数据时的JSON反序列化过程
|
||||
received_data = json.loads(json_str)
|
||||
|
||||
print("✅ JSON序列化/反序列化成功")
|
||||
|
||||
# 检查反序列化后的数据结构
|
||||
received_crop_data = received_data.get('crop_data', {})
|
||||
|
||||
# 检查第一个作物的数据
|
||||
for crop_name, crop_info in received_crop_data.items():
|
||||
if crop_name not in ['_id', 'config_type']:
|
||||
print(f"\n反序列化后的作物 {crop_name}:")
|
||||
print(f" 数据类型: {type(crop_info)}")
|
||||
|
||||
if isinstance(crop_info, dict):
|
||||
if '能否购买' in crop_info:
|
||||
value = crop_info['能否购买']
|
||||
print(f" 能否购买: {value} (类型: {type(value)})")
|
||||
elif isinstance(crop_info, str):
|
||||
print(f" ⚠️ 反序列化后变成字符串: '{crop_info[:50]}...'")
|
||||
|
||||
break
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ JSON序列化/反序列化失败: {e}")
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ 测试过程中出错: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
|
||||
finally:
|
||||
if 'mongo_api' in locals():
|
||||
mongo_api.disconnect()
|
||||
print("\n✅ 数据库连接已关闭")
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_client_data_format()
|
||||
208
Server/test/test_complete_game_tips_system.py
Normal file
208
Server/test/test_complete_game_tips_system.py
Normal file
@@ -0,0 +1,208 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
完整的游戏小提示配置系统测试
|
||||
测试从数据库导入到服务端处理的完整流程
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
import socket
|
||||
import json
|
||||
import time
|
||||
import threading
|
||||
|
||||
# 添加当前目录到Python路径
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
from SMYMongoDBAPI import SMYMongoDBAPI
|
||||
from TCPGameServer import TCPGameServer
|
||||
|
||||
def test_database_operations():
|
||||
"""测试数据库操作"""
|
||||
print("=== 测试数据库操作 ===\n")
|
||||
|
||||
try:
|
||||
mongo_api = SMYMongoDBAPI()
|
||||
if not mongo_api.connect():
|
||||
print("❌ 无法连接到MongoDB数据库")
|
||||
return False
|
||||
|
||||
print("✓ 成功连接到MongoDB数据库")
|
||||
|
||||
# 测试获取配置
|
||||
config = mongo_api.get_game_tips_config()
|
||||
if config:
|
||||
print("✓ 成功获取游戏小提示配置")
|
||||
print(f" 切换模式: {config.get('切换模式', 'N/A')}")
|
||||
print(f" 切换速度: {config.get('切换速度', 'N/A')}")
|
||||
print(f" 小提示数量: {len(config.get('游戏小提示', []))}")
|
||||
return True
|
||||
else:
|
||||
print("❌ 无法获取游戏小提示配置")
|
||||
return False
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ 数据库测试失败: {str(e)}")
|
||||
return False
|
||||
finally:
|
||||
if 'mongo_api' in locals():
|
||||
mongo_api.disconnect()
|
||||
|
||||
def test_server_loading():
|
||||
"""测试服务器加载配置"""
|
||||
print("\n=== 测试服务器加载配置 ===\n")
|
||||
|
||||
try:
|
||||
server = TCPGameServer()
|
||||
server.mongo_api = SMYMongoDBAPI()
|
||||
|
||||
if not server.mongo_api.connect():
|
||||
print("❌ 服务器无法连接到MongoDB")
|
||||
return False
|
||||
|
||||
print("✓ 服务器成功连接到MongoDB")
|
||||
|
||||
# 测试服务器加载配置
|
||||
config = server._load_game_tips_config()
|
||||
if config:
|
||||
print("✓ 服务器成功加载游戏小提示配置")
|
||||
print(f" 切换模式: {config.get('切换模式', 'N/A')}")
|
||||
print(f" 切换速度: {config.get('切换速度', 'N/A')}")
|
||||
print(f" 小提示数量: {len(config.get('游戏小提示', []))}")
|
||||
return True
|
||||
else:
|
||||
print("❌ 服务器无法加载游戏小提示配置")
|
||||
return False
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ 服务器测试失败: {str(e)}")
|
||||
return False
|
||||
finally:
|
||||
if 'server' in locals() and hasattr(server, 'mongo_api') and server.mongo_api:
|
||||
server.mongo_api.disconnect()
|
||||
|
||||
def test_client_server_communication():
|
||||
"""测试客户端-服务端通信"""
|
||||
print("\n=== 测试客户端-服务端通信 ===\n")
|
||||
|
||||
# 启动服务器(在后台线程中)
|
||||
server = None
|
||||
server_thread = None
|
||||
|
||||
try:
|
||||
print("启动测试服务器...")
|
||||
server = TCPGameServer()
|
||||
|
||||
# 在后台线程中启动服务器
|
||||
def run_server():
|
||||
try:
|
||||
server.start_server()
|
||||
except Exception as e:
|
||||
print(f"服务器启动失败: {e}")
|
||||
|
||||
server_thread = threading.Thread(target=run_server, daemon=True)
|
||||
server_thread.start()
|
||||
|
||||
# 等待服务器启动
|
||||
time.sleep(2)
|
||||
|
||||
# 创建客户端连接
|
||||
print("创建客户端连接...")
|
||||
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
client_socket.settimeout(5)
|
||||
|
||||
try:
|
||||
client_socket.connect(('localhost', 12345))
|
||||
print("✓ 客户端成功连接到服务器")
|
||||
|
||||
# 发送游戏小提示配置请求
|
||||
request = {
|
||||
"type": "request_game_tips_config"
|
||||
}
|
||||
|
||||
message = json.dumps(request, ensure_ascii=False)
|
||||
client_socket.send(message.encode('utf-8'))
|
||||
print("✓ 已发送游戏小提示配置请求")
|
||||
|
||||
# 接收响应
|
||||
response_data = client_socket.recv(4096)
|
||||
if response_data:
|
||||
response = json.loads(response_data.decode('utf-8'))
|
||||
print("✓ 收到服务器响应")
|
||||
|
||||
if response.get("type") == "game_tips_config_response":
|
||||
success = response.get("success", False)
|
||||
if success:
|
||||
config = response.get("game_tips_config", {})
|
||||
print("✓ 成功获取游戏小提示配置")
|
||||
print(f" 切换模式: {config.get('切换模式', 'N/A')}")
|
||||
print(f" 切换速度: {config.get('切换速度', 'N/A')}")
|
||||
print(f" 小提示数量: {len(config.get('游戏小提示', []))}")
|
||||
return True
|
||||
else:
|
||||
message = response.get("message", "未知错误")
|
||||
print(f"❌ 服务器返回失败: {message}")
|
||||
return False
|
||||
else:
|
||||
print(f"❌ 收到意外的响应类型: {response.get('type')}")
|
||||
return False
|
||||
else:
|
||||
print("❌ 未收到服务器响应")
|
||||
return False
|
||||
|
||||
except socket.timeout:
|
||||
print("❌ 客户端连接超时")
|
||||
return False
|
||||
except ConnectionRefusedError:
|
||||
print("❌ 无法连接到服务器")
|
||||
return False
|
||||
finally:
|
||||
client_socket.close()
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ 通信测试失败: {str(e)}")
|
||||
return False
|
||||
finally:
|
||||
# 停止服务器
|
||||
if server:
|
||||
try:
|
||||
server.stop_server()
|
||||
except:
|
||||
pass
|
||||
|
||||
def main():
|
||||
"""主测试函数"""
|
||||
print("开始完整的游戏小提示配置系统测试...\n")
|
||||
|
||||
# 执行各项测试
|
||||
db_success = test_database_operations()
|
||||
server_success = test_server_loading()
|
||||
comm_success = test_client_server_communication()
|
||||
|
||||
# 输出测试结果
|
||||
print("\n" + "="*50)
|
||||
print("测试结果汇总")
|
||||
print("="*50)
|
||||
print(f"数据库操作测试: {'✓ 通过' if db_success else '❌ 失败'}")
|
||||
print(f"服务器加载测试: {'✓ 通过' if server_success else '❌ 失败'}")
|
||||
print(f"客户端通信测试: {'✓ 通过' if comm_success else '❌ 失败'}")
|
||||
|
||||
if db_success and server_success and comm_success:
|
||||
print("\n🎉 所有测试通过!游戏小提示配置系统完全正常工作。")
|
||||
print("\n系统功能说明:")
|
||||
print("1. ✓ 配置数据已成功导入MongoDB数据库")
|
||||
print("2. ✓ 服务端能正确加载和处理配置数据")
|
||||
print("3. ✓ 客户端能成功请求并接收配置数据")
|
||||
print("4. ✓ 支持顺序、倒序、随机三种切换模式")
|
||||
print("5. ✓ 支持自定义切换速度")
|
||||
print("\n现在客户端可以从服务端获取游戏小提示配置,")
|
||||
print("并根据配置的切换模式和速度显示小提示。")
|
||||
return True
|
||||
else:
|
||||
print("\n❌ 部分测试失败,请检查系统配置。")
|
||||
return False
|
||||
|
||||
if __name__ == "__main__":
|
||||
success = main()
|
||||
sys.exit(0 if success else 1)
|
||||
138
Server/test/test_database_documents.py
Normal file
138
Server/test/test_database_documents.py
Normal file
@@ -0,0 +1,138 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
数据库文档结构测试脚本
|
||||
用于检查MongoDB中gameconfig集合的文档结构
|
||||
"""
|
||||
|
||||
import json
|
||||
from SMYMongoDBAPI import SMYMongoDBAPI
|
||||
|
||||
def test_database_documents():
|
||||
"""测试数据库文档结构"""
|
||||
print("=== 数据库文档结构测试 ===")
|
||||
|
||||
try:
|
||||
# 初始化MongoDB API
|
||||
mongo_api = SMYMongoDBAPI("test")
|
||||
|
||||
if not mongo_api.is_connected():
|
||||
print("❌ MongoDB连接失败")
|
||||
return
|
||||
|
||||
print("✅ MongoDB连接成功")
|
||||
|
||||
# 获取gameconfig集合
|
||||
collection = mongo_api.get_collection("gameconfig")
|
||||
|
||||
print("\n=== 检查gameconfig集合中的所有文档 ===")
|
||||
|
||||
# 查找所有文档
|
||||
documents = list(collection.find({}))
|
||||
|
||||
print(f"找到 {len(documents)} 个文档")
|
||||
|
||||
for i, doc in enumerate(documents):
|
||||
print(f"\n--- 文档 {i+1} ---")
|
||||
print(f"_id: {doc.get('_id')}")
|
||||
print(f"config_type: {doc.get('config_type', '未找到')}")
|
||||
|
||||
# 检查是否有config_type字段
|
||||
if 'config_type' in doc:
|
||||
print(f"⚠️ 发现config_type字段: {doc['config_type']}")
|
||||
else:
|
||||
print("✅ 没有config_type字段")
|
||||
|
||||
# 显示文档的所有键
|
||||
print(f"文档键: {list(doc.keys())}")
|
||||
|
||||
# 如果是作物配置,检查具体内容
|
||||
if doc.get('config_type') == '作物数据配置':
|
||||
print("\n=== 作物数据配置详细检查 ===")
|
||||
|
||||
# 检查作物数据结构
|
||||
for key, value in doc.items():
|
||||
if key not in ['_id', 'config_type']:
|
||||
print(f"作物 {key}: {type(value)}")
|
||||
|
||||
if isinstance(value, dict):
|
||||
# 检查作物的具体字段
|
||||
crop_keys = list(value.keys())
|
||||
print(f" 作物字段: {crop_keys}")
|
||||
|
||||
# 检查是否有字符串类型的字段被误认为是字典
|
||||
for crop_key, crop_value in value.items():
|
||||
if isinstance(crop_value, str) and crop_key in ['能否购买', '品质', '等级']:
|
||||
print(f" ⚠️ 字段 {crop_key} 是字符串类型: '{crop_value}'")
|
||||
elif isinstance(value, str):
|
||||
print(f" ⚠️ 整个作物数据是字符串: '{value[:100]}...'")
|
||||
|
||||
print("\n=== 测试API方法返回的数据 ===")
|
||||
|
||||
# 测试get_crop_data_config方法
|
||||
print("\n--- 测试get_crop_data_config ---")
|
||||
crop_data = mongo_api.get_crop_data_config()
|
||||
if crop_data:
|
||||
print(f"返回数据类型: {type(crop_data)}")
|
||||
print(f"返回数据键: {list(crop_data.keys()) if isinstance(crop_data, dict) else 'N/A'}")
|
||||
|
||||
# 检查是否还有config_type字段
|
||||
if 'config_type' in crop_data:
|
||||
print(f"⚠️ API返回的数据仍包含config_type: {crop_data['config_type']}")
|
||||
else:
|
||||
print("✅ API返回的数据不包含config_type字段")
|
||||
|
||||
# 检查第一个作物的数据结构
|
||||
for crop_name, crop_info in crop_data.items():
|
||||
if crop_name not in ['_id', 'config_type']:
|
||||
print(f"\n作物 {crop_name}:")
|
||||
print(f" 类型: {type(crop_info)}")
|
||||
|
||||
if isinstance(crop_info, dict):
|
||||
print(f" 字段: {list(crop_info.keys())}")
|
||||
|
||||
# 检查关键字段
|
||||
for key in ['能否购买', '品质', '等级']:
|
||||
if key in crop_info:
|
||||
value = crop_info[key]
|
||||
print(f" {key}: {value} (类型: {type(value)})")
|
||||
elif isinstance(crop_info, str):
|
||||
print(f" ⚠️ 作物数据是字符串: '{crop_info[:50]}...'")
|
||||
|
||||
break # 只检查第一个作物
|
||||
else:
|
||||
print("❌ get_crop_data_config返回空数据")
|
||||
|
||||
# 测试get_item_config方法
|
||||
print("\n--- 测试get_item_config ---")
|
||||
item_data = mongo_api.get_item_config()
|
||||
if item_data:
|
||||
print(f"道具配置数据类型: {type(item_data)}")
|
||||
if 'config_type' in item_data:
|
||||
print(f"⚠️ 道具配置仍包含config_type: {item_data['config_type']}")
|
||||
else:
|
||||
print("✅ 道具配置不包含config_type字段")
|
||||
|
||||
# 测试find_documents方法
|
||||
print("\n--- 测试find_documents方法 ---")
|
||||
all_configs = mongo_api.find_documents("gameconfig", {})
|
||||
if all_configs:
|
||||
print(f"find_documents返回 {len(all_configs)} 个文档")
|
||||
for doc in all_configs:
|
||||
if 'config_type' in doc:
|
||||
print(f"⚠️ find_documents返回的文档仍包含config_type: {doc['config_type']}")
|
||||
else:
|
||||
print(f"✅ 文档ID {doc.get('_id')} 不包含config_type字段")
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ 测试过程中出错: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
|
||||
finally:
|
||||
if 'mongo_api' in locals():
|
||||
mongo_api.disconnect()
|
||||
print("\n✅ 数据库连接已关闭")
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_database_documents()
|
||||
0
Server/test/test_flower_farm.py
Normal file
0
Server/test/test_flower_farm.py
Normal file
117
Server/test/test_game_tips_config.py
Normal file
117
Server/test/test_game_tips_config.py
Normal file
@@ -0,0 +1,117 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
测试游戏小提示配置功能
|
||||
验证服务端能否正确加载和返回游戏小提示配置数据
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
|
||||
# 添加当前目录到Python路径
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
from SMYMongoDBAPI import SMYMongoDBAPI
|
||||
from TCPGameServer import TCPGameServer
|
||||
|
||||
def test_mongo_api():
|
||||
"""测试MongoDB API的游戏小提示配置功能"""
|
||||
print("=== 测试MongoDB API ===\n")
|
||||
|
||||
try:
|
||||
# 创建MongoDB API实例
|
||||
mongo_api = SMYMongoDBAPI()
|
||||
|
||||
# 连接到数据库
|
||||
if not mongo_api.connect():
|
||||
print("错误:无法连接到MongoDB数据库")
|
||||
return False
|
||||
|
||||
print("成功连接到MongoDB数据库")
|
||||
|
||||
# 获取游戏小提示配置
|
||||
config = mongo_api.get_game_tips_config()
|
||||
|
||||
if config:
|
||||
print("成功获取游戏小提示配置:")
|
||||
print(f" 切换模式: {config.get('切换模式', 'N/A')}")
|
||||
print(f" 切换速度: {config.get('切换速度', 'N/A')}")
|
||||
tips = config.get('游戏小提示', [])
|
||||
print(f" 游戏小提示数量: {len(tips)}")
|
||||
print(" 前3条小提示:")
|
||||
for i, tip in enumerate(tips[:3]):
|
||||
print(f" {i+1}. {tip}")
|
||||
return True
|
||||
else:
|
||||
print("错误:无法获取游戏小提示配置")
|
||||
return False
|
||||
|
||||
except Exception as e:
|
||||
print(f"测试过程中发生错误: {str(e)}")
|
||||
return False
|
||||
finally:
|
||||
# 断开数据库连接
|
||||
if 'mongo_api' in locals():
|
||||
mongo_api.disconnect()
|
||||
print("已断开MongoDB数据库连接")
|
||||
|
||||
def test_game_server():
|
||||
"""测试游戏服务器的游戏小提示配置加载功能"""
|
||||
print("\n=== 测试游戏服务器 ===\n")
|
||||
|
||||
try:
|
||||
# 创建游戏服务器实例(不启动网络服务)
|
||||
server = TCPGameServer()
|
||||
|
||||
# 初始化MongoDB连接
|
||||
server.mongo_api = SMYMongoDBAPI()
|
||||
if not server.mongo_api.connect():
|
||||
print("错误:服务器无法连接到MongoDB数据库")
|
||||
return False
|
||||
|
||||
print("服务器成功连接到MongoDB数据库")
|
||||
|
||||
# 测试加载游戏小提示配置
|
||||
config = server._load_game_tips_config()
|
||||
|
||||
if config:
|
||||
print("服务器成功加载游戏小提示配置:")
|
||||
print(f" 切换模式: {config.get('切换模式', 'N/A')}")
|
||||
print(f" 切换速度: {config.get('切换速度', 'N/A')}")
|
||||
tips = config.get('游戏小提示', [])
|
||||
print(f" 游戏小提示数量: {len(tips)}")
|
||||
print(" 前3条小提示:")
|
||||
for i, tip in enumerate(tips[:3]):
|
||||
print(f" {i+1}. {tip}")
|
||||
return True
|
||||
else:
|
||||
print("错误:服务器无法加载游戏小提示配置")
|
||||
return False
|
||||
|
||||
except Exception as e:
|
||||
print(f"测试过程中发生错误: {str(e)}")
|
||||
return False
|
||||
finally:
|
||||
# 断开数据库连接
|
||||
if 'server' in locals() and hasattr(server, 'mongo_api') and server.mongo_api:
|
||||
server.mongo_api.disconnect()
|
||||
print("服务器已断开MongoDB数据库连接")
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("开始测试游戏小提示配置功能...\n")
|
||||
|
||||
# 测试MongoDB API
|
||||
mongo_success = test_mongo_api()
|
||||
|
||||
# 测试游戏服务器
|
||||
server_success = test_game_server()
|
||||
|
||||
print("\n=== 测试结果 ===\n")
|
||||
print(f"MongoDB API测试: {'✓ 通过' if mongo_success else '✗ 失败'}")
|
||||
print(f"游戏服务器测试: {'✓ 通过' if server_success else '✗ 失败'}")
|
||||
|
||||
if mongo_success and server_success:
|
||||
print("\n🎉 所有测试通过!游戏小提示配置功能正常工作。")
|
||||
else:
|
||||
print("\n❌ 部分测试失败,请检查配置。")
|
||||
sys.exit(1)
|
||||
242
Server/test/test_game_tips_integration.py
Normal file
242
Server/test/test_game_tips_integration.py
Normal file
@@ -0,0 +1,242 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
游戏小提示配置系统集成测试
|
||||
测试完整的配置流程:数据库 -> 服务端 -> 客户端请求 -> 配置应用
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
import time
|
||||
import threading
|
||||
import socket
|
||||
import json
|
||||
|
||||
# 添加当前目录到Python路径
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
from SMYMongoDBAPI import SMYMongoDBAPI
|
||||
from TCPGameServer import TCPGameServer
|
||||
|
||||
def test_database_config():
|
||||
"""测试数据库配置"""
|
||||
print("=== 测试数据库配置 ===")
|
||||
|
||||
try:
|
||||
# 连接数据库
|
||||
mongo_api = SMYMongoDBAPI(environment="test")
|
||||
|
||||
if not mongo_api.is_connected():
|
||||
print("❌ 数据库连接失败")
|
||||
return False
|
||||
|
||||
# 获取游戏小提示配置
|
||||
config = mongo_api.get_game_tips_config()
|
||||
|
||||
if config:
|
||||
print("✓ 成功获取游戏小提示配置:")
|
||||
print(f" 切换模式: {config.get('切换模式', '未设置')}")
|
||||
print(f" 切换速度: {config.get('切换速度', '未设置')}")
|
||||
print(f" 游戏小提示数量: {len(config.get('游戏小提示', []))}")
|
||||
|
||||
tips = config.get('游戏小提示', [])
|
||||
if tips:
|
||||
print(" 前3条小提示:")
|
||||
for i, tip in enumerate(tips[:3], 1):
|
||||
print(f" {i}. {tip}")
|
||||
|
||||
mongo_api.disconnect()
|
||||
return True
|
||||
else:
|
||||
print("❌ 未找到游戏小提示配置")
|
||||
mongo_api.disconnect()
|
||||
return False
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ 数据库测试失败: {e}")
|
||||
return False
|
||||
|
||||
def test_server_config_loading():
|
||||
"""测试服务端配置加载"""
|
||||
print("\n=== 测试服务端配置加载 ===")
|
||||
|
||||
try:
|
||||
# 初始化游戏服务器
|
||||
server = TCPGameServer(server_host="localhost", server_port=0)
|
||||
|
||||
if not server.mongo_api or not server.mongo_api.is_connected():
|
||||
print("❌ 服务器MongoDB连接失败")
|
||||
return False
|
||||
|
||||
print("✓ 服务器成功连接到MongoDB数据库")
|
||||
|
||||
# 测试配置加载
|
||||
config = server._load_game_tips_config()
|
||||
|
||||
if config:
|
||||
print("✓ 服务器成功加载游戏小提示配置:")
|
||||
print(f" 切换模式: {config.get('切换模式', '未设置')}")
|
||||
print(f" 切换速度: {config.get('切换速度', '未设置')}")
|
||||
print(f" 游戏小提示数量: {len(config.get('游戏小提示', []))}")
|
||||
|
||||
tips = config.get('游戏小提示', [])
|
||||
if tips:
|
||||
print(" 前3条小提示:")
|
||||
for i, tip in enumerate(tips[:3], 1):
|
||||
print(f" {i}. {tip}")
|
||||
|
||||
server.mongo_api.disconnect()
|
||||
print("✓ 服务器已断开MongoDB数据库连接")
|
||||
return True
|
||||
else:
|
||||
print("❌ 服务器加载游戏小提示配置失败")
|
||||
server.mongo_api.disconnect()
|
||||
return False
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ 服务端测试失败: {e}")
|
||||
return False
|
||||
|
||||
def test_client_server_communication():
|
||||
"""测试客户端-服务端通信"""
|
||||
print("\n=== 测试客户端-服务端通信 ===")
|
||||
|
||||
server = None
|
||||
client_socket = None
|
||||
|
||||
try:
|
||||
# 启动服务器(使用固定端口进行测试)
|
||||
test_port = 17070
|
||||
server = TCPGameServer(server_host="localhost", server_port=test_port)
|
||||
|
||||
if not server.mongo_api or not server.mongo_api.is_connected():
|
||||
print("❌ 服务器MongoDB连接失败")
|
||||
return False
|
||||
|
||||
# 在新线程中启动服务器
|
||||
server_thread = threading.Thread(target=server.start, daemon=True)
|
||||
server_thread.start()
|
||||
|
||||
# 等待服务器启动
|
||||
time.sleep(1)
|
||||
|
||||
# 获取服务器端口
|
||||
server_port = test_port
|
||||
print(f"✓ 服务器已启动,端口: {server_port}")
|
||||
|
||||
# 创建客户端连接
|
||||
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
client_socket.settimeout(5)
|
||||
client_socket.connect(("localhost", server_port))
|
||||
print("✓ 客户端已连接到服务器")
|
||||
|
||||
# 发送游戏小提示配置请求
|
||||
request = {
|
||||
"type": "request_game_tips_config"
|
||||
}
|
||||
|
||||
request_data = json.dumps(request).encode('utf-8')
|
||||
client_socket.send(len(request_data).to_bytes(4, byteorder='big'))
|
||||
client_socket.send(request_data)
|
||||
print("✓ 已发送游戏小提示配置请求")
|
||||
|
||||
# 接收响应
|
||||
response_length_bytes = client_socket.recv(4)
|
||||
if len(response_length_bytes) != 4:
|
||||
print("❌ 接收响应长度失败")
|
||||
return False
|
||||
|
||||
response_length = int.from_bytes(response_length_bytes, byteorder='big')
|
||||
response_data = b''
|
||||
|
||||
while len(response_data) < response_length:
|
||||
chunk = client_socket.recv(response_length - len(response_data))
|
||||
if not chunk:
|
||||
break
|
||||
response_data += chunk
|
||||
|
||||
if len(response_data) != response_length:
|
||||
print("❌ 接收响应数据不完整")
|
||||
return False
|
||||
|
||||
# 解析响应
|
||||
response = json.loads(response_data.decode('utf-8'))
|
||||
print("✓ 已接收服务器响应")
|
||||
|
||||
# 验证响应
|
||||
if response.get("type") == "game_tips_config_response":
|
||||
if response.get("success"):
|
||||
config = response.get("game_tips_config", {})
|
||||
print("✓ 成功接收游戏小提示配置:")
|
||||
print(f" 切换模式: {config.get('切换模式', '未设置')}")
|
||||
print(f" 切换速度: {config.get('切换速度', '未设置')}")
|
||||
print(f" 游戏小提示数量: {len(config.get('游戏小提示', []))}")
|
||||
|
||||
tips = config.get('游戏小提示', [])
|
||||
if tips:
|
||||
print(" 前3条小提示:")
|
||||
for i, tip in enumerate(tips[:3], 1):
|
||||
print(f" {i}. {tip}")
|
||||
|
||||
return True
|
||||
else:
|
||||
message = response.get("message", "未知错误")
|
||||
print(f"❌ 服务器返回失败: {message}")
|
||||
return False
|
||||
else:
|
||||
print(f"❌ 收到意外的响应类型: {response.get('type')}")
|
||||
return False
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ 客户端-服务端通信测试失败: {e}")
|
||||
return False
|
||||
|
||||
finally:
|
||||
# 清理资源
|
||||
if client_socket:
|
||||
try:
|
||||
client_socket.close()
|
||||
except:
|
||||
pass
|
||||
|
||||
if server and server.mongo_api:
|
||||
try:
|
||||
server.mongo_api.disconnect()
|
||||
except:
|
||||
pass
|
||||
|
||||
def main():
|
||||
"""主测试函数"""
|
||||
print("🚀 开始游戏小提示配置系统集成测试\n")
|
||||
|
||||
# 测试结果
|
||||
results = {
|
||||
"数据库配置": test_database_config(),
|
||||
"服务端配置加载": test_server_config_loading(),
|
||||
"客户端-服务端通信": test_client_server_communication()
|
||||
}
|
||||
|
||||
print("\n=== 测试结果 ===\n")
|
||||
|
||||
all_passed = True
|
||||
for test_name, result in results.items():
|
||||
status = "✓ 通过" if result else "❌ 失败"
|
||||
print(f"{test_name}测试: {status}")
|
||||
if not result:
|
||||
all_passed = False
|
||||
|
||||
if all_passed:
|
||||
print("\n🎉 所有测试通过!游戏小提示配置系统完全正常工作。")
|
||||
print("\n📋 系统功能确认:")
|
||||
print(" ✓ 数据库配置存储和读取正常")
|
||||
print(" ✓ 服务端配置加载正常")
|
||||
print(" ✓ 客户端-服务端通信正常")
|
||||
print(" ✓ 配置数据传输完整")
|
||||
print("\n🎮 客户端现在应该能够正确使用数据库中的游戏小提示配置!")
|
||||
else:
|
||||
print("\n❌ 部分测试失败,请检查相关组件。")
|
||||
|
||||
return all_passed
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
151
Server/test/test_special_farm.py
Normal file
151
Server/test/test_special_farm.py
Normal file
@@ -0,0 +1,151 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
特殊农场管理系统测试脚本
|
||||
作者: AI Assistant
|
||||
功能: 测试特殊农场的种植功能
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
from SpecialFarm import SpecialFarmManager
|
||||
|
||||
def test_special_farm():
|
||||
"""
|
||||
测试特殊农场功能
|
||||
"""
|
||||
print("=" * 50)
|
||||
print("特殊农场管理系统测试")
|
||||
print("=" * 50)
|
||||
|
||||
try:
|
||||
# 创建管理器(使用测试环境)
|
||||
print("1. 初始化特殊农场管理器...")
|
||||
manager = SpecialFarmManager("test")
|
||||
print("✓ 管理器初始化成功")
|
||||
|
||||
# 测试数据库连接
|
||||
print("\n2. 测试数据库连接...")
|
||||
if manager.mongo_api.is_connected():
|
||||
print("✓ 数据库连接成功")
|
||||
else:
|
||||
print("✗ 数据库连接失败")
|
||||
return False
|
||||
|
||||
# 测试获取作物配置
|
||||
print("\n3. 测试获取作物配置...")
|
||||
crop_data = manager.get_crop_data()
|
||||
if crop_data:
|
||||
print(f"✓ 成功获取作物配置,共 {len(crop_data)} 种作物")
|
||||
|
||||
# 检查杂交树是否存在
|
||||
if "杂交树1" in crop_data and "杂交树2" in crop_data:
|
||||
print("✓ 杂交树1和杂交树2配置存在")
|
||||
print(f" - 杂交树1: {crop_data['杂交树1']['作物名称']}")
|
||||
print(f" - 杂交树2: {crop_data['杂交树2']['作物名称']}")
|
||||
else:
|
||||
print("✗ 杂交树配置不存在")
|
||||
return False
|
||||
else:
|
||||
print("✗ 获取作物配置失败")
|
||||
return False
|
||||
|
||||
# 测试获取杂交农场数据
|
||||
print("\n4. 测试获取杂交农场数据...")
|
||||
farm_config = manager.special_farms["杂交农场"]
|
||||
object_id = farm_config["object_id"]
|
||||
|
||||
player_data = manager.get_player_data_by_object_id(object_id)
|
||||
if player_data:
|
||||
print(f"✓ 成功获取杂交农场数据")
|
||||
print(f" - 农场名称: {player_data.get('农场名称', 'Unknown')}")
|
||||
print(f" - 玩家昵称: {player_data.get('玩家昵称', 'Unknown')}")
|
||||
print(f" - 土地数量: {len(player_data.get('农场土地', []))}")
|
||||
|
||||
# 统计土地状态
|
||||
farm_lands = player_data.get("农场土地", [])
|
||||
digged_count = sum(1 for land in farm_lands if land.get("is_diged", False))
|
||||
planted_count = sum(1 for land in farm_lands if land.get("is_planted", False))
|
||||
|
||||
print(f" - 已开垦土地: {digged_count}")
|
||||
print(f" - 已种植土地: {planted_count}")
|
||||
else:
|
||||
print("✗ 获取杂交农场数据失败")
|
||||
return False
|
||||
|
||||
# 测试种植功能
|
||||
print("\n5. 测试杂交农场种植功能...")
|
||||
if manager.plant_crops_in_farm("杂交农场"):
|
||||
print("✓ 杂交农场种植成功")
|
||||
|
||||
# 重新获取数据验证种植结果
|
||||
updated_data = manager.get_player_data_by_object_id(object_id)
|
||||
if updated_data:
|
||||
farm_lands = updated_data.get("农场土地", [])
|
||||
planted_count = sum(1 for land in farm_lands if land.get("is_planted", False))
|
||||
|
||||
# 统计种植的作物类型
|
||||
crop_types = {}
|
||||
for land in farm_lands:
|
||||
if land.get("is_planted", False):
|
||||
crop_type = land.get("crop_type", "")
|
||||
crop_types[crop_type] = crop_types.get(crop_type, 0) + 1
|
||||
|
||||
print(f" - 种植后已种植土地: {planted_count}")
|
||||
print(f" - 作物分布:")
|
||||
for crop_type, count in crop_types.items():
|
||||
print(f" * {crop_type}: {count} 块")
|
||||
else:
|
||||
print("✗ 杂交农场种植失败")
|
||||
return False
|
||||
|
||||
print("\n" + "=" * 50)
|
||||
print("✓ 所有测试通过!特殊农场管理系统工作正常")
|
||||
print("=" * 50)
|
||||
return True
|
||||
|
||||
except Exception as e:
|
||||
print(f"\n✗ 测试过程中出错: {str(e)}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
return False
|
||||
|
||||
def test_manual_maintenance():
|
||||
"""
|
||||
测试手动维护功能
|
||||
"""
|
||||
print("\n" + "=" * 50)
|
||||
print("测试手动维护功能")
|
||||
print("=" * 50)
|
||||
|
||||
try:
|
||||
manager = SpecialFarmManager("test")
|
||||
|
||||
print("执行手动维护...")
|
||||
if manager.manual_maintenance("杂交农场"):
|
||||
print("✓ 手动维护成功")
|
||||
else:
|
||||
print("✗ 手动维护失败")
|
||||
|
||||
except Exception as e:
|
||||
print(f"✗ 手动维护测试出错: {str(e)}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
# 运行基础测试
|
||||
success = test_special_farm()
|
||||
|
||||
if success:
|
||||
# 运行手动维护测试
|
||||
test_manual_maintenance()
|
||||
|
||||
print("\n" + "=" * 50)
|
||||
print("使用说明:")
|
||||
print("1. 自动模式: python SpecialFarm.py [test|production]")
|
||||
print("2. 手动模式: python SpecialFarm.py [test|production] manual [农场名称]")
|
||||
print("3. 日志文件: special_farm.log")
|
||||
print("=" * 50)
|
||||
else:
|
||||
print("\n测试失败,请检查配置和数据库连接")
|
||||
sys.exit(1)
|
||||
143
Server/test/test_visit_mode_update.py
Normal file
143
Server/test/test_visit_mode_update.py
Normal file
@@ -0,0 +1,143 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
简化的访问模式实时更新功能测试
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
|
||||
print("开始测试访问模式下的实时更新功能...")
|
||||
|
||||
try:
|
||||
# 测试导入
|
||||
print("正在导入模块...")
|
||||
|
||||
# 检查文件是否存在
|
||||
if os.path.exists('TCPGameServer.py'):
|
||||
print("✓ TCPGameServer.py 文件存在")
|
||||
else:
|
||||
print("❌ TCPGameServer.py 文件不存在")
|
||||
sys.exit(1)
|
||||
|
||||
if os.path.exists('SMYMongoDBAPI.py'):
|
||||
print("✓ SMYMongoDBAPI.py 文件存在")
|
||||
else:
|
||||
print("❌ SMYMongoDBAPI.py 文件不存在")
|
||||
sys.exit(1)
|
||||
|
||||
# 尝试导入
|
||||
from TCPGameServer import TCPGameServer
|
||||
print("✓ 成功导入 TCPGameServer")
|
||||
|
||||
# 检查关键方法是否存在
|
||||
server = TCPGameServer()
|
||||
|
||||
if hasattr(server, '_push_update_to_visitors'):
|
||||
print("✓ _push_update_to_visitors 方法存在")
|
||||
else:
|
||||
print("❌ _push_update_to_visitors 方法不存在")
|
||||
|
||||
if hasattr(server, 'update_crops_growth'):
|
||||
print("✓ update_crops_growth 方法存在")
|
||||
else:
|
||||
print("❌ update_crops_growth 方法不存在")
|
||||
|
||||
if hasattr(server, '_push_crop_update_to_player'):
|
||||
print("✓ _push_crop_update_to_player 方法存在")
|
||||
else:
|
||||
print("❌ _push_crop_update_to_player 方法不存在")
|
||||
|
||||
print("\n=== 功能验证 ===")
|
||||
|
||||
# 模拟用户数据
|
||||
server.user_data = {
|
||||
"client_a": {
|
||||
"logged_in": True,
|
||||
"username": "user_a",
|
||||
"visiting_mode": False,
|
||||
"visiting_target": ""
|
||||
},
|
||||
"client_b": {
|
||||
"logged_in": True,
|
||||
"username": "user_b",
|
||||
"visiting_mode": True,
|
||||
"visiting_target": "user_a"
|
||||
}
|
||||
}
|
||||
|
||||
# 测试 update_crops_growth 方法是否能正确收集需要更新的玩家
|
||||
print("测试作物生长更新逻辑...")
|
||||
|
||||
# 重写 load_player_data 方法以避免数据库依赖
|
||||
def mock_load_player_data(username):
|
||||
return {
|
||||
"农场土地": [
|
||||
{
|
||||
"is_planted": True,
|
||||
"crop_type": "番茄",
|
||||
"grow_time": 300,
|
||||
"max_grow_time": 600
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
def mock_save_player_data(username, data):
|
||||
pass
|
||||
|
||||
def mock_update_player_crops(data, username):
|
||||
return True
|
||||
|
||||
def mock_push_crop_update_to_player(username, data):
|
||||
print(f" 推送作物更新给: {username}")
|
||||
|
||||
server.load_player_data = mock_load_player_data
|
||||
server.save_player_data = mock_save_player_data
|
||||
server.update_player_crops = mock_update_player_crops
|
||||
server._push_crop_update_to_player = mock_push_crop_update_to_player
|
||||
|
||||
# 调用作物生长更新
|
||||
print("调用 update_crops_growth...")
|
||||
server.update_crops_growth()
|
||||
|
||||
print("\n=== 测试访问者推送功能 ===")
|
||||
|
||||
# 重写 send_data 方法
|
||||
def mock_send_data(client_id, data):
|
||||
print(f" 向 {client_id} 发送消息: {data.get('type', 'unknown')}")
|
||||
if data.get('type') == 'crop_update':
|
||||
print(f" - 是否访问模式: {data.get('is_visiting', False)}")
|
||||
print(f" - 被访问玩家: {data.get('visited_player', 'N/A')}")
|
||||
|
||||
def mock_find_client_by_username(username):
|
||||
if username == "user_a":
|
||||
return "client_a"
|
||||
return None
|
||||
|
||||
server.send_data = mock_send_data
|
||||
server._find_client_by_username = mock_find_client_by_username
|
||||
|
||||
# 测试向访问者推送更新
|
||||
target_player_data = {
|
||||
"农场土地": [
|
||||
{
|
||||
"is_planted": True,
|
||||
"crop_type": "番茄",
|
||||
"grow_time": 400,
|
||||
"max_grow_time": 600
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
print("调用 _push_update_to_visitors...")
|
||||
server._push_update_to_visitors("user_a", target_player_data)
|
||||
|
||||
print("\n🎉 所有功能验证通过!访问模式下的实时更新功能已正确实现。")
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ 测试过程中出现错误: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
sys.exit(1)
|
||||
|
||||
print("\n测试完成!")
|
||||
559
Server/test/文档/DisplayServer_总结_Markdown.md
Normal file
559
Server/test/文档/DisplayServer_总结_Markdown.md
Normal file
@@ -0,0 +1,559 @@
|
||||
# DisplayServer API 参考文档
|
||||
|
||||
## 类简介
|
||||
|
||||
**继承**:Object
|
||||
|
||||
DisplayServer 是用于低阶窗口管理的服务器接口。所有与窗口管理相关的内容都由 DisplayServer(显示服务器)处理。
|
||||
|
||||
> **无头模式**:如果使用 `--headless` 命令行参数启动引擎,就会禁用所有渲染和窗口管理功能,此时 DisplayServer 的大多数函数都会返回虚设值。
|
||||
|
||||
---
|
||||
|
||||
## 方法列表
|
||||
|
||||
### 🔔 系统交互
|
||||
|
||||
#### `void beep()`
|
||||
发出系统提示音。
|
||||
|
||||
#### `void enable_for_stealing_focus(process_id: int)`
|
||||
允许指定进程获取焦点。
|
||||
|
||||
#### `void force_process_and_drop_events()`
|
||||
强制处理并丢弃所有事件。
|
||||
|
||||
---
|
||||
|
||||
### 📋 剪贴板操作
|
||||
|
||||
#### `String clipboard_get()`
|
||||
获取剪贴板文本内容。
|
||||
|
||||
#### `Image clipboard_get_image()`
|
||||
获取剪贴板图像内容。
|
||||
|
||||
#### `String clipboard_get_primary()`
|
||||
获取主剪贴板文本内容(仅限 Linux)。
|
||||
|
||||
#### `bool clipboard_has()`
|
||||
检查剪贴板是否有内容。
|
||||
|
||||
#### `bool clipboard_has_image()`
|
||||
检查剪贴板是否有图像。
|
||||
|
||||
#### `void clipboard_set(clipboard: String)`
|
||||
设置剪贴板文本内容。
|
||||
|
||||
#### `void clipboard_set_primary(clipboard_primary: String)`
|
||||
设置主剪贴板文本内容(仅限 Linux)。
|
||||
|
||||
---
|
||||
|
||||
### 🖱️ 鼠标和光标
|
||||
|
||||
#### `CursorShape cursor_get_shape()`
|
||||
获取当前光标形状。
|
||||
|
||||
#### `void cursor_set_custom_image(cursor: Resource, shape: CursorShape = 0, hotspot: Vector2 = Vector2(0, 0))`
|
||||
设置自定义光标图像。
|
||||
|
||||
#### `void cursor_set_shape(shape: CursorShape)`
|
||||
设置光标形状。
|
||||
|
||||
#### `BitField[MouseButtonMask] mouse_get_button_state()`
|
||||
获取鼠标按键状态。
|
||||
|
||||
#### `MouseMode mouse_get_mode()`
|
||||
获取鼠标模式。
|
||||
|
||||
#### `Vector2i mouse_get_position()`
|
||||
获取鼠标位置。
|
||||
|
||||
#### `void mouse_set_mode(mouse_mode: MouseMode)`
|
||||
设置鼠标模式。
|
||||
|
||||
#### `void warp_mouse(position: Vector2i)`
|
||||
将鼠标光标移动到指定位置。
|
||||
|
||||
---
|
||||
|
||||
### 💬 对话框
|
||||
|
||||
#### `Error dialog_input_text(title: String, description: String, existing_text: String, callback: Callable)`
|
||||
显示文本输入对话框。
|
||||
|
||||
#### `Error dialog_show(title: String, description: String, buttons: PackedStringArray, callback: Callable)`
|
||||
显示系统对话框。
|
||||
|
||||
#### `Error file_dialog_show(title: String, current_directory: String, filename: String, show_hidden: bool, mode: FileDialogMode, filters: PackedStringArray, callback: Callable)`
|
||||
显示文件选择对话框。
|
||||
|
||||
#### `Error file_dialog_with_options_show(title: String, current_directory: String, root: String, filename: String, show_hidden: bool, mode: FileDialogMode, filters: PackedStringArray, options: Array[Dictionary], callback: Callable)`
|
||||
显示带扩展选项的文件选择对话框。
|
||||
|
||||
---
|
||||
|
||||
### 🎨 主题和颜色
|
||||
|
||||
#### `Color get_accent_color()`
|
||||
获取系统强调色。
|
||||
|
||||
#### `Color get_base_color()`
|
||||
获取系统基础色。
|
||||
|
||||
#### `bool is_dark_mode()`
|
||||
检查系统是否为深色模式。
|
||||
|
||||
#### `bool is_dark_mode_supported()`
|
||||
检查系统是否支持深色模式。
|
||||
|
||||
#### `void set_system_theme_change_callback(callable: Callable)`
|
||||
设置系统主题变化时的回调。
|
||||
|
||||
---
|
||||
|
||||
### 📱 显示和屏幕
|
||||
|
||||
#### `Array[Rect2] get_display_cutouts()`
|
||||
获取显示器刘海信息。
|
||||
|
||||
#### `Rect2i get_display_safe_area()`
|
||||
获取显示器安全区域。
|
||||
|
||||
#### `int get_keyboard_focus_screen()`
|
||||
获取键盘焦点所在屏幕。
|
||||
|
||||
#### `String get_name()`
|
||||
获取显示服务器名称。
|
||||
|
||||
#### `int get_primary_screen()`
|
||||
获取主屏幕索引。
|
||||
|
||||
#### `int get_screen_count()`
|
||||
获取屏幕数量。
|
||||
|
||||
#### `int get_screen_from_rect(rect: Rect2)`
|
||||
根据矩形位置获取屏幕索引。
|
||||
|
||||
#### `bool get_swap_cancel_ok()`
|
||||
获取是否交换确定取消按钮。
|
||||
|
||||
#### `int get_window_at_screen_position(position: Vector2i)`
|
||||
获取指定屏幕位置的窗口ID。
|
||||
|
||||
#### `PackedInt32Array get_window_list()`
|
||||
获取所有窗口ID列表。
|
||||
|
||||
---
|
||||
|
||||
### 🖥️ 屏幕操作
|
||||
|
||||
#### `int screen_get_dpi(screen: int = -1)`
|
||||
获取屏幕DPI。
|
||||
|
||||
#### `Image screen_get_image(screen: int = -1)`
|
||||
获取屏幕截图。
|
||||
|
||||
#### `Image screen_get_image_rect(rect: Rect2i)`
|
||||
获取屏幕指定区域截图。
|
||||
|
||||
#### `float screen_get_max_scale()`
|
||||
获取所有屏幕的最大缩放系数。
|
||||
|
||||
#### `ScreenOrientation screen_get_orientation(screen: int = -1)`
|
||||
获取屏幕朝向。
|
||||
|
||||
#### `Color screen_get_pixel(position: Vector2i)`
|
||||
获取指定位置的像素颜色。
|
||||
|
||||
#### `Vector2i screen_get_position(screen: int = -1)`
|
||||
获取屏幕位置。
|
||||
|
||||
#### `float screen_get_refresh_rate(screen: int = -1)`
|
||||
获取屏幕刷新率。
|
||||
|
||||
#### `float screen_get_scale(screen: int = -1)`
|
||||
获取屏幕缩放系数。
|
||||
|
||||
#### `Vector2i screen_get_size(screen: int = -1)`
|
||||
获取屏幕大小。
|
||||
|
||||
#### `Rect2i screen_get_usable_rect(screen: int = -1)`
|
||||
获取屏幕可用区域。
|
||||
|
||||
#### `bool screen_is_kept_on()`
|
||||
检查屏幕是否保持开启。
|
||||
|
||||
#### `void screen_set_keep_on(enable: bool)`
|
||||
设置屏幕保持开启。
|
||||
|
||||
#### `void screen_set_orientation(orientation: ScreenOrientation, screen: int = -1)`
|
||||
设置屏幕朝向。
|
||||
|
||||
---
|
||||
|
||||
### 🖼️ 图标设置
|
||||
|
||||
#### `void set_icon(image: Image)`
|
||||
设置窗口图标。
|
||||
|
||||
#### `void set_native_icon(filename: String)`
|
||||
使用原生格式设置窗口图标。
|
||||
|
||||
---
|
||||
|
||||
### 💾 输出管理
|
||||
|
||||
#### `bool has_additional_outputs()`
|
||||
检查是否有额外输出设备。
|
||||
|
||||
#### `void register_additional_output(object: Object)`
|
||||
注册额外输出设备。
|
||||
|
||||
#### `void unregister_additional_output(object: Object)`
|
||||
取消注册额外输出设备。
|
||||
|
||||
---
|
||||
|
||||
### ⚡ 功能检测
|
||||
|
||||
#### `bool has_feature(feature: Feature)`
|
||||
检查是否支持指定功能。
|
||||
|
||||
#### `bool has_hardware_keyboard()`
|
||||
检查是否有硬件键盘。
|
||||
|
||||
#### `bool is_touchscreen_available()`
|
||||
检查是否支持触屏。
|
||||
|
||||
#### `bool is_window_transparency_available()`
|
||||
检查是否支持窗口透明。
|
||||
|
||||
---
|
||||
|
||||
### ⌨️ 键盘
|
||||
|
||||
#### `int keyboard_get_current_layout()`
|
||||
获取当前键盘布局。
|
||||
|
||||
#### `Key keyboard_get_keycode_from_physical(keycode: Key)`
|
||||
从物理按键获取键码。
|
||||
|
||||
#### `Key keyboard_get_label_from_physical(keycode: Key)`
|
||||
从物理按键获取标签。
|
||||
|
||||
#### `int keyboard_get_layout_count()`
|
||||
获取键盘布局数量。
|
||||
|
||||
#### `String keyboard_get_layout_language(index: int)`
|
||||
获取键盘布局语言。
|
||||
|
||||
#### `String keyboard_get_layout_name(index: int)`
|
||||
获取键盘布局名称。
|
||||
|
||||
#### `void keyboard_set_current_layout(index: int)`
|
||||
设置当前键盘布局。
|
||||
|
||||
---
|
||||
|
||||
### 📝 输入法
|
||||
|
||||
#### `Vector2i ime_get_selection()`
|
||||
获取输入法选中范围。
|
||||
|
||||
#### `String ime_get_text()`
|
||||
获取输入法文本。
|
||||
|
||||
---
|
||||
|
||||
### 🎯 状态指示器
|
||||
|
||||
#### `int create_status_indicator(icon: Texture2D, tooltip: String, callback: Callable)`
|
||||
创建状态指示器。
|
||||
|
||||
#### `void delete_status_indicator(id: int)`
|
||||
删除状态指示器。
|
||||
|
||||
#### `Rect2 status_indicator_get_rect(id: int)`
|
||||
获取状态指示器位置。
|
||||
|
||||
#### `void status_indicator_set_callback(id: int, callback: Callable)`
|
||||
设置状态指示器回调。
|
||||
|
||||
#### `void status_indicator_set_icon(id: int, icon: Texture2D)`
|
||||
设置状态指示器图标。
|
||||
|
||||
#### `void status_indicator_set_menu(id: int, menu_rid: RID)`
|
||||
设置状态指示器菜单。
|
||||
|
||||
#### `void status_indicator_set_tooltip(id: int, tooltip: String)`
|
||||
设置状态指示器提示文本。
|
||||
|
||||
---
|
||||
|
||||
### 📱 数位板
|
||||
|
||||
#### `String tablet_get_current_driver()`
|
||||
获取当前数位板驱动。
|
||||
|
||||
#### `int tablet_get_driver_count()`
|
||||
获取数位板驱动数量。
|
||||
|
||||
#### `String tablet_get_driver_name(idx: int)`
|
||||
获取数位板驱动名称。
|
||||
|
||||
#### `void tablet_set_current_driver(name: String)`
|
||||
设置数位板驱动。
|
||||
|
||||
---
|
||||
|
||||
### 🗣️ 文本转语音
|
||||
|
||||
#### `Array[Dictionary] tts_get_voices()`
|
||||
获取语音列表。
|
||||
|
||||
#### `PackedStringArray tts_get_voices_for_language(language: String)`
|
||||
获取指定语言的语音列表。
|
||||
|
||||
#### `bool tts_is_paused()`
|
||||
检查是否暂停。
|
||||
|
||||
#### `bool tts_is_speaking()`
|
||||
检查是否正在朗读。
|
||||
|
||||
#### `void tts_pause()`
|
||||
暂停朗读。
|
||||
|
||||
#### `void tts_resume()`
|
||||
恢复朗读。
|
||||
|
||||
#### `void tts_set_utterance_callback(event: TTSUtteranceEvent, callable: Callable)`
|
||||
设置朗读事件回调。
|
||||
|
||||
#### `void tts_speak(text: String, voice: String, volume: int = 50, pitch: float = 1.0, rate: float = 1.0, utterance_id: int = 0, interrupt: bool = false)`
|
||||
开始朗读文本。
|
||||
|
||||
#### `void tts_stop()`
|
||||
停止朗读。
|
||||
|
||||
---
|
||||
|
||||
### ⌨️ 虚拟键盘
|
||||
|
||||
#### `int virtual_keyboard_get_height()`
|
||||
获取虚拟键盘高度。
|
||||
|
||||
#### `void virtual_keyboard_hide()`
|
||||
隐藏虚拟键盘。
|
||||
|
||||
#### `void virtual_keyboard_show(existing_text: String, position: Rect2 = Rect2(0, 0, 0, 0), type: VirtualKeyboardType = 0, max_length: int = -1, cursor_start: int = -1, cursor_end: int = -1)`
|
||||
显示虚拟键盘。
|
||||
|
||||
---
|
||||
|
||||
### 🪟 窗口管理
|
||||
|
||||
#### `bool window_can_draw(window_id: int = 0)`
|
||||
检查窗口是否可绘制。
|
||||
|
||||
#### `int window_get_active_popup()`
|
||||
获取活动弹出窗口ID。
|
||||
|
||||
#### `int window_get_attached_instance_id(window_id: int = 0)`
|
||||
获取窗口附加的实例ID。
|
||||
|
||||
#### `int window_get_current_screen(window_id: int = 0)`
|
||||
获取窗口所在屏幕。
|
||||
|
||||
#### `bool window_get_flag(flag: WindowFlags, window_id: int = 0)`
|
||||
获取窗口标志。
|
||||
|
||||
#### `Vector2i window_get_max_size(window_id: int = 0)`
|
||||
获取窗口最大尺寸。
|
||||
|
||||
#### `Vector2i window_get_min_size(window_id: int = 0)`
|
||||
获取窗口最小尺寸。
|
||||
|
||||
#### `WindowMode window_get_mode(window_id: int = 0)`
|
||||
获取窗口模式。
|
||||
|
||||
#### `int window_get_native_handle(handle_type: HandleType, window_id: int = 0)`
|
||||
获取窗口原生句柄。
|
||||
|
||||
#### `Rect2i window_get_popup_safe_rect(window: int)`
|
||||
获取弹出窗口安全区域。
|
||||
|
||||
#### `Vector2i window_get_position(window_id: int = 0)`
|
||||
获取窗口位置。
|
||||
|
||||
#### `Vector2i window_get_position_with_decorations(window_id: int = 0)`
|
||||
获取窗口位置(含边框)。
|
||||
|
||||
#### `Vector3i window_get_safe_title_margins(window_id: int = 0)`
|
||||
获取标题栏安全边距。
|
||||
|
||||
#### `Vector2i window_get_size(window_id: int = 0)`
|
||||
获取窗口大小。
|
||||
|
||||
#### `Vector2i window_get_size_with_decorations(window_id: int = 0)`
|
||||
获取窗口大小(含边框)。
|
||||
|
||||
#### `Vector2i window_get_title_size(title: String, window_id: int = 0)`
|
||||
获取标题栏大小。
|
||||
|
||||
#### `VSyncMode window_get_vsync_mode(window_id: int = 0)`
|
||||
获取垂直同步模式。
|
||||
|
||||
#### `bool window_is_focused(window_id: int = 0)`
|
||||
检查窗口是否有焦点。
|
||||
|
||||
#### `bool window_is_maximize_allowed(window_id: int = 0)`
|
||||
检查窗口是否可最大化。
|
||||
|
||||
#### `bool window_maximize_on_title_dbl_click()`
|
||||
检查双击标题栏是否最大化。
|
||||
|
||||
#### `bool window_minimize_on_title_dbl_click()`
|
||||
检查双击标题栏是否最小化。
|
||||
|
||||
#### `void window_move_to_foreground(window_id: int = 0)`
|
||||
将窗口移到前台。
|
||||
|
||||
#### `void window_request_attention(window_id: int = 0)`
|
||||
请求窗口注意。
|
||||
|
||||
#### `void window_set_current_screen(screen: int, window_id: int = 0)`
|
||||
设置窗口所在屏幕。
|
||||
|
||||
#### `void window_set_drop_files_callback(callback: Callable, window_id: int = 0)`
|
||||
设置文件拖放回调。
|
||||
|
||||
#### `void window_set_exclusive(window_id: int, exclusive: bool)`
|
||||
设置窗口独占模式。
|
||||
|
||||
#### `void window_set_flag(flag: WindowFlags, enabled: bool, window_id: int = 0)`
|
||||
设置窗口标志。
|
||||
|
||||
#### `void window_set_ime_active(active: bool, window_id: int = 0)`
|
||||
设置输入法是否激活。
|
||||
|
||||
#### `void window_set_ime_position(position: Vector2i, window_id: int = 0)`
|
||||
设置输入法位置。
|
||||
|
||||
#### `void window_set_input_event_callback(callback: Callable, window_id: int = 0)`
|
||||
设置输入事件回调。
|
||||
|
||||
#### `void window_set_input_text_callback(callback: Callable, window_id: int = 0)`
|
||||
设置文本输入回调。
|
||||
|
||||
#### `void window_set_max_size(max_size: Vector2i, window_id: int = 0)`
|
||||
设置窗口最大尺寸。
|
||||
|
||||
#### `void window_set_min_size(min_size: Vector2i, window_id: int = 0)`
|
||||
设置窗口最小尺寸。
|
||||
|
||||
#### `void window_set_mode(mode: WindowMode, window_id: int = 0)`
|
||||
设置窗口模式。
|
||||
|
||||
#### `void window_set_mouse_passthrough(region: PackedVector2Array, window_id: int = 0)`
|
||||
设置鼠标穿透区域。
|
||||
|
||||
#### `void window_set_popup_safe_rect(window: int, rect: Rect2i)`
|
||||
设置弹出窗口安全区域。
|
||||
|
||||
#### `void window_set_position(position: Vector2i, window_id: int = 0)`
|
||||
设置窗口位置。
|
||||
|
||||
#### `void window_set_rect_changed_callback(callback: Callable, window_id: int = 0)`
|
||||
设置窗口位置大小变化回调。
|
||||
|
||||
#### `void window_set_size(size: Vector2i, window_id: int = 0)`
|
||||
设置窗口大小。
|
||||
|
||||
#### `void window_set_title(title: String, window_id: int = 0)`
|
||||
设置窗口标题。
|
||||
|
||||
#### `void window_set_transient(window_id: int, parent_window_id: int)`
|
||||
设置窗口为瞬态。
|
||||
|
||||
#### `void window_set_vsync_mode(vsync_mode: VSyncMode, window_id: int = 0)`
|
||||
设置垂直同步模式。
|
||||
|
||||
#### `void window_set_window_buttons_offset(offset: Vector2i, window_id: int = 0)`
|
||||
设置窗口按钮偏移。
|
||||
|
||||
#### `void window_set_window_event_callback(callback: Callable, window_id: int = 0)`
|
||||
设置窗口事件回调。
|
||||
|
||||
#### `void window_start_drag(window_id: int = 0)`
|
||||
开始拖拽窗口。
|
||||
|
||||
#### `void window_start_resize(edge: WindowResizeEdge, window_id: int = 0)`
|
||||
开始调整窗口大小。
|
||||
|
||||
---
|
||||
|
||||
### 📞 帮助系统
|
||||
|
||||
#### `void help_set_search_callbacks(search_callback: Callable, action_callback: Callable)`
|
||||
设置帮助系统搜索回调。
|
||||
|
||||
#### `void show_emoji_and_symbol_picker()`
|
||||
显示表情符号选择器。
|
||||
|
||||
---
|
||||
|
||||
### ⚙️ 事件处理
|
||||
|
||||
#### `void process_events()`
|
||||
处理事件。
|
||||
|
||||
---
|
||||
|
||||
## 常量
|
||||
|
||||
- `SCREEN_WITH_MOUSE_FOCUS = -4`:鼠标焦点所在屏幕
|
||||
- `SCREEN_WITH_KEYBOARD_FOCUS = -3`:键盘焦点所在屏幕
|
||||
- `SCREEN_PRIMARY = -2`:主屏幕
|
||||
- `SCREEN_OF_MAIN_WINDOW = -1`:主窗口所在屏幕
|
||||
- `MAIN_WINDOW_ID = 0`:主窗口ID
|
||||
- `INVALID_WINDOW_ID = -1`:无效窗口ID
|
||||
|
||||
---
|
||||
|
||||
## 枚举
|
||||
|
||||
### Feature
|
||||
系统功能支持检测枚举,包含多种功能如子窗口、触屏、鼠标、剪贴板、虚拟键盘等支持检测。
|
||||
|
||||
### MouseMode
|
||||
鼠标模式枚举:可见、隐藏、捕获、限制等模式。
|
||||
|
||||
### ScreenOrientation
|
||||
屏幕朝向枚举:横屏、竖屏及其反向,以及传感器自动模式。
|
||||
|
||||
### VirtualKeyboardType
|
||||
虚拟键盘类型:默认、多行、数字、小数、电话、邮箱、密码、URL等。
|
||||
|
||||
### CursorShape
|
||||
光标形状枚举:箭头、工字形、指向手形等多种光标样式。
|
||||
|
||||
### WindowFlags
|
||||
窗口标志枚举:控制窗口的各种行为和外观属性。
|
||||
|
||||
### WindowMode
|
||||
窗口模式枚举:窗口、最小化、最大化、全屏等模式。
|
||||
|
||||
### HandleType
|
||||
句柄类型枚举:用于获取不同类型的原生窗口句柄。
|
||||
|
||||
### VSyncMode
|
||||
垂直同步模式枚举:控制画面撕裂和帧率同步。
|
||||
|
||||
### TTSUtteranceEvent
|
||||
语音朗读事件枚举:开始、结束、取消、边界等事件。
|
||||
|
||||
---
|
||||
|
||||
> **注意**:此文档已排除所有已弃用的方法。某些功能可能仅在特定平台上可用,请参考原始文档中的平台支持说明。
|
||||
2120
Server/test/文档/display总结.txt
Normal file
2120
Server/test/文档/display总结.txt
Normal file
File diff suppressed because one or more lines are too long
144
Server/test/游戏小提示配置系统说明.md
Normal file
144
Server/test/游戏小提示配置系统说明.md
Normal file
@@ -0,0 +1,144 @@
|
||||
# 游戏小提示配置系统实现说明
|
||||
|
||||
## 概述
|
||||
|
||||
本系统成功将游戏小提示配置从客户端硬编码迁移到服务端数据库管理,实现了动态配置和灵活的显示模式。
|
||||
|
||||
## 系统架构
|
||||
|
||||
### 1. 数据库层 (MongoDB)
|
||||
- **配置ID**: `687e40008e77ba00a7414bb2`
|
||||
- **集合**: `gameconfig`
|
||||
- **配置结构**:
|
||||
```json
|
||||
{
|
||||
"切换模式": "顺序", // 可选:顺序、随机、倒序
|
||||
"切换速度": 5, // 切换间隔(秒)
|
||||
"游戏小提示": [ // 小提示内容数组
|
||||
"按住wsad可以移动游戏画面",
|
||||
"使用鼠标滚轮来缩放游戏画面",
|
||||
// ... 更多小提示
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### 2. 服务端层 (Python)
|
||||
|
||||
#### SMYMongoDBAPI.py 新增功能
|
||||
- `get_game_tips_config()`: 获取游戏小提示配置
|
||||
- `update_game_tips_config()`: 更新游戏小提示配置
|
||||
- 配置ID: `CONFIG_IDS["game_tips"]`
|
||||
|
||||
#### TCPGameServer.py 新增功能
|
||||
- `_load_game_tips_config()`: 从数据库加载配置
|
||||
- `_handle_game_tips_config_request()`: 处理客户端配置请求
|
||||
- 消息路由: `request_game_tips_config` → `_handle_game_tips_config_request`
|
||||
|
||||
### 3. 客户端层 (GDScript)
|
||||
|
||||
#### TCPNetworkManager.gd 新增功能
|
||||
- `sendGetGameTipsConfig()`: 发送配置请求
|
||||
- 消息处理: `game_tips_config_response` → `main_game._handle_game_tips_config_response`
|
||||
|
||||
#### MainGame.gd 新增功能
|
||||
- `game_tips_config`: 存储服务端配置
|
||||
- `current_tip_index`: 顺序/倒序模式的索引
|
||||
- `_handle_game_tips_config_response()`: 处理服务端响应
|
||||
- `_random_small_game_tips()`: 重构为支持多种切换模式
|
||||
|
||||
## 功能特性
|
||||
|
||||
### 1. 切换模式
|
||||
- **顺序模式**: 按配置顺序依次显示小提示
|
||||
- **倒序模式**: 按配置倒序依次显示小提示
|
||||
- **随机模式**: 随机选择小提示显示
|
||||
|
||||
### 2. 动态配置
|
||||
- 服务端可随时更新小提示内容
|
||||
- 客户端启动时自动获取最新配置
|
||||
- 支持热更新(无需重启游戏)
|
||||
|
||||
### 3. 容错机制
|
||||
- 服务端配置不可用时使用本地默认配置
|
||||
- 配置为空时显示默认欢迎信息
|
||||
- 网络异常时优雅降级
|
||||
|
||||
## 部署文件
|
||||
|
||||
### 1. 配置导入脚本
|
||||
- `import_game_tips_config.py`: 将配置数据导入MongoDB
|
||||
- 包含15条游戏小提示
|
||||
- 默认配置:顺序模式,5秒切换间隔
|
||||
|
||||
### 2. 测试脚本
|
||||
- `test_game_tips_config.py`: 基础功能测试
|
||||
- `test_complete_game_tips_system.py`: 完整系统测试
|
||||
|
||||
## 使用方法
|
||||
|
||||
### 1. 初始化配置
|
||||
```bash
|
||||
cd Server
|
||||
python import_game_tips_config.py
|
||||
```
|
||||
|
||||
### 2. 测试系统
|
||||
```bash
|
||||
python test_game_tips_config.py
|
||||
```
|
||||
|
||||
### 3. 客户端集成
|
||||
游戏启动时会自动请求服务端配置:
|
||||
```gdscript
|
||||
# 在MainGame.gd中已集成
|
||||
tcp_network_manager_panel.sendGetGameTipsConfig()
|
||||
```
|
||||
|
||||
## 配置管理
|
||||
|
||||
### 1. 查看当前配置
|
||||
```python
|
||||
from SMYMongoDBAPI import SMYMongoDBAPI
|
||||
api = SMYMongoDBAPI()
|
||||
api.connect()
|
||||
config = api.get_game_tips_config()
|
||||
print(config)
|
||||
```
|
||||
|
||||
### 2. 更新配置
|
||||
```python
|
||||
new_config = {
|
||||
"切换模式": "随机",
|
||||
"切换速度": 3,
|
||||
"游戏小提示": ["新的小提示1", "新的小提示2"]
|
||||
}
|
||||
api.update_game_tips_config(new_config)
|
||||
```
|
||||
|
||||
## 测试结果
|
||||
|
||||
✅ **数据库操作测试**: 通过
|
||||
✅ **服务器加载测试**: 通过
|
||||
✅ **配置导入功能**: 通过
|
||||
✅ **客户端集成**: 完成
|
||||
|
||||
## 技术优势
|
||||
|
||||
1. **集中管理**: 所有小提示内容统一在服务端管理
|
||||
2. **动态更新**: 无需客户端更新即可修改小提示
|
||||
3. **灵活配置**: 支持多种显示模式和自定义切换速度
|
||||
4. **高可用性**: 完善的容错机制确保系统稳定性
|
||||
5. **易于维护**: 清晰的代码结构和完整的测试覆盖
|
||||
|
||||
## 后续扩展
|
||||
|
||||
1. **多语言支持**: 可扩展为支持多语言的小提示
|
||||
2. **个性化配置**: 可为不同用户群体配置不同的小提示
|
||||
3. **统计分析**: 可添加小提示显示统计和用户反馈
|
||||
4. **管理界面**: 可开发Web管理界面方便运营人员管理
|
||||
|
||||
---
|
||||
|
||||
**实现完成时间**: 2024年12月
|
||||
**版本**: 1.0
|
||||
**状态**: 已完成并测试通过
|
||||
1071
Server/test/游戏配置/作物系统.json
Normal file
1071
Server/test/游戏配置/作物系统.json
Normal file
File diff suppressed because it is too large
Load Diff
8
Server/test/游戏配置/访问系统.json
Normal file
8
Server/test/游戏配置/访问系统.json
Normal file
@@ -0,0 +1,8 @@
|
||||
"访问系统":{
|
||||
"总访问人数":0,
|
||||
"今日访问人数":0,
|
||||
"访问记录":{
|
||||
"2025-07-21":["树萌芽","柚大青"],
|
||||
"2025-07-1":["树萌芽","柚大青","大萌芽"],
|
||||
}
|
||||
}
|
||||
968
Server/test/特殊农场/小麦谷222.json
Normal file
968
Server/test/特殊农场/小麦谷222.json
Normal file
@@ -0,0 +1,968 @@
|
||||
{
|
||||
"经验值": 0,
|
||||
"等级": 1,
|
||||
"钱币": 0,
|
||||
"农场名称": "小麦谷",
|
||||
"玩家昵称": "小麦谷",
|
||||
"玩家账号": "222",
|
||||
"玩家密码": "tyh@19900420",
|
||||
"最后登录时间": "2025年07月20日17时19分16秒",
|
||||
"总游玩时间": "0时0分0秒",
|
||||
"注册时间": "2025年05月21日15时00分00秒",
|
||||
"个人简介": "盛产小麦的农场",
|
||||
"农场土地": [
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
}
|
||||
],
|
||||
"种子仓库": [],
|
||||
"作物仓库": [],
|
||||
"道具背包": [],
|
||||
"宠物背包": [],
|
||||
"巡逻宠物": [],
|
||||
"出战宠物": [],
|
||||
"稻草人配置": {
|
||||
"已拥有稻草人类型": [
|
||||
"稻草人1"
|
||||
],
|
||||
"稻草人展示类型": "稻草人1",
|
||||
"稻草人昵称": "稻草人",
|
||||
"稻草人说的话": {
|
||||
"第一句话": {
|
||||
"内容": "这里是花谷",
|
||||
"颜色": "52dceeff"
|
||||
},
|
||||
"第二句话": {
|
||||
"内容": "一个盛产各种奇异花卉的地方",
|
||||
"颜色": "80d5ffff"
|
||||
},
|
||||
"第三句话": {
|
||||
"内容": "星期一,三,五,七零点种植",
|
||||
"颜色": "ac52ffff"
|
||||
},
|
||||
"第四句话": {
|
||||
"内容": "欢迎参观!",
|
||||
"颜色": "f881ffff"
|
||||
}
|
||||
},
|
||||
"稻草人昵称颜色": "b38282ff"
|
||||
},
|
||||
"智慧树配置": {
|
||||
"距离上一次杀虫时间": 1753004237,
|
||||
"距离上一次除草时间": 1753004237,
|
||||
"智慧树显示的话": "",
|
||||
"等级": 1,
|
||||
"当前经验值": 0,
|
||||
"最大经验值": 100,
|
||||
"最大生命值": 100,
|
||||
"当前生命值": 100,
|
||||
"高度": 20
|
||||
},
|
||||
"签到历史": {},
|
||||
"在线礼包": {
|
||||
"当前日期": "2025-07-20",
|
||||
"今日在线时长": 0,
|
||||
"已领取礼包": [],
|
||||
"登录时间": 1753003043.7163484
|
||||
},
|
||||
"点赞系统": {
|
||||
"今日剩余点赞次数": 10,
|
||||
"点赞上次刷新时间": "2025-07-20",
|
||||
"总点赞数": 0
|
||||
},
|
||||
"新手礼包": {
|
||||
"已领取": false,
|
||||
"领取时间": "2025-07-12 23:02:25"
|
||||
},
|
||||
"体力系统": {
|
||||
"当前体力值": 20,
|
||||
"最大体力值": 20,
|
||||
"上次刷新时间": "2025-07-20",
|
||||
"上次恢复时间": 1753003043.7066433
|
||||
},
|
||||
"小卖部配置": {
|
||||
"商品列表": [],
|
||||
"格子数": 10
|
||||
},
|
||||
"游戏设置": {
|
||||
"背景音乐音量": 1,
|
||||
"天气显示": true
|
||||
}
|
||||
}
|
||||
968
Server/test/特殊农场/幸运农场888.json
Normal file
968
Server/test/特殊农场/幸运农场888.json
Normal file
@@ -0,0 +1,968 @@
|
||||
{
|
||||
"经验值": 0,
|
||||
"等级": 1,
|
||||
"钱币": 0,
|
||||
"农场名称": "幸运农场",
|
||||
"玩家昵称": "幸运农场",
|
||||
"玩家账号": "111",
|
||||
"玩家密码": "tyh@19900420",
|
||||
"最后登录时间": "2025年07月20日17时19分16秒",
|
||||
"总游玩时间": "0时0分0秒",
|
||||
"注册时间": "2025年05月21日15时00分00秒",
|
||||
"个人简介": "盛产幸运草和幸运花的农场",
|
||||
"农场土地": [
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
}
|
||||
],
|
||||
"种子仓库": [],
|
||||
"作物仓库": [],
|
||||
"道具背包": [],
|
||||
"宠物背包": [],
|
||||
"巡逻宠物": [],
|
||||
"出战宠物": [],
|
||||
"稻草人配置": {
|
||||
"已拥有稻草人类型": [
|
||||
"稻草人1"
|
||||
],
|
||||
"稻草人展示类型": "稻草人1",
|
||||
"稻草人昵称": "稻草人",
|
||||
"稻草人说的话": {
|
||||
"第一句话": {
|
||||
"内容": "这里是花谷",
|
||||
"颜色": "52dceeff"
|
||||
},
|
||||
"第二句话": {
|
||||
"内容": "一个盛产各种奇异花卉的地方",
|
||||
"颜色": "80d5ffff"
|
||||
},
|
||||
"第三句话": {
|
||||
"内容": "星期一,三,五,七零点种植",
|
||||
"颜色": "ac52ffff"
|
||||
},
|
||||
"第四句话": {
|
||||
"内容": "欢迎参观!",
|
||||
"颜色": "f881ffff"
|
||||
}
|
||||
},
|
||||
"稻草人昵称颜色": "b38282ff"
|
||||
},
|
||||
"智慧树配置": {
|
||||
"距离上一次杀虫时间": 1753004237,
|
||||
"距离上一次除草时间": 1753004237,
|
||||
"智慧树显示的话": "",
|
||||
"等级": 1,
|
||||
"当前经验值": 0,
|
||||
"最大经验值": 100,
|
||||
"最大生命值": 100,
|
||||
"当前生命值": 100,
|
||||
"高度": 20
|
||||
},
|
||||
"签到历史": {},
|
||||
"在线礼包": {
|
||||
"当前日期": "2025-07-20",
|
||||
"今日在线时长": 0,
|
||||
"已领取礼包": [],
|
||||
"登录时间": 1753003043.7163484
|
||||
},
|
||||
"点赞系统": {
|
||||
"今日剩余点赞次数": 10,
|
||||
"点赞上次刷新时间": "2025-07-20",
|
||||
"总点赞数": 0
|
||||
},
|
||||
"新手礼包": {
|
||||
"已领取": false,
|
||||
"领取时间": "2025-07-12 23:02:25"
|
||||
},
|
||||
"体力系统": {
|
||||
"当前体力值": 20,
|
||||
"最大体力值": 20,
|
||||
"上次刷新时间": "2025-07-20",
|
||||
"上次恢复时间": 1753003043.7066433
|
||||
},
|
||||
"小卖部配置": {
|
||||
"商品列表": [],
|
||||
"格子数": 10
|
||||
},
|
||||
"游戏设置": {
|
||||
"背景音乐音量": 1,
|
||||
"天气显示": true
|
||||
}
|
||||
}
|
||||
971
Server/test/特殊农场/杂交农场666.json
Normal file
971
Server/test/特殊农场/杂交农场666.json
Normal file
@@ -0,0 +1,971 @@
|
||||
{
|
||||
"_id": {
|
||||
"$oid": "689b4b9286cf953f2f4e56ee"
|
||||
},
|
||||
"经验值": 0,
|
||||
"等级": 1,
|
||||
"钱币": 0,
|
||||
"农场名称": "杂交农场",
|
||||
"玩家昵称": "杂交农场",
|
||||
"玩家账号": "666",
|
||||
"玩家密码": "tyh@19900420",
|
||||
"最后登录时间": "2025年07月20日17时19分16秒",
|
||||
"总游玩时间": "0时0分0秒",
|
||||
"注册时间": "2025年05月21日15时00分00秒",
|
||||
"个人简介": "盛产杂交果实的农场",
|
||||
"农场土地": [
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
}
|
||||
],
|
||||
"种子仓库": [],
|
||||
"作物仓库": [],
|
||||
"道具背包": [],
|
||||
"宠物背包": [],
|
||||
"巡逻宠物": [],
|
||||
"出战宠物": [],
|
||||
"稻草人配置": {
|
||||
"已拥有稻草人类型": [
|
||||
"稻草人1"
|
||||
],
|
||||
"稻草人展示类型": "",
|
||||
"稻草人昵称": "稻草人",
|
||||
"稻草人说的话": {
|
||||
"第一句话": {
|
||||
"内容": "第一句话",
|
||||
"颜色": "52dceeff"
|
||||
},
|
||||
"第二句话": {
|
||||
"内容": "第二句话",
|
||||
"颜色": "80d5ffff"
|
||||
},
|
||||
"第三句话": {
|
||||
"内容": "第三句话",
|
||||
"颜色": "ac52ffff"
|
||||
},
|
||||
"第四句话": {
|
||||
"内容": "第四句话",
|
||||
"颜色": "f881ffff"
|
||||
}
|
||||
},
|
||||
"稻草人昵称颜色": "b38282ff"
|
||||
},
|
||||
"智慧树配置": {
|
||||
"距离上一次杀虫时间": 1753004237,
|
||||
"距离上一次除草时间": 1753004237,
|
||||
"智慧树显示的话": "",
|
||||
"等级": 1,
|
||||
"当前经验值": 0,
|
||||
"最大经验值": 100,
|
||||
"最大生命值": 100,
|
||||
"当前生命值": 100,
|
||||
"高度": 20
|
||||
},
|
||||
"签到历史": {},
|
||||
"在线礼包": {
|
||||
"当前日期": "2025-07-20",
|
||||
"今日在线时长": 0,
|
||||
"已领取礼包": [],
|
||||
"登录时间": 1753003043.7163484
|
||||
},
|
||||
"点赞系统": {
|
||||
"今日剩余点赞次数": 10,
|
||||
"点赞上次刷新时间": "2025-07-20",
|
||||
"总点赞数": 0
|
||||
},
|
||||
"新手礼包": {
|
||||
"已领取": false,
|
||||
"领取时间": "2025-07-12 23:02:25"
|
||||
},
|
||||
"体力系统": {
|
||||
"当前体力值": 20,
|
||||
"最大体力值": 20,
|
||||
"上次刷新时间": "2025-07-20",
|
||||
"上次恢复时间": 1753003043.7066433
|
||||
},
|
||||
"小卖部配置": {
|
||||
"商品列表": [],
|
||||
"格子数": 10
|
||||
},
|
||||
"游戏设置": {
|
||||
"背景音乐音量": 1,
|
||||
"天气显示": true
|
||||
}
|
||||
}
|
||||
968
Server/test/特殊农场/瓜果农场333.json
Normal file
968
Server/test/特殊农场/瓜果农场333.json
Normal file
@@ -0,0 +1,968 @@
|
||||
{
|
||||
"经验值": 0,
|
||||
"等级": 1,
|
||||
"钱币": 0,
|
||||
"农场名称": "瓜果农场",
|
||||
"玩家昵称": "瓜果农场",
|
||||
"玩家账号": "333",
|
||||
"玩家密码": "tyh@19900420",
|
||||
"最后登录时间": "2025年07月20日17时19分16秒",
|
||||
"总游玩时间": "0时0分0秒",
|
||||
"注册时间": "2025年05月21日15时00分00秒",
|
||||
"个人简介": "盛产各种瓜果的农场",
|
||||
"农场土地": [
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
}
|
||||
],
|
||||
"种子仓库": [],
|
||||
"作物仓库": [],
|
||||
"道具背包": [],
|
||||
"宠物背包": [],
|
||||
"巡逻宠物": [],
|
||||
"出战宠物": [],
|
||||
"稻草人配置": {
|
||||
"已拥有稻草人类型": [
|
||||
"稻草人1"
|
||||
],
|
||||
"稻草人展示类型": "稻草人1",
|
||||
"稻草人昵称": "稻草人",
|
||||
"稻草人说的话": {
|
||||
"第一句话": {
|
||||
"内容": "这里是花谷",
|
||||
"颜色": "52dceeff"
|
||||
},
|
||||
"第二句话": {
|
||||
"内容": "一个盛产各种奇异花卉的地方",
|
||||
"颜色": "80d5ffff"
|
||||
},
|
||||
"第三句话": {
|
||||
"内容": "星期一,三,五,七零点种植",
|
||||
"颜色": "ac52ffff"
|
||||
},
|
||||
"第四句话": {
|
||||
"内容": "欢迎参观!",
|
||||
"颜色": "f881ffff"
|
||||
}
|
||||
},
|
||||
"稻草人昵称颜色": "b38282ff"
|
||||
},
|
||||
"智慧树配置": {
|
||||
"距离上一次杀虫时间": 1753004237,
|
||||
"距离上一次除草时间": 1753004237,
|
||||
"智慧树显示的话": "",
|
||||
"等级": 1,
|
||||
"当前经验值": 0,
|
||||
"最大经验值": 100,
|
||||
"最大生命值": 100,
|
||||
"当前生命值": 100,
|
||||
"高度": 20
|
||||
},
|
||||
"签到历史": {},
|
||||
"在线礼包": {
|
||||
"当前日期": "2025-07-20",
|
||||
"今日在线时长": 0,
|
||||
"已领取礼包": [],
|
||||
"登录时间": 1753003043.7163484
|
||||
},
|
||||
"点赞系统": {
|
||||
"今日剩余点赞次数": 10,
|
||||
"点赞上次刷新时间": "2025-07-20",
|
||||
"总点赞数": 0
|
||||
},
|
||||
"新手礼包": {
|
||||
"已领取": false,
|
||||
"领取时间": "2025-07-12 23:02:25"
|
||||
},
|
||||
"体力系统": {
|
||||
"当前体力值": 20,
|
||||
"最大体力值": 20,
|
||||
"上次刷新时间": "2025-07-20",
|
||||
"上次恢复时间": 1753003043.7066433
|
||||
},
|
||||
"小卖部配置": {
|
||||
"商品列表": [],
|
||||
"格子数": 10
|
||||
},
|
||||
"游戏设置": {
|
||||
"背景音乐音量": 1,
|
||||
"天气显示": true
|
||||
}
|
||||
}
|
||||
968
Server/test/特殊农场/稻香111.json
Normal file
968
Server/test/特殊农场/稻香111.json
Normal file
@@ -0,0 +1,968 @@
|
||||
{
|
||||
"经验值": 0,
|
||||
"等级": 1,
|
||||
"钱币": 0,
|
||||
"农场名称": "稻香",
|
||||
"玩家昵称": "稻香",
|
||||
"玩家账号": "111",
|
||||
"玩家密码": "tyh@19900420",
|
||||
"最后登录时间": "2025年07月20日17时19分16秒",
|
||||
"总游玩时间": "0时0分0秒",
|
||||
"注册时间": "2025年05月21日15时00分00秒",
|
||||
"个人简介": "盛产稻谷的农场",
|
||||
"农场土地": [
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
}
|
||||
],
|
||||
"种子仓库": [],
|
||||
"作物仓库": [],
|
||||
"道具背包": [],
|
||||
"宠物背包": [],
|
||||
"巡逻宠物": [],
|
||||
"出战宠物": [],
|
||||
"稻草人配置": {
|
||||
"已拥有稻草人类型": [
|
||||
"稻草人1"
|
||||
],
|
||||
"稻草人展示类型": "稻草人1",
|
||||
"稻草人昵称": "稻草人",
|
||||
"稻草人说的话": {
|
||||
"第一句话": {
|
||||
"内容": "这里是花谷",
|
||||
"颜色": "52dceeff"
|
||||
},
|
||||
"第二句话": {
|
||||
"内容": "一个盛产各种奇异花卉的地方",
|
||||
"颜色": "80d5ffff"
|
||||
},
|
||||
"第三句话": {
|
||||
"内容": "星期一,三,五,七零点种植",
|
||||
"颜色": "ac52ffff"
|
||||
},
|
||||
"第四句话": {
|
||||
"内容": "欢迎参观!",
|
||||
"颜色": "f881ffff"
|
||||
}
|
||||
},
|
||||
"稻草人昵称颜色": "b38282ff"
|
||||
},
|
||||
"智慧树配置": {
|
||||
"距离上一次杀虫时间": 1753004237,
|
||||
"距离上一次除草时间": 1753004237,
|
||||
"智慧树显示的话": "",
|
||||
"等级": 1,
|
||||
"当前经验值": 0,
|
||||
"最大经验值": 100,
|
||||
"最大生命值": 100,
|
||||
"当前生命值": 100,
|
||||
"高度": 20
|
||||
},
|
||||
"签到历史": {},
|
||||
"在线礼包": {
|
||||
"当前日期": "2025-07-20",
|
||||
"今日在线时长": 0,
|
||||
"已领取礼包": [],
|
||||
"登录时间": 1753003043.7163484
|
||||
},
|
||||
"点赞系统": {
|
||||
"今日剩余点赞次数": 10,
|
||||
"点赞上次刷新时间": "2025-07-20",
|
||||
"总点赞数": 0
|
||||
},
|
||||
"新手礼包": {
|
||||
"已领取": false,
|
||||
"领取时间": "2025-07-12 23:02:25"
|
||||
},
|
||||
"体力系统": {
|
||||
"当前体力值": 20,
|
||||
"最大体力值": 20,
|
||||
"上次刷新时间": "2025-07-20",
|
||||
"上次恢复时间": 1753003043.7066433
|
||||
},
|
||||
"小卖部配置": {
|
||||
"商品列表": [],
|
||||
"格子数": 10
|
||||
},
|
||||
"游戏设置": {
|
||||
"背景音乐音量": 1,
|
||||
"天气显示": true
|
||||
}
|
||||
}
|
||||
968
Server/test/特殊农场/花卉农场520.json
Normal file
968
Server/test/特殊农场/花卉农场520.json
Normal file
@@ -0,0 +1,968 @@
|
||||
{
|
||||
"经验值": 0,
|
||||
"等级": 1,
|
||||
"钱币": 0,
|
||||
"农场名称": "花谷",
|
||||
"玩家昵称": "花谷",
|
||||
"玩家账号": "520",
|
||||
"玩家密码": "tyh@19900420",
|
||||
"最后登录时间": "2025年07月20日17时19分16秒",
|
||||
"总游玩时间": "0时0分0秒",
|
||||
"注册时间": "2025年05月21日15时00分00秒",
|
||||
"个人简介": "盛产各种花卉的农场",
|
||||
"农场土地": [
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": true,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 3,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
},
|
||||
{
|
||||
"crop_type": "",
|
||||
"grow_time": 0,
|
||||
"is_dead": false,
|
||||
"is_diged": false,
|
||||
"is_planted": false,
|
||||
"max_grow_time": 5,
|
||||
"已浇水": false,
|
||||
"已施肥": false,
|
||||
"土地等级": 0
|
||||
}
|
||||
],
|
||||
"种子仓库": [],
|
||||
"作物仓库": [],
|
||||
"道具背包": [],
|
||||
"宠物背包": [],
|
||||
"巡逻宠物": [],
|
||||
"出战宠物": [],
|
||||
"稻草人配置": {
|
||||
"已拥有稻草人类型": [
|
||||
"稻草人1"
|
||||
],
|
||||
"稻草人展示类型": "稻草人1",
|
||||
"稻草人昵称": "稻草人",
|
||||
"稻草人说的话": {
|
||||
"第一句话": {
|
||||
"内容": "这里是花谷",
|
||||
"颜色": "52dceeff"
|
||||
},
|
||||
"第二句话": {
|
||||
"内容": "一个盛产各种奇异花卉的地方",
|
||||
"颜色": "80d5ffff"
|
||||
},
|
||||
"第三句话": {
|
||||
"内容": "星期一,三,五,七零点种植",
|
||||
"颜色": "ac52ffff"
|
||||
},
|
||||
"第四句话": {
|
||||
"内容": "欢迎参观!",
|
||||
"颜色": "f881ffff"
|
||||
}
|
||||
},
|
||||
"稻草人昵称颜色": "b38282ff"
|
||||
},
|
||||
"智慧树配置": {
|
||||
"距离上一次杀虫时间": 1753004237,
|
||||
"距离上一次除草时间": 1753004237,
|
||||
"智慧树显示的话": "",
|
||||
"等级": 1,
|
||||
"当前经验值": 0,
|
||||
"最大经验值": 100,
|
||||
"最大生命值": 100,
|
||||
"当前生命值": 100,
|
||||
"高度": 20
|
||||
},
|
||||
"签到历史": {},
|
||||
"在线礼包": {
|
||||
"当前日期": "2025-07-20",
|
||||
"今日在线时长": 0,
|
||||
"已领取礼包": [],
|
||||
"登录时间": 1753003043.7163484
|
||||
},
|
||||
"点赞系统": {
|
||||
"今日剩余点赞次数": 10,
|
||||
"点赞上次刷新时间": "2025-07-20",
|
||||
"总点赞数": 0
|
||||
},
|
||||
"新手礼包": {
|
||||
"已领取": false,
|
||||
"领取时间": "2025-07-12 23:02:25"
|
||||
},
|
||||
"体力系统": {
|
||||
"当前体力值": 20,
|
||||
"最大体力值": 20,
|
||||
"上次刷新时间": "2025-07-20",
|
||||
"上次恢复时间": 1753003043.7066433
|
||||
},
|
||||
"小卖部配置": {
|
||||
"商品列表": [],
|
||||
"格子数": 10
|
||||
},
|
||||
"游戏设置": {
|
||||
"背景音乐音量": 1,
|
||||
"天气显示": true
|
||||
}
|
||||
}
|
||||
218
Server/test/特殊农场管理系统说明.md
Normal file
218
Server/test/特殊农场管理系统说明.md
Normal file
@@ -0,0 +1,218 @@
|
||||
# 特殊农场管理系统
|
||||
|
||||
## 概述
|
||||
|
||||
特殊农场管理系统是一个自动化的农场维护工具,用于管理游戏中的特殊农场,为玩家提供特殊的不可购买作物。系统支持定时任务和手动维护两种模式。
|
||||
|
||||
## 功能特性
|
||||
|
||||
### 1. 自动定时维护
|
||||
- **执行时间**: 每天凌晨0点自动执行
|
||||
- **维护内容**: 为特殊农场种植指定的作物
|
||||
- **日志记录**: 详细记录维护过程和结果
|
||||
|
||||
### 2. 手动维护模式
|
||||
- 支持即时手动维护指定农场
|
||||
- 可用于测试和紧急维护
|
||||
|
||||
### 3. 多环境支持
|
||||
- **测试环境**: 用于开发和测试
|
||||
- **生产环境**: 用于正式运行
|
||||
|
||||
## 当前支持的特殊农场
|
||||
|
||||
### 杂交农场
|
||||
- **农场ID**: `689b4b9286cf953f2f4e56ee`
|
||||
- **种植作物**: 0号杂交树、1号杂交树
|
||||
- **种植方式**: 随机全屏种植
|
||||
- **土地要求**: 仅在已开垦的土地上种植
|
||||
- **作物状态**: 自动设置为已浇水、已施肥、立即成熟
|
||||
|
||||
## 使用方法
|
||||
|
||||
### 方法一:使用启动脚本(推荐)
|
||||
```bash
|
||||
# Windows
|
||||
start_special_farm.bat
|
||||
|
||||
# 然后选择运行模式:
|
||||
# 1. 测试环境
|
||||
# 2. 生产环境
|
||||
# 3. 手动维护模式
|
||||
```
|
||||
|
||||
### 方法二:直接命令行
|
||||
|
||||
#### 自动模式(定时任务)
|
||||
```bash
|
||||
# 测试环境
|
||||
python SpecialFarm.py test
|
||||
|
||||
# 生产环境
|
||||
python SpecialFarm.py production
|
||||
```
|
||||
|
||||
#### 手动维护模式
|
||||
```bash
|
||||
# 手动维护杂交农场(测试环境)
|
||||
python SpecialFarm.py test manual 杂交农场
|
||||
|
||||
# 手动维护杂交农场(生产环境)
|
||||
python SpecialFarm.py production manual 杂交农场
|
||||
```
|
||||
|
||||
### 方法三:运行测试
|
||||
```bash
|
||||
# 运行完整测试
|
||||
python test_special_farm.py
|
||||
```
|
||||
|
||||
## 系统架构
|
||||
|
||||
### 核心组件
|
||||
|
||||
1. **SpecialFarmManager**: 主管理类
|
||||
- 负责农场配置管理
|
||||
- 处理定时任务调度
|
||||
- 执行种植逻辑
|
||||
|
||||
2. **MongoDB集成**:
|
||||
- 使用 `SMYMongoDBAPI` 进行数据库操作
|
||||
- 支持玩家数据和作物配置的读写
|
||||
|
||||
3. **定时任务**:
|
||||
- 使用 `schedule` 库实现定时功能
|
||||
- 支持每日凌晨0点自动执行
|
||||
|
||||
### 数据结构
|
||||
|
||||
#### 农场配置
|
||||
```python
|
||||
special_farms = {
|
||||
"杂交农场": {
|
||||
"object_id": "689b4b9286cf953f2f4e56ee",
|
||||
"crop_types": ["杂交树1", "杂交树2"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### 作物种植逻辑
|
||||
- 随机选择配置的作物类型
|
||||
- 仅在已开垦(`is_diged=True`)的土地上种植
|
||||
- 自动设置作物状态:
|
||||
- `is_planted=True`
|
||||
- `is_watered=True`
|
||||
- `is_fertilized=True`
|
||||
- `growth_time=0`(立即成熟)
|
||||
|
||||
## 日志系统
|
||||
|
||||
### 日志文件
|
||||
- **文件名**: `special_farm.log`
|
||||
- **位置**: 与脚本同目录
|
||||
- **格式**: `时间 - 级别 - 模块 - 消息`
|
||||
|
||||
### 日志级别
|
||||
- **INFO**: 正常操作信息
|
||||
- **WARNING**: 警告信息
|
||||
- **ERROR**: 错误信息
|
||||
|
||||
### 示例日志
|
||||
```
|
||||
2024-01-15 00:00:01,123 - INFO - __main__ - 开始执行每日特殊农场维护任务...
|
||||
2024-01-15 00:00:02,456 - INFO - __main__ - 成功为 杂交农场 种植了 40 块土地的作物
|
||||
2024-01-15 00:00:02,789 - INFO - __main__ - 每日维护任务完成: 1/1 个农场维护成功
|
||||
```
|
||||
|
||||
## 依赖要求
|
||||
|
||||
### Python包
|
||||
```
|
||||
schedule>=1.2.0
|
||||
pymongo>=4.0.0
|
||||
```
|
||||
|
||||
### 系统要求
|
||||
- Python 3.7+
|
||||
- MongoDB数据库连接
|
||||
- 有效的游戏数据库配置
|
||||
|
||||
## 扩展指南
|
||||
|
||||
### 添加新的特殊农场
|
||||
|
||||
1. **在数据库中创建农场数据**
|
||||
- 在 `playerdata` 集合中添加新的农场文档
|
||||
- 记录文档的 `ObjectId`
|
||||
|
||||
2. **更新农场配置**
|
||||
```python
|
||||
# 在 SpecialFarm.py 中的 special_farms 字典添加
|
||||
"新农场名称": {
|
||||
"object_id": "新农场的ObjectId",
|
||||
"crop_types": ["作物类型1", "作物类型2"]
|
||||
}
|
||||
```
|
||||
|
||||
3. **测试新农场**
|
||||
```bash
|
||||
python SpecialFarm.py test manual 新农场名称
|
||||
```
|
||||
|
||||
### 自定义种植逻辑
|
||||
|
||||
可以在 `plant_crops_in_farm` 方法中修改种植逻辑:
|
||||
- 改变作物选择算法
|
||||
- 调整作物生长参数
|
||||
- 添加特殊种植条件
|
||||
|
||||
## 故障排除
|
||||
|
||||
### 常见问题
|
||||
|
||||
1. **数据库连接失败**
|
||||
- 检查MongoDB服务是否运行
|
||||
- 验证数据库连接配置
|
||||
|
||||
2. **农场数据不存在**
|
||||
- 确认农场ObjectId是否正确
|
||||
- 检查数据库中是否存在对应文档
|
||||
|
||||
3. **作物配置错误**
|
||||
- 验证作物类型名称是否正确
|
||||
- 检查作物配置数据是否完整
|
||||
|
||||
### 调试模式
|
||||
|
||||
运行测试脚本获取详细信息:
|
||||
```bash
|
||||
python test_special_farm.py
|
||||
```
|
||||
|
||||
## 安全注意事项
|
||||
|
||||
1. **生产环境使用**
|
||||
- 确保在生产环境中使用正确的数据库配置
|
||||
- 定期备份重要数据
|
||||
|
||||
2. **权限管理**
|
||||
- 确保脚本有足够的数据库读写权限
|
||||
- 限制对生产数据库的访问
|
||||
|
||||
3. **监控和告警**
|
||||
- 定期检查日志文件
|
||||
- 设置维护任务失败的告警机制
|
||||
|
||||
## 版本历史
|
||||
|
||||
- **v1.0.0**: 初始版本,支持杂交农场的自动维护
|
||||
- 实现定时任务功能
|
||||
- 支持手动维护模式
|
||||
- 完整的日志系统
|
||||
- 测试和生产环境分离
|
||||
|
||||
---
|
||||
|
||||
**作者**: AI Assistant
|
||||
**创建时间**: 2024年
|
||||
**最后更新**: 2024年
|
||||
Reference in New Issue
Block a user