huangyuhao80 2f68a7a79b 修改首充活动,月卡活动事件注册 před 1 týdnem
..
base 1a3fc02c5f 同步最新代码 před 1 týdnem
bonus 1a3fc02c5f 同步最新代码 před 1 týdnem
common 1a3fc02c5f 同步最新代码 před 1 týdnem
competition 1a3fc02c5f 同步最新代码 před 1 týdnem
condition 1a3fc02c5f 同步最新代码 před 1 týdnem
count 1a3fc02c5f 同步最新代码 před 1 týdnem
duplicate 1a3fc02c5f 同步最新代码 před 1 týdnem
equip 1a3fc02c5f 同步最新代码 před 1 týdnem
fight 1a3fc02c5f 同步最新代码 před 1 týdnem
gm 1a3fc02c5f 同步最新代码 před 1 týdnem
item 1a3fc02c5f 同步最新代码 před 1 týdnem
maste 1a3fc02c5f 同步最新代码 před 1 týdnem
player 1a3fc02c5f 同步最新代码 před 1 týdnem
recharge 1a3fc02c5f 同步最新代码 před 1 týdnem
sys 1a3fc02c5f 同步最新代码 před 1 týdnem
talent 1a3fc02c5f 同步最新代码 před 1 týdnem
task 1a3fc02c5f 同步最新代码 před 1 týdnem
union 1a3fc02c5f 同步最新代码 před 1 týdnem
utils 1a3fc02c5f 同步最新代码 před 1 týdnem
AGAndSD.lua da5985586a 更新引擎 před 1 týdnem
API.lua da5985586a 更新引擎 před 1 týdnem
ActFirstRecharge.lua 2f68a7a79b 修改首充活动,月卡活动事件注册 před 1 týdnem
ActMonthlyGrow.lua 2f68a7a79b 修改首充活动,月卡活动事件注册 před 1 týdnem
Activity.lua 5f23315e57 首次提交 před 8 měsíci
ActivityManager.lua 2f68a7a79b 修改首充活动,月卡活动事件注册 před 1 týdnem
ActivityMonsterAttack.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
AngelBenefit.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
AngelWeapon.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
AutoBuyPotion.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
Bag.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
BossBounty.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
BubblePoint.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
Buffer.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
CareerUnlock.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
Ceshitongyonglua.lua 5f23315e57 首次提交 před 8 měsíci
Chat.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
Constants.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
CrossMap.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
CustomTransmit.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
DailyActivity.lua 5f23315e57 首次提交 před 8 měsíci
Efficiency.lua 7d1e57b290 1. 新增月卡活动 před 1 týdnem
EquipAndAppear.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
EquipDurability.lua da5985586a 更新引擎 před 1 týdnem
EquipFunc.lua da5985586a 更新引擎 před 1 týdnem
EquipLuck.lua da5985586a 更新引擎 před 1 týdnem
EquipRandom.lua da5985586a 更新引擎 před 1 týdnem
EquipRefined.lua da5985586a 更新引擎 před 1 týdnem
EquipRegeneration.lua da5985586a 更新引擎 před 1 týdnem
Equip_QiangHua.lua da5985586a 更新引擎 před 1 týdnem
Equip_QiangHua_Data.lua da5985586a 更新引擎 před 1 týdnem
EventCfg.lua da5985586a 更新引擎 před 1 týdnem
FaceShootPreview.lua 5f23315e57 首次提交 před 8 měsíci
FashionBox.lua 7d1e57b290 1. 新增月卡活动 před 1 týdnem
FirstRecharge.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
Friend.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
Fruit.lua 7d1e57b290 1. 新增月卡活动 před 1 týdnem
GameEvent.lua da5985586a 更新引擎 před 1 týdnem
GameHookManager.lua da5985586a 更新引擎 před 1 týdnem
GameMapHeart.lua 5f23315e57 首次提交 před 8 měsíci
GlobalTimer.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
GoldFirstKill.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
GoldLine.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
GoldTask.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
Hook.lua da5985586a 更新引擎 před 1 týdnem
HpMpRecover.lua 5f23315e57 首次提交 před 8 měsíci
InterfaceEventText.lua 5f23315e57 首次提交 před 8 měsíci
ItemExchange.lua da5985586a 更新引擎 před 1 týdnem
ItemRecycling.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
ItemSynthesis.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
LevelReward.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
LianJi.lua da5985586a 更新引擎 před 1 týdnem
LineManager.lua da5985586a 更新引擎 před 1 týdnem
LogManager.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
LuaMessageIdConst.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
Mail.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
MainUIProcess.lua 5f23315e57 首次提交 před 8 měsíci
Monster.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
MonsterAttribute.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
MonsterHunt.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
MonsterLegion.lua da5985586a 更新引擎 před 1 týdnem
MonthCard.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
Mount.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
NewEquipWear.lua da5985586a 更新引擎 před 1 týdnem
NoticeTip.lua 5f23315e57 首次提交 před 8 měsíci
NpcChest.lua 5f23315e57 首次提交 před 8 měsíci
OfflineOnHook.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
OpenServerActivity.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
OpenServerNewActivity.lua da5985586a 更新引擎 před 1 týdnem
Pet.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
PlayerPkValue.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
PreferentialGift.lua 5f23315e57 首次提交 před 8 měsíci
PrivilegeCard.lua 5f23315e57 首次提交 před 8 měsíci
PrivilegeMonth.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
QFunction-0.lua 2f68a7a79b 修改首充活动,月卡活动事件注册 před 1 týdnem
README.md da5985586a 更新引擎 před 1 týdnem
RandomChest.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
Rank.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
Recharge.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
RechargeSevenReceive.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
RedPoint.lua 5f23315e57 首次提交 před 8 měsíci
RoleAttr.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
RoleScriptLog.lua 7eff2545f9 同步版本1.0.29 před 7 měsíci
SceneMap.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
ScriptFightModel.lua 7eff2545f9 同步版本1.0.29 před 7 měsíci
SevenLogin.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
SiegeWar.lua da5985586a 更新引擎 před 1 týdnem
Skill.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
Stall.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
SummonAndChat.lua da5985586a 更新引擎 před 1 týdnem
Team.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
TimeLimitGift.lua 5f23315e57 首次提交 před 8 měsíci
Trade.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
Transaction.lua da5985586a 更新引擎 před 1 týdnem
TripleIncome.lua 1a3fc02c5f 同步最新代码 před 1 týdnem
TurntableRaffle.lua 5f23315e57 首次提交 před 8 měsíci
UseSelfChoiceBox.lua 5f23315e57 首次提交 před 8 měsíci
WarFlag.lua 7d1e57b290 1. 新增月卡活动 před 1 týdnem
WorldBoss.lua da5985586a 更新引擎 před 1 týdnem
WorldBossAuction.lua 7d1e57b290 1. 新增月卡活动 před 1 týdnem
XiaoXiZhuCe.lua da5985586a 更新引擎 před 1 týdnem
combine.lua 7eff2545f9 同步版本1.0.29 před 7 měsíci
sys.lua 1a3fc02c5f 同步最新代码 před 1 týdnem

README.md

世界BOSS争夺战系统设计文档

系统概述

本系统实现了三个主要活动模块:

  1. 世界BOSS争夺战 - 每周日晚8点开启,玩家争夺BOSS掉落物品
  2. 攻城战 - 开服2周后开启,战盟争夺城堡控制权
  3. 怪物军团 - 每周三、周五晚上7点开启,抵御怪物入侵

系统架构

模块结构

ActivityManager.lua          # 活动管理器(主控制器)
├── WorldBoss.lua           # 世界BOSS争夺战系统
├── WorldBossAuction.lua    # 世界BOSS拍卖系统
├── SiegeWar.lua            # 攻城战系统
└── MonsterLegion.lua       # 怪物军团系统

数据持久化

系统使用Lua内置的持久化API:

  • setsysvar() / getsysvar() - 系统级全局变量
  • setplaydef() / getplaydef() - 玩家级变量
  • setguilddef() / getguilddef() - 战盟级变量

世界BOSS争夺战系统

活动流程

  1. 报名阶段(30分钟)

    • 玩家个人报名
    • 最少50人报名才开启战斗
    • 强制战盟模式
  2. 战斗阶段(60分钟)

    • 所有报名玩家进入战场
    • PK不红名,死亡可钻石复活
    • 按个人和战盟统计伤害
  3. 拍卖阶段(30分钟)

    • 所有参与战斗的玩家可参与
    • 装备起拍价300钻石
    • 彩云兽起拍价500钻石
    • 一代坐骑/宠物起拍价2000钻石
    • 项链起拍价10000钻石

BOSS配置

炽焰魔

  • 血量:基础血量 × 2.0
  • 伤害:基础伤害 × 0.5
  • 必定掉落
    • 卓越装备2件(3-4属性)
    • 卓越套装1件(3-4属性)
  • 概率掉落
    • 彩云兽(10%)
    • 卓越项链(30%,2-3属性,必带卓越一击)

咒怨魔王

  • 血量:基础血量 × 2.5
  • 伤害:基础伤害 × 0.4
  • 必定掉落
    • 卓越装备2件(3-4属性)
    • 卓越套装2件(3-4属性)
  • 概率掉落
    • 1代坐骑(15%)
    • 1代宠物(15%)
    • 卓越项链(40%,2-3属性,必带卓越一击)

拍卖收益分配

战盟分配(按总伤害排名)

  • 第1名:50%
  • 第2名:30%
  • 第3名:20%

战盟内玩家分配(按BOSS伤害排名)

  • 第1名:30%
  • 第2名:25%
  • 第3名:20%
  • 第4名:10%
  • 第5名:5%
  • 剩余:平均分配

攻城战系统

活动流程

  1. 准备阶段(30分钟)

    • 战盟报名
    • 设置城堡血量
  2. 攻击阶段(60分钟)

    • 所有报名战盟攻击城堡
    • 攻击方伤害加成1.2倍
  3. 防守阶段(30分钟)

    • 城堡拥有者战盟防守
    • 防守方伤害加成1.5倍

城堡配置

  • 最大血量:1,000,000
  • 占领阈值:剩余血量10%
  • 奖励倍数:获胜战盟2.0倍

怪物军团系统

活动流程

  1. 准备阶段(15分钟)

    • 玩家报名
    • 生成第一波怪物
  2. 入侵阶段(5波怪物)

    • 第1波:小怪入侵(50只,100级)
    • 第2波:精英怪(30只,150级)
    • 第3波:混合部队(40只,200级)
    • 第4波:强力精英(25只,250级)
    • 第5波:军团BOSS(1只,300级)

奖励系统

  • 基础分数:100分
  • 击杀倍数:10倍
  • BOSS击杀奖励:1000分
  • 波次完成奖励:500分
  • 战盟加成:1.2倍

技术特性

数据持久化

  • 所有活动数据自动保存到数据库
  • 服务器重启后数据不丢失
  • 支持系统级、玩家级、战盟级数据存储

定时器系统

  • 自动检查活动状态
  • 自动切换活动阶段
  • 自动结束和清理活动

错误处理

  • 使用pcall保护关键函数调用
  • 详细的错误日志记录
  • 优雅的异常恢复机制

模块化设计

  • 每个活动系统独立运行
  • 统一的接口规范
  • 易于扩展和维护

使用方法

初始化系统

local ActivityManager = require("ActivityManager")
ActivityManager.Init()

获取活动信息

local activities = ActivityManager.GetAllActivitiesInfo()
for _, activity in ipairs(activities) do
    print(activity.name, activity.status, activity.timeRemaining)
end

玩家参与活动

local success, message = ActivityManager.PlayerJoinActivity(actor, 1) -- 1=世界BOSS
if success then
    print("报名成功")
else
    print("报名失败:", message)
end

获取排行榜

local playerRanking = ActivityManager.GetActivityRanking(1, "player") -- 世界BOSS玩家排名
local allianceRanking = ActivityManager.GetActivityRanking(1, "alliance") -- 世界BOSS战盟排名

配置说明

时间配置

  • 世界BOSS:每周日晚8点
  • 攻城战:开服2周后,每周六晚8点
  • 怪物军团:每周三、周五晚上7点

人数限制

  • 世界BOSS:最少50人报名
  • 攻城战:无人数限制
  • 怪物军团:最少20人报名

奖励配置

  • 拍卖手续费:20%
  • 战盟分配比例:50%、30%、20%
  • 玩家分配比例:30%、25%、20%、10%、5%

扩展建议

新增活动类型

  1. ActivityManager.lua中添加新的活动类型
  2. 创建对应的活动模块
  3. 实现统一的接口函数

自定义配置

  1. 修改各模块中的配置常量
  2. 支持从配置文件读取
  3. 支持运行时动态调整

客户端集成

  1. 实现客户端通知接口
  2. 添加UI界面支持
  3. 实现实时数据同步

注意事项

  1. 数据一致性:确保所有数据操作都使用持久化API
  2. 性能优化:避免频繁的数据库操作,合理使用缓存
  3. 错误处理:所有关键操作都要有错误处理机制
  4. 日志记录:重要事件要记录详细日志
  5. 测试验证:在测试环境充分验证后再部署到生产环境

版本历史

  • v1.0.0 - 初始版本,包含三个主要活动系统
  • 支持完整的数据持久化
  • 模块化设计,易于维护和扩展
  • 完整的错误处理和日志记录